暂存
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
<view class="img">
|
||||
<image src="@/static/icon/sikaoti.png" mode="widthFix"></image>
|
||||
</view>
|
||||
<text>思考题</text>
|
||||
<text>思考题评分</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -27,15 +27,6 @@
|
||||
<view style="height: 200px" v-else></view>
|
||||
</view>
|
||||
|
||||
<!-- <common-sticky
|
||||
style=""
|
||||
itemStyle="width:auto; height: 80rpx;font-size:20rpx;color:#fff"
|
||||
:list="ordersTabs"
|
||||
label="name"
|
||||
:currentCateIndex="currentCateIndex"
|
||||
@handleselectCate="ordersTabCLi"
|
||||
></common-sticky> -->
|
||||
|
||||
<scroll-view
|
||||
:style="`height:calc(100% - 200px - 40rpx) ;`"
|
||||
scroll-y="true"
|
||||
@@ -90,141 +81,6 @@
|
||||
<p class="aui-text-danger" style="text-align: center">
|
||||
本课程版权归天津众妙之门科技有限公司所有,翻版必究!
|
||||
</p>
|
||||
|
||||
<!-- <view class="small_class_teaching_box" v-if="medicalCasesList.length > 0">
|
||||
<view class="small_class_teaching_top">
|
||||
<view class="small_class_teaching_top_left">
|
||||
<image
|
||||
src="@/static/icon/course_ic.png"
|
||||
mode="aspectFil"
|
||||
class="icon1"
|
||||
></image>
|
||||
<text>相关医案</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="small_class_teaching_content"> </view>
|
||||
</view>
|
||||
<view
|
||||
class="small_class_teaching_box related_courses_box"
|
||||
v-if="relatedCoursesList.length > 0"
|
||||
>
|
||||
<view class="small_class_teaching_top">
|
||||
<view class="small_class_teaching_top_left">
|
||||
<image
|
||||
src="@/static/icon/course_ic.png"
|
||||
mode="aspectFil"
|
||||
class="icon1"
|
||||
></image>
|
||||
<text>相关课程</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="small_class_teaching_content">
|
||||
<common-curriculum-list
|
||||
imgUrl="url"
|
||||
:isCondition="true"
|
||||
:dataList="relatedCoursesList"
|
||||
@hancleClick="goCourseDescription"
|
||||
label="title"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<view class="related_courses_name hidden1">{{
|
||||
slotProps.row.title
|
||||
}}</view>
|
||||
|
||||
</template>
|
||||
|
||||
<template slot="rightSlot" slot-scope="slotProps">
|
||||
|
||||
<text class="aui-text-danger">
|
||||
¥{{ slotProps.row.courseFee }}</text
|
||||
>
|
||||
|
||||
<view> </view>
|
||||
</template>
|
||||
</common-curriculum-list>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="small_class_teaching_box correlation_box"
|
||||
v-for="(v, i) in correlationiList"
|
||||
>
|
||||
<view class="small_class_teaching_top">
|
||||
<view class="small_class_teaching_top_left">
|
||||
<template v-if="v.iconType == 'uni'">
|
||||
<uni-icons
|
||||
:type="v.icon"
|
||||
:color="v.color ? v.color : '#71d5a1'"
|
||||
:size="v.iconSize"
|
||||
style="display: inline-block; margin-right: 10rpx"
|
||||
></uni-icons>
|
||||
</template>
|
||||
|
||||
<template v-else>
|
||||
<u-icon
|
||||
:name="v.icon"
|
||||
:color="v.color ? v.color : '#71d5a1'"
|
||||
:size="v.iconSize"
|
||||
style="display: inline-block; margin-right: 10rpx"
|
||||
></u-icon>
|
||||
</template>
|
||||
<text
|
||||
:style="`color:${v.color ? v.color : '#71d5a1'}`"
|
||||
class="title"
|
||||
>{{ v.name }}</text
|
||||
>
|
||||
</view>
|
||||
<view class="small_class_teaching_top_right"
|
||||
><text
|
||||
:style="`color:#b0b0b0`"
|
||||
class="more"
|
||||
@click="handleClickMore(v, i, true)"
|
||||
v-show="!v.isOpen"
|
||||
v-if="v.type != 'dashang'"
|
||||
>查看全部</text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
:class="`small_class_teaching_content dianzan_box ${
|
||||
v.isOpen ? '' : 'hidden5'
|
||||
}`"
|
||||
v-if="v.type == 'dianzan'"
|
||||
>
|
||||
{{ praise }}
|
||||
</view>
|
||||
<view
|
||||
:class="`small_class_teaching_content dianzan_box ${
|
||||
v.isOpen ? '' : 'hidden5'
|
||||
}`"
|
||||
v-if="v.type == 'pinglun'"
|
||||
>
|
||||
<view v-for="(item, index) in commentLst">
|
||||
<text>{{ item.name }}:</text>
|
||||
<text>{{ item.content }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
:class="`small_class_teaching_content dianzan_box dashang_box ${
|
||||
v.isOpen ? '' : 'hidden5'
|
||||
}`"
|
||||
v-if="v.type == 'dashang'"
|
||||
>
|
||||
<rich-text :nodes="reward"></rich-text>
|
||||
</view>
|
||||
<view
|
||||
@click="handleClickMore(v, i, false)"
|
||||
class="close"
|
||||
v-show="v.isOpen"
|
||||
>收起
|
||||
<u-icon
|
||||
name="arrow-up"
|
||||
color="#b0b0b0"
|
||||
size="18"
|
||||
style="display: inline-block; margin-left: 10rpx"
|
||||
></u-icon>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -240,15 +96,6 @@
|
||||
v-show="screenLoading"
|
||||
>
|
||||
</view>
|
||||
<!-- <u-modal
|
||||
:show="show"
|
||||
:title="modalInfo.title"
|
||||
:content="modalInfo.content"
|
||||
showCancelButton
|
||||
@confirm="hancleModalConfirm"
|
||||
@cancel="hancleModalCancel"
|
||||
></u-modal> -->
|
||||
|
||||
<!-- <z-navigation></z-navigation> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<view style="height: 200px" v-else></view>
|
||||
</view>
|
||||
<!-- <scroll-view :style="`height:calc(100% - 200px - 40rpx) ;`" scroll-y="true" class="scroll-Y" style="background-color: #fff"> -->
|
||||
<view class="PM_font" style="padding: 20rpx; font-size: 40rpx; color: #2979ff; margin-top: 360rpx;">视频教学
|
||||
<view class="PM_font" style="padding: 20rpx; font-size: 40rpx; color: #2979ff; margin-top: 400rpx;">视频教学
|
||||
</view>
|
||||
<view class="scroll-view-item">
|
||||
<view style="padding: 20rpx; font-size: 26rpx">
|
||||
@@ -65,12 +65,18 @@
|
||||
<view v-if="curriculumData.questions != ''" class="">
|
||||
<view class="" v-html="curriculumData.questions"></view>
|
||||
<view class="haveAnswer" v-if="myAnswer.id">
|
||||
<!-- 有答案
|
||||
{{myAnswer}} -->
|
||||
<view class="PM_font" style="padding: 20rpx; font-size: 40rpx; color: #333">我的见解
|
||||
<view class="rightBtn" @click="showBlank(myAnswer)">
|
||||
<!-- 有答案 -->
|
||||
<view class="PM_font flex_box flex_between" style="padding: 20rpx; align-items: center;">
|
||||
<text style="padding: 20rpx 0; font-size: 40rpx; color: #333">我的见解</text>
|
||||
<view class="rightBtn" @click="showBlank(myAnswer)" v-if="myAnswer.scoreSuccess == 0 && myAnswer.scoreInfo == ''">
|
||||
<text>修改</text>
|
||||
</view>
|
||||
<view class="score" v-if="myAnswer.scoreSuccess == 0 && myAnswer.scoreInfo != ''">
|
||||
<text>正在评分</text>
|
||||
</view>
|
||||
<view class="score" v-if="myAnswer.scoreSuccess != 0">
|
||||
<text>{{myAnswer.score}}分</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="htmlText" v-html="myAnswer.content"></view>
|
||||
<!-- {{myAnswer.fileList.length}} -->
|
||||
@@ -79,9 +85,13 @@
|
||||
<image @click="previewImage(item.url)" :src="item.url" mode="widthFix"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="timeInfo">
|
||||
{{myAnswer.createTime}}
|
||||
</view>
|
||||
|
||||
<view :class="['noanser', isInClass ? '' : 'lock']" v-else>
|
||||
</view>
|
||||
|
||||
<view :class="['noanser', isInClass ? '' : 'lock']" v-else-if="classList.length > 0">
|
||||
<view class="lockView flex_box">
|
||||
<view class="">
|
||||
<view class="">
|
||||
@@ -168,6 +178,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
classList:[], // 进行中的小班
|
||||
isInClass:false, // 是否加入了班级
|
||||
showEditBlank: false,
|
||||
answerForm: {
|
||||
@@ -382,6 +393,8 @@
|
||||
.then(res => {
|
||||
if (res.code == 0 && res.classTaskAndQuesReply != null) {
|
||||
this.myAnswer = res.classTaskAndQuesReply
|
||||
// 赋值给编辑器
|
||||
this.onEditorReady()
|
||||
this.myAnswer.fileList = []
|
||||
if (res.classTaskAndQuesReply.img != '') {
|
||||
var imgList = res.classTaskAndQuesReply.img.split(',')
|
||||
@@ -472,9 +485,8 @@
|
||||
'common/class/editClassTaskAndQuesReply' : _url = 'common/class/addClassTaskAndQuesReply'
|
||||
// this.form.id ? _url =
|
||||
// 'common/class/editClassTaskReply' : _url = 'common/class/addClassTaskReply'
|
||||
|
||||
|
||||
var data1 = {
|
||||
'classId': this.answerForm.id ? undefined : this.classList[0].id,
|
||||
"relationId": this.answerForm.id ? undefined : this.curriculumData.id,
|
||||
"id": this.answerForm.id,
|
||||
"type": this.answerForm.type, //类型0任务1课后题
|
||||
@@ -787,25 +799,27 @@
|
||||
// 判断用户是否加入了小班 小班列表为0 表示已经加入
|
||||
getClassList(){
|
||||
$http.request({
|
||||
url: '/common/class/getClassByCourseIdNoUser',
|
||||
url: '/common/class/getClassByUser',
|
||||
method: "POST",
|
||||
data: {
|
||||
"courseId": this.options.courseId,
|
||||
"state": "", //小班状态0待开班1已开班2完成
|
||||
"type": "" // 班类型 0小班 1联合班 2精英班
|
||||
// "state": "", //小班状态0待开班1已开班2完成
|
||||
// "type": "" // 班类型 0小班 1联合班 2精英班
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
})
|
||||
.then(res => {
|
||||
console.log('获取班级列表',res.result.length,this.options.courseId);
|
||||
this.classList = []
|
||||
console.log('获取班级列表',res.result);
|
||||
if(res.code == 0){
|
||||
if(res.result.length > 0){
|
||||
this.isInClass = false
|
||||
}else{
|
||||
if(res.result.id){
|
||||
this.isInClass = true
|
||||
|
||||
this.classList.push(res.result)
|
||||
}else{
|
||||
this.isInClass = false
|
||||
// this.classList = []
|
||||
}
|
||||
}
|
||||
console.log('获取班级列表++++++',this.isInClass);
|
||||
@@ -988,7 +1002,7 @@
|
||||
white-space: nowrap;
|
||||
padding: 10rpx;
|
||||
}
|
||||
|
||||
.timeInfo{font-size: 28rpx; color: #838383; text-align: right; margin: 16rpx 0;}
|
||||
.imgBox {
|
||||
flex-wrap: wrap;
|
||||
|
||||
@@ -1149,7 +1163,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.score{color: #06c;}
|
||||
.rightBtn {
|
||||
float: right;
|
||||
|
||||
|
||||
@@ -363,9 +363,9 @@
|
||||
var _list = []
|
||||
this.status = 1
|
||||
// this.flag = false
|
||||
uni.showLoading({
|
||||
title: '正在加载'
|
||||
})
|
||||
// uni.showLoading({
|
||||
// title: '正在加载'
|
||||
// })
|
||||
await $http.request({
|
||||
url: "common/class/MyClassList",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
@@ -403,10 +403,10 @@
|
||||
}
|
||||
// this.flag = true
|
||||
}
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
}).catch(e => {
|
||||
_list = []
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
// this.flag = true
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
|
||||
@@ -76,8 +76,17 @@
|
||||
班级简介:<span style="font-weight: normal; color: #999; font-size: 26rpx;">(600字以内)</span></text>
|
||||
<view class="in">
|
||||
<view class="uni-textarea">
|
||||
<textarea placeholder-style="font-size:26rpx" v-model="form.content" maxlength="600"
|
||||
placeholder="请输入您的班级简介600字以内" />
|
||||
<!-- <view class='wrapper'> -->
|
||||
<view class="editor-wrapper">
|
||||
<editor id="editor" class="ql-container" placeholder="请输入班级简介..."
|
||||
show-img-size show-img-toolbar show-img-resize
|
||||
@statuschange="onStatusChange" :read-only="readOnly"
|
||||
@ready="onEditorReady">
|
||||
</editor>
|
||||
</view>
|
||||
<!-- </view> -->
|
||||
<!-- <textarea placeholder-style="font-size:26rpx" v-model="form.content" maxlength="600"
|
||||
placeholder="请输入您的班级简介600字以内" /> -->
|
||||
</view>
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
@@ -111,6 +120,8 @@
|
||||
number: '', // 联系电话
|
||||
qrcode:'' // 群二维码
|
||||
},
|
||||
readOnly: false,
|
||||
formats: {},
|
||||
telError: false,
|
||||
range:[
|
||||
{ value: '0', text: "普通小班",name:"普通小班"},
|
||||
@@ -203,6 +214,7 @@
|
||||
this.refresh = false
|
||||
if (res.code == 0) {
|
||||
this.form = res.result.class
|
||||
this.onEditorReady()
|
||||
if(this.form.icon != ''){
|
||||
this.fileList1.push({url:this.form.icon})
|
||||
}
|
||||
@@ -223,6 +235,42 @@
|
||||
})
|
||||
});
|
||||
},
|
||||
readOnlyChange() {
|
||||
this.readOnly = !this.readOnly
|
||||
},
|
||||
getHtml() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.editorCtx.getContents({
|
||||
success: (res) => {
|
||||
resolve(res);
|
||||
},
|
||||
fail: (error) => {
|
||||
reject(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
},
|
||||
onEditorReady() {
|
||||
// #ifdef APP-PLUS || MP-WEIXIN || H5
|
||||
uni.createSelectorQuery().select('#editor').context((res) => {
|
||||
this.editorCtx = res.context
|
||||
if (this.form.content == '') return
|
||||
res.context.setContents({
|
||||
html: this.form.content
|
||||
})
|
||||
}).exec()
|
||||
// #endif
|
||||
},
|
||||
undo() {
|
||||
this.editorCtx.undo()
|
||||
},
|
||||
redo() {
|
||||
this.editorCtx.redo()
|
||||
},
|
||||
onStatusChange(e) {
|
||||
const formats = e.detail
|
||||
this.formats = formats
|
||||
},
|
||||
getUserModel() {
|
||||
console.log('获取用户的可添加模型列表');
|
||||
$http.request({
|
||||
@@ -319,8 +367,18 @@
|
||||
deletePic2(event) {
|
||||
this.fileList2.splice(event.index, 1)
|
||||
},
|
||||
onSubmit() {
|
||||
this.$refs.form.validate().then(res => {
|
||||
async onSubmit() {
|
||||
this.$refs.form.validate().then(async res => {
|
||||
let data = await this.getHtml();
|
||||
var _data = data.html.replace(/<.*?>/g, "")
|
||||
// if (!_data || _data == '') {
|
||||
// uni.showToast({
|
||||
// title: '请输入您的答案',
|
||||
// icon: 'none'
|
||||
// })
|
||||
// return
|
||||
// }
|
||||
this.form.content = data.html
|
||||
if (this.fileList1.length > 0) {
|
||||
let _list = this.fileList1
|
||||
_list = _list.map(item => item.url)
|
||||
|
||||
@@ -131,8 +131,8 @@ import $http from '@/config/requestConfig.js';
|
||||
//第一次加载
|
||||
onLoad(e) {
|
||||
console.log('收到的值', e);
|
||||
if(e.sort){
|
||||
this.form.sort = e.sort+''
|
||||
if(e.sort != 'undefined'){
|
||||
this.form.sort = e.sort
|
||||
}
|
||||
this.pageType = e.type
|
||||
this.form.classId = e.classId
|
||||
@@ -274,20 +274,19 @@ import $http from '@/config/requestConfig.js';
|
||||
}else{
|
||||
this.form.img = ''
|
||||
}
|
||||
var newSort = undefined
|
||||
console.log('this.sort',this.form.sort);
|
||||
if(this.form.sort != undefined) {
|
||||
console.log('this.sort',this.form.sort);
|
||||
var oldsort = this.form.sort.split('')
|
||||
if(oldsort[oldsort.length-1] == '9'){
|
||||
oldsort.push('0')
|
||||
}else{
|
||||
console.log('符合');
|
||||
oldsort[oldsort.length-1] = ( parseInt(oldsort[oldsort.length-1]) + 1) + ''
|
||||
}
|
||||
newSort = oldsort.join('')
|
||||
}
|
||||
// console.log('this.sort',newSort);
|
||||
// var newSort = undefined
|
||||
// if(this.form.sort) {
|
||||
// console.log('this.sort',this.form.sort);
|
||||
// // var oldsort = this.form.sort.split('')
|
||||
// if(oldsort[oldsort.length-1] == '9'){
|
||||
// oldsort.push('0')
|
||||
// }else{
|
||||
// console.log('符合');
|
||||
// oldsort[oldsort.length-1] = ( parseInt(oldsort[oldsort.length-1]) + 1) + ''
|
||||
// }
|
||||
// newSort = oldsort.join('')
|
||||
// }
|
||||
console.log('this.form',this.form);
|
||||
var _url = ""
|
||||
this.form.id ? _url = "common/class/editClassTask" : _url = "common/class/addClassTask"
|
||||
$http.request({
|
||||
@@ -301,7 +300,7 @@ import $http from '@/config/requestConfig.js';
|
||||
"title": this.form.title,
|
||||
"content": this.form.content,
|
||||
"img": this.form.img,
|
||||
"sort": newSort
|
||||
"sort": this.form.sort ? parseInt(this.form.sort)+1 : undefined
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
@@ -373,7 +372,7 @@ import $http from '@/config/requestConfig.js';
|
||||
// overflow: hidden;
|
||||
// height: 100rpx;
|
||||
padding-top: 10rpx;
|
||||
|
||||
margin-bottom: 20rpx;
|
||||
// border-bottom: 1rpx solid #eeeeee;
|
||||
align-items: center;
|
||||
|
||||
|
||||
@@ -12,13 +12,22 @@
|
||||
</view>
|
||||
<view class="className">
|
||||
<h3>{{thisClass.title}}</h3>
|
||||
<text class="tuichu" v-if="isHave && thisClass.state == 0" @click="outClass()">退出班级</text>
|
||||
<text class="tuichu" v-if="thisClass.state == 0" @click="outClass()">退出班级</text>
|
||||
</view>
|
||||
<view class="gotoExams" v-if="thisClass.state == '2'">
|
||||
<!-- <view class="gotoExams" v-if="thisClass.state == '2'">
|
||||
<text>去考试</text>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="otherItems flex_box">
|
||||
<view><text class="ciyao">创建日期</text><text
|
||||
<view v-if="thisClass.state == 0">
|
||||
<text class="ciyao">创建日期</text><text
|
||||
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view v-if="thisClass.state == 1">
|
||||
<text class="ciyao">开班日期</text><text
|
||||
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view v-if="thisClass.state == 2">
|
||||
<text class="ciyao">结班日期</text><text
|
||||
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view><text class="ciyao">班级类型</text>
|
||||
@@ -26,10 +35,11 @@
|
||||
<text class="mainTxt" v-if="classModel.type == '1'">联合班</text>
|
||||
<text class="mainTxt" v-if="classModel.type == '2'">精英班</text>
|
||||
</view>
|
||||
<view><text class="ciyao">人数</text><text class="mainTxt">{{students.length}}/{{thisClass.number}}人</text></view>
|
||||
<view><text class="ciyao">人数</text><text
|
||||
class="mainTxt">{{students.length}}/{{thisClass.number}}人</text></view>
|
||||
<view><text class="ciyao">管理成员</text><text class="mainTxt" @click="seeManager">点击查看</text></view>
|
||||
</view>
|
||||
<view class="pingfenBox" >
|
||||
<view class="pingfenBox" v-if="thisClass.state != 0">
|
||||
<view class="scoreTitle">
|
||||
<view class="titles flex_box">
|
||||
<text>表现分</text><uni-icons type="help" size="18" color="#fff" @click="clickHelp"></uni-icons>
|
||||
@@ -45,9 +55,11 @@
|
||||
<text class="ciyao"><i class="mainTxt PM_font">{{performanceScore.task1Score}}</i>分</text>
|
||||
</view>
|
||||
<view><text class="ciyao">心得得分</text>
|
||||
<text class="ciyao"><i class="mainTxt PM_font">{{performanceScore.experienceScore}}</i>分</text></view>
|
||||
<text class="ciyao"><i class="mainTxt PM_font">{{performanceScore.experienceScore}}</i>分</text>
|
||||
</view>
|
||||
<view><text class="ciyao">思考题分</text>
|
||||
<text class="ciyao"><i class="mainTxt PM_font">{{performanceScore.questionScore}}</i>分</text></view>
|
||||
<text class="ciyao"><i class="mainTxt PM_font">{{performanceScore.questionScore}}</i>分</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mainBox">
|
||||
@@ -73,7 +85,8 @@
|
||||
<view class="jianjie" v-html="item.content"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="" v-if="classModel.days > 0" style="text-align: center; color: #999; font-size: 28rpx;">
|
||||
<view class="" v-if="classModel.days > 0"
|
||||
style="text-align: center; color: #999; font-size: 28rpx;">
|
||||
——— 教学时长:{{classModel.days}} 天 ———
|
||||
</view>
|
||||
</view>
|
||||
@@ -100,12 +113,13 @@
|
||||
<view :class="['item','flexbox']" v-for="(item, index) in students" :key="index">
|
||||
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
|
||||
<view class="classmateImg">
|
||||
<image v-if="item.student.avatar != null && item.student.avatar != ''" :src="item.student.avatar"
|
||||
mode="aspectFit"></image>
|
||||
<image v-if="item.student.avatar != null && item.student.avatar != ''"
|
||||
:src="item.student.avatar" mode="aspectFit"></image>
|
||||
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="textItems flex_box">
|
||||
<text class="txt555" v-if="item.student.nickname != null && item.student.nickname != ''">
|
||||
<text class="txt555"
|
||||
v-if="item.student.nickname != null && item.student.nickname != ''">
|
||||
{{item.student.nickname}}
|
||||
</text>
|
||||
<text v-else>匿名用户</text>
|
||||
@@ -118,14 +132,14 @@
|
||||
<u-divider text="暂无学员加入"></u-divider>
|
||||
</view>
|
||||
<!-- 班内提交 -->
|
||||
<view class="" v-if=" tabId == '3'">
|
||||
<view class="" v-if=" tabId == '3' && thisClass.state != '0'">
|
||||
<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 class="" v-if="tijiaoTitleId == 2 && thisClass.state != 2" >
|
||||
<view class="" v-if="tijiaoTitleId == 2 && thisClass.state == '1'">
|
||||
<view class="noanser">
|
||||
<view class="">
|
||||
<text>快来添加一条记录吧~</text>
|
||||
@@ -157,7 +171,7 @@
|
||||
<view class="leve2">
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="leve3" >
|
||||
<view class="leve3">
|
||||
<view class="tips flex_box">
|
||||
<!-- <text>发布者:{{item.createUser.nickname != null && item.createUser.nickname != '' ? item.createUser.nickname : '匿名用户'}}</text> -->
|
||||
<text style="" class="date">日期:{{item.createTime}}</text>
|
||||
@@ -167,7 +181,9 @@
|
||||
分数:{{item.score}}
|
||||
</view>
|
||||
</view>
|
||||
<text class="btn" v-show="tijiaoTitleId == 2 && myExperience == 1 && item.scoreSuccess == 0" @click.stop="editMyXinde(item)" >修改</text>
|
||||
<text class="btn"
|
||||
v-show="tijiaoTitleId == 2 && myExperience == 1 && item.scoreSuccess == 0"
|
||||
@click.stop="editMyXinde(item)">修改</text>
|
||||
</view>
|
||||
<view class="leve3" v-show="item.reply && tijiaoTitleId != 2">
|
||||
<text>已提交答案</text>
|
||||
@@ -192,7 +208,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottomBox" v-if="!isHave && !isDirector && !isMonitor && students.length < thisClass.number">
|
||||
<view class="bottomBox" v-if=" thisClass.state == '0'&& students.length < thisClass.number">
|
||||
<button type="primary" @click="addClass">一键加入班级</button>
|
||||
</view>
|
||||
<!-- 管理弹出 -->
|
||||
@@ -210,7 +226,8 @@
|
||||
<view class="item">
|
||||
<text class="adminName">副班长:</text>
|
||||
<view class="personbox" v-if="admins.dmonitor.user != null">
|
||||
<text>{{admins.dmonitor.user.nickname != null && admins.dmonitor.user.nickname != '' ? admins.dmonitor.user.nickname : '匿名用户'}}</text> -->
|
||||
<text>{{admins.dmonitor.user.nickname != null && admins.dmonitor.user.nickname != '' ? admins.dmonitor.user.nickname : '匿名用户'}}</text>
|
||||
-->
|
||||
<text>({{admins.dmonitor.user.tel}})</text>
|
||||
</view>
|
||||
<text v-else>暂未设置</text>
|
||||
@@ -247,7 +264,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<z-navigation ></z-navigation>
|
||||
<z-navigation></z-navigation>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
@@ -264,8 +281,8 @@
|
||||
horizontal: 'right',
|
||||
vertical: 'bottom',
|
||||
direction: 'vertical',
|
||||
status:88,
|
||||
loadFlag:false,
|
||||
status: 88,
|
||||
loadFlag: false,
|
||||
pattern: {
|
||||
color: '#7A7E83',
|
||||
backgroundColor: '#fff',
|
||||
@@ -292,10 +309,9 @@
|
||||
tabId: '3',
|
||||
curTagIndex: 0,
|
||||
scrollable: false,
|
||||
pPage:0,
|
||||
pPage: 0,
|
||||
// 已开班
|
||||
tabList02: [
|
||||
{
|
||||
tabList02: [{
|
||||
name: '班内提交',
|
||||
id: '3'
|
||||
},
|
||||
@@ -365,10 +381,10 @@
|
||||
},
|
||||
],
|
||||
tijiaoTitleId: '0',
|
||||
taskList:[], // 任务列表
|
||||
taskHaveMore:false, // 是否还有更多
|
||||
myExperience:'0',
|
||||
performanceScore:{
|
||||
taskList: [], // 任务列表
|
||||
taskHaveMore: false, // 是否还有更多
|
||||
myExperience: '0',
|
||||
performanceScore: {
|
||||
task1Score: 0,
|
||||
experienceScore: 0,
|
||||
task0Score: 0,
|
||||
@@ -380,12 +396,19 @@
|
||||
uni.hideTabBar();
|
||||
this.classId = e.id
|
||||
this.getUserInfo()
|
||||
uni.$on('refreshData',() => {
|
||||
uni.$on('refreshData', () => {
|
||||
console.log('开始刷新列表数据');
|
||||
this.pPage = 0
|
||||
this.taskList = []
|
||||
this.getList()
|
||||
})
|
||||
// uni.$on('refreshUserAnswerList',() => {
|
||||
// console.log('开始刷新用户提交列表');
|
||||
// this.pPage = 0
|
||||
// this.taskList = []
|
||||
// this.getList()
|
||||
// })
|
||||
|
||||
},
|
||||
onReachBottom() {
|
||||
if (this.status != 2 && this.status != 3) {
|
||||
@@ -405,7 +428,7 @@
|
||||
},
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
getClassStatus(){
|
||||
getClassStatus() {
|
||||
var _roleName = ''
|
||||
switch (this.thisClass.state) {
|
||||
case '0':
|
||||
@@ -419,12 +442,12 @@
|
||||
break;
|
||||
}
|
||||
return _roleName
|
||||
}
|
||||
,tabList(){
|
||||
},
|
||||
tabList() {
|
||||
var list = []
|
||||
if(this.thisClass.state == 0){
|
||||
if (this.thisClass.state == 0) {
|
||||
list = this.tabList01
|
||||
}else{
|
||||
} else {
|
||||
list = this.tabList02
|
||||
}
|
||||
return list
|
||||
@@ -432,7 +455,7 @@
|
||||
},
|
||||
methods: {
|
||||
// 查询平时表现分
|
||||
getScore(){
|
||||
getScore() {
|
||||
$http.request({
|
||||
url: "common/class/getUserScore",
|
||||
method: "POST",
|
||||
@@ -444,10 +467,10 @@
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
if(res.code == 0){
|
||||
if (res.code == 0) {
|
||||
this.performanceScore = res.result
|
||||
console.log('this.performanceScore-------',this.performanceScore);
|
||||
}else{
|
||||
console.log('this.performanceScore-------', this.performanceScore);
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: '平时成绩获取失败',
|
||||
icon: 'none'
|
||||
@@ -460,39 +483,36 @@
|
||||
})
|
||||
});
|
||||
},
|
||||
editMyXinde(item){
|
||||
editMyXinde(item) {
|
||||
// var options = JSON.stringify(item)
|
||||
uni.navigateTo({
|
||||
url:`/pages/miniClass/addHomeWork?id=${item.id}&type=2`
|
||||
url: `/pages/miniClass/addHomeWork?id=${item.id}&type=2`
|
||||
})
|
||||
},
|
||||
radioChange1(e){
|
||||
radioChange1(e) {
|
||||
this.myExperience = e.detail.value
|
||||
console.log('点了',this.myExperience);
|
||||
console.log('点了', this.myExperience);
|
||||
this.pPage = 0
|
||||
this.taskList = []
|
||||
this.getList()
|
||||
},
|
||||
goPingfen(url,classId,type){
|
||||
goPingfen(url, classId, type) {
|
||||
uni.navigateTo({
|
||||
url:`${url}?classId=${classId}&type=${type}`
|
||||
url: `${url}?classId=${classId}&type=${type}`
|
||||
})
|
||||
},
|
||||
// 点击作业或者医案,进入详细介绍
|
||||
clickTask(item){
|
||||
var options = JSON.stringify(item)
|
||||
if(this.tijiaoTitleId == 2){
|
||||
clickTask(item) {
|
||||
// var options = JSON.stringify(item)
|
||||
if (this.tijiaoTitleId == 2) {
|
||||
// 进入的是心得
|
||||
uni.navigateTo({
|
||||
url:`/pages/miniClass/xindeDetail?options=${options}`
|
||||
url: `/pages/miniClass/xindeDetail?id=${item.id}`
|
||||
})
|
||||
return
|
||||
}
|
||||
console.log('this.tijiaoTitleId',this.tijiaoTitleId);
|
||||
|
||||
// console.log('options',options);
|
||||
uni.navigateTo({
|
||||
url:`/pages/miniClass/taskDetail?id=${item.id}&`
|
||||
url: `/pages/miniClass/taskDetail?id=${item.id}&classState=${this.thisClass.state}`
|
||||
})
|
||||
},
|
||||
delClass() {
|
||||
@@ -532,7 +552,7 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
getList(){
|
||||
getList() {
|
||||
console.log('进入函数了吗');
|
||||
this.status = 1;
|
||||
if (this.loadFlag) {
|
||||
@@ -540,7 +560,7 @@
|
||||
return;
|
||||
}
|
||||
uni.showLoading({
|
||||
title:'加载中'
|
||||
title: '加载中'
|
||||
})
|
||||
this.loadFlag = true;
|
||||
this.pPage++;
|
||||
@@ -549,11 +569,11 @@
|
||||
"limit": 10,
|
||||
"page": this.pPage,
|
||||
"classId": this.thisClass.id,
|
||||
"type": this.tijiaoTitleId+'', //类型 0班内任务1医案2心得
|
||||
"type": this.tijiaoTitleId + '', //类型 0班内任务1医案2心得
|
||||
"myExperience": this.myExperience, //0全部心得1我的心得
|
||||
"title": ""
|
||||
}
|
||||
console.log('data',data);
|
||||
console.log('data', data);
|
||||
$http.request({
|
||||
url: "common/class/getClassTaskListStudent",
|
||||
method: "POST",
|
||||
@@ -564,11 +584,11 @@
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
if(res.page.records.length > 0){
|
||||
console.log('数据获取成功',res.page.records);
|
||||
if (res.page.records.length > 0) {
|
||||
console.log('数据获取成功', res.page.records);
|
||||
var lis = res.page.records
|
||||
this.taskList = this.taskList.concat(lis)
|
||||
if(res.page.pages > 1){
|
||||
if (res.page.pages > 1) {
|
||||
this.taskHaveMore = true
|
||||
}
|
||||
if (res.page.pages > this.pPage) {
|
||||
@@ -576,7 +596,7 @@
|
||||
} else {
|
||||
this.status = 2;
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
this.status = 3; // 暂无数据
|
||||
}
|
||||
this.loadFlag = false;
|
||||
@@ -595,7 +615,7 @@
|
||||
},
|
||||
titleClick(item, textIndex) {
|
||||
console.log('进来了吗');
|
||||
if(this.tijiaoTitleId == textIndex){
|
||||
if (this.tijiaoTitleId == textIndex) {
|
||||
return
|
||||
}
|
||||
this.tijiaoTitleId = textIndex
|
||||
@@ -623,7 +643,7 @@
|
||||
// 添加心得
|
||||
addXinde(url, id, modeType) {
|
||||
uni.navigateTo({
|
||||
url: `${url}?classId=${this.thisClass.id}&type=${modeType}`
|
||||
url: `${url}?classId=${this.thisClass.id}&type=${modeType}&sort=undefined`
|
||||
});
|
||||
},
|
||||
// 跳转
|
||||
@@ -635,7 +655,7 @@
|
||||
tabClick(e) {
|
||||
console.log('e', e);
|
||||
this.tabId = e.id
|
||||
if(e.id == 3){
|
||||
if (e.id == 3) {
|
||||
console.log('心得');
|
||||
this.getList()
|
||||
}
|
||||
@@ -783,7 +803,7 @@
|
||||
})
|
||||
});
|
||||
},
|
||||
taskEdit(item){
|
||||
taskEdit(item) {
|
||||
console.log('taskEdit'.item);
|
||||
},
|
||||
// 退出班级 // 踢出班级
|
||||
@@ -791,13 +811,13 @@
|
||||
let that = this
|
||||
var _useId = undefined
|
||||
var _txt = ''
|
||||
if (userId) {
|
||||
_useId = userId
|
||||
_txt = '即将踢出该学员,是否继续?'
|
||||
} else {
|
||||
// if (userId) {
|
||||
// _useId = userId
|
||||
// _txt = '即将踢出该学员,是否继续?'
|
||||
// } else {
|
||||
_useId = this.userInfo.id
|
||||
_txt = '您即将退出当前班级,退出班级后,在本班级提交的作业、医案、心得都将被删除,是否继续?'
|
||||
}
|
||||
// }
|
||||
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
@@ -844,17 +864,17 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
clickHelp(){
|
||||
clickHelp() {
|
||||
uni.showModal({
|
||||
title:'说明',
|
||||
content:"表现分占最终总成绩的40%,由作业,医案,心得,思考题四部分构成,每部分各占四分之一,且每部分最高为10分,总计40分。",
|
||||
showCancel:false,
|
||||
confirmText:'好的'
|
||||
title: '说明',
|
||||
content: "表现分占最终总成绩的40%,由作业,医案,心得,思考题四部分构成,每部分各占四分之一,且每部分最高为10分,总计40分。",
|
||||
showCancel: false,
|
||||
confirmText: '好的'
|
||||
})
|
||||
},
|
||||
showmoreTask(){
|
||||
showmoreTask() {
|
||||
uni.navigateTo({
|
||||
url:`/pages/miniClass/classCaskList?id=${this.thisClass.id}&type=${this.tijiaoTitleId}`
|
||||
url: `/pages/miniClass/classCaskList?id=${this.thisClass.id}&type=${this.tijiaoTitleId}`
|
||||
})
|
||||
},
|
||||
getClassInfo() {
|
||||
@@ -876,6 +896,11 @@
|
||||
if (res.code == 0) {
|
||||
this.isHave = res.result.isJoin
|
||||
this.thisClass = res.result.class
|
||||
if(this.thisClass.state == '0'){
|
||||
this.tabId = '0'
|
||||
}else{
|
||||
this.tabId = '3'
|
||||
}
|
||||
this.admins.list = res.result.admins
|
||||
this.admins.monitor = {}
|
||||
this.admins.dmonitor = {}
|
||||
@@ -909,7 +934,7 @@
|
||||
this.courses = res.result.courses
|
||||
this.students = res.result.students
|
||||
this.refresh = true
|
||||
if(this.thisClass.state != 0){
|
||||
if (this.thisClass.state != 0) {
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
@@ -930,7 +955,13 @@
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "@/style/mixin.scss";
|
||||
.score{color: #55aaff; font-size: 30rpx !important; font-weight: bold;}
|
||||
|
||||
.score {
|
||||
color: #55aaff;
|
||||
font-size: 30rpx !important;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
@@ -955,29 +986,73 @@
|
||||
color: #fff;
|
||||
font-weight: normal;
|
||||
}
|
||||
.classStatus{padding: 10rpx; color: #fff;}
|
||||
.daikai{background-image: linear-gradient(90deg, #258feb 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100% );}
|
||||
.xuexizhong{background-image: linear-gradient(90deg, #55aa00 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100% );}
|
||||
.yijieban{background-image: linear-gradient(90deg, #999 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100% );}
|
||||
.noanser{ padding: 20rpx;
|
||||
|
||||
.classStatus {
|
||||
padding: 10rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.daikai {
|
||||
background-image: linear-gradient(90deg, #258feb 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
|
||||
}
|
||||
|
||||
.xuexizhong {
|
||||
background-image: linear-gradient(90deg, #55aa00 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
|
||||
}
|
||||
|
||||
.yijieban {
|
||||
background-image: linear-gradient(90deg, #999 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
|
||||
}
|
||||
|
||||
.noanser {
|
||||
padding: 20rpx;
|
||||
background-color: rgba(255, 255, 255, .6);
|
||||
text-align: center; border-bottom: 1px solid #eee;
|
||||
.btn{display: inline-block; border-radius: 20rpx ; padding: 10rpx 20rpx; background-color: $themeColor; color: #fff;}
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #eee;
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
border-radius: 20rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
background-color: $themeColor;
|
||||
color: #fff;
|
||||
}
|
||||
.taskEdit{color: $themeColor; display: inline-block; padding-left: 20rpx;}
|
||||
.scoreTitle{text-align: center; margin-bottom: 20rpx;
|
||||
.titles{display: inline-block; padding: 6rpx 20rpx; background-color: #258feb;
|
||||
border-radius: 0 0 30rpx 30rpx ; color: #fff;
|
||||
text{ font-size: 40rpx !important;}
|
||||
}
|
||||
span{display: block;}
|
||||
|
||||
.taskEdit {
|
||||
color: $themeColor;
|
||||
display: inline-block;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
|
||||
.scoreTitle {
|
||||
text-align: center;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.titles {
|
||||
display: inline-block;
|
||||
padding: 6rpx 20rpx;
|
||||
background-color: #258feb;
|
||||
border-radius: 0 0 30rpx 30rpx;
|
||||
color: #fff;
|
||||
|
||||
text {
|
||||
font-size: 40rpx !important;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.pingfenBox {
|
||||
border: 2px dotted #bed4ee;
|
||||
padding: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 20rpx;
|
||||
padding-top: 0;
|
||||
|
||||
.flex_box {
|
||||
justify-content: space-between;
|
||||
}
|
||||
@@ -1030,10 +1105,17 @@
|
||||
}
|
||||
|
||||
}
|
||||
.showMore{ width: 100%;
|
||||
text-align: center; margin: 20rpx 0;
|
||||
text{color: $themeColor;}
|
||||
|
||||
.showMore {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin: 20rpx 0;
|
||||
|
||||
text {
|
||||
color: $themeColor;
|
||||
}
|
||||
}
|
||||
|
||||
.submitRecode {
|
||||
// padding: 20rpx;
|
||||
|
||||
@@ -1062,22 +1144,44 @@
|
||||
margin-bottom: 20rpx;
|
||||
// .userName{}
|
||||
}
|
||||
.leve2{
|
||||
|
||||
.leve2 {
|
||||
color: #666;
|
||||
line-height: 56rpx;
|
||||
@include bov(3); padding-bottom: 6rpx;
|
||||
@include bov(3);
|
||||
padding-bottom: 6rpx;
|
||||
border-bottom: 1px dotted #eee !important;
|
||||
}
|
||||
.leve3{
|
||||
|
||||
color: $themeColor; text-align: center; padding-top: 10rpx;
|
||||
.tips{
|
||||
width: 100%; justify-content: space-between;font-size: 26rpx; color: #999;
|
||||
.leve3 {
|
||||
|
||||
color: $themeColor;
|
||||
text-align: center;
|
||||
padding-top: 10rpx;
|
||||
|
||||
.tips {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
.date{ }
|
||||
.btn{border: 1px solid $themeColor; margin-top: 20rpx; display: inline-block; width: 50%; padding: 6rpx 0; border-radius: 10rpx;}
|
||||
|
||||
.date {}
|
||||
|
||||
.btn {
|
||||
border: 1px solid $themeColor;
|
||||
margin-top: 20rpx;
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
padding: 6rpx 0;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.leve3.no {
|
||||
color: #ff9277;
|
||||
text-align: center;
|
||||
}
|
||||
.leve3.no{color: #ff9277; text-align: center;}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1085,8 +1189,13 @@
|
||||
.nobg {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
.nopad{padding-left: 0 !important;}
|
||||
.bottomBox { border-top: 1px solid #eee;
|
||||
|
||||
.nopad {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.bottomBox {
|
||||
border-top: 1px solid #eee;
|
||||
position: fixed;
|
||||
padding: 20rpx 0;
|
||||
text-align: center;
|
||||
@@ -1102,29 +1211,58 @@
|
||||
border-radius: 40rpx;
|
||||
}
|
||||
}
|
||||
.userScore{ text-align: center;
|
||||
.mainTxt{font-size: 50rpx; color: $themeColor; font-style: normal; padding-right: 4rpx;}
|
||||
|
||||
.userScore {
|
||||
text-align: center;
|
||||
|
||||
.mainTxt {
|
||||
font-size: 50rpx;
|
||||
color: $themeColor;
|
||||
font-style: normal;
|
||||
padding-right: 4rpx;
|
||||
}
|
||||
.qrcode{width:100%;
|
||||
image{
|
||||
width: 200rpx;height: 200rpx;
|
||||
}
|
||||
|
||||
.qrcode {
|
||||
width: 100%;
|
||||
|
||||
image {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.mainContent {
|
||||
color: #333;
|
||||
padding: 0 20rpx;
|
||||
padding-bottom:120rpx;
|
||||
padding-bottom: 120rpx;
|
||||
background-image: linear-gradient(30deg, #d4eaf0 0%, #d4eaf0 50%, #fdf0ed 100%);
|
||||
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 ;
|
||||
|
||||
.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 {
|
||||
.newBox{justify-content: space-between; flex-wrap: wrap;}
|
||||
.newBox {
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.zmVip {
|
||||
background-image: linear-gradient(-60deg, #53966a 0%, #e1feef 50%, #e1feef 100%);
|
||||
}
|
||||
@@ -1138,7 +1276,7 @@
|
||||
}
|
||||
|
||||
.item {
|
||||
width:48%;
|
||||
width: 48%;
|
||||
position: relative;
|
||||
|
||||
.textItems {
|
||||
@@ -1278,6 +1416,7 @@
|
||||
.tijiaoTitle {
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
text {
|
||||
display: block;
|
||||
width: 30%;
|
||||
|
||||
@@ -8,9 +8,7 @@
|
||||
|
||||
<!-- <view class="" style="background-color: #f4f7ff; min-height: calc(100vh - 200rpx);"> -->
|
||||
<view class="mainContent" v-if="thisClass.id">
|
||||
<!-- <view class="" style="height: 40rpx;">
|
||||
|
||||
</view> -->
|
||||
<!-- <view class="" style="height: 40rpx;"></view> -->
|
||||
<view :class="['classStatus',
|
||||
thisClass.state == '0' ? 'daikai' :'',
|
||||
thisClass.state == '1' ? 'xuexizhong' :'',
|
||||
@@ -106,14 +104,17 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex_box" v-if="thisClass.state == '1'">
|
||||
<view class="item fabuhomework" @click="goAddHomeWork('1')" v-if="thisClass.state == '1' && ( roleCode.includes('2') || roleCode.includes('1'))">
|
||||
<text>发布医案</text>
|
||||
<view class="item fabuhomework" @click="goTaskListForWait('0')" v-if="thisClass.state == '1'">
|
||||
<text>作业列表</text>
|
||||
</view>
|
||||
<view class="item yianList" @click="goTaskListForWait('1')" v-if="thisClass.state == '1'">
|
||||
<text>医案列表</text>
|
||||
</view>
|
||||
<view class="item setBanewei" v-if="thisClass.state != '2'"
|
||||
@click="goSetAdmin('/pages/miniClass/memberSet')">
|
||||
<text>设置班委</text>
|
||||
</view>
|
||||
<view class="item overClass" @click="opClass('2')" v-if="thisClass.state == '1' && (roleCode.includes('1') || roleCode.includes('2'))">
|
||||
<view class="item overClass" @click="changeClassStatu('2')" v-if="thisClass.state == '1' && thisClass.showOverBtn && (roleCode.includes('1') || roleCode.includes('2'))">
|
||||
<text>结班</text>
|
||||
</view>
|
||||
|
||||
@@ -133,7 +134,6 @@
|
||||
</view>
|
||||
<!-- 学员列表 -->
|
||||
<view class="" v-if="tabId == '2'">
|
||||
|
||||
<view class="classMateBox" v-show="students.length> 0 ">
|
||||
<uni-section class="mb-10 nobg xueyuanTitle" title="班内学员" type="line" sub-title="">共 {{students.length}} 名学员</uni-section>
|
||||
<view class="newBox" >
|
||||
@@ -155,12 +155,11 @@
|
||||
<template >
|
||||
<text >({{item.student.tel}})</text>
|
||||
</template>
|
||||
|
||||
</text>
|
||||
<text class="txt555" v-else>
|
||||
匿名用户
|
||||
</text>
|
||||
<text @click.stop="outClass(item.student.id)" class="outBtn">踢出班级</text>
|
||||
<text @click.stop="outClass(item.student.id)" class="outBtn" v-if="thisClass.state != '2'">踢出班级</text>
|
||||
<!-- <text class="userType" v-if="item.student.vip == '1'">超级VIP用户</text>
|
||||
<text class="userType" v-if="item.student.vip == '2' ">医学VIP用户</text>
|
||||
<text class="userType" v-if="item.student.vip == '3' ">国学VIP用户</text> -->
|
||||
@@ -175,9 +174,23 @@
|
||||
</view>
|
||||
<view class="" v-if="tabId == '0'">
|
||||
<view class="otherItems flex_box">
|
||||
<view class="itt"><text class="ciyao">创建日期</text><text
|
||||
|
||||
<view class="itt" v-if="thisClass.state == 0">
|
||||
<text class="ciyao">创建日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view class="itt" v-if="thisClass.state == 1">
|
||||
<text class="ciyao">开班日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.startTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
|
||||
<view class="itt" v-if="thisClass.state == 2">
|
||||
<text class="ciyao">结班日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.endTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view class="itt"><text class="ciyao">班级类型</text>
|
||||
<text class="mainTxt" v-if="classModel.type == '0'">普通小班</text>
|
||||
<text class="mainTxt" v-if="classModel.type == '1'">联合班</text>
|
||||
@@ -280,6 +293,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import classInfoWorkBlank from "@/components/classInfoWorkBlank.vue";
|
||||
import $http from '@/config/requestConfig.js';
|
||||
import {
|
||||
@@ -481,7 +495,7 @@
|
||||
},
|
||||
goTaskListForWait(type){
|
||||
uni.navigateTo({
|
||||
url: `/pages/miniClass/taskListForWaitOpen?classId=${this.thisClass.id}&type=${type}&minNumber=${this.thisClass.homeWorkNumber}&roleCode=${this.roleCode}&classState=0`
|
||||
url: `/pages/miniClass/taskListForWaitOpen?classId=${this.thisClass.id}&type=${type}&roleCode=${this.roleCode}&classState=${this.thisClass.state}`
|
||||
})
|
||||
},
|
||||
goAddHomeWork(type){
|
||||
@@ -786,9 +800,29 @@
|
||||
},
|
||||
})
|
||||
}
|
||||
}else if(statusCode == '2'){
|
||||
var nowTime = Date.now()
|
||||
var datecc = new Date(this.thisClass.endTime);
|
||||
var time3 = datecc.getTime(); // 创建时间的时间戳 毫秒
|
||||
console.log('datecc...',datecc,nowTime,time3)
|
||||
|
||||
if(nowTime < time3){
|
||||
uni.showModal({
|
||||
title: "提示",
|
||||
content:'是否要提前结班?',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
that.opClass(statusCode)
|
||||
}else{
|
||||
return
|
||||
}
|
||||
},
|
||||
})
|
||||
}else{
|
||||
that.opClass(statusCode)
|
||||
}
|
||||
// that.opClass(statusCode)
|
||||
}
|
||||
|
||||
},
|
||||
// 班级操作
|
||||
@@ -816,7 +850,7 @@
|
||||
}, 500)
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: `res.msg`,
|
||||
title: res.msg,
|
||||
icon:'none',
|
||||
duration: 300
|
||||
})
|
||||
@@ -836,9 +870,9 @@
|
||||
if (userId) {
|
||||
_useId = userId
|
||||
_txt = '即将踢出该学员,是否继续?'
|
||||
} else {
|
||||
_useId = this.userInfo.id
|
||||
_txt = '您即将退出当前班级,是否继续?'
|
||||
}
|
||||
else {
|
||||
return
|
||||
}
|
||||
|
||||
uni.showModal({
|
||||
@@ -907,8 +941,26 @@
|
||||
console.log('res--------',this.classId,res,);
|
||||
this.refresh = false
|
||||
if (res.code == 0) {
|
||||
this.isHave = res.result.isJoin
|
||||
// this.isHave = res.result.isJoin
|
||||
this.thisClass = res.result.class
|
||||
this.classModel = res.result.classModel
|
||||
this.thisClass.showOverBtn = false
|
||||
const nowTime = Date.now()
|
||||
// console.log('starting timer...毫秒',nowTime)
|
||||
var datecc = new Date(this.thisClass.startTime);
|
||||
console.log('datecc...',datecc)
|
||||
var time3 = datecc.getTime(); // 开班时间的时间戳 毫秒
|
||||
console.log('time3...毫秒',time3, this.classModel.days)
|
||||
var off70 = undefined // 时长过70%显示结班按钮天数
|
||||
off70 = Math.ceil(parseInt(this.classModel.days) * 0.7 )
|
||||
var off70miniSecond = off70 * 1000*60*60*24
|
||||
if((off70miniSecond + time3) <= nowTime){
|
||||
console.log('显示结班按钮');
|
||||
this.thisClass.showOverBtn = true
|
||||
}else{
|
||||
console.log('不显示');
|
||||
}
|
||||
console.log('off70...天数',off70,off70miniSecond)
|
||||
this.thisClass.homeWorkNumber = 4
|
||||
if(res.result.classModel.days > 0){
|
||||
this.thisClass.homeWorkNumber = Math.ceil(res.result.classModel.days / 7)
|
||||
@@ -943,13 +995,15 @@
|
||||
})
|
||||
}
|
||||
|
||||
this.classModel = res.result.classModel
|
||||
|
||||
this.courses = res.result.courses
|
||||
this.students = res.result.students
|
||||
this.refresh = true
|
||||
if(this.thisClass.state == 0){
|
||||
this.homeWorkList = await this.getHomeWorkLength()
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
uni.hideLoading()
|
||||
@@ -1096,6 +1150,7 @@
|
||||
.fabuhomework{
|
||||
background-color: #97a1ff;
|
||||
}
|
||||
.yianList{background-color: #55aa7f;}
|
||||
.setBanewei {
|
||||
background-color: #e7b772;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
<text class="txt555" v-else>
|
||||
匿名用户
|
||||
</text>
|
||||
<!-- <text @click.stop="outClass(item.student.id)" class="outBtn">踢出班级</text> -->
|
||||
<!-- <text class="userType" v-if="item.student.vip == '1'">超级VIP用户</text>
|
||||
<text class="userType" v-if="item.student.vip == '2' ">医学VIP用户</text>
|
||||
<text class="userType" v-if="item.student.vip == '3' ">国学VIP用户</text> -->
|
||||
@@ -78,9 +77,22 @@
|
||||
</view>
|
||||
<view class="" v-if="tabId == '0'">
|
||||
<view class="otherItems flex_box">
|
||||
<view><text class="ciyao">创建日期</text><text
|
||||
<view class="itt" v-if="thisClass.state == 0">
|
||||
<text class="ciyao">创建日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.createTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view class="itt" v-if="thisClass.state == 1">
|
||||
<text class="ciyao">开班日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.startTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
|
||||
<view class="itt" v-if="thisClass.state == 2">
|
||||
<text class="ciyao">结班日期</text>
|
||||
<text
|
||||
class="mainTxt">{{thisClass.endTime.substring(0,10)}}</text>
|
||||
</view>
|
||||
<view><text class="ciyao">班级类型</text>
|
||||
<text class="mainTxt" v-if="classModel.type == '0'">普通小班</text>
|
||||
<text class="mainTxt" v-if="classModel.type == '1'">联合班</text>
|
||||
@@ -725,62 +737,6 @@
|
||||
taskEdit(item) {
|
||||
console.log('taskEdit'.item);
|
||||
},
|
||||
// 退出班级 // 踢出班级
|
||||
outClass(userId) {
|
||||
let that = this
|
||||
var _useId = undefined
|
||||
var _txt = ''
|
||||
if (userId) {
|
||||
_useId = userId
|
||||
_txt = '即将踢出该学员,是否继续?'
|
||||
} else {
|
||||
_useId = this.userInfo.id
|
||||
_txt = '您即将退出当前班级,是否继续?'
|
||||
}
|
||||
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: `${_txt}`,
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
// console.log('用户点击确定');
|
||||
$http.request({
|
||||
url: "common/class/quitClass",
|
||||
method: "POST",
|
||||
data: {
|
||||
"classId": that.classId,
|
||||
"userId": _useId
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
that.isHave = true
|
||||
uni.showToast({
|
||||
title: `操作成功!`,
|
||||
icon: 'success'
|
||||
})
|
||||
setTimeout(() => {
|
||||
this.getClassInfo()
|
||||
}, 200)
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
uni.showToast({
|
||||
title: `操作失败`,
|
||||
icon: 'error'
|
||||
})
|
||||
});
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消');
|
||||
return
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
showmoreTask() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/miniClass/classCaskList?id=${this.thisClass.id}&type=${this.tijiaoTitleId}`
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
<view class="containerBg">
|
||||
<view class="learnBox box">
|
||||
<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" @click="onPageJump('/pages/miniClass/classInfo',item.id)">
|
||||
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
|
||||
<view class="imgcontainer" v-if="item.icon != ''" @click="onPageJump('/pages/miniClass/classInfo',item.id)">
|
||||
<view class="imgcontainer" v-if="item.icon != ''" >
|
||||
<image :src="item.icon" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="imgcontainer defaultImg" v-else @click="onPageJump('/pages/miniClass/classInfo',item.id)">
|
||||
<view class="imgcontainer defaultImg" v-else >
|
||||
<image src="@/static/my_04.png" mode="aspectFit"></image>
|
||||
</view>
|
||||
<view class="buyItems">
|
||||
@@ -21,7 +21,7 @@
|
||||
<text v-show="item.classModel.type == 0">【普通班】</text>
|
||||
<text v-show="item.classModel.type == 1">【联合班】</text>
|
||||
<text v-show="item.classModel.type == 2">【精英班】</text>
|
||||
<text class="txt555" @click="onPageJump('/pages/miniClass/classInfo',item.id)">
|
||||
<text class="txt555" >
|
||||
{{item.title}}
|
||||
</text>
|
||||
</view>
|
||||
@@ -180,12 +180,17 @@
|
||||
url:`/pages/miniClass/classInfo?id=${classId}`
|
||||
})
|
||||
},200)
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
uni.showToast({
|
||||
title: '加入失败',
|
||||
title: e.errMsg,
|
||||
icon: 'none'
|
||||
})
|
||||
});
|
||||
|
||||
@@ -572,30 +572,6 @@
|
||||
})
|
||||
}
|
||||
|
||||
// if (!this.form.counter[0] && !this.form.counter[1]) {
|
||||
// newCounter = [0, 0]
|
||||
// } else {
|
||||
// this.form.counter.forEach((item, index) => {
|
||||
// if (!item || item == null) {
|
||||
// newCounter[index] = {
|
||||
// id: 0
|
||||
// }
|
||||
// // newCounter.splice(index, 1)
|
||||
// }
|
||||
// })
|
||||
// if (newCounter[0].id == newCounter[1].id) {
|
||||
// uni.showToast({
|
||||
// title: '两名记分员不能是同一人',
|
||||
// icon: 'none'
|
||||
// })
|
||||
// return
|
||||
// }
|
||||
|
||||
// newCounter = newCounter.map(item => {
|
||||
// return item.id
|
||||
// })
|
||||
// // console.log('删除后的newCounter',newCounter);
|
||||
// }
|
||||
|
||||
var _url = 'common/class/setUserRole'
|
||||
// this.form.classId ? _url = 'common/class/editClass' : _url = "common/class/addClass"
|
||||
|
||||
@@ -340,9 +340,6 @@
|
||||
},
|
||||
curseClick(item) {
|
||||
this.subTabId = item.id
|
||||
// this.classList = []
|
||||
// this.page = 1
|
||||
// this.getData(this.subTabId);
|
||||
},
|
||||
async getData(state) {
|
||||
// if (!this.flag) {
|
||||
@@ -352,9 +349,9 @@
|
||||
var _list = []
|
||||
this.status = 1
|
||||
// this.flag = false
|
||||
uni.showLoading({
|
||||
title: '正在加载'
|
||||
})
|
||||
// uni.showLoading({
|
||||
// title: '正在加载'
|
||||
// })
|
||||
await $http.request({
|
||||
url: "common/class/getClassByDirectorid",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
@@ -387,10 +384,10 @@
|
||||
}
|
||||
console.log('res.classEntityList',res.classEntityList);
|
||||
}
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
}).catch(e => {
|
||||
_list = []
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
// this.flag = true
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
|
||||
@@ -335,9 +335,9 @@
|
||||
var _list = []
|
||||
this.status = 1
|
||||
// this.flag = false
|
||||
uni.showLoading({
|
||||
title: '正在加载'
|
||||
})
|
||||
// uni.showLoading({
|
||||
// title: '正在加载'
|
||||
// })
|
||||
await $http.request({
|
||||
|
||||
url: "common/class/MyClassList",
|
||||
@@ -362,9 +362,9 @@
|
||||
}
|
||||
// this.flag = true
|
||||
}
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
}).catch(e => {
|
||||
uni.hideLoading()
|
||||
// uni.hideLoading()
|
||||
// this.flag = true
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<view class="leve1 flex_box">
|
||||
<view class="pp" style="flex: 1;" v-html="item.content"></view>
|
||||
<text v-if="item.scoreSuccess == '0'" class="red light"></text>
|
||||
<text v-else class="score" style="padding-left: 10rpx;">{{item.score}}'</text>
|
||||
<text v-else class="score" style="padding-left: 10rpx;">{{item.score}}分</text>
|
||||
<!-- <text v-if="" class="blue light"></text> -->
|
||||
</view>
|
||||
<view :class="['leve2']">
|
||||
@@ -133,13 +133,13 @@
|
||||
this.getList()
|
||||
// this.getList()
|
||||
},
|
||||
onBackPress() {
|
||||
if (this.showRight || this.showLeft) {
|
||||
this.$refs.showLeft.close()
|
||||
this.$refs.showRight.close()
|
||||
return true
|
||||
}
|
||||
},
|
||||
// onBackPress() {
|
||||
// if (this.showRight || this.showLeft) {
|
||||
// this.$refs.showLeft.close()
|
||||
// this.$refs.showRight.close()
|
||||
// return true
|
||||
// }
|
||||
// },
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
@@ -165,7 +165,7 @@
|
||||
this.curReplay = {}
|
||||
},
|
||||
onSubmit() {
|
||||
if(!this.form.score){
|
||||
if(!this.form.score && this.form.score != 0){
|
||||
uni.showToast({
|
||||
title:'请选择分值',
|
||||
icon:'none'
|
||||
@@ -389,9 +389,7 @@
|
||||
/* #endif */
|
||||
flex: 1
|
||||
}
|
||||
.light{display: block; width: 20rpx; height: 20rpx; border-radius: 50rpx;}
|
||||
.red{background-color: red;}
|
||||
.blue{background-color: #55aaff;}
|
||||
|
||||
.submitRecode {
|
||||
// padding: 20rpx;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 还没提交提示 -->
|
||||
<view class="noanser" v-show="!thisTask.reply">
|
||||
<view class="noanser" v-show="!thisTask.reply && classState == '1'">
|
||||
<view class="">
|
||||
<text>还没有提交你的答案呢,现在开始作答吧!</text>
|
||||
</view>
|
||||
@@ -47,7 +47,7 @@
|
||||
<view class="newBox" >
|
||||
<view class="item " v-for="(item, index) in zuoyeList" >
|
||||
<view class="leve1 flex_box" style="justify-content: space-between;">
|
||||
<view class="flex_box" style="justify-items: center;">
|
||||
<view class="flex_box" style="justify-items: center; flex:1">
|
||||
<view class="classmateImg">
|
||||
<image v-if="item.createUser.avatar != null && item.createUser.avatar != ''" :src="item.createUser.avatar" mode="aspectFit"></image>
|
||||
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
|
||||
@@ -61,6 +61,14 @@
|
||||
<view class="editBtn" v-if="listDisplay == '1' && item.scoreSuccess == 0 && item.scoreInfo == ''">
|
||||
<text @click="editOrAdd(item)">修改</text>
|
||||
</view>
|
||||
<template v-if="item.scoreInfo != '' && listDisplay == '1'">
|
||||
<view class="score" v-show="item.scoreSuccess >= 2">
|
||||
分数:{{item.score}}
|
||||
</view>
|
||||
<view class="score" v-show="item.scoreSuccess < 2">
|
||||
正在评分
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<view class="leve2">
|
||||
<view class="imgBox flex_box" v-if="item.fileList.length > 0">
|
||||
@@ -72,9 +80,6 @@
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="">
|
||||
<view class="score" v-show="listDisplay == '1' && item.scoreSuccess == 1">
|
||||
分数:{{item.score}}
|
||||
</view>
|
||||
<view class="date">
|
||||
{{item.createTime}}
|
||||
</view>
|
||||
@@ -178,13 +183,14 @@
|
||||
|
||||
},
|
||||
listDisplay: '1', // 提交记录展示类型 0 全部 1 自己的
|
||||
|
||||
classState:undefined
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
uni.hideTabBar();
|
||||
// this.thisTask = JSON.parse(e.options)
|
||||
console.log('e',e)
|
||||
this.classState = e.classState
|
||||
if(e.id){
|
||||
this.thisTask.id = e.id
|
||||
this.getTaskInfo()
|
||||
@@ -209,6 +215,14 @@
|
||||
this.form.taskId = this.thisTask.id
|
||||
|
||||
},
|
||||
// onBackPress() {
|
||||
// setTimeout(()=>{
|
||||
// uni.$emit('refreshData');
|
||||
// uni.navigateBack({
|
||||
// delta: 1
|
||||
// })
|
||||
// },1000)
|
||||
// },
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
@@ -228,7 +242,7 @@
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
// that.isHave = true
|
||||
console.log(res)
|
||||
console.log('学生作业详情',res)
|
||||
this.thisTask = res.classTask
|
||||
this.fileList11 = []
|
||||
if (this.thisTask.img != '') {
|
||||
@@ -365,6 +379,7 @@
|
||||
if(res.page.records.length > 0){
|
||||
var list = res.page.records
|
||||
list.forEach(item => {
|
||||
item.zhedie = false
|
||||
item.fileList = []
|
||||
if(item.img != ''){
|
||||
var _urs = item.img.split(',')
|
||||
@@ -418,7 +433,6 @@
|
||||
},
|
||||
onSubmit() {
|
||||
this.$refs.form.validate().then(res => {
|
||||
|
||||
if (this.fileList1.length > 0) {
|
||||
let _list = this.fileList1
|
||||
_list = _list.map(item => item.url)
|
||||
@@ -432,9 +446,8 @@
|
||||
'common/class/editClassTaskAndQuesReply' : _url = 'common/class/addClassTaskAndQuesReply'
|
||||
// this.form.id ? _url =
|
||||
// 'common/class/editClassTaskReply' : _url = 'common/class/addClassTaskReply'
|
||||
|
||||
|
||||
var data = {
|
||||
'classId': this.thisTask.classId,
|
||||
"relationId": this.form.id ? undefined : this.form.taskId,
|
||||
"id": this.form.id,
|
||||
"type": this.thisTask.type == '0' || this.thisTask.type == '1' ? '0' : '1', //类型0任务1课后题
|
||||
@@ -458,6 +471,7 @@
|
||||
icon: 'success'
|
||||
})
|
||||
this.FileList = []
|
||||
this.FileList11 = []
|
||||
this.closePup()
|
||||
setTimeout(()=>{
|
||||
this.pPage = 0
|
||||
@@ -597,7 +611,7 @@
|
||||
}
|
||||
.nobg{background: transparent;}
|
||||
.taskTitle {
|
||||
font-size: 30rpx;
|
||||
font-size: 36rpx;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
.newBox {
|
||||
@@ -628,7 +642,7 @@
|
||||
// .userName{}
|
||||
}
|
||||
.leve2{ overflow: hidden;
|
||||
.score{
|
||||
.score{ margin-top: 20rpx;
|
||||
float: left;
|
||||
}
|
||||
.date{color: #999; float: right; text-align: right; font-size: 26rpx;}
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
</view>
|
||||
<!-- <view class="editBtn" @click="goEdit" v-if="
|
||||
( classState == 0 && taskType == 0 || taskType != 0) && zuoyeList.length == 0 && (roleCode.includes('1') || roleCode.includes('2'))"> -->
|
||||
<view class="editBtn" v-if="taskType != '0' && classState == '1' && zuoyeList.length == 0 && (roleCode.includes('1') || roleCode.includes('2'))">
|
||||
<!-- <view class="editBtn" v-if="taskType != '0' && classState == '1' && zuoyeList.length == 0 && (roleCode.includes('1') || roleCode.includes('2'))">
|
||||
<text @click="goEdit" class="border_radius_10 small_btn edit">修改</text>
|
||||
<text @click="delTask" class="border_radius_10 small_btn del">删除</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 提交记录 -->
|
||||
<view>
|
||||
@@ -53,7 +53,7 @@
|
||||
{{item.content}}
|
||||
</view>
|
||||
<view class="" style="margin-top: 20rpx;">
|
||||
<view class="score" v-if="item.scoreSuccess == 1">
|
||||
<view class="score" v-if="item.scoreSuccess >= 2">
|
||||
分数:{{item.score}}
|
||||
</view>
|
||||
<view class="score noscore" v-else-if="item.scoreInfo != ''">
|
||||
@@ -99,9 +99,9 @@
|
||||
学员信息:{{curReplay.createUser.nickname != null && curReplay.createUser.nickname != '' ? curReplay.createUser.nickname : '匿名用户'}}
|
||||
/ {{curReplay.createUser.tel}}
|
||||
</view>
|
||||
<view class="score" v-show="curReplay.scoreSuccess != 0">
|
||||
<!-- <view class="score" v-show="curReplay.scoreSuccess != 0">
|
||||
分数:{{curReplay.score}}
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="score noscore" v-show="curReplay.scoreSuccess == 0">
|
||||
未生成成绩
|
||||
</view>
|
||||
@@ -114,8 +114,9 @@
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
{{curReplay.haveGiveScore}}
|
||||
<view class="btn_box ">
|
||||
<button class="submit" @click="onSubmit">提 交</button>
|
||||
<button class="submit" @click="onSubmit" v-show="!form.hasGiveScore">提 交</button>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
@@ -388,6 +389,7 @@
|
||||
}else{
|
||||
this.curReplay.scoreInfo = {}
|
||||
}
|
||||
this.form.hasGiveScore = false
|
||||
if(this.curReplay.scoreInfo != {}){
|
||||
for (let k in this.curReplay.scoreInfo){
|
||||
console.log(k)
|
||||
@@ -545,7 +547,7 @@
|
||||
},
|
||||
onSubmit() {
|
||||
// this.$refs.form.validate().then(res => {
|
||||
if(!this.form.score){
|
||||
if(!this.form.score && this.form.score != 0){
|
||||
uni.showToast({
|
||||
title:'请选择分值',
|
||||
icon:'none'
|
||||
|
||||
@@ -1,24 +1,30 @@
|
||||
<template>
|
||||
<view style="min-height: calc(100vh - 120rpx); background-color: #ebf2f5;">
|
||||
<z-nav-bar :title="pageName"></z-nav-bar>
|
||||
<view class="pad20">
|
||||
<z-nav-bar :title="pageName">
|
||||
|
||||
</z-nav-bar>
|
||||
<view class="pad20">
|
||||
<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 style="font-size: 30rpx; font-weight: blod; flex: 1;">{{item.title}}</text>
|
||||
<template v-if="item.otherInfo.setNoGiveScoreNumber > 0">
|
||||
<text v-if="item.otherInfo.setNoGiveScoreNumber > 0 && item.scoreSuccess <= 1" class="red light_text">{{item.otherInfo.setNoGiveScoreNumber}}</text>
|
||||
<text v-if="item.otherInfo.setNoGiveScoreNumber > 0 && item.scoreSuccess >= 2" class="blue light_text">{{item.otherInfo.setNoGiveScoreNumber}}</text>
|
||||
<!-- <text v-else class="score" style="padding-left: 10rpx;">{{item.score}}'</text> -->
|
||||
</template>
|
||||
</view>
|
||||
<view class="leve2 " >
|
||||
<view class="jianjie">
|
||||
<view class="jianjie timeText">
|
||||
发布时间:{{item.createTime}}
|
||||
</view>
|
||||
<view class="item flex_box" style="align-items: center;" v-if="item.otherInfo.setNoGiveScoreNumber > 0">
|
||||
<!-- <view class="item flex_box" style="align-items: center;" v-if="item.otherInfo.setNoGiveScoreNumber > 0">
|
||||
<view class="">
|
||||
未评分 <b>{{item.otherInfo.setNoGiveScoreNumber}}</b> 人
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -81,13 +87,6 @@
|
||||
this.getList()
|
||||
// this.getList()
|
||||
},
|
||||
onBackPress() {
|
||||
if (this.showRight || this.showLeft) {
|
||||
this.$refs.showLeft.close()
|
||||
this.$refs.showRight.close()
|
||||
return true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 点击作业或者医案,进入作业提交情况
|
||||
clickTask(item){
|
||||
@@ -206,6 +205,7 @@
|
||||
margin-top: 20rpx;
|
||||
color: #999; font-size: 24rpx; border-top: 1px dashed #eee;
|
||||
border-top: 1px dashed #eee;
|
||||
.timeText{font-size: 26rpx; padding-top: 16rpx;}
|
||||
b{font-size: 34rpx; padding: 0 4rpx; font-weight: normal; color: #333; color: red;}
|
||||
.item{text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0;}
|
||||
}
|
||||
@@ -241,7 +241,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.light_text{padding: 4rpx; color: #fff; font-size: 26rpx; border-radius: 50rpx;}
|
||||
// 处理抽屉内容滚动
|
||||
.scroll-view-box {
|
||||
flex: 1;
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<template>
|
||||
<view style="min-height: calc(100vh - 120rpx); background-color: #ebf2f5;">
|
||||
<z-nav-bar :title="pageName"></z-nav-bar>
|
||||
<z-nav-bar :title="pageName">
|
||||
<uni-icons v-if="pageType == 1 && classState == '1' && (roleCode.includes('1') || roleCode.includes('2'))" type="plus" class="addBtn" slot="right" @click="addTask()" size="14">添加医案</uni-icons>
|
||||
</z-nav-bar>
|
||||
<view class="pad20">
|
||||
<view class="" v-if="taskList.length == 0">
|
||||
<view class="" v-if="pageType == 0 && classState == '0'">
|
||||
<view class="listTitle">
|
||||
<text>根据教学时长,须至少发布 {{minNumber}} 条作业</text>
|
||||
<!-- <text>根据教学时长,须至少发布 {{minNumber}} 条作业</text> -->
|
||||
</view>
|
||||
<view class="addTips border_radius_10">
|
||||
<view class="" >
|
||||
@@ -13,7 +15,7 @@
|
||||
</view>
|
||||
<view class="btnBox flex_box flex_center">
|
||||
<text class="zidong border_radius_10" @click="autoCreate()">自动生成</text>
|
||||
<text class="shoudong border_radius_10" @click="addTask()">手动创建</text>
|
||||
<text class="shoudong border_radius_10" @click="addTask()">逐个添加</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -25,13 +27,13 @@
|
||||
<view class="item " v-for="(item, index) in taskList" @click="clickTask(item)">
|
||||
<view class="leve1 flex_box flex_between">
|
||||
<text style="flex: 1;">{{item.title}}</text>
|
||||
<text class="edit border_radius_10 small_btn" @click.stop="goEdit(item)">修改</text>
|
||||
<text class="edit border_radius_10 small_btn" @click.stop="goEdit(item)" v-if="pageType == 0 && classState == 0 || pageType == 1 && classState == 1 && item.otherInfo.setGiveHomeWorkNumber == 0">修改</text>
|
||||
</view>
|
||||
<view class="leve2 ">
|
||||
<view class="jianjie" v-html="item.content">
|
||||
</view>
|
||||
</view>
|
||||
<view class="leve3">
|
||||
<view class="leve3" v-if="pageType == 0 && classState == 0">
|
||||
<text class="border_radius_10 small_btn add" @click.stop="addTask(item)">在本条后面添加一条</text>
|
||||
<text class="border_radius_10 small_btn del" @click.stop="delTask(item)">删除</text>
|
||||
</view>
|
||||
@@ -211,10 +213,13 @@
|
||||
})
|
||||
},
|
||||
addTask(item){
|
||||
var _sort = undefined
|
||||
item ? _sort = item.sort : undefined
|
||||
uni.navigateTo({
|
||||
url: `/pages/miniClass/addHomeWork?classId=${this.classId}&sort=${item.sort}`
|
||||
url: `/pages/miniClass/addHomeWork?classId=${this.classId}&sort=${_sort}&type=${this.pageType}`
|
||||
})
|
||||
},
|
||||
|
||||
clickHelp(){
|
||||
uni.showModal({
|
||||
title:'说明',
|
||||
@@ -319,7 +324,7 @@
|
||||
/* #endif */
|
||||
flex: 1
|
||||
}
|
||||
|
||||
.addBtn{padding-right:20rpx;}
|
||||
.submitRecode {
|
||||
// padding: 20rpx;
|
||||
|
||||
@@ -352,7 +357,7 @@
|
||||
|
||||
.leve2 { justify-content: center; margin-top: 20rpx;
|
||||
color: #999; font-size: 24rpx;border-top: 1px dashed #eee;
|
||||
.jianjie{@include bov(2)}
|
||||
.jianjie{@include bov(2); margin-top: 20rpx;}
|
||||
b{font-size: 34rpx; padding: 0 4rpx; font-weight: normal; color: #333; color: red;}
|
||||
.item{text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0;}
|
||||
}
|
||||
|
||||
@@ -24,68 +24,7 @@
|
||||
提交时间:{{thisTask.createTime}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 提交记录 -->
|
||||
<view v-show="thisTask.reply">
|
||||
<uni-section class="mb-10 nobg" title="提交记录" type="line"></uni-section>
|
||||
<view class="">
|
||||
<radio-group @change="radioChange1" class="flex_box">
|
||||
<view class="" style="margin-right:20rpx ;">
|
||||
<radio value="0" />全部同学的提交</label>
|
||||
</view>
|
||||
<view class="">
|
||||
<radio value="1" checked="true" />只看我自己提交的</label>
|
||||
</view>
|
||||
</radio-group>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-popup key="1" :show="showEditBlank" :round="10" @close="closePup" ref="">
|
||||
<view class="" style="padding: 40rpx; max-height: 80vh; overflow-y:scroll">
|
||||
<view class="anserBox" >
|
||||
<h3>我的答案</h3>
|
||||
<uni-forms :modelValue="form" :rules="rules" ref="form">
|
||||
<view class="input_box">
|
||||
<uni-forms-item label="" name="content" label-width="0">
|
||||
<text class="input_tit"><i>*</i>内容:<span
|
||||
style="font-weight: normal; color: #999; font-size: 26rpx;">(600字以内)</span></text>
|
||||
<view class="in">
|
||||
<view class="uni-textarea">
|
||||
<textarea placeholder-style="font-size:26rpx" v-model="form.content" maxlength="600"
|
||||
auto-height placeholder="请输入内容" />
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
</view>
|
||||
<view class="input_box">
|
||||
<text class="input_tit">上传图片:</text>
|
||||
<view class="in" style="border: none;" @click="checkPermision">
|
||||
<u-upload :fileList="fileList1" @afterRead="addPic" @delete="deletePic" multiple
|
||||
:maxCount="4" width="40" height="40" :previewFullImage="true">
|
||||
</u-upload>
|
||||
<!-- <text style="font-size: 24rpx; color: #999;">可上传4张问题截图</text> -->
|
||||
</view>
|
||||
<!-- <input type="password" maxlength="8" v-model="confirmPassword" placeholder="请确认密码" /> -->
|
||||
</view>
|
||||
|
||||
<view class="input_box">
|
||||
<radio-group @change="radioChange" class="flex_box">
|
||||
<view class="" style="margin-right:20rpx ;">
|
||||
<radio value="0" :checked="0 == form.display" />他人不可见</label>
|
||||
</view>
|
||||
<view class="">
|
||||
<radio value="1" :checked="1 == form.display" />他人可见</label>
|
||||
</view>
|
||||
</radio-group>
|
||||
<span
|
||||
style="color: #999; font-size: 28rpx; margin-top: 20rpx; display: block;">(不勾选时,班级管理员以外的人看不见提交的内容)</span>
|
||||
|
||||
</view>
|
||||
</uni-forms>
|
||||
<view class="btn_box"><button @click="onSubmit">提 交</button></view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
<z-navigation></z-navigation>
|
||||
</view>
|
||||
</template>
|
||||
@@ -127,26 +66,16 @@
|
||||
|
||||
},
|
||||
listDisplay: '1', // 提交记录展示类型 0 全部 1 自己的
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
uni.hideTabBar();
|
||||
this.thisTask = JSON.parse(e.options)
|
||||
this.TaskId = e.id
|
||||
// this.thisTask = JSON.parse(e.options)
|
||||
console.log('e', this.thisTask)
|
||||
this.classState = e.classState
|
||||
|
||||
if (this.thisTask.img != '') {
|
||||
var imgs = this.thisTask.img.split(',')
|
||||
imgs = imgs.forEach((item, index) => {
|
||||
this.FileList11.push({
|
||||
url: item
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.FileList11 = []
|
||||
}
|
||||
console.log('this.FileList', this.FileList)
|
||||
// this.TaskId = e.id
|
||||
this.getTask()
|
||||
this.getUserInfo()
|
||||
this.getZuoyeList()
|
||||
},
|
||||
@@ -168,6 +97,42 @@
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
methods: {
|
||||
getTask(){
|
||||
$http.request({
|
||||
url: "common/class/getClassTaskInfo",
|
||||
method: "POST",
|
||||
data: {
|
||||
"taskId": this.TaskId
|
||||
},
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.thisTask = res.result.classTask
|
||||
this.FileList11 = []
|
||||
if (this.thisTask.img != '') {
|
||||
var imgs = this.thisTask.img.split(',')
|
||||
imgs = imgs.forEach((item, index) => {
|
||||
this.FileList11.push({
|
||||
url: item
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.FileList11 = []
|
||||
}
|
||||
console.log('thisTask', this.thisTask);
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e, '数据报错')
|
||||
// this.status = 3
|
||||
uni.showToast({
|
||||
title: e.msg,
|
||||
icon: 'error'
|
||||
})
|
||||
});
|
||||
},
|
||||
closePup(){
|
||||
this.showEditBlank = false
|
||||
this.form = {
|
||||
@@ -497,7 +462,7 @@
|
||||
}
|
||||
.nobg{background: transparent;}
|
||||
.taskTitle {
|
||||
font-size: 30rpx;
|
||||
font-size: 36rpx;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
.newBox {
|
||||
|
||||
@@ -147,8 +147,8 @@
|
||||
// this.ispreviewImage = false
|
||||
// }
|
||||
},
|
||||
onBackPress() {
|
||||
},
|
||||
// onBackPress() {
|
||||
// },
|
||||
methods: {
|
||||
setScore(val){
|
||||
// if(this.form.score == val) return
|
||||
@@ -156,7 +156,7 @@
|
||||
},
|
||||
onSubmit() {
|
||||
// this.$refs.form.validate().then(res => {
|
||||
if(!this.form.score){
|
||||
if(!this.form.score && this.form.score != 0){
|
||||
uni.showToast({
|
||||
title:'请选择分值',
|
||||
icon:'none'
|
||||
|
||||
@@ -89,6 +89,9 @@ $themeBgColor: #EDF6F5 !important;
|
||||
.PM_font {
|
||||
font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
|
||||
}
|
||||
.light{display: block; width: 20rpx; height: 20rpx; border-radius: 50rpx;}
|
||||
.red{background-color: red;}
|
||||
.blue{background-color: #55aaff;}
|
||||
.nobg{background-color: transparent !important;}
|
||||
.border_radius_10{
|
||||
border-radius: 10rpx;
|
||||
|
||||
Reference in New Issue
Block a user