From 96a3cc03d4a01366135fad937292647c413d26d0 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期五, 28 六月 2024 09:42:55 +0800
Subject: [PATCH] fix:考试进度问题

---
 src/views/folder/index.vue                                    |    2 +-
 src/views/folder/data-list/index.vue                          |   31 +++++++++++++++++++++++++++++++
 src/store/modules/exam.js                                     |    2 +-
 src/views/exam/components/answer-sheet/index.vue              |    2 +-
 src/views/exam/components/answer-main/answer-single/index.vue |    8 ++++++--
 vite.config.js                                                |    4 ++--
 src/api/modules/exam.js                                       |    8 ++++++++
 src/views/exam/index.vue                                      |    2 +-
 8 files changed, 51 insertions(+), 8 deletions(-)

diff --git a/src/api/modules/exam.js b/src/api/modules/exam.js
index ce76409..bf3fab4 100644
--- a/src/api/modules/exam.js
+++ b/src/api/modules/exam.js
@@ -6,4 +6,12 @@
 
 export const getExamInfo = (id) => {
   return service.post('/api/student/exam/start/' + id);
+}
+
+export const submitExam = (postData) => {
+  return service.post('/api/student/exam/submit', postData);
+}
+
+export const saveExam = (postData) => {
+  return service.post('/api/student/exam/timing', postData);
 }
\ No newline at end of file
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index b54d2ad..daa8174 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -55,7 +55,7 @@
   const setQuestionAnswer = (type, index, answer) => {
     const temp = examDetail.value.find(item => item.questionType === type);
     if (temp) {
-      temp.questionList[index].correct = answer;
+      temp.questionList[index].answer = answer;
     }
   };
 
diff --git a/src/views/exam/components/answer-main/answer-single/index.vue b/src/views/exam/components/answer-main/answer-single/index.vue
index 278269e..0712750 100644
--- a/src/views/exam/components/answer-main/answer-single/index.vue
+++ b/src/views/exam/components/answer-main/answer-single/index.vue
@@ -35,7 +35,11 @@
       item.isActive = true;
     }
     const answerList = filterAnswer();
-    examStore.setQuestionAnswer(currentType.value, currentIndex.value, answerList.join(','));
+    let temp = '';
+    if(answerList) {
+      temp = answerList.prefix;
+    }
+    examStore.setQuestionAnswer(currentType.value, currentIndex.value, temp);
   }
 };
 
@@ -50,7 +54,7 @@
 };
 
 const filterAnswer = () => {
-  return activeQuestion.value.questionItemList.filter(item => item.isActive);
+  return activeQuestion.value.questionItemList.find(item => item.isActive);
 }
 
 
diff --git a/src/views/exam/components/answer-sheet/index.vue b/src/views/exam/components/answer-sheet/index.vue
index fef8708..2a7628b 100644
--- a/src/views/exam/components/answer-sheet/index.vue
+++ b/src/views/exam/components/answer-sheet/index.vue
@@ -28,7 +28,7 @@
 
 const itemClass = (question,type,index) => {
   return {
-    answer: question.correct,
+    answer: question.answer || question.answerList,
     active: currentType.value === type && currentIndex.value === index
   }
 }
diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue
index 68a463e..dfe9e22 100644
--- a/src/views/exam/index.vue
+++ b/src/views/exam/index.vue
@@ -246,7 +246,7 @@
   let progress = 0;
   examDetail.value.forEach(item => {
     item.questionList.forEach(question => {
-      if (question.correct) {
+      if (question.answer || question.answerList) {
         progress += 1;
       }
     });
diff --git a/src/views/folder/data-list/index.vue b/src/views/folder/data-list/index.vue
new file mode 100644
index 0000000..69ffe26
--- /dev/null
+++ b/src/views/folder/data-list/index.vue
@@ -0,0 +1,31 @@
+<template>
+  <div class="list-container w-full h-full">
+    <el-scrollbar>
+      <el-row>
+        <el-col>
+          <el-card shadow="hover" class="mb-3">
+            <div class="item-content">
+              <div class="item-icon"></div>
+              <div class="item-title"></div>
+            </div>
+          </el-card>
+        </el-col>
+      </el-row>
+    </el-scrollbar>
+  </div>
+</template>
+
+<script setup>
+
+</script>
+
+<style lang="scss" scoped>
+.item {
+  width: 100%;
+  min-height: 120px;
+}
+
+.bottom-item {
+  margin-right: 30px;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/folder/index.vue b/src/views/folder/index.vue
index 0762013..9e6d722 100644
--- a/src/views/folder/index.vue
+++ b/src/views/folder/index.vue
@@ -5,7 +5,7 @@
     <div class="list-container container grow relative">
       <div class="list-content absolute top-0 bottom-0 left-0 right-0 py-4">
         <div class="list-wrapper w-full h-full">
-
+          
         </div>
       </div>
     </div>
diff --git a/vite.config.js b/vite.config.js
index 5686722..84001a6 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -34,8 +34,8 @@
         port: 3000,
         proxy: {
             '/api': {
-                target: 'http://192.168.3.88:8000',
-                // target: 'http://192.168.3.64:8000',
+                // target: 'http://192.168.3.88:8000',
+                target: 'http://192.168.3.64:8000',
                 changeOrigin: true,
             }
         }

--
Gitblit v1.8.0