From c2ca81f5bff6642e3728d60f6e7a836e447de6b5 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期一, 01 七月 2024 16:27:19 +0800
Subject: [PATCH] fix:修改音频题

---
 src/views/exam/index.vue |   54 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue
index ce873c5..da8d53f 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,16 @@
 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 AnswerDetermine from './components/answer-main/answer-determine/index.vue';
+import AnswerShort from './components/answer-main/answer-short/index.vue';
+import AnswerCount from './components/answer-main/answer-count/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 +160,11 @@
 const typeComponent = {
   1: AnswerSingle,
   2: AnswerMultiple,
-  3: AnswerAudio,
+  3: AnswerDetermine,
+  4: AnswerFill,
+  5: AnswerShort,
+  6: AnswerAudio,
+  7: AnswerCount,
 };
 
 const quitDialog = ref(false);
@@ -220,7 +228,7 @@
 };
 
 // 浜ゅ嵎
-const submitExam = () => {
+const submitExamHandle = () => {
   submitDialog.value = true;
 };
 
@@ -231,22 +239,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 || (Array.isArray(question.answerList) && question.answerList.length)) {
         progress += 1;
       }
     });
@@ -292,7 +312,7 @@
 }
 
 .answer-left {
-  width: 340px;
+  width: 370px;
 }
 
 .submit-button,

--
Gitblit v1.8.0