This commit is contained in:
liuyuan
2025-05-23 17:25:51 +08:00
parent 30042fdfb9
commit d8bfb66827
10 changed files with 205 additions and 48 deletions

View File

@@ -18,7 +18,6 @@ Vue.prototype.$getHours = nowHour
// 地址
// Vue.prototype.$baseUrl = "http://192.168.110.100:9100/pb/"
// Vue.prototype.$baseUrl = "http://59.110.212.44:9100/pb/"
Vue.prototype.$baseUrl = "https://api.nuttyreading.com/"
// 安卓安卓包下载地址
// Vue.prototype.$apkUrl = "https://www.nuttyreading.com/nuttyreading.apk" // 本地地址

View File

@@ -12,8 +12,8 @@
"src" : "图片路径"
}
],
"versionName" : "2.0.10",
"versionCode" : 2010,
"versionName" : "2.0.11",
"versionCode" : 2011,
"app-plus" : {
"nvueCompiler" : "uni-app",
"compatible" : {

View File

@@ -10,8 +10,14 @@
<view class="item " v-for="(item, index) in taskList" @click="clickReply(item)">
<view class="leve1 flex_box">
<view class="pp" style="flex: 1;" v-html="item.content"></view>
<text v-if="item.scoreSuccess == 0 && classState != '2'" class="red light"></text>
<text v-if="item.scoreSuccess > 0" class="score" style="padding-left: 10rpx;">{{item.score}}</text>
<text v-if="item.otherInfo.userNoCount > 0" class="red light"></text>
<text v-if="item.scoreSuccess == 3" class="score" style="padding-left: 10rpx;">{{item.score}}</text>
<view class="score noscore" v-else-if=" classState == '1' || classState == '3' ">
<text v-show="item.scoreInfos < 3 && item.haveGiveScore">等待其他评分员评分</text>
<text v-show="item.scoreInfos < 3 && (item.scoreInfo=='' || !item.haveGiveScore) && roleCode.includes('4')">请您评分</text>
<text v-show="item.scoreInfos < 3 && ( roleCode.includes('1') || roleCode.includes('1') || roleCode.includes('主任') || roleCode.includes('副主任'))">已开始评分</text>
</view>
<!-- <text v-if="" class="blue light"></text> -->
</view>
<view :class="['leve2']">
@@ -49,7 +55,7 @@
<!-- <view class="date">
日期{{curReplay.createTime}}
</view> -->
<view class="score" v-show="curReplay.scoreSuccess >= 1">
<view class="score" v-show="curReplay.scoreSuccess >= 3">
分数{{curReplay.score}}
</view>
<view class="score noscore" v-if="curReplay.scoreSuccess == 0 && (classState == '1' || classState == '3')">
@@ -58,7 +64,7 @@
<view class="" style="color: #999; font-size: 26rpx; margin-top: 20rpx;" v-if="curReplay.scoreSuccess == 0 && (classState == '0' || classState == '2')">
不可评分
</view>
<template v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 1 && (classState == '3' || classState == '1')">
<template v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 3 && (classState == '3' || classState == '1')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>

View File

@@ -63,14 +63,13 @@
</view>
</view>
<view class="" style="margin-top: 20rpx;">
<view class="score" v-if="item.scoreSuccess >= 2">
<view class="score" v-if="item.scoreSuccess >= 3">
分数:{{item.score}}
</view>
<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 class="score noscore" v-else-if=" classState == '1' || classState == '3' ">
<text v-show="item.scoreInfos < 3 && item.haveGiveScore">等待其他评分员评分</text>
<text v-show="item.scoreInfos < 3 && (item.scoreInfo=='' || !item.haveGiveScore) && roleCode.includes('4')">请您评分</text>
<text v-show="item.scoreInfos < 3 && ( roleCode.includes('1') || roleCode.includes('1') || roleCode.includes('主任') || roleCode.includes('副主任'))">已开始评分</text>
</view>
<view class="score noscore" v-else-if="classState == '1' || classState == '3'">未开始评分</view>
<view class="date">
@@ -118,7 +117,7 @@
<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 < 3 && (classState == '1' || classState == '3')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>
@@ -499,15 +498,15 @@
}
console.log('item.scoreInfo',item.scoreInfo);
if(item.scoreInfo != ""){
var i = 0
for(var kk in JSON.parse(item.scoreInfo)){
console.log(kk);
if(kk == this.userInfo.id){
item.haveGiveScore = true
var i = 0
for(var kk in JSON.parse(item.scoreInfo)){
console.log(kk);
if(kk == this.userInfo.id){
item.haveGiveScore = true
}
i++
}
i++
}
item.scoreInfos = i
item.scoreInfos = i
}
console.log('item.scoreInfos',item.scoreInfos, item.haveGiveScore);
})

View File

@@ -11,7 +11,7 @@
<view class="leve1 flex_box">
<text style="font-size: 30rpx; font-weight: blod; flex: 1;">{{item.title}}</text>
<template v-if="item.otherInfo.userNoCount > 0">
<text v-if="item.otherInfo.userNoCount > 0 && item.scoreSuccess <= 1" class="red light_text">{{item.otherInfo.userNoCount}}</text>
<text v-if="item.otherInfo.userNoCount > 0" class="red light_text">{{item.otherInfo.userNoCount}}</text>
<!-- <text v-if="item.otherInfo.userNoCount > 0 && item.scoreSuccess >= 2" class="blue light_text">{{item.otherInfo.userNoCount}}</text> -->
<!-- <text v-else class="score" style="padding-left: 10rpx;">{{item.score}}'</text> -->
</template>

View File

@@ -15,10 +15,20 @@
<!-- {{item.content}} -->
</view>
<view class="leve3">
<view class="score" v-if="item.scoreSuccess >= 1">
<view class="score" v-if="item.scoreSuccess >= 3">
分数{{item.score}}
</view>
<view class="score noscore" v-else>未评分</view>
<!-- <view class="score noscore" v-else>未评分</view> -->
<view class="score noscore" v-else-if=" classState == '1' || classState == '3' ">
<text v-show="item.scoreInfos < 3 && item.haveGiveScore">等待其他评分员评分</text>
<text v-show="item.scoreInfos < 3 && !item.haveGiveScore && roleCode.includes('4')">请您评分</text>
<text v-show="item.scoreInfos < 3 && ( roleCode.includes('1') || roleCode.includes('1') || roleCode.includes('主任') || roleCode.includes('副主任'))">已开始评分</text>
</view>
<view class="score noscore" v-else-if="classState == '1' || classState == '3'">未开始评分</view>
<view class="date">
{{item.createTime}}
</view>
@@ -58,7 +68,7 @@
/ {{curReplay.createUser.tel}}
</view>
</scroll-view>
<view class="score" v-show="curReplay.scoreSuccess >= 1">
<view class="score" v-show="curReplay.scoreSuccess >= 3">
分数{{curReplay.score}}
</view>
<view class="score noscore" v-show="curReplay.scoreSuccess == 0">
@@ -66,7 +76,7 @@
</view>
<!-- -->
<template
v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 1 && (classState == '1' || classState == '3')">
v-if="(roleCode.includes('4') || roleCode.includes('5')) && curReplay.scoreSuccess < 3 && (classState == '1' || classState == '3')">
<view class="" style=" padding: 10rpx 10rpx; margin-top: 20rpx;">
<view class="scoreBox flex_box">
<text>分数</text>
@@ -88,7 +98,9 @@
<script>
import $http from '@/config/requestConfig.js';
// const taskLIst1 = require('@/data/taskList.json')
import {
mapState
} from "vuex";
export default {
data() {
return {
@@ -154,6 +166,9 @@
},
// onBackPress() {
// },
computed: {
...mapState(["userInfo"]),
},
methods: {
moveHandle() {
return false;
@@ -244,15 +259,24 @@
// },1000)
},
clickTask(item) {
// this.noScroll()
// console.log('item',item);
console.log('item',item);
this.curReplay = item
this.form = {
...item
}
if (this.form.scoreSuccess == 0) {
if (this.form.scoreSuccess == 0 || item.scoreInfo=='') {
this.form.score = undefined
}
if(item.scoreInfo != ''){
for (let k in item.scoreInfo){
if(k == this.userInfo.id){
this.form.score = item.scoreInfo[k]
break
}
}
}
if (item.img != '') {
var _list = item.img.split(',')
_list.forEach(item => {
@@ -293,9 +317,25 @@
if (res.code == 0) {
if (res.page.records.length > 0) {
console.log('数据获取成功', res.page.records);
var lis = res.page.records
this.taskList = this.taskList.concat(lis)
// this.taskList = taskLIst1.page.records // 测试数据
var list = res.page.records
list.forEach(item => {
item.scoreInfos = 0
item.haveGiveScore = false
if(item.scoreInfo != ""){
var i = 0
for(var kk in JSON.parse(item.scoreInfo)){
if(kk == this.userInfo.id){
item.haveGiveScore = true
}
i++
}
item.scoreInfos = i
}
})
this.taskList = this.taskList.concat(list)
if (res.page.pages > this.pPage) {
this.status = 0;
} else {
@@ -305,7 +345,6 @@
this.status = 3; // 暂无数据
}
this.loadFlag = false;
console.log('res', res);
uni.hideLoading()
}
}).catch(e => {

View File

@@ -520,7 +520,31 @@
ref="commonAdvertisement"
:list="advertisementList"
></common-advertisement>
<!-- <music-play :playList="myList"></music-play> -->
<uni-popup ref="customModal1" type="dialog">
<view class="my-modal">
<view class="my-modal__hd">考试周结束前需要完成全部评分</view>
<view class="my-modal__bd">
<text class="multi-line-text">{{ msg }}</text>
</view>
<view class="my-modal__ft">
<button @click="confirm1">知道了</button>
</view>
</view>
</uni-popup>
<uni-popup ref="customModal2" type="dialog">
<view class="my-modal">
<view class="my-modal__hd">提示</view>
<view class="my-modal__bd">
<view class="multi-line-text">
<text style=" display: inline-block;" v-for="(item, index) in sysNotices_list" :key="index">{{item.content}}</text>
</view>
</view>
<view class="my-modal__ft">
<button @click="confirm2">知道了</button>
</view>
</view>
</uni-popup>
</view>
</template>
@@ -597,6 +621,10 @@ export default {
fixed: null,
//vip活动
superList: [],
msg: '',
sysNotices_list: [],
idString: ''
};
},
onPageScroll(e) {
@@ -605,10 +633,11 @@ export default {
//第一次加载
onLoad(e) {
uni.hideTabBar();
//提示评分
this.editScoreRemind();
this.getSysNotices();
this.$nextTick(() => {
//提示评分
this.editScoreRemind();
this.getAdvertisement();
});
},
@@ -720,6 +749,52 @@ export default {
"Content-Type": "application/json",
},
})
.then(async (res) => {
if(res.code==0&&res.msg){
this.$refs.customModal1.open();
this.msg = res.msg;
}
});
},
//提醒结课
async getSysNotices() {
await $http
.request({
url: "common/sysNotice/getSysNotices",
method: "POST",
data: { },
header: {
"Content-Type": "application/json",
},
})
.then(async (res) => {
if(res.list&&res.list.length>0){
this.sysNotices_list = res.list;
this.idString = res.list.map(item => item.id).join(', ');
this.$refs.customModal2.open();
}
});
},
//知道了
confirm1(){
this.$refs.customModal1.close();
},
//知道了
confirm2(){
this.$refs.customModal2.close();
this.readSysNotice();
},
//已读记录
async readSysNotice() {
await $http
.request({
url: "common/sysNotice/readSysNotice",
method: "POST",
data: { id: this.idString},
header: {
"Content-Type": "application/json",
},
})
.then(async (res) => {
});
@@ -2133,4 +2208,43 @@ export default {
margin-right: 0;
}
}
/* 完全自由的样式控制 */
.my-modal {
width: 260px;
margin: 0 auto;
background: #fff;
border-radius: 12px;
overflow: hidden;
}
.my-modal__hd {
padding: 20rpx;
font-size: 32rpx;
font-weight: bold;
background: #f8f8f8;
}
.my-modal__bd {
padding: 30rpx;
color: #666;
line-height: 42rpx;
/* 可随意修改内容区域样式 */
font-size: 28rpx;
border-bottom: 1px solid #eee;
overflow-y: scroll;
height: 150px;
max-height: 150px;
}
.my-modal__ft button {
padding: 10rpx;
flex: 1;
font-size: 30rpx;
margin: 0;
border-radius: 0;
background: none;
color: #258feb;
}
.multi-line-text{
white-space: pre-line; /* 保留换行符并自动换行 */
}
</style>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long