From e1c8ab42d925b10d554226f6354f3286d56407b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E4=BA=86=E4=B8=AA=E7=99=BD?= <543593352@qq.com> Date: Mon, 4 Nov 2024 11:25:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=89=B9=E6=94=B9=EF=BC=9A?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=8F=98=E6=9B=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/classTask/classTask.vue | 66 ++++++++++++------- .../container/classTask/task-item.vue | 31 +++++---- .../src/views/classTask/teachClassTask.vue | 4 +- .../views/desktop/container/work-trend.vue | 6 +- src/renderer/src/views/tool/createHomework.js | 13 +++- 5 files changed, 75 insertions(+), 45 deletions(-) diff --git a/src/renderer/src/views/classTask/classTask.vue b/src/renderer/src/views/classTask/classTask.vue index 055fa37..b05159b 100644 --- a/src/renderer/src/views/classTask/classTask.vue +++ b/src/renderer/src/views/classTask/classTask.vue @@ -4,7 +4,7 @@
-
+
{ edituserid: userStore.userId, // 老师的id edustage: userStore.edustage, // 学段 edusubject: userStore.edusubject,//学科 - // deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 弃用 - deaddate: EndDate.value,// 进行中:明天,已结束:选择的日期 + // deaddate: tabActive.value === '待批改'? getTomorrow() : EndDate.value,// 待批改:明天,已批改:选择的日期 弃用 + deaddate: EndDate.value,// 待批改:明天,已批改:选择的日期 status: '1', // 作业状态:1-已发布 orderby: 'deaddate DESC', pageSize: 100, @@ -153,15 +153,15 @@ const getClassWorkList = async () => { /** * 2024-10-17 由于 后面截止时间加了 时分,特加判断 - * 1、进行中、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, - * 2、已结束、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 + * 1、待批改、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, + * 2、已批改、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 */ let list = []; - if(tabActive.value === '进行中'){ - // 进行中 当前日期时间 小于 截止 日期时间 - list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') < item.deaddate); // 进行中 + if(tabActive.value === '待批改'){ + // 待批改 当前日期时间 小于 截止 日期时间 + list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') < item.deaddate); // 待批改 }else{ - list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate); // 已结束 + list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate); // 已批改 } @@ -234,8 +234,8 @@ const getStudentClassWorkData = async() => { // edituserid: userStore.userId, // 老师的id // classids: classTaskStore.classListIds.join(','), // edusubject: userStore.edusubject,//学科 - // deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 - // deaddate: EndDate.value,// 进行中:明天,已结束:选择的日期 + // deaddate: tabActive.value === '待批改'? getTomorrow() : EndDate.value,// 待批改:明天,已批改:选择的日期 + // deaddate: EndDate.value,// 待批改:明天,已批改:选择的日期 // //status: '1', // 作业状态:1-已发布 // orderby: "deaddate DESC",// // pageSize: 1000, @@ -318,8 +318,17 @@ const getStudentClassWorkData = async() => { classWorkList.value[t].finishpercent = parseInt( (classWorkList.value[t].workdataresultcount / classWorkList.value[t].workdatacount) * 100 ) + // 计算-已完成批阅数 : 人数-已批阅数 + // teacherCorrectionProgress 老师已批阅进度条: + // workdataresultcount 完成人数 + // teacherrationgcount 已批阅人数 + // 已批阅百分比: (人数-已批阅数) / 人数 * 100 + classWorkList.value[t].teacherCorrectionProgress = parseInt( + ((classWorkList.value[t].teacherrationgcount) / classWorkList.value[t].workdataresultcount) * 100 + ) } else { classWorkList.value[t].finishpercent = 0 + classWorkList.value[t].teacherCorrectionProgress = 0 } // 以下四个参数,都要计算 @@ -379,6 +388,7 @@ const getStudentClassWorkDataPolling = () => { getStudentVisible() // 在轮询 pollingST.value = setInterval(() => { + console.log('轮询查询学生作业进度') getStudentVisible() }, 1000 * 10) } @@ -422,8 +432,8 @@ const getStudentVisible = async () => { edituserid: userStore.userId, // 老师的id edustage: userStore.edustage,// 学段 edusubject: userStore.edusubject,//学科 - // deaddate: tabActive.value === '进行中'? getTomorrow() : EndDate.value,// 进行中:明天,已结束:选择的日期 - deaddate: EndDate.value,// 进行中:明天,已结束:选择的日期 + // deaddate: tabActive.value === '待批改'? getTomorrow() : EndDate.value,// 待批改:明天,已批改:选择的日期 + deaddate: EndDate.value,// 待批改:明天,已批改:选择的日期 status: '1', // 作业状态:1-已发布 // orderby: 'concat(deaddate,uniquekey) DESC', orderby: 'deaddate DESC', @@ -432,15 +442,15 @@ const getStudentVisible = async () => { /** * 2024-10-17 由于 后面截止时间加了 时分,特加判断 - * 1、进行中、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, - * 2、已结束、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 + * 1、待批改、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, + * 2、已批改、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 */ let list = []; - if(tabActive.value === '进行中'){ - // 进行中 当前日期时间 小于 截止 日期时间 - list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') < item.deaddate); // 进行中 + if(tabActive.value === '待批改'){ + // 待批改 当前日期时间 小于 截止 日期时间 + list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') < item.deaddate); // 待批改 }else{ - list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate); // 已结束 + list = response.rows&&response.rows.filter(item => item.deaddate && getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate); // 已批改 } const curWorkList = list @@ -471,6 +481,15 @@ const getStudentVisible = async () => { } // 更新批阅数 classWorkList.value[t].teacherrationgcount = curWork.teacherrationgcount + + // 计算-已完成批阅数 : 已批阅数 + // teacherCorrectionProgress 老师已批阅进度条: + // workdataresultcount 完成人数 + // teacherrationgcount 已批阅人数 + // 已批阅百分比: (已批阅数) / 人数 * 100 + classWorkList.value[t].teacherCorrectionProgress = parseInt( + ((curWork.teacherrationgcount) / curWork.workdataresultcount) * 100 + ) } else { // 学生未完成,但是老师批改了? if(curWork && curWork.workdataresultcount == 0){ @@ -478,6 +497,7 @@ const getStudentVisible = async () => { classWorkList.value[t].teacherrationgcount = curWork.teacherrationgcount } classWorkList.value[t].finishpercent = 0 + classWorkList.value[t].teacherCorrectionProgress = 0 } } diff --git a/src/renderer/src/views/classTask/container/classTask/task-item.vue b/src/renderer/src/views/classTask/container/classTask/task-item.vue index 50fbf48..965e394 100644 --- a/src/renderer/src/views/classTask/container/classTask/task-item.vue +++ b/src/renderer/src/views/classTask/container/classTask/task-item.vue @@ -14,7 +14,18 @@  |  截止时间:{{ item.deaddate }}  | {{ tabactive }}
-
+ +
+ + 已交 +
+ +
+ + 已批阅 +
+ + {{ item.teacherrationgcount?item.workdatacount - item.teacherrationgcount:item.workdatacount }} 待批阅 -
+
-->
- - {{ item.averagetime }}分钟 平均用时 @@ -97,6 +96,10 @@ const props = defineProps({ } } } + .class-reserv-item-progress { + width: 200px; + font-size: 14px; + } .class-reserv-item-tool { margin-left: 10px; display: flex; diff --git a/src/renderer/src/views/classTask/teachClassTask.vue b/src/renderer/src/views/classTask/teachClassTask.vue index 2ae3647..fb69948 100644 --- a/src/renderer/src/views/classTask/teachClassTask.vue +++ b/src/renderer/src/views/classTask/teachClassTask.vue @@ -677,9 +677,7 @@ const handleClassOverviewOpen = (type) =>{ } } }) - const allTeacherRating = allTopic.reduce((acc, cur) => { - return acc + cur.teacherRating; - },0) + const allTeacherRating = allTopic.reduce((acc, cur) => acc + cur.teacherRating, 0) rightAnswer > 0?item.scoingRate = (score/allTeacherRating * 100).toFixed(0):item.scoingRate = '' item.getScore = score diff --git a/src/renderer/src/views/desktop/container/work-trend.vue b/src/renderer/src/views/desktop/container/work-trend.vue index d723e5a..26ca4c8 100644 --- a/src/renderer/src/views/desktop/container/work-trend.vue +++ b/src/renderer/src/views/desktop/container/work-trend.vue @@ -15,7 +15,7 @@
{{ item.uniquekey }} {{ - getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate ? '已结束' : '进行中' }} + getCurrentTime('YYYY-MM-DD HH:mm') > item.deaddate ? '已批改' : '待批改' }} {{ item.worktype }}
{{ item.classcaption }} | 截止时间:{{ item.deaddate }}
@@ -52,9 +52,9 @@ const getHomework = async () => { const { edustage, edusubject } = user try { const { rows } = await homeworklist({ edituserid: user.userId, edustage, edusubject, deaddate: getTomorrow(), status: '1', orderby: 'deaddate DESC', pageSize: 500 }) - // 只展示进行中的 + // 只展示待批改的 homeworkList.value = rows.filter(item => item.deaddate && item.uniquekey && getCurrentTime('YYYY-MM-DD HH:mm') < item.deaddate) // 当前日期的时分与截止日期进行判断 - // homeworkList.value = rows.filter(item => item.deaddate && item.uniquekey && getTomorrow() <= item.deaddate) //大于今天的才算进行中 弃用 + // homeworkList.value = rows.filter(item => item.deaddate && item.uniquekey && getTomorrow() <= item.deaddate) //大于今天的才算待批改 弃用 homeworkList.value.forEach((item) => { // 处理任务类型的UI if (item.worktype == '学习目标定位') { diff --git a/src/renderer/src/views/tool/createHomework.js b/src/renderer/src/views/tool/createHomework.js index dc1a8cf..f51751c 100644 --- a/src/renderer/src/views/tool/createHomework.js +++ b/src/renderer/src/views/tool/createHomework.js @@ -43,6 +43,15 @@ export const createHomework = ({ uniquekey, evalid, data, entpcourseid }) => { let classWorkList = [] +// 将标签中的双引号增加转义 +let escapeHtmlQuotes = (str) => { + // 后端已replace双引号, 故前端不用在处理 + const regex1 = /\\+/g; // 匹配多个反斜杠 + let result = str.replace(regex1, '\\'); + result = str.replace(/(?'); //替换\n而不替换\\n 为 \\n + return result; +} + /** * 获取班级作业 */ @@ -52,8 +61,8 @@ export const getClassWorkList = async (id) => { /** * 2024-10-17 由于 后面截止时间加了 时分,特加判断 - * 1、进行中、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, - * 2、已结束、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 + * 1、待批改、以前是以明天判断。现改为传当天的日期,并根据当前日期的时分与截止日期进行判断, + * 2、已批改、以前默认是以明天判断。现依然以明天为判断,并根据当前日期时分大于截止日期时分判断。 */ let list = response.rows