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