From 4f28f987462c7c0c784930e1a3995dbeaa2bbbbf Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期一, 01 七月 2024 14:26:48 +0800 Subject: [PATCH] fix:修改问题 --- src/views/exam/index.vue | 48 +++++++++++++++++++++++++++++++----------------- 1 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue index 68a463e..ee52790 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> @@ -51,7 +51,7 @@ <div class="wrapper h-full flex flex-col"> <div class="title-wrapper w-full flex mb-5"> <div class="title text-xl font-semibold ">{{ examType[currentType] }} ({{ - examStore.getActiveQuestion.score }}鍒�) + examStore.getActiveQuestion.questionScore }}鍒�) </div> </div> @@ -113,16 +113,13 @@ </el-dialog> <!-- 鑰冭瘯鏃堕棿寮圭獥 --> - <el-dialog - v-model="timeDialog" - align-center width="500" - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - > + <el-dialog v-model="timeDialog" align-center width="500" :close-on-click-modal="false" + :close-on-press-escape="false" :show-close="false"> <div class="dialog-container flex flex-col items-center"> <div class="icon-container"> - <el-icon :size="50" color="#3680fa"><Timer /></el-icon> + <el-icon :size="50" color="#3680fa"> + <Timer /> + </el-icon> </div> <div class="dialog-info"> 鑰冭瘯缁撴潫锛岀郴缁熻嚜鍔ㄦ敹鍗蜂腑....... @@ -135,7 +132,7 @@ <script setup> import { ref, watchEffect } from 'vue'; import { storeToRefs } from 'pinia'; -import { Close,Timer } from '@element-plus/icons-vue'; +import { Close, Timer } from '@element-plus/icons-vue'; import AnswerTag from './components/answer-tag/index.vue'; import AnswerProgress from './components/answer-progress/index.vue'; import AnswerSheet from './components/answer-sheet/index.vue'; @@ -144,9 +141,13 @@ import AnswerSingle from './components/answer-main/answer-single/index.vue'; import AnswerMultiple from './components/answer-main/answer-multiple/index.vue'; import AnswerAudio from './components/answer-main/answer-audio/index.vue'; +import AnswerFill from './components/answer-main/answer-fill/index.vue'; import { useExamStore } from '@/store/index.js'; import { useRouter } from 'vue-router'; + +import { submitExam } from '@/api/modules/exam.js'; + const router = useRouter(); @@ -156,7 +157,8 @@ const typeComponent = { 1: AnswerSingle, 2: AnswerMultiple, - 6: AnswerAudio, + 4: AnswerFill, + 6: AnswerAudio }; const quitDialog = ref(false); @@ -220,7 +222,7 @@ }; // 浜ゅ嵎 -const submitExam = () => { +const submitExamHandle = () => { submitDialog.value = true; }; @@ -231,22 +233,34 @@ const resetAllDialog = () => { quitDialog.value = false; submitDialog.value = false; -} +}; // 鏃堕棿缁撴潫 const timeOut = () => { resetAllDialog(); timeDialog.value = true; + const temp = { + ...examInfo.value, + titleList: examDetail.value + }; + submitExam(temp).then(res => { + returnBack(); + }).catch(() => { + returnBack(); + }); +}; + +const returnBack = () => { setTimeout(() => { router.back(); - },2000); + }, 2000); }; watchEffect(() => { let progress = 0; examDetail.value.forEach(item => { item.questionList.forEach(question => { - if (question.correct) { + if (question.answer || question.answerList) { progress += 1; } }); @@ -292,7 +306,7 @@ } .answer-left { - width: 340px; + width: 370px; } .submit-button, -- Gitblit v1.8.0