From 6e226cf788a6f06d90f20a2a8bd3306a4b73be82 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 20 六月 2024 15:57:55 +0800
Subject: [PATCH] fix:修改考试时间

---
 src/views/exam/index.vue |   77 +++++++++++++++++++++++++++-----------
 1 files changed, 55 insertions(+), 22 deletions(-)

diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue
index 733daf1..ce873c5 100644
--- a/src/views/exam/index.vue
+++ b/src/views/exam/index.vue
@@ -5,9 +5,9 @@
       <div class="exam-wrapper container mx-auto h-full flex flex-col">
         <div class="exam-header flex items-center mt-12 mb-10">
           <div class="title-container text-3xl font-semibold text-white mr-8">
-            娴嬭瘯娴嬭瘯娴嬭瘯
+            {{ examInfo.examName }}
           </div>
-          <AnswerTime></AnswerTime>
+          <AnswerTime @timeOut="timeOut"></AnswerTime>
 
           <div class="return-container grow flex justify-end">
             <el-button type="danger" size="large" circle @click="closeClick">
@@ -50,7 +50,9 @@
           <div class="answer-wrapper answer-right grow shadow-xl p-4">
             <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}}鍒�)</div>
+                <div class="title text-xl font-semibold ">{{ examType[currentType] }} ({{
+                  examStore.getActiveQuestion.score }}鍒�)
+                </div>
               </div>
 
               <div class="main-wrapper w-full grow relative my-5">
@@ -109,13 +111,31 @@
         </div>
       </template>
     </el-dialog>
+
+    <!-- 鑰冭瘯鏃堕棿寮圭獥 -->
+    <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>
+        </div>
+        <div class="dialog-info">
+          鑰冭瘯缁撴潫锛岀郴缁熻嚜鍔ㄦ敹鍗蜂腑.......
+        </div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script setup>
 import { ref, watchEffect } from 'vue';
 import { storeToRefs } from 'pinia';
-import { Close } 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';
@@ -131,7 +151,7 @@
 const router = useRouter();
 
 const examStore = useExamStore();
-const { currentType, currentIndex, examDetail, examType } = storeToRefs(examStore);
+const { currentType, currentIndex, examDetail, examType, examInfo } = storeToRefs(examStore);
 
 const typeComponent = {
   1: AnswerSingle,
@@ -141,6 +161,8 @@
 
 const quitDialog = ref(false);
 const submitDialog = ref(false);
+const timeDialog = ref(false);
+
 
 const prevQuestion = () => {
   currentIndex.value--;
@@ -183,20 +205,10 @@
         currentIndex.value = 0;
       }
     }
-    // findQuestion(currentType.value, currentIndex.value);
   }
 
 };
 
-const findQuestion = (type, index) => {
-  const typeQuestion = examDetail.value.find(typeItem => typeItem.questionType === type);
-  if (typeQuestion) {
-    const question = typeQuestion.questionList[index];
-    if (question) {
-      examStore.setActiveQuestion(question);
-    }
-  }
-};
 
 // 閫�鍑鸿�冭瘯
 const closeClick = () => {
@@ -204,21 +216,31 @@
 };
 
 const confirmQuit = () => {
-  quitDialog.value = false;
-  router.back();
+  timeOut();
 };
 
 // 浜ゅ嵎
 const submitExam = () => {
   submitDialog.value = true;
-}
-
-const confirmSubmit = () => {
-  submitDialog.value = false;
-  router.back();
 };
 
+const confirmSubmit = () => {
+  timeOut();
+};
 
+const resetAllDialog = () => {
+  quitDialog.value = false;
+  submitDialog.value = false;
+}
+
+// 鏃堕棿缁撴潫
+const timeOut = () => {
+  resetAllDialog();
+  timeDialog.value = true;
+  setTimeout(() => {
+    router.back();
+  },2000);
+};
 
 watchEffect(() => {
   let progress = 0;
@@ -282,4 +304,15 @@
 .tool-button {
   margin: 0 20px;
 }
+
+.icon-container {
+  width: 70px;
+  height: 70px;
+  border-radius: 50%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  background-color: rgba($color: #3680fa, $alpha: 0.2);
+  margin-bottom: 20px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0