From 8c80dedc5ccaeff616000344d21116b766459045 Mon Sep 17 00:00:00 2001 From: wyx Date: Wed, 22 Feb 2023 22:13:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=84?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD=EF=BC=8C=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E5=8F=8A=E8=B7=B3=E8=BD=AC=E6=B5=8B=E8=AF=84=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api.js | 3 + src/views/project/ProjectDetails.vue | 131 +++++++++++++++++---------- src/views/roadmap/PathDetails.vue | 101 +++++++++++++++++---- vite.config.js | 3 + 4 files changed, 174 insertions(+), 64 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 59f229b..fcdc88d 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -120,6 +120,9 @@ export const GetMoreComments = `/statement/getMoreComments` // 查询讨论下的帖子 export const PostList = `/statement/list` +// 查询单个测评的状态 +export const QueryEvaluationTaskStatusOne = `/evaluation/queryEvaluationTaskStatusOne` + diff --git a/src/views/project/ProjectDetails.vue b/src/views/project/ProjectDetails.vue index 66eb797..ed76acc 100644 --- a/src/views/project/ProjectDetails.vue +++ b/src/views/project/ProjectDetails.vue @@ -406,7 +406,7 @@ import {computed, onMounted, ref, watch} from "vue"; import {ElLoading, ElMessage} from 'element-plus' import {request} from "@/api/request"; -import {CompletionList, EvaluationToLearn, PointList, STUDY_RECORD, SubmitExternalExam} from "@/api/api"; +import {CompletionList, EvaluationToLearn, PointList, STUDY_RECORD, SubmitExternalExam, QueryEvaluationTaskStatusOne} from "@/api/api"; import {useRoute, useRouter} from "vue-router"; import {PROJECT, TASK_TYPES} from "@/api/CONST"; import FileTypeImg from "@/components/FileTypeImg.vue"; @@ -681,52 +681,89 @@ async function toFinish(d, sName, chapterOrStageId) { } // 测评模块 请求接口跳转新的页面 - 新增 暂时未调试 目前无测评数据 2023-02-04 if (d.type == 10) { - // 此处判断测评跳转详情界面 - router.push({ - path: '/evaluation', - query: { - id: d.id, - type: PROJECT, - infoId: data.value.projectId, - courseId: d.courseId, - pName: data.value.name, - sName, - chapterOrStageId, - exname: d.name, // 测评名称 - btype: 1 // 1项目 2 路径图 - }, - }); - return - - // 调用接口 跳转页面 - console.log('我是查询测评跳转链接所传递得参数', { - "businessType": "project", - "chapterId": chapterOrStageId, - "courseId": d.courseId, - "quizKid": d.targetId, - "routerOrProjectId": projectId, - "studentId": userInfo.value.projectId, - "studentName": userInfo.value.realName - }) - request(EvaluationToLearn, { - "businessType": "project", - "chapterId": chapterOrStageId, - "courseId": d.courseId, - "quizKid": d.targetId, - "routerOrProjectId": projectId, - "studentId": userInfo.value.projectId, - "studentName": userInfo.value.realName - }).then(res => { - console.log(res) - if (res.code == 200) { - let jumpUrl = res.data.quizUrl - // 此处写跳转url - window.open(jumpUrl, '_top') - } - }).catch(err => { - console.log(err) - }) - return + if(d.quizTaskId==null){ + // 肯定没有完成测评 + // 调用接口 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "businessType": "project", + "chapterId": chapterOrStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": projectId, + "studentId": userInfo.value.projectId, + "studentName": userInfo.value.realName + }) + request(EvaluationToLearn, { + "businessType": "project", + "chapterId": chapterOrStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": projectId, + "studentId": userInfo.value.projectId, + "studentName": userInfo.value.realName + }).then(res => { + console.log(res) + if (res.code == 200) { + let jumpUrl = res.data.quizUrl + // 此处写跳转url + window.open(jumpUrl, '_top') + } + }).catch(err => { + console.log(err) + }) + return + }else{ + // 进行中 或者 已完成 + // 调用接口 判断当前测评状态 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "quizTaskId": d.quizTaskId + }) + request(QueryEvaluationTaskStatusOne, { + "quizTaskId": d.quizTaskId + }).then(res => { + console.log(res) + if (res.code == 200) { + if(res.data.complete_status==2){ + ElMessage.error("您已完成测评") + return + }else{ + // 重新查询跳转 + // 调用接口 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "businessType": "project", + "chapterId": chapterOrStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": projectId, + "studentId": userInfo.value.projectId, + "studentName": userInfo.value.realName + }) + request(EvaluationToLearn, { + "businessType": "project", + "chapterId": chapterOrStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": projectId, + "studentId": userInfo.value.projectId, + "studentName": userInfo.value.realName + }).then(res => { + console.log(res) + if (res.code == 200) { + let jumpUrl = res.data.quizUrl + // 此处写跳转url + window.open(jumpUrl, '_top') + } + }).catch(err => { + console.log(err) + }) + return + } + } + }).catch(err => { + console.log(err) + }) + return + } } if (!TASK_TYPES.path[d.type]) { diff --git a/src/views/roadmap/PathDetails.vue b/src/views/roadmap/PathDetails.vue index 7487335..7b300f7 100644 --- a/src/views/roadmap/PathDetails.vue +++ b/src/views/roadmap/PathDetails.vue @@ -280,7 +280,7 @@ import {computed, onMounted, ref} from "vue"; import circle from '@/assets/image/pathdetails/circle.png'; import circle2 from '@/assets/image/pathdetails/circle2.png'; import {request} from "@/api/request"; -import {STUDY_RECORD, UPDATE_CURRENT_TASK} from "@/api/api"; +import {STUDY_RECORD, UPDATE_CURRENT_TASK, QueryEvaluationTaskStatusOne, EvaluationToLearn} from "@/api/api"; import {useRoute, useRouter} from "vue-router"; import {ElMessage} from "element-plus"; import {ROUTER, TASK_TYPES} from "@/api/CONST"; @@ -445,22 +445,89 @@ async function toFinish(d) { // 测评模块 请求接口跳转新的页面 - 新增 暂时未调试 目前无测评数据 2023-02-04 if (d.type == 10) { - // 此处判断测评跳转详情界面 - router.push({ - path: '/evaluation', - query: { - id: d.id, - type: ROUTER, - infoId: routerId, - courseId: d.courseId, - pName: data.value.name, - sName: data.value.currentStageName, - chapterOrStageId: data.value.currentStageId, - exname: d.name, // 测评名称 - btype: 2 // 1项目 2 路径图 - }, - }); - return + if(d.quizTaskId==null){ + // 肯定没有完成测评 + // 调用接口 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "businessType": "learningpath", + "chapterId": data.value.currentStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": routerId, + "studentId": userInfo.value.id, + "studentName": userInfo.value.realName + }) + request(EvaluationToLearn, { + "businessType": "learningpath", + "chapterId": data.value.currentStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": routerId, + "studentId": userInfo.value.id, + "studentName": userInfo.value.realName + }).then(res => { + console.log(res) + if (res.code == 200) { + let jumpUrl = res.data.quizUrl + // 此处写跳转url + window.open(jumpUrl, '_top') + } + }).catch(err => { + console.log(err) + }) + return + }else{ + // 进行中 或者 已完成 + // 调用接口 判断当前测评状态 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "quizTaskId": d.quizTaskId + }) + request(QueryEvaluationTaskStatusOne, { + "quizTaskId": d.quizTaskId + }).then(res => { + console.log(res) + if (res.code == 200) { + if(res.data.complete_status==2){ + ElMessage.error("您已完成测评") + return + }else{ + // 重新查询跳转 + // 调用接口 跳转页面 + console.log('我是查询测评跳转链接所传递得参数', { + "businessType": "learningpath", + "chapterId": data.value.currentStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": routerId, + "studentId": userInfo.value.id, + "studentName": userInfo.value.realName + }) + request(EvaluationToLearn, { + "businessType": "learningpath", + "chapterId": data.value.currentStageId, + "courseId": d.courseId, + "quizKid": d.targetId, + "routerOrProjectId": routerId, + "studentId": userInfo.value.id, + "studentName": userInfo.value.realName + }).then(res => { + console.log(res) + if (res.code == 200) { + let jumpUrl = res.data.quizUrl + // 此处写跳转url + window.open(jumpUrl, '_top') + } + }).catch(err => { + console.log(err) + }) + return + } + } + }).catch(err => { + console.log(err) + }) + return + } } // 项目任务 直接跳转项目详情 diff --git a/vite.config.js b/vite.config.js index 92dd288..274d938 100644 --- a/vite.config.js +++ b/vite.config.js @@ -161,6 +161,9 @@ export default defineConfig(({ command, mode }) => },'/vote/queryVoteById': { target: loadEnv(mode, process.cwd()).VITE_PROXY_URL, changeOrigin: true, + },'/evaluation/queryEvaluationTaskStatusOne': { + target: loadEnv(mode, process.cwd()).VITE_PROXY_URL, + changeOrigin: true, } } }