This commit is contained in:
@fawn-nine
2024-09-24 18:06:13 +08:00
parent 1a2df86df2
commit 6ef6e4e725
14 changed files with 280 additions and 205 deletions

29
common/debounce.js Normal file
View File

@@ -0,0 +1,29 @@
let timeout = null
/**
* 防抖原理一定时间内只有最后一次操作再过wait毫秒后才执行函数
*
* @param {Function} func 要执行的回调函数
* @param {Number} wait 延时的时间
* @param {Boolean} immediate 是否立即执行
* @return null
*/
function debounce(func, wait = 500, immediate = false) {
// 清除定时器
if (timeout !== null) clearTimeout(timeout)
// 立即执行,此类情况一般用不到
if (immediate) {
const callNow = !timeout
timeout = setTimeout(() => {
timeout = null
}, wait)
if (callNow) typeof func === 'function' && func()
} else {
// 设置定时器当最后一次操作后timeout不会再被清除所以在延时wait毫秒后执行func回调方法
timeout = setTimeout(() => {
typeof func === 'function' && func()
}, wait)
}
}
export default debounce

View File

@@ -6,9 +6,9 @@ if (process.env.NODE_ENV === 'development') {
// socketUrl = "ws://localhost:6001/";
// baseUrl = "https://twin-ui.com/demo/";
// baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "http://192.168.110.110:9200/pb/"; // 磊哥
// baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
// baseUrl = "http://59.110.212.44:9200/pb/";
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
// baseUrl = "http://192.168.110.110:9200/pb/";

View File

@@ -3,7 +3,11 @@
<z-nav-bar title="我的证书"></z-nav-bar>
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<view class="list" v-if="certificateList.length > 0">
<view class="" style="margin: 10rpx;">
{{certificateList.length}} 个证书
</view>
<view class="item" v-for="(item,index) in certificateList" :key="index">
<view class="flex_box">
<h3>编号{{item.certificateNo}}</h3>

View File

@@ -734,13 +734,15 @@
_myurl = '/pages/course/chapterDetailAndorid'
// }
if (this.librayList[this.curIndex].isBuy == 1 || v.isAudition == 1 ||
this.vip.type != "1" || this.vip.type != "2") {
this.vip.type == "1" || this.vip.type == "2") {
let noRecored = false
v.isAudition == 1 && this.userMsg.vip == 0 && this.librayList[this.curIndex].isBuy == 0 ?
noRecored = true : ''
uni.navigateTo({
url: `${_myurl}?navTitle=${this.pageTitle}&title=${v.title}&courseId=${this.courseId}&id=${v.id}&conditions=${v.conditions}&noRecored=${noRecored}`,
});
}else if(this.vip.type != "1" && this.librayList[this.curIndex].type == 2){
this.$commonJS.showToast("请开通超V后观看本课程");
} else {
this.$commonJS.showToast("请先购买课程");
}

View File

@@ -864,11 +864,12 @@
}
.jianjie {
line-height: 30rpx; height: 60rpx; overflow: hidden;
overflow: hidden;
margin-top: 10rpx;
font-size: 24rpx;
@include bov();
color: #9c9c9c;
line-height: 30rpx; height: 60rpx;
}
.txt555 {

View File

@@ -195,6 +195,7 @@
font-size: 24rpx;
@include bov();
color: #9c9c9c;
line-height: 30rpx; height: 60rpx; overflow: hidden;
}
.txt555 {

View File

@@ -6,8 +6,11 @@
" class="commonPageeeee commonPageBox">
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<u-icon @click="goSetting" class="setIcon" labelColor="#258feb" labelPos="bottom" label="设置" name="setting"
:style="`top:${(10 + statusBarHeight) * 2}rpx`" color="#258feb" size="28"></u-icon>
<view class="setIcon" @click="goSetting">
<u-icon class="" labelColor="#258feb" labelPos="bottom" label="设置" name="setting"
:style="`top:${(10 + statusBarHeight) * 2}rpx`" color="#258feb" size="28"></u-icon>
</view>
<view class="bg_top flex_box flex_between">
<view class="per_mes">
<view class="per_mes_user">
@@ -349,6 +352,7 @@
this.infoShow = true;
},
goSetting() {
console.log('点击了');
this.onPageJump("/pages/mine/set/index");
},
goUserInfo() {
@@ -899,7 +903,8 @@
.setIcon {
position: absolute;
right: 30rpx;
top: 30rpx;
top: 70rpx;
z-index: 2;
}
.mine_box {
width: 100%;

View File

@@ -58,10 +58,10 @@
<text class="scoreNumber greenScore">{{performanceScore.userScore}}</text>
<view class="">
<view class="" style="margin: 10rpx 0;">
<text class="c999" v-if="performanceScore.examScore">{{performanceScore.examScore}}分考试分 <uni-icons type="eye"
<text class="c999" v-if="performanceScore.examScore >= 0">{{performanceScore.examScore}}分考试分 <uni-icons type="eye"
size="20" color="#999" @click="showPaperList = true"></uni-icons></text>
<text v-if="performanceScore.examScore && performanceScore.usualScore"></text>
<text class="c999" v-if="performanceScore.usualScore"> {{performanceScore.usualScore}}平时表现分</text>
<text v-if="performanceScore.examScore >= 0 && performanceScore.usualScore >= 0"></text>
<text class="c999" v-if="performanceScore.usualScore >= 0"> {{performanceScore.usualScore}}分表现分</text>
</view>
</view>
</view>
@@ -76,8 +76,9 @@
<template v-if="performanceScore.userScore < 60">
<view class="flex_box flex_center align-items_box" style="justify-content: center;">
<text style="text-align: center;">很遗憾您的成绩未达标</text>
{{newCLass}}
<view class="" style="text-align: center;"
v-if="newCLass && newCLass.id">
v-if="newCLass && newCLass != null && newCLass.id">
<text class="small_btn chongxiu border_radius_10"
@click="onPageJump('/pages/miniClass/classInfo',newCLass.id)">加入新班级重修</text>
</view>
@@ -157,11 +158,11 @@
<text class="ciyao"><i
class="mainTxt PM_font">{{performanceScore.questionScore}}</i></text>
</view>
<view v-if="classModel.isExam == 1 && thisClass.state == '2'">
<!-- <view v-if="classModel.isExam == 1 && thisClass.state == '2'">
<text class="ciyao">考试分</text>
<text class="ciyao"><i
class="mainTxt PM_font">{{performanceScore.questionScore}}</i></text>
</view>
</view> -->
</view>
</view>
</template>
@@ -248,14 +249,15 @@
v-for="(item, index) in tijiaoTitleList" :key="index">{{item.name}}</text>
</view>
<!-- 课程排序 -->
<view class="courseTab border_radius_10" v-if="questionsList.length > 1">
<view class="flex_box flex_between">
<!-- <view > -->
<view class="courseTab border_radius_10" v-if="questionsList.length > 1 && tijiaoTitleId == '3'">
<view class="flex_box flex_between" v-if="tabCourseList.length <= 3 ">
<text :class="['item','border_radius_10',curCourseId == item.id ? 'cur' :'']"
@click="clickCourseTab(index,item.id)" v-for="(item, index) in tabCourseList"
:key="index">{{item.title}}</text>
<!-- </view> -->
</view>
<template v-if="tabCourseList.length > 3 && tijiaoTitleId == '3'">
<u-tabs :list="tabCourseList" lineWidth="0" lineHeight="0" @click="tabsClickCourseTab" :activeStyle="courseActiveStyle" :current="curCourseIndex"></u-tabs>
</template>
</view>
<!-- 班内任务 --><!-- 医案 --> <!-- 心得 --><!-- 思考题 -->
<view class="" v-if="tijiaoTitleId != '3'">
@@ -286,45 +288,55 @@
<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>
</view>
<view :class="['leve2']">
<view :class="[item.zhedie ? '' : 'zhedie']" v-html="item.content">
<view class="leve1 flex_box flex_between">
<text style="flex: 1;">{{item.title}}</text>
<view class="btn1" @click.stop="changeZheDie(item, index)">
{{item.zhedie ? '收起' : '展开'}}
</view>
</view>
<view :class="['leve2']" v-if="item.zhedie">
<view :class="[item.zhedie ? '' : 'zhedie']" v-html="item.content"></view>
</view>
<view class="leve3">
<view class="tips flex_box">
<view class="btn1" @click.stop="changeZheDie(item, index)">
{{item.zhedie ? '收起' : '展开'}}
</view>
<view class="tips flex_box" v-if="item.zhedie">
<!-- <text>发布者{{item.createUser.nickname != null && item.createUser.nickname != '' ? item.createUser.nickname : '匿名用户'}}</text> -->
<text style="" class="date">日期{{item.createTime}}</text>
</view>
<view class="">
<view class="score" v-if="item.scoreSuccess >= 1">
分数{{item.score}}
<template v-if="tijiaoTitleId == 2 && isHave">
<view class="">
<view class="score" v-if="item.scoreSuccess == 0">
等待评分
</view>
<!-- <view class="score" v-if="item.scoreSuccess > 0 && item.scoreSuccess ">
正在评分
</view> -->
<view class="score" v-if="item.scoreSuccess >= 1">
分数{{item.score}}
</view>
</view>
</view>
<text class="btn"
v-show="tijiaoTitleId == 2 && myExperience == 1 && item.scoreSuccess == 0 && thisClass.state == '1'"
<text class="btn"
v-show="myExperience == 1 && item.scoreSuccess == 0 && thisClass.state == '1'"
@click.stop="editMyXinde(item)">修改</text>
</template>
<template v-if="roleCode.includes('0') && isHave && tijiaoTitleId != 2">
<template v-if="item.reply && item.otherInfo != null">
<text v-if="item.otherInfo[0].scoreSuccess == 0">等待评分</text>
<text class="pIng" v-if="item.otherInfo[0].scoreSuccess < 2 && item.otherInfo[0].scoreSuccess > 0">正在评分</text>
<view class="" v-if="item.otherInfo[0].scoreSuccess >=2">
<text class="score" >{{item.otherInfo[0].score}} </text>
<!-- <text style="color: #999; padding-left: 10rpx; font-size: 26rpx;"></text> -->
</view>
</template>
<template
v-if="!item.reply && thisClass.state == '1'">
<text class="no">未提交答案 点击开始答题</text>
</template>
<template
v-if="!item.reply && (thisClass.state == '2' || thisClass.state == '3')">
<text class="cantAnswer">未作答 已不可作答</text>
</template>
</template>
</view>
<template v-if="roleCode.includes('0') && isHave">
<view class="leve3" v-show="item.reply && tijiaoTitleId != 2">
<text>已提交答案</text>
</view>
<view class="leve3 no"
v-show="!item.reply && tijiaoTitleId != 2 && thisClass.state == '1'">
<text>未提交答案 点击开始答题</text>
</view>
<view class="leve3 cantAnswer"
v-show="!item.reply && tijiaoTitleId != 2 && (thisClass.state == '2' || thisClass.state == '3')">
<text>未作答 已不可作答</text>
</view>
</template>
</view>
</view>
</view>
@@ -345,15 +357,28 @@
<view class="item "
v-for="(item, index) in questionsList[curCourseIndex].chapterList"
@click="jumpToVideoPage(item)">
<view class=" flex_box">
<view class=" flex_box align-items_box">
<view class="pp" style="flex: 1; font-size: 28rpx;" v-html="item.title">
</view>
<text v-if="item.reply == null"
style="color: #ff9277; font-size: 26rpx;">未作答</text>
<text v-else class=""
style="padding-left: 10rpx; color: #55aaff; font-size: 26rpx;">已作答</text>
<template v-if="item.reply == null">
<text v-if="thisClass.state == '1'" style="color: #ff9277; font-size: 26rpx;">未作答</text>
<text v-if="thisClass.state == '2' || thisClass.state == '3'" style="color: #999; font-size: 26rpx;">已不可作答</text>
</template>
<template v-else>
<!-- <text class=""
style="padding-left: 10rpx; color: #55aaff; font-size: 26rpx;">已作答</text> -->
<text style="padding-left: 10rpx; color: #55aa7f; font-size: 26rpx;" v-if="item.reply.scoreSuccess <= 0 && thisClass.state != '2'">
等待评分
</text>
<text style="padding-left: 10rpx; color: #999; font-size: 26rpx;" v-if="item.reply.scoreSuccess <= 0 && thisClass.state == '2'">
已结班无法评分
</text>
<view class="" style="margin-left: 5rpx;" v-if="item.reply.scoreSuccess > 0">
<text class="score">{{item.reply.score}}</text><text style="color: #999;"></text>
</view>
</template>
</view>
<!-- <view class="questJUmp">前往所在章节</view> -->
</view>
</view>
</view>
@@ -514,9 +539,7 @@
<script>
import QfImageCropper from '@/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue';
import addCerInfo from "@/components/addCerInfo.vue";
// import {
// chooseImage
// } from '@/node_modules/uview-ui';
import debounce from "@/common/debounce.js";
import sutdentScoreList from "./components/sutdent_score_list.vue";
// import permission from "@/js_sdk/wa-permission/permission.js"
import $http from '@/config/requestConfig.js';
@@ -526,6 +549,13 @@
export default {
data() {
return {
courseActiveStyle:{
background:'#fff',
color:'#666',
padding:"10rpx",
borderRadius:"10rpx"
},
certificateFlag:false, // 证书生成中的标记
buyCourseMsg: '',
fileList1: [],
questionsList: [],
@@ -786,7 +816,7 @@
}
}
if (this.thisClass.state == '2') {
if (this.thisClass.state == '2' || this.thisClass.state == '2') {
var userObj = await this.getUserData()
if (userObj) {
this.submitInfo.name = userObj.name
@@ -863,7 +893,7 @@
if (_list.length > 0) {
console.log('是否进入了这里666666666666',this.tijiaoTitleIndex);
this.tijiaoTitleList = _list
this.titleClick(this.tijiaoTitleList[this.tijiaoTitleIndex], this.tijiaoTitleIndex)
this.titleClick(this.tijiaoTitleList[this.tijiaoTitleIndex], this.tijiaoTitleIndex )
// this.tijiaoTitleId = this.tijiaoTitleList[0].id
}
// this.tabId =
@@ -1195,73 +1225,89 @@
},
// 生成证书
createCertificate() {
if (this.submitInfo.name && this.submitInfo.name != null && this.submitInfo.name != '' &&
this.submitInfo.photo && this.submitInfo.photo != null && this.submitInfo.photo != '') {
debounce(async () => {
if(this.certificateFlag) return
this.certificateFlag = true
if (this.submitInfo.name && this.submitInfo.name != null && this.submitInfo.name != '' &&
this.submitInfo.photo && this.submitInfo.photo != null && this.submitInfo.photo != '') {
} else {
uni.showModal({
title: '提示',
content: "真实姓名或证书照片未设置,请设置完成后再来生成证书吧",
cancelText: '稍后设置',
confirmText: '立即设置',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/mine/userInfo/persData'
})
} else {
uni.showModal({
title: '提示',
content: "真实姓名或证书照片未设置,请设置完成后再来生成证书吧",
cancelText: '稍后设置',
confirmText: '立即设置',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/mine/userInfo/persData'
})
}
}
}
})
return
}
var type = undefined
if (this.performanceScore.userScore >= 60 && this.performanceScore.userScore < 70) {
type = 'B'
} else if (this.performanceScore.userScore >= 70) {
type = 'A'
} else {
uni.showToast({
title: '您的成绩未达到证书水平,请继续努力',
icon: 'none'
})
return
}
var data = {
"type": type, //证书类型A a证 B b证 ZK自考
"relationId": this.classId //小班id、课程id
}
// console.log('证书提交数据',data,this.performanceScore.userScore);
$http.request({
url: "common/class/generateCertificateClass",
method: "POST",
data,
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(async (res) => {
if (res.code == 0) {
console.log('证书返回值', res);
uni.showToast({
title: '生成成功',
icon: 'none'
})
setTimeout(() => {
this.closeManager()
this.getScore()
}, 300)
} else {
uni.showToast({
title: res.errMsg,
icon: 'none'
})
}
}).catch(e => {
})
return
}
var type = undefined
if (this.performanceScore.userScore >= 60 && this.performanceScore.userScore < 70) {
type = 'B'
} else if (this.performanceScore.userScore >= 70) {
type = 'A'
} else {
uni.showToast({
title: e.errMsg,
title: '您的成绩未达到证书水平,请继续努力',
icon: 'none'
})
});
return
}
uni.showLoading({
title:'正在生成'
})
var data = {
"type": type, //证书类型A a证 B b证 ZK自考
"relationId": this.classId //小班id、课程id
}
// console.log('证书提交数据',data,this.performanceScore.userScore);
$http.request({
url: "common/class/generateCertificateClass",
method: "POST",
data,
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(async (res) => {
uni.hideLoading()
if (res.code == 0) {
console.log('证书返回值', res);
uni.showToast({
title: '生成成功',
icon: 'success'
})
setTimeout(() => {
this.closeManager()
this.getScore()
}, 300)
} else {
uni.showToast({
title: res.errMsg,
icon: 'none'
})
}
setTimeout(()=>{
this.certificateFlag = false
},300)
}).catch(e => {
this.certificateFlag = false
uni.hideLoading()
uni.showToast({
title: e.errMsg,
icon: 'none'
})
});
},300)
},
// 查询平时表现分+ 最终成绩 + 可加入的新班级 + 证书信息
async getScore() {
@@ -1349,11 +1395,11 @@
},
})
.then((res) => {
if (res.code == 0 && res.result != null) {
if (res.code == 0 && res.result != null && res.result != 'null') {
this.newCLass = res.result
console.log('同模型的待开班班级', this.newCLass);
} else {
console.log('走这里吗码码码码码');
this.newCLass = undefined
}
}).catch(e => {
@@ -1398,6 +1444,16 @@
}
},
// 滑块滚动
tabsClickCourseTab(e){
console.log('滑块滚动',e);
if (this.curCourseIndex == e.index) {
return
} else {
this.curCourseIndex = e.index
this.curCourseId = e.id
}
},
// 跳转到播放页面
jumpToVideoPage(val) {
uni.navigateTo({
@@ -1560,7 +1616,7 @@
},
async titleClick(item, textIndex) {
console.log('进来了吗', item);
console.log('进来了吗titleClick', item, textIndex);
if(this.loadFlag){
uni.showToast({
title:'操作太快了,休息一下吧',
@@ -1577,6 +1633,9 @@
this.tabCourseList = this.questionsList.map(item => {
return item.courseEntity
})
this.tabCourseList.forEach(item1 => {
item1.name = item1.title
})
}
return
}
@@ -1830,7 +1889,7 @@
clickHelp() {
uni.showModal({
title: '说明',
content: `表现分由${this.classModel.isTask == 1 ? '作业('+this.classModel.taskScore+'%)' : ''}${this.classModel.isMedicalcase == 1 ? '医案('+this.classModel.medicalcaseScore+'%)' : ''}${this.classModel.isExperience == 1 ? '心得('+this.classModel.experienceScore+'%)' : ''} ${this.classModel.isQuestion == 1 ? '思考题('+this.classModel.questionScore+'%)' : ''}构成。`,
content: `表现分由${this.classModel.isTask == 1 ? '作业('+this.classModel.taskScore+'%)' : ''}${this.classModel.isMedicalcase == 1 ? '医案('+this.classModel.medicalcaseScore+'%)' : ''}${this.classModel.isExperience == 1 ? '心得('+this.classModel.experienceScore+'%)' : ''} ${this.classModel.isQuestion == 1 ? '思考题('+this.classModel.questionScore+'%)' : ''}构成,班内总成绩总分为100分`,
showCancel: false,
confirmText: '好的'
})
@@ -2229,6 +2288,10 @@
padding-bottom: 20rpx;
margin-bottom: 20rpx;
// .userName{}
.btn1 {
color: $themeColor;
font-size: 30rpx;
}
}
.leve2 {
@@ -2254,10 +2317,7 @@
.date {}
.btn1 {
color: $themeColor;
font-size: 30rpx;
}
.btn {
border: 1px solid $themeColor;
@@ -2269,15 +2329,18 @@
}
}
.leve3.no {
.leve3{
.no{
color: #ff9277;
text-align: center;
text-align: center;}
.pIng{
color: #55aa00;
}
.cantAnswer{
color: #999;
text-align: center;}
}
.leve3.cantAnswer {
color: #999;
text-align: center;
}
}
}
}

View File

@@ -869,47 +869,13 @@
},
// 改变班级状态
changeClassStatu(statusCode) {
// var mm = 0
// mm = await this.getHomeWorkLength()
let that = this
if (statusCode == '1') {
console.log('this.admins', this.admins);
if (this.homeWorkList.length == 0 && this.classModel.isTask == 1) {
uni.showToast({
title: '开班前请发布班内作业,开班后将不可添加和更改',
icon: 'none',
duration: 3000
})
return
}
that.opClass(statusCode)
// if (statusCode == '1') {
} else if (statusCode == '2') {
var nowTime = Date.now()
// var datecc = new Date(this.thisClass.endTime);
// console.log('datecc...',datecc,nowTime,time3)
var startTime = new Date(this.thisClass.startTime); // 开班时间
var time3 = startTime.getTime(); // 开班时间的时间戳 毫秒
var daysTime = parseInt(this.classModel.days) * 1000 * 60 * 60 * 24
if (nowTime < (time3 + daysTime)) {
uni.showModal({
title: "提示",
content: '是否要提前结班?',
success(res) {
if (res.confirm) {
// return
that.opClass(statusCode)
} else {
return
}
},
})
} else {
console.log('this.statusCode', statusCode);
// return
that.opClass(statusCode)
}
// that.opClass(statusCode)
}
// } else if (statusCode == '2') {
// that.opClass(statusCode)
// }
},
// 考试周和结班状态下,学员的信息
@@ -980,13 +946,18 @@
}, 500)
} else {
uni.showToast({
title: res.msg,
title: res.errMsg,
icon: 'none',
duration: 300
duration: 3000
})
}
}).catch(e => {
console.log(e, '数据报错')
uni.showToast({
title: res.errMsg,
icon: 'none',
duration: 300
})
});
},
taskEdit(item) {

View File

@@ -1,5 +1,5 @@
<template>
<view>
<view style="min-height: 100vh;">
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<z-nav-bar title="我的班级">
@@ -10,7 +10,7 @@
: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" style="background-color: #f6f6f8;">
<view class="subCate flex" v-if="subList1.length> 0">
<text :class="['item',subTabId == item.id ? 'active' : '']" v-for="(item, index) in subList1"
@click="curseClick(item)" :key="index">{{item.title}}</text>

View File

@@ -50,13 +50,13 @@
学员信息{{curReplay.createUser.nickname != null && curReplay.createUser.nickname != '' ? curReplay.createUser.nickname : '匿名用户'}}
/ {{curReplay.createUser.tel}}
</view> -->
<view class="score" v-show="curReplay.scoreSuccess == 1">
<view class="score" v-show="curReplay.scoreSuccess >= 1">
分数{{curReplay.score}}
</view>
<view class="score noscore" v-show="curReplay.scoreSuccess == 0">
生成成绩
开始评分
</view>
<template v-if="roleCode.includes('4') || roleCode.includes('5') && curReplay.scoreSuccess != 1">
<template v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 1 && (classState == '3' || classState == '1')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>

View File

@@ -65,10 +65,15 @@
<view class="score" v-show="item.scoreSuccess >= 2">
分数{{item.score}}
</view>
<view class="score" v-show="item.scoreSuccess < 2">
<view class="score" v-show="item.scoreSuccess < 2 && (classState == '1' || classState == '3')">
正在评分
</view>
</template>
<template v-else-if="classState == '1' || classState == '3'">
<view class="noanser" style="color: #999;" v-show="item.scoreSuccess == 0">
等待评分
</view>
</template>
</view>
<view class="leve2">
<view :class="['contentss',item.zhedie ? '' : 'zhedie']">

View File

@@ -65,13 +65,13 @@
<view class="score" v-if="item.scoreSuccess >= 2">
分数:{{item.score}}
</view>
<view class="score noscore" v-else-if="item.scoreInfo != ''">
<view class="score noscore" v-else-if="item.scoreInfo != '' && (classState == '1' || classState == '3')">
<text v-show="item.scoreInfos < 2 && item.haveGiveScore">等待其他评分员评分</text>
<text v-show="item.scoreInfos < 2 && !item.haveGiveScore && roleCode.includes('4')">请您评分</text>
<text v-show="item.scoreInfos < 2 && ( roleCode.includes('1') || roleCode.includes('1') || roleCode.includes('主任') || roleCode.includes('副主任'))">已开始评分</text>
<!-- <button v-show="item.scoreInfos >= 2" class="getScore" @click.stop="getRealScore(item.id)" >生成成绩</button> -->
</view>
<view class="score noscore" v-else>未开始评分</view>
<view class="score noscore" v-else-if="classState == '1' || classState == '3'">未开始评分</view>
<view class="date">
{{item.createTime}}
</view>
@@ -113,9 +113,9 @@
分数:{{curReplay.score}}
</view> -->
<view class="score noscore" v-show="curReplay.scoreSuccess == 0">
生成成绩
开始评分
</view>
<template v-if="roleCode.includes('4') || roleCode.includes('5') && curReplay.scoreSuccess < 2 && (classState == '1' || classState == '3')">
<template v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 2 && (classState == '1' || classState == '3')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>

View File

@@ -54,7 +54,7 @@
学员信息{{curReplay.createUser.nickname != null && curReplay.createUser.nickname != '' ? curReplay.createUser.nickname : '匿名用户'}}
/ {{curReplay.createUser.tel}}
</view>
<view class="score" v-show="curReplay.scoreSuccess == 1">
<view class="score" v-show="curReplay.scoreSuccess >= 1">
分数{{curReplay.score}}
</view>
<view class="score noscore" v-show="curReplay.scoreSuccess == 0">
@@ -62,8 +62,7 @@
</view>
<!-- -->
<template
v-if="roleCode.includes('4') && curReplay.scoreSuccess != 1 ||
roleCode.includes('5') && curReplay.scoreSuccess != 1 && (classState == '1' || classState == '3')">
v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 1 && (classState == '1' || classState == '3')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>
@@ -72,11 +71,6 @@
{{item}}
</text>
</view>
<!-- <uni-forms :modelValue="form" :rules="rules" ref="form">
<uni-forms-item label="分数" name="score" >
<uni-easyinput type="number" v-model="form.score" placeholder="请输入分数:0-2.5分" />
</uni-forms-item>
</uni-forms> -->
</view>
<view class="btn_box" v-if="classState != '2' && classState != '0'"><button @click="onSubmit"> </button></view>
</template>