This commit is contained in:
@fawn-nine
2024-08-12 16:07:24 +08:00
parent 7c7c96f630
commit 28067d851d
13 changed files with 478 additions and 324 deletions

View File

@@ -12,8 +12,8 @@
"src" : "图片路径" "src" : "图片路径"
} }
], ],
"versionName" : "1.0.14", "versionName" : "1.0.15",
"versionCode" : 1014, "versionCode" : 1015,
"app-plus" : { "app-plus" : {
"nvueCompiler" : "weex", "nvueCompiler" : "weex",
"compatible" : { "compatible" : {

View File

@@ -488,13 +488,13 @@
console.log(e, "传入分类id"); console.log(e, "传入分类id");
this.getUserInfo(); this.getUserInfo();
this.courseId = e.id; this.courseId = e.id;
this.getLinkClassList()
// await this.getData(e.id); // await this.getData(e.id);
this.getSayList(); this.getSayList();
this.getOS() this.getOS()
}, },
onPageScroll(e) { onPageScroll(e) {
this.scrollTop = e.scrollTop; this.scrollTop = e.scrollTop;
if (this.scrollTop > 500) { if (this.scrollTop > 500) {
@@ -516,6 +516,7 @@
plus.screen.unlockOrientation(); plus.screen.unlockOrientation();
plus.screen.lockOrientation("portrait-primary"); plus.screen.lockOrientation("portrait-primary");
// #endif // #endif
this.getLinkClassList()
}, },
onUnload() { onUnload() {
this.selectGoodsData = {}; this.selectGoodsData = {};

View File

@@ -52,6 +52,14 @@
</view> </view>
<!-- <input type="password" maxlength="8" v-model="confirmPassword" placeholder="请确认密码" /> --> <!-- <input type="password" maxlength="8" v-model="confirmPassword" placeholder="请确认密码" /> -->
</view> </view>
<view class="input_box">
<text class="input_tit">群二维码:</text>
<view class="in" style="border: none;" @click="checkPermision">
<u-upload :fileList="fileList2" @afterRead="addPic2" @delete="deletePic2" :maxCount="1" width="100"
height="100" :previewFullImage="true">
</u-upload>
</view>
</view>
<view class="input_box"> <view class="input_box">
<uni-forms-item label="" name="number" label-width="0"> <uni-forms-item label="" name="number" label-width="0">
<text class="input_tit"><i>*</i>目标人数:</text> <text class="input_tit"><i>*</i>目标人数:</text>
@@ -90,6 +98,7 @@
data() { data() {
return { return {
fileList1: [], fileList1: [],
fileList2:[],
playData: {}, playData: {},
modeType:undefined, // 模型type modeType:undefined, // 模型type
//手机号账号 //手机号账号
@@ -100,6 +109,7 @@
content: '', // 描述 content: '', // 描述
icon: '', //封面 icon: '', //封面
number: '', // 联系电话 number: '', // 联系电话
qrcode:'' // 群二维码
}, },
telError: false, telError: false,
range:[ range:[
@@ -150,6 +160,10 @@
//页面显示 //页面显示
onShow() { onShow() {
},
beforeDestroy() {
this.fileList1 = []
this.fileList2 = []
}, },
onPullDownRefresh(){ onPullDownRefresh(){
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
@@ -191,6 +205,9 @@
if(this.form.icon != ''){ if(this.form.icon != ''){
this.fileList1.push({url:this.form.icon}) this.fileList1.push({url:this.form.icon})
} }
if(this.form.qrcode != ''){
this.fileList2.push({url:this.form.qrcode})
}
this.form.modelId = res.result.classModel.id this.form.modelId = res.result.classModel.id
} }
console.log('this.form',res.result); console.log('this.form',res.result);
@@ -252,20 +269,6 @@
addPic(e) { addPic(e) {
console.log("添加图片"); console.log("添加图片");
let that = this; let that = this;
// for (var i = 0; i < e.file.length; i++) {
// console.log(i,e.file[i].url)
// uni.uploadFile({
// url: this.$baseUrl + "oss/fileoss", //仅为示例,非真实的接口地址
// filePath: tempFilePaths[0],
// name: 'file',
// formData: {
// 'user': 'test'
// },
// success: (uploadFileRes) => {
// console.log(uploadFileRes.data);
// }
// });
// return
uni.uploadFile({ uni.uploadFile({
url: this.$baseUrl + "oss/fileoss", url: this.$baseUrl + "oss/fileoss",
filePath: e.file.url, filePath: e.file.url,
@@ -289,6 +292,32 @@
deletePic(event) { deletePic(event) {
this.fileList1.splice(event.index, 1) this.fileList1.splice(event.index, 1)
}, },
addPic2(e) {
console.log("添加图片");
let that = this;
uni.uploadFile({
url: this.$baseUrl + "oss/fileoss",
filePath: e.file.url,
//files:e.file,
name: "file",
formData: {},
success: (res) => {
// console.log("that.uploadPicLIst", res);
that.fileList2.push({
url: JSON.parse(res.data).url,
});
// console.log(that.fileList1, "that.uploadPicLIst");
},
fail: (error) => {
console.log("上传失败", error);
},
});
// }
},
deletePic2(event) {
this.fileList2.splice(event.index, 1)
},
onSubmit() { onSubmit() {
this.$refs.form.validate().then(res => { this.$refs.form.validate().then(res => {
if (this.fileList1.length > 0) { if (this.fileList1.length > 0) {
@@ -297,6 +326,12 @@
// console.log('this.fileList1',_list); // console.log('this.fileList1',_list);
this.form.icon = _list.join(',') this.form.icon = _list.join(',')
} }
if (this.fileList2.length > 0) {
let _list = this.fileList2
_list = _list.map(item => item.url)
// console.log('this.fileList1',_list);
this.form.qrcode = _list.join(',')
}
if(this.form.number <= 0){ if(this.form.number <= 0){
uni.showToast({ uni.showToast({
title: '目标人数必须大于0个人', title: '目标人数必须大于0个人',
@@ -317,7 +352,8 @@
"icon": this.form.icon, "icon": this.form.icon,
"state": this.form.id ? this.form.state : undefined, "state": this.form.id ? this.form.state : undefined,
"content": this.form.content, "content": this.form.content,
"number": Number(this.form.number) "number": Number(this.form.number),
"qrcode": this.form.qrcode
}, },
header: { //默认 无 说明:请求头 header: { //默认 无 说明:请求头
'Content-Type': 'application/json' 'Content-Type': 'application/json'
@@ -329,6 +365,7 @@
icon:'success'}); icon:'success'});
setTimeout(()=> { setTimeout(()=> {
this.fileList1 = [] this.fileList1 = []
this.fileList2 = []
uni.navigateTo({ uni.navigateTo({
url:'/pages/miniClass/miniClassMan' url:'/pages/miniClass/miniClassMan'
}) })
@@ -336,7 +373,7 @@
// uni.navigateBack({ // uni.navigateBack({
// delta: 1 // delta: 1
// }); // });
},300) },1000)
}).catch(e => { }).catch(e => {
// console.log('表单错误信息:', err); // console.log('表单错误信息:', err);
uni.showToast({ uni.showToast({

View File

@@ -14,7 +14,7 @@
class="addType" class="addType"
v-model="form.type" v-model="form.type"
:localdata="range" :localdata="range"
@change="chageType"
placement="top" placement="top"
></uni-data-select> ></uni-data-select>
@@ -171,6 +171,14 @@
}, },
//方法 //方法
methods: { methods: {
chageType(e){
// console.log('e',e);
if(e == 0){
this.pageType = '作业'
}else if(e == 1){
this.pageType = '医案'
}
},
// 获取医案任务详情 // 获取医案任务详情
getTaskInfo(){ getTaskInfo(){
$http.request({ $http.request({

View File

@@ -14,6 +14,9 @@
<h3>{{thisClass.title}}</h3> <h3>{{thisClass.title}}</h3>
<text class="tuichu" v-if="isHave && thisClass.state == 0" @click="outClass()">退出班级</text> <text class="tuichu" v-if="isHave && thisClass.state == 0" @click="outClass()">退出班级</text>
</view> </view>
<view class="gotoExams" v-if="thisClass.state == '2'">
<text>去考试</text>
</view>
<view class="otherItems flex_box"> <view class="otherItems flex_box">
<view><text class="ciyao">创建日期</text><text <view><text class="ciyao">创建日期</text><text
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text> class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
@@ -49,6 +52,9 @@
<view class="jianjie" v-html="item.content"></view> <view class="jianjie" v-html="item.content"></view>
</view> </view>
</view> </view>
<view class="" v-if="classModel.days > 0" style="text-align: center; color: #999; font-size: 28rpx;">
教学时长{{classModel.days}}
</view>
</view> </view>
<view class="" v-show="courses.length == 0"> <view class="" v-show="courses.length == 0">
<u-divider text="暂无课程"></u-divider> <u-divider text="暂无课程"></u-divider>
@@ -58,6 +64,10 @@
</view> --> </view> -->
<uni-section class="mb-10 nobg" title="教学目标/班内简介" type="line"></uni-section> <uni-section class="mb-10 nobg" title="教学目标/班内简介" type="line"></uni-section>
<rich-text class="banjiJianjie" :nodes="formatRichText(thisClass.content)"></rich-text> <rich-text class="banjiJianjie" :nodes="formatRichText(thisClass.content)"></rich-text>
<view class="qrcode" v-if="thisClass.qrcode != ''">
<uni-section class="mb-10 nobg" title="群二维码" type="line"></uni-section>
<image :src="thisClass.qrcode" mode="widthFix"></image>
</view>
</view> </view>
<!-- 班内问答 --> <!-- 班内问答 -->
<view class="" v-if=" tabId == '1'"> <view class="" v-if=" tabId == '1'">
@@ -732,7 +742,7 @@
_txt = '即将踢出该学员,是否继续?' _txt = '即将踢出该学员,是否继续?'
} else { } else {
_useId = this.userInfo.id _useId = this.userInfo.id
_txt = '您即将退出当前班级,是否继续?' _txt = '您即将退出当前班级,退出班级后,在本班级提交的作业、医案、心得都将被删除,是否继续?'
} }
uni.showModal({ uni.showModal({
@@ -1021,7 +1031,12 @@
border-radius: 40rpx; border-radius: 40rpx;
} }
} }
.qrcode{width:100%;
image{
width: 200rpx;height: 200rpx;
}
}
.mainContent { .mainContent {
color: #333; color: #333;
padding: 0 20rpx; padding: 0 20rpx;
@@ -1029,7 +1044,11 @@
background-image: linear-gradient(30deg, #d4eaf0 0%, #d4eaf0 50%, #fdf0ed 100%); background-image: linear-gradient(30deg, #d4eaf0 0%, #d4eaf0 50%, #fdf0ed 100%);
min-height: 100vh; min-height: 100vh;
} }
.gotoExams{ margin: 20rpx 0; margin-top: -10rpx;
text{ display: block; text-align: center; width: 100%; border-radius: 10rpx; box-sizing: border-box; padding: 20rpx; color:#fff ;
background-image: linear-gradient(-90deg, #576afc 0%, #97a1ff 100%);
}
}
.classMateBox { .classMateBox {
.newBox{justify-content: space-between; flex-wrap: wrap;} .newBox{justify-content: space-between; flex-wrap: wrap;}
.zmVip { .zmVip {

View File

@@ -22,39 +22,33 @@
<view class="pingfenBox" > <view class="pingfenBox" >
<!-- 功能按钮 --> <!-- 功能按钮 -->
<view class="optionsBtn"> <view class="optionsBtn" v-if="roleCode.includes('66') || roleCode.includes('1') || roleCode.includes('2')">
<view class="flex_box"> <view class="flex_box">
<view class="item setBanewei" v-if="thisClass.state != '2'" v-show="roleCode.includes('66') || roleCode.includes('1') || roleCode.includes('2')" <view class="item setBanewei" v-if="thisClass.state != '2'"
@click="goSetAdmin('/pages/miniClass/memberSet')"> @click="goSetAdmin('/pages/miniClass/memberSet')">
<text>设置班委</text> <text>设置班委</text>
</view> </view>
<!-- 主任班长副班长修改班级 没开班的时候可以 --> <!-- 主任班长副班长修改班级 没开班的时候可以 -->
<view class="item editClass" v-show="isDirector && thisClass.state == '0' || <view class="item editClass" v-show="thisClass.state == '0' "
roleCode.includes('2') && thisClass.state == '0' || @click="onPageJump('/pages/miniClass/addClass',thisClass.id, classModel.type)">
roleCode.includes('1') && thisClass.state == '0'
" @click="onPageJump('/pages/miniClass/addClass',thisClass.id, classModel.type)">
<text>修改班级</text> <text>修改班级</text>
</view> </view>
<!-- 主任班长副班长可以开班或者结班 --> <!-- 主任班长副班长可以开班或者结班 -->
<view class="item openClass" @click="changeClassStatu('1')" v-if="thisClass.state == '0' && isMonitor || <view class="item openClass" @click="changeClassStatu('1')" v-if="thisClass.state == '0'">
thisClass.state == '0' && roleCode.includes('1') ||
thisClass.state == '0' && roleCode.includes('2')">
<text>开班</text> <text>开班</text>
</view> </view>
<view class="item overClass" @click="changeClassStatu('2')" v-if="thisClass.state == '1' && isMonitor || <view class="item overClass" @click="changeClassStatu('2')" v-if="thisClass.state == '1' ">
thisClass.state == '1' && roleCode.includes('1') ||
thisClass.state == '1' && roleCode.includes('2')">
<text>结班</text> <text>结班</text>
</view> </view>
<view class="item delClass" v-if="isDirector" @click="delClass()"> <view class="item delClass" v-if="thisClass.state == '0'" @click="delClass()">
<text>删除班级</text> <text>删除班级</text>
</view> </view>
</view>
</view>
</view>
</view>
<!-- 作业批改 --> <!-- 作业批改 -->
<view class="flex_box"> <view class="flex_box">
<view class="item" @click="goAddHomeWork"> <view class="item" @click="goAddHomeWork" v-if="thisClass.state == '1' && roleCode.includes('2') || thisClass.state == '1' && roleCode.includes('1')">
<view class="img"> <view class="img">
<image src="../../static/icon/fabu.png" mode="widthFix"></image> <image src="../../static/icon/fabu.png" mode="widthFix"></image>
</view> </view>
@@ -78,6 +72,12 @@
</view> </view>
<text>心得</text> <text>心得</text>
</view> </view>
<view class="item" @click="goXindeList('/pages/miniClass/xindeList')">
<view class="img">
<image src="../../static/icon/sikaoti.png" mode="widthFix"></image>
</view>
<text>思考题</text>
</view>
</view> </view>
</view> </view>
<view class="otherItems flex_box"> <view class="otherItems flex_box">
@@ -118,50 +118,18 @@
</view> </view>
</view> </view>
<view class="" v-if="classModel.days > 0" style="text-align: center; color: #999; font-size: 28rpx;">
教学时长{{classModel.days}}
</view>
</view> </view>
<view class="" v-show="courses.length == 0"> <view class="" v-show="courses.length == 0">
<u-divider text="暂无课程"></u-divider> <u-divider text="暂无课程"></u-divider>
</view> </view>
<uni-section class="mb-10 nobg" title="教学目标/班级简介" type="line"></uni-section> <uni-section class="mb-10 nobg" title="教学目标/班级简介" type="line"></uni-section>
<rich-text class="banjiJianjie" :nodes="formatRichText(thisClass.content)"></rich-text> <rich-text class="banjiJianjie" :nodes="formatRichText(thisClass.content)"></rich-text>
<!-- 班内问答 --> <view class="qrcode" v-if="thisClass.qrcode != ''">
<!-- <view class="" v-if=" tabId == '1'"> <uni-section class="mb-10 nobg" title="群二维码" type="line"></uni-section>
班内问答 <image :src="thisClass.qrcode" mode="widthFix"></image>
</view> -->
<!-- 班内提交 -->
<view class="" v-if=" tabId == '3' && false">
<view class="flex_box tijiaoTitle">
<text :class="tijiaoTitleId == item.id ? 'active' :''" @click="titleClick(item,index)"
v-for="(item, index) in tijiaoTitleList" :key="index">{{item.name}}</text>
</view>
<!-- 班内任务 --><!-- 医案 --> <!-- 心得 -->
<view class="">
<view v-if="taskList.length > 0">
<view class="submitRecode">
<view class="newBox">
<view class="item " v-for="(item, index) in taskList" @click="clickTask(item)">
<view class="leve1 flex_box">
<text>{{item.title}}</text><text v-if="isDirector || isMonitor"
class="taskEdit" @click="taskEdit(item)">修改</text>
</view>
<view class="leve2">
{{item.content}}
</view>
</view>
</view>
</view>
<view class="showMore" v-show="true">
<!-- <view class="showMore" v-show="taskHaveMore"> -->
<text @click="showmoreTask">查看全部 >></text>
</view>
</view>
<view class="" v-else>
<u-divider text="暂无数据"></u-divider>
</view>
<!-- <uni-section class="mb-10 nobg" title="提交的任务" type="line"></uni-section> -->
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -961,6 +929,12 @@
} }
} }
.qrcode{width:100%;
image{
width: 200rpx;height: 200rpx;
}
}
.manBtnBox { .manBtnBox {
justify-content: center; justify-content: center;

View File

@@ -5,16 +5,7 @@
<z-nav-bar title="班级列表"> <z-nav-bar title="班级列表">
</z-nav-bar> </z-nav-bar>
<view style="padding: 20rpx; background-color: #fff; border-bottom: 1px solid #eee;">当前课程{{courseTitle}}</view> <view style="padding: 20rpx; background-color: #fff; border-bottom: 1px solid #eee;">当前课程{{courseTitle}}</view>
<!-- <view class="tabsBox" :class="[fixed ? 'fixed' : '' ]">
<u-tabs v-if="tabList.length > 0" :class="['tabList']" @click="fatherClick" :current="curTagId"
:activeStyle="activeStyle" :scrollable="scrollable" :list="tabList"
itemStyle="padding-left: 15px; background-color:#fff; padding-right: 15px; height: 50px;"></u-tabs>
</view> -->
<view class="containerBg"> <view class="containerBg">
<!-- <view class="subCate flex" v-if="subList.length> 0">
<text :class="['item',subTabId == item.id ? 'active' : '']" v-for="(item, index) in subList"
@click="curseClick(item)" :key="index">{{item.title}}</text>
</view> -->
<view class="learnBox box"> <view class="learnBox box">
<view class="newBox"> <view class="newBox">
<view class="item flexbox" v-for="(item, index) in courseList" :key="index" > <view class="item flexbox" v-for="(item, index) in courseList" :key="index" >
@@ -46,9 +37,7 @@
</view> </view>
</view> </view>
</view> </view>
<!-- <u-divider v-show="status == 2" text="已加载全部"></u-divider>
<u-divider v-show="status == 3" text="暂无数据"></u-divider>
<u-divider v-show="status == 1" text="加载中..."></u-divider> -->
</view> </view>
<view> <view>
<!-- <u-back-top scroll-top="100"></u-back-top> --> <!-- <u-back-top scroll-top="100"></u-back-top> -->
@@ -160,6 +149,7 @@
onShow() { onShow() {
// 隐藏原生的tabbar // 隐藏原生的tabbar
// uni.hideTabBar(); // uni.hideTabBar();
this.getData()
}, },
components: { components: {
musicPlay musicPlay

View File

@@ -7,27 +7,44 @@
<public-module></public-module> <public-module></public-module>
<uni-forms :modelValue="form" :rules="rules" ref="form" v-if="roleCode.length > 0"> <uni-forms :modelValue="form" :rules="rules" ref="form" v-if="roleCode.length > 0">
<view class="input_box " style=""> <view class="input_box " style="">
<uni-forms-item label="" name="monitor" label-width="0" <uni-forms-item label="" name="monitor" label-width="0" v-show="roleCode.includes('66')">
v-show="roleCode.includes('66')">
<view class=""> <view class="">
<text class="input_tit"><i>*</i>班长</text> <text class="input_tit"><i>*</i>班长</text>
</view> </view>
<view class="addBtnBox"> <view class="addBtnBox">
<view class="item" v-if="memeberRefsh"> <view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('monitor')"> <view class="box" @click="showMemberAdd('monitor')">
<span v-show="!form.monitor"><uni-icons class="addIcon" color="#999" type="plusempty" <view v-show="!form.monitor" class="haveNoPerson flex_box">
size="20"></uni-icons></span> <uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text style="width: 100%; display: inline-block;" <text class="addText">添加人员</text>
v-if="form.monitor"> </view>
<!-- {{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}} --> <view class="havePerson" v-if="form.monitor">
{{form.monitor.tel}}</text> <view class="flex_box ">
<text class="delBtn" v-if="form.monitor" @click.stop="delMemeber('monitor')">删除</text> <view class="classmateImg">
<text class="addText" v-else >添加人员</text> <image v-if="form.monitor.avatar != null && form.monitor.avatar != ''" :src="form.monitor.avatar"
mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
<view class="">
<text style="width: 100%; display: inline-block;">
{{form.monitor && form.monitor.nickname != '' && form.monitor.nickname != null ? form.monitor.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.monitor.tel}}</text>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('monitor')">
<text class="delBtn"
>删除</text>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
</uni-forms-item> </uni-forms-item>
<uni-forms-item label="" name="dmonitor" label-width="0" v-show="roleCode.includes('1') || roleCode.includes('66')"> <uni-forms-item label="" name="dmonitor" label-width="0"
v-show="roleCode.includes('1') || roleCode.includes('66')">
<view class=""> <view class="">
<text class="input_tit"> <text class="input_tit">
<!-- <i>*</i> --> <!-- <i>*</i> -->
@@ -36,14 +53,31 @@
<view class="addBtnBox"> <view class="addBtnBox">
<view class="item" v-if="memeberRefsh"> <view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('dmonitor')"> <view class="box" @click="showMemberAdd('dmonitor')">
<span v-show="!form.dmonitor"><uni-icons class="addIcon" color="#999" type="plusempty" <view v-show="!form.dmonitor" class="haveNoPerson flex_box">
size="20"></uni-icons></span> <uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text style="width: 100%; display: inline-block;" <text class="addText">添加人员</text>
v-if="form.dmonitor"> </view>
<!-- {{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}} --> <view class="havePerson" v-if="form.dmonitor">
{{form.dmonitor.tel}}</text> <view class="flex_box ">
<text class="delBtn" v-if="form.dmonitor" @click.stop="delMemeber('dmonitor')">删除</text> <view class="classmateImg">
<text class="addText" v-else >添加人员</text> <image v-if="form.dmonitor.avatar != null && form.dmonitor.avatar != ''" :src="form.dmonitor.avatar"
mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
<view class="">
<text style="width: 100%; display: inline-block;">
{{form.dmonitor && form.dmonitor.nickname != '' && form.dmonitor.nickname != null ? form.dmonitor.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.dmonitor.tel}}</text>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('dmonitor')">
<text class="delBtn"
>删除</text>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -57,14 +91,31 @@
<view class="addBtnBox"> <view class="addBtnBox">
<view class="item" v-if="memeberRefsh"> <view class="item" v-if="memeberRefsh">
<view class="box" @click="showMemberAdd('learner')"> <view class="box" @click="showMemberAdd('learner')">
<span v-show="!form.learner"><uni-icons class="addIcon" color="#999" type="plusempty" <view v-show="!form.learner" class="haveNoPerson flex_box">
size="20"></uni-icons></span> <uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
<text style="width: 100%; display: inline-block;" <text class="addText">添加人员</text>
v-if="form.learner"> </view>
<!-- {{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}} --> <view class="havePerson" v-if="form.learner">
{{form.learner.tel}}</text> <view class="flex_box ">
<text class="delBtn" v-if="form.learner" @click.stop="delMemeber('learner')">删除</text> <view class="classmateImg">
<text class="addText" v-else >添加人员</text> <image v-if="form.learner.avatar != null && form.learner.avatar != ''" :src="form.learner.avatar"
mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
<view class="">
<text style="width: 100%; display: inline-block;">
{{form.learner && form.learner.nickname != '' && form.learner.nickname != null ? form.learner.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{form.learner.tel}}</text>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('learner')">
<text class="delBtn"
>删除</text>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -78,15 +129,33 @@
<view class="addBtnBox"> <view class="addBtnBox">
<!-- {{setDefaultAddItem}} --> <!-- {{setDefaultAddItem}} -->
<view class="item" v-if="memeberRefsh"> <view class="item" v-if="memeberRefsh">
<view class="box" v-for="(item, index) in form.scorer" @click="showMemberAdd('scorer',index)"> <view class="box" v-for="(item, index) in form.scorer"
<span v-show="!item || item == null || item == 'null'"><uni-icons class="addIcon" color="#999" type="plusempty" @click="showMemberAdd('scorer',index)">
size="20"></uni-icons></span> <view v-show="!item || item == null || item == 'null'" class="haveNoPerson flex_box">
<text style="width: 100%; display: inline-block;" <uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
v-if="item"> <text class="addText">添加人员</text>
<!-- {{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}} --> </view>
{{item.tel}}</text> <view class="havePerson" v-if="item">
<text class="delBtn" v-if="item" @click.stop="delMemeber('scorer',index)">删除</text> <view class="flex_box ">
<text class="addText" v-else >添加人员</text> <view class="classmateImg">
<image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar"
mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
<view class="">
<text style="width: 100%; display: inline-block;">
{{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{item.tel}}</text>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('scorer',index)">
<text class="delBtn"
>删除</text>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -99,15 +168,36 @@
</view> </view>
<view class="addBtnBox"> <view class="addBtnBox">
<view class="item" v-if="memeberRefsh"> <view class="item" v-if="memeberRefsh">
<view class="box" v-for="(item, index) in form.counter" @click="showMemberAdd('counter',index)"> <view class="box" v-for="(item, index) in form.counter"
<span v-show="!item"><uni-icons class="addIcon" color="#999" type="plusempty" @click="showMemberAdd('counter',index)">
size="20"></uni-icons></span> <view v-show="!item" class="haveNoPerson flex_box">
<text style="width: 100%; display: inline-block;" <uni-icons class="addIcon" color="#999" type="plusempty" size="20"></uni-icons>
v-if="item"> <text class="addText">添加人员</text>
<!-- {{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}} --> </view>
{{item.tel}}</text> <view class="havePerson" v-if="item">
<text class="delBtn" v-if="item" @click.stop="delMemeber('counter',index)">删除</text> <view class="flex_box ">
<text class="addText" v-else >添加人员</text> <view class="classmateImg">
<image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar"
mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textBox">
<view class="">
<text style="width: 100%; display: inline-block;">
{{item && item.nickname != '' && item.nickname != null ? item.nickname : '匿名用户'}}
</text>
<text style="width: 100%; display: inline-block;"> - {{item.tel}}</text>
</view>
</view>
</view>
<view class="" @click.stop="delMemeber('counter',index)">
<text class="delBtn"
>删除</text>
</view>
</view>
<!-- <text class="delBtn" v-if="item" @click.stop="delMemeber('counter',index)">删除</text>
<text class="addText" v-else>添加人员</text> -->
</view> </view>
</view> </view>
</view> </view>
@@ -510,7 +600,9 @@
} else { } else {
this.form.counter.forEach((item, index) => { this.form.counter.forEach((item, index) => {
if (!item || item == null) { if (!item || item == null) {
newCounter[index] = {id:0} newCounter[index] = {
id: 0
}
// newCounter.splice(index, 1) // newCounter.splice(index, 1)
} }
}) })
@@ -654,19 +746,37 @@
.box { .box {
color: #999; color: #999;
margin: 20rpx; // margin: 20rpx;
align-items: center; align-items: center;
font-size: 28rpx; font-size: 28rpx;
background-color: #eee;
padding: 4rpx 8rpx; padding: 4rpx 8rpx;
border-radius: 6rpx; border-radius: 6rpx;
justify-content: start; justify-content: start;
width: 100%; width: 100%;
padding: 10rpx 8rpx; padding: 10rpx 8rpx;
.haveNoPerson {
height: 120rpx; border-radius: 10rpx; align-items: center; justify-content: center;
background-color: #eee;
}
.havePerson {
width: 100%;
padding: 20rpx;
border-radius: 10rpx;
border: 1px solid #eee;
}
.delBtn { .delBtn {
display: block; padding: 20rpx 0; box-sizing: border-box;
width: 100%; text-align: center; background-color: #f1f1f1;
color: #e60000 !important; color: #e60000 !important;
display: inline-block; font-size: 26rpx;
border-radius: 6rpx; margin-left: 20rpx; margin-top: 20rpx;
// display: inline-block;
border-radius: 6rpx;
} }
@@ -749,6 +859,17 @@
} }
} }
.classmateImg {
width: 60rpx !important;
height: 60rpx !important;
margin-right: 16rpx;
image {
width: 60rpx !important;
height: 60rpx;
}
}
.btn_box { .btn_box {
margin-top: 70rpx; margin-top: 70rpx;
padding-bottom: 20rpx; padding-bottom: 20rpx;

View File

@@ -307,7 +307,7 @@
} }
.redBorder{ border: 1px solid #ff8f8f !important;} .redBorder{ border: 1px solid #ff8f8f !important;}
.greenBorder{border: 1px solid #55aa00 !important;} .greenBorder{border: 1px solid #55aa00 !important;}
.studentsNumber{color: #666; font-size: 28rpx; } .studentsNumber{color: #666; font-size: 28rpx; margin: 20rpx 0; display: block;}
.studentsList{ background-color: rgba(255, 255, 255, .8); padding: 10rpx; border-radius: 10rpx; flex-wrap: wrap; justify-content: space-around; .studentsList{ background-color: rgba(255, 255, 255, .8); padding: 10rpx; border-radius: 10rpx; flex-wrap: wrap; justify-content: space-around;
.item{width: 32% !important; font-size: 26rpx; padding: 6rpx !important;} .item{width: 32% !important; font-size: 26rpx; padding: 6rpx !important;}
} }

View File

@@ -73,7 +73,7 @@
<u-divider v-show="status == 1" text="加载中..."></u-divider> <u-divider v-show="status == 1" text="加载中..."></u-divider>
</view> </view>
</view> </view>
<u-popup key="1" :show="showEditBlank" :round="10" @close="closePup" ref=""> <u-popup key="1" :show="showEditBlank" :round="10" @close="closePup" ref="" z-index="998" overlay-style="z-index:998">
<view class="" style="padding: 40rpx; max-height: 80vh; overflow-y:scroll"> <view class="" style="padding: 40rpx; max-height: 80vh; overflow-y:scroll">
<view class="anserBox"> <view class="anserBox">
<h3>提交的内容</h3> <h3>提交的内容</h3>
@@ -106,7 +106,7 @@
<view class="" style="background-color: beige; padding: 10rpx 10rpx; margin-top: 20rpx;"> <view class="" style="background-color: beige; padding: 10rpx 10rpx; margin-top: 20rpx;">
<uni-forms :modelValue="form" :rules="rules" ref="form"> <uni-forms :modelValue="form" :rules="rules" ref="form">
<uni-forms-item label="分数" name="score" > <uni-forms-item label="分数" name="score" >
<uni-easyinput type="number" v-model="form.score" placeholder="请输入分数:0-100分" /> <uni-easyinput type="number" v-model="form.score" placeholder="请输入分数:0-2.5分" />
</uni-forms-item> </uni-forms-item>
</uni-forms> </uni-forms>
</view> </view>
@@ -142,7 +142,7 @@
score: undefined, //分数 score: undefined, //分数
id: undefined, id: undefined,
}, },
ispreviewImage :false, // ispreviewImage :false,
curReplay: {}, curReplay: {},
rules: { rules: {
score: { score: {
@@ -194,11 +194,11 @@
}, },
onShow() { onShow() {
this.form.taskId = this.thisTask.id this.form.taskId = this.thisTask.id
console.log('this.ispreviewImage',this.ispreviewImage); // console.log('this.ispreviewImage',this.ispreviewImage);
if(this.ispreviewImage){ // if(this.ispreviewImage){
this.showEditBlank = true // this.showEditBlank = true
this.ispreviewImage = false // this.ispreviewImage = false
} // }
this.FileList11 = [] this.FileList11 = []
this.getTaskInfo() this.getTaskInfo()
}, },
@@ -253,11 +253,7 @@
} }
this.curReplay = {} this.curReplay = {}
this.fileList1 = [] this.fileList1 = []
setTimeout(()=>{
this.pPage = 0
this.zuoyeList = []
this.getReplayList()
},1000)
}, },
deletePic(event) { deletePic(event) {
this.fileList1.splice(event.index, 1) this.fileList1.splice(event.index, 1)
@@ -281,8 +277,8 @@
}, },
previewImage(url) { previewImage(url) {
console.log(url); console.log(url);
this.ispreviewImage = true // this.ispreviewImage = true
this.showEditBlank = false // this.showEditBlank = false
uni.previewImage({ uni.previewImage({
urls: [url], urls: [url],
longPressActions: { longPressActions: {
@@ -381,9 +377,9 @@
}, },
onSubmit() { onSubmit() {
this.$refs.form.validate().then(res => { this.$refs.form.validate().then(res => {
if(this.form.score > 100){ if(this.form.score > 2.5){
uni.showToast({ uni.showToast({
title:'分数不能大于100', title:'分数不能大于2.5',
icon:'none' icon:'none'
}) })
return return
@@ -416,7 +412,13 @@
icon: 'success' icon: 'success'
}) })
this.FileList = [] this.FileList = []
setTimeout(()=>{
this.closePup() this.closePup()
this.pPage = 0
this.zuoyeList = []
this.getReplayList()
},1000)
}).catch(e => { }).catch(e => {
uni.showToast({ uni.showToast({
title: '操作失败', title: '操作失败',

View File

@@ -16,7 +16,7 @@
<uni-icons type="checkmarkempty" size="18" color="#55aa7f"></uni-icons> <uni-icons type="checkmarkempty" size="18" color="#55aa7f"></uni-icons>
</view> </view>
<view class=""> <view class="">
已交 {{item.otherInfo.setGiveHomeWorkNumber}} 已交 <b>{{item.otherInfo.setGiveHomeWorkNumber}}</b>
</view> </view>
</view> </view>
<view class="item"> <view class="item">
@@ -24,7 +24,7 @@
<uni-icons type="closeempty" size="18" color="#ff878d"></uni-icons> <uni-icons type="closeempty" size="18" color="#ff878d"></uni-icons>
</view> </view>
<view class=""> <view class="">
未交 {{item.otherInfo.setNoGiveHomeWorkNumber}} 未交 <b>{{item.otherInfo.setNoGiveHomeWorkNumber}}</b>
</view> </view>
</view> </view>
<view class="item"> <view class="item">
@@ -32,7 +32,7 @@
<uni-icons type="auth" size="18" color="#55aa7f"></uni-icons> <uni-icons type="auth" size="18" color="#55aa7f"></uni-icons>
</view> </view>
<view class=""> <view class="">
已评分 {{item.otherInfo.setGiveScoreNumber}} 已评分 <b>{{item.otherInfo.setGiveScoreNumber}}</b>
</view> </view>
</view> </view>
<view class="item"> <view class="item">
@@ -40,7 +40,7 @@
<uni-icons type="spinner-cycle" size="18" color="#ff878d"></uni-icons> <uni-icons type="spinner-cycle" size="18" color="#ff878d"></uni-icons>
</view> </view>
<view class=""> <view class="">
未评分 {{item.otherInfo.setNoGiveScoreNumber}} 未评分 <b>{{item.otherInfo.setNoGiveScoreNumber}}</b>
</view> </view>
</view> </view>
</view> </view>
@@ -227,7 +227,7 @@
.leve2 { justify-content: space-between; .leve2 { justify-content: space-between;
color: #666; font-size: 24rpx; color: #666; font-size: 24rpx;
b{font-size: 34rpx; padding: 0 4rpx; font-weight: normal;}
.item{text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0;} .item{text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0;}
} }

View File

@@ -30,7 +30,7 @@
<u-divider v-show="status == 3" text="暂无数据"></u-divider> <u-divider v-show="status == 3" text="暂无数据"></u-divider>
<u-divider v-show="status == 1" text="加载中..."></u-divider> <u-divider v-show="status == 1" text="加载中..."></u-divider>
</view> </view>
<u-popup key="1" :show="showEditBlank" :round="10" @close="closePup" ref=""> <u-popup key="1" :show="showEditBlank" :round="10" @close="closePup" ref="" z-index="998" overlay-style="z-index:998">
<view class="" style="padding: 40rpx; max-height: 80vh; overflow-y:scroll"> <view class="" style="padding: 40rpx; max-height: 80vh; overflow-y:scroll">
<view class="anserBox"> <view class="anserBox">
<h3>心得详情</h3> <h3>心得详情</h3>
@@ -59,12 +59,12 @@
<view class="score noscore" v-show="curReplay.scoreSuccess == 0"> <view class="score noscore" v-show="curReplay.scoreSuccess == 0">
未评分 未评分
</view> </view>
<!-- v-if="roleCode.includes('4') || roleCode.includes('5')" --> <!-- -->
<template> <template v-if="roleCode.includes('4') || roleCode.includes('5')">
<view class="" style="background-color: beige; padding: 10rpx 10rpx; margin-top: 20rpx;"> <view class="" style="background-color: beige; padding: 10rpx 10rpx; margin-top: 20rpx;">
<uni-forms :modelValue="form" :rules="rules" ref="form"> <uni-forms :modelValue="form" :rules="rules" ref="form">
<uni-forms-item label="分数" name="score" > <uni-forms-item label="分数" name="score" >
<uni-easyinput type="number" v-model="form.score" placeholder="请输入分数:0-100分" /> <uni-easyinput type="number" v-model="form.score" placeholder="请输入分数:0-2.5分" />
</uni-forms-item> </uni-forms-item>
</uni-forms> </uni-forms>
</view> </view>
@@ -109,7 +109,7 @@
score: undefined, //分数 score: undefined, //分数
id: undefined, id: undefined,
}, },
ispreviewImage :false, // ispreviewImage :false,
} }
}, },
onLoad(e) { onLoad(e) {
@@ -133,19 +133,19 @@
}, },
onShow() { onShow() {
// this.getList() // this.getList()
if(this.ispreviewImage){ // if(this.ispreviewImage){
this.showEditBlank = true // this.showEditBlank = true
this.ispreviewImage = false // this.ispreviewImage = false
} // }
}, },
onBackPress() { onBackPress() {
}, },
methods: { methods: {
onSubmit() { onSubmit() {
this.$refs.form.validate().then(res => { this.$refs.form.validate().then(res => {
if(this.form.score > 100){ if(this.form.score > 2.5){
uni.showToast({ uni.showToast({
title:'分数不能大于100', title:'分数不能大于2.5',
icon:'none' icon:'none'
}) })
return return
@@ -177,8 +177,13 @@
title: '操作成功!', title: '操作成功!',
icon: 'success' icon: 'success'
}) })
this.FileList = [] setTimeout(()=>{
this.pPage = 0
this.taskList = []
this.getList()
this.closePup() this.closePup()
},1000)
}).catch(e => { }).catch(e => {
uni.showToast({ uni.showToast({
title: '操作失败', title: '操作失败',
@@ -195,8 +200,8 @@
}, },
previewImage(url) { previewImage(url) {
console.log(url); console.log(url);
this.ispreviewImage = true // this.ispreviewImage = true
this.showEditBlank = false // this.showEditBlank = false
uni.previewImage({ uni.previewImage({
urls: [url], urls: [url],
longPressActions: { longPressActions: {
@@ -215,14 +220,15 @@
} }
this.curReplay = {} this.curReplay = {}
this.fileList1 = [] this.fileList1 = []
setTimeout(()=>{ console.log('this.fileList1',this.fileList1);
this.pPage = 0 // setTimeout(()=>{
this.taskList = [] // this.pPage = 0
this.getList() // this.taskList = []
},1000) // this.getList()
// },1000)
}, },
clickTask(item){ clickTask(item){
console.log('item',item); // console.log('item',item);
this.curReplay = item this.curReplay = item
this.form = {...item} this.form = {...item}
if(this.form.scoreSuccess == 0){ if(this.form.scoreSuccess == 0){
@@ -234,12 +240,7 @@
this.fileList1.push({url:item}) this.fileList1.push({url:item})
}) })
} }
// this.fileList1 = [...item.fileList]
this.showEditBlank = true this.showEditBlank = true
// console.log('options',options);
// uni.navigateTo({
// url:`/pages/miniClass/taskDetailForMan?id=${item.id}&roleCode=${this.roleCode}&type=${this.pageType}`
// })
}, },
getList() { getList() {
this.status = 1; this.status = 1;
@@ -267,6 +268,7 @@
}, },
}) })
.then(res => { .then(res => {
console.log();
if (res.code == 0) { if (res.code == 0) {
if (res.page.records.length > 0) { if (res.page.records.length > 0) {
console.log('数据获取成功', res.page.records); console.log('数据获取成功', res.page.records);

BIN
static/icon/sikaoti.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB