From b21e0d75f513ef9a87a99f059ca0aa85e3670955 Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期五, 28 六月 2024 10:36:43 +0800 Subject: [PATCH] fix:修改考试 --- src/views/exam/components/answer-main/answer-multiple/index.vue | 4 ++-- src/store/modules/exam.js | 9 ++++++++- src/views/exam-list/data-list/index.vue | 7 +++---- src/views/exam/components/answer-time/index.vue | 2 +- src/views/exam/index.vue | 18 ++++++++++++++---- 5 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js index daa8174..37eda61 100644 --- a/src/store/modules/exam.js +++ b/src/store/modules/exam.js @@ -43,7 +43,6 @@ }; }); - const setExamInfo = (info) => { examInfo.value = info; }; @@ -58,6 +57,13 @@ temp.questionList[index].answer = answer; } }; + + const setQuestionAnswerList = (type, index, answer) => { + const temp = examDetail.value.find(item => item.questionType === type); + if (temp) { + temp.questionList[index].answerList = answer; + } + } const setProgress = (progress) => { answerProgress.value = progress; @@ -87,6 +93,7 @@ setExamInfo, setExamDetail, setQuestionAnswer, + setQuestionAnswerList, setProgress }; }); diff --git a/src/views/exam-list/data-list/index.vue b/src/views/exam-list/data-list/index.vue index 11ed91c..16877c7 100644 --- a/src/views/exam-list/data-list/index.vue +++ b/src/views/exam-list/data-list/index.vue @@ -84,13 +84,12 @@ console.log(exam); getExamInfo(exam.id).then((res) => { examStore.setExamInfo({ + examId: res.data.id, examName: res.data.examName, - examTime: res.data.suggestTime, + suggestTime: res.data.suggestTime, }); examStore.setExamDetail(res.data.titleList); - // examStore.setExamInfo(res.data.examInfo); - // examStore.setExamDetail(res.data.examQuestionList); - // examStore.initExam(); + examStore.initExam(); router.push('/exam'); }).catch(err => { diff --git a/src/views/exam/components/answer-main/answer-multiple/index.vue b/src/views/exam/components/answer-main/answer-multiple/index.vue index 0cedd21..ee4c5bb 100644 --- a/src/views/exam/components/answer-main/answer-multiple/index.vue +++ b/src/views/exam/components/answer-main/answer-multiple/index.vue @@ -32,7 +32,7 @@ // resetAnswer(); item.isActive = !item.isActive; const answerList = filterAnswer(); - examStore.setQuestionAnswer(currentType.value, currentIndex.value, answerList.join(',')); + examStore.setQuestionAnswerList(currentType.value, currentIndex.value, answerList); } }; @@ -44,7 +44,7 @@ }; const filterAnswer = () => { - return activeQuestion.value.questionItemList.filter(item => item.isActive); + return activeQuestion.value.questionItemList.filter(item => item.isActive).map(item => item.prefix); } diff --git a/src/views/exam/components/answer-time/index.vue b/src/views/exam/components/answer-time/index.vue index aa2de08..9aa8742 100644 --- a/src/views/exam/components/answer-time/index.vue +++ b/src/views/exam/components/answer-time/index.vue @@ -18,7 +18,7 @@ const emit = defineEmits(['timeOut']); -const time = ref(dayjs().valueOf() + examInfo.value.examTime * 1000 * 60); +const time = ref(dayjs().valueOf() + examInfo.value.suggestTime * 1000 * 60); const timeFinish = () => { emit('timeOut'); diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue index dfe9e22..ae4716e 100644 --- a/src/views/exam/index.vue +++ b/src/views/exam/index.vue @@ -40,7 +40,7 @@ </div> <div class="submit-wrapper"> - <el-button type="primary" class="submit-button" @click="submitExam">鎻愪氦璇曞嵎</el-button> + <el-button type="primary" class="submit-button" @click="submitExamHandle">鎻愪氦璇曞嵎</el-button> </div> </div> @@ -148,6 +148,9 @@ import { useExamStore } from '@/store/index.js'; import { useRouter } from 'vue-router'; +import { submitExam } from '@/api/modules/exam.js'; + + const router = useRouter(); const examStore = useExamStore(); @@ -220,7 +223,7 @@ }; // 浜ゅ嵎 -const submitExam = () => { +const submitExamHandle = () => { submitDialog.value = true; }; @@ -237,9 +240,16 @@ const timeOut = () => { resetAllDialog(); timeDialog.value = true; - setTimeout(() => { + const temp = { + ...examInfo.value, + titleList: examDetail.value + } + submitExam(temp).then(res => { router.back(); - },2000); + }) + // setTimeout(() => { + // router.back(); + // },2000); }; watchEffect(() => { -- Gitblit v1.8.0