Просмотр исходного кода

课程详情考试/测试以答题跳转解析

canghailong 6 месяцев назад
Родитель
Сommit
06e3369c2e

+ 5 - 0
src/api/student/classCentre.js

@@ -1,6 +1,7 @@
 import { baseRequest } from '@/utils/request'
 
 const request = (url, ...arg) => baseRequest(`/api/webapp/disk/${url}`, ...arg)
+const requestStudent = (url, ...arg) => baseRequest(`/api/webapp/api/student/${url}`, ...arg)
 export default {
 	//课程中心-学习进度-新增
 	classPlanAdd(data) {
@@ -26,6 +27,10 @@ export default {
 	courseTimeDetail(data) {
 		return request('coursecentry/hourDetail', data, 'get')
 	},
+	//课程中心-课时-详情-试卷-获取当前登录人员的参与状态
+	classGetStatus(data) {
+		return requestStudent('exampaper/answer/getStatus', data, 'get')
+	},
 	//课程中心-笔记/笔记本-添加
 	notesSubmitForm(data, edit = false) {
 		return request(`courseNotes/${edit ? 'edit' : 'add'}`, data)

+ 13 - 0
src/views/student/classCentre/index.vue

@@ -149,6 +149,17 @@
 			})
 		})
 	}
+	const getClassStatus = (e) => {
+		classCentre
+			.classGetStatus({
+				examPaperId: e.relateId
+			})
+			.then((res) => {
+				const idx = classTimeData.value.findIndex(item => item.funcType == e.funcType);
+				classTimeData.value[idx].status = res.isFinish
+				classTimeData.value[idx].answerId = res.answerId
+			})
+	}
 	const classHourData = ref()
 	const menuClick = (e) => {
 		rightNenuRef.value.onClose()
@@ -163,6 +174,8 @@
 			videoRef.value.src = classTimeData.value.filter((r) => r.funcType == 1)[0]?.url
 			footprintClassAdd()
 			getVideoTime()
+			if (classTimeData.value.filter((r) => r.funcType == 4).length > 0) getClassStatus(classTimeData.value.filter((r) => r.funcType == 4)[0])
+			if (classTimeData.value.filter((r) => r.funcType == 5).length > 0) getClassStatus(classTimeData.value.filter((r) => r.funcType == 5)[0])
 		})
 	}
 

+ 1 - 1
src/views/student/classCentre/rightMenu.vue

@@ -103,7 +103,7 @@
 		if (event.type == 3) {
 			if (event.relateId) {
 				if (event.key == '4' || event.key == '5') {
-					window.open(`${event.status == 2 ? event.routerSrc : event.routerUrl}?id=${event.relateId}`, '_blank')
+					window.open(`${event.status == 1 ? `${event.routerSrc}?id=${event.answerId}` : `${event.routerUrl}?id=${event.relateId}`}`, '_blank')
 				} else {
 					router.push({
 						path: event.routerUrl,

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
stats.html


Некоторые файлы не были показаны из-за большого количества измененных файлов