Browse Source

优化对选题的逻辑

zhangyujun 3 năm trước cách đây
mục cha
commit
d8ffbaf9dd
2 tập tin đã thay đổi với 33 bổ sung7 xóa
  1. 30 6
      src/hooks/examTest.ts
  2. 3 1
      src/views/exam/test.vue

+ 30 - 6
src/hooks/examTest.ts

@@ -9,7 +9,7 @@ export function useExamTest() {
         {
             createTime: '2021-11-05 10:25:51',
             id: 20,
-            answerArr:[""],
+            answerArr: [""],
             image: null,
             imageYdt: null,
             answer: '√',
@@ -438,10 +438,24 @@ export function useExamTest() {
         correctScore.value = 0
         errorScore.value = 0
         list.value.forEach(item => {
-            correctScore.value += item.answer == item.userAnswer ? 1 : 0
-            if (item.userAnswer) {
+            //如果item为假就不统计
+            if(item.userAnswer.length==0){
+                return
+
+
+            }
+            if(item.questionType<3){
+                correctScore.value += item.answer == item.userAnswer ? 1 : 0
                 errorScore.value += item.answer == item.userAnswer ? 0 : 1
             }
+            else if(item.questionType==3){
+                item.answer.split("-").sort().toString() === item.userAnswer.sort().toString()?++correctScore.value:++errorScore.value
+                                
+            }
+            // correctScore.value += item.answer == item.userAnswer ? 1 : 0
+            // if (item.userAnswer) {
+            //     errorScore.value += item.answer == item.userAnswer ? 0 : 1
+            // }
 
         })
         beforeSubmitVisible.value = true
@@ -458,8 +472,18 @@ export function useExamTest() {
             listIndex.value = Number(e.target?.dataset?.key) - 1;
         }
     };
-    let selectExamAnswers = (item:string)=>{
-        
+    let selectExamAnswers = (item: string) => {
+
+        if (list.value[listIndex.value].userAnswer.includes(item)) {
+            list.value[listIndex.value].userAnswer= list.value[listIndex.value].userAnswer.filter((_item,_index)=>{
+               return _item!==item
+           })
+        }
+        else {
+            list.value[listIndex.value].userAnswer.push(item)
+
+        }
+
 
 
     }
@@ -509,7 +533,7 @@ export function useExamTest() {
             res.data.rows.forEach((item) => {
                 item.optsArr = item.opts.split('-');
                 item.answerArr = item.answer.split('-');
-                item.questionType<3?item.userAnswer = '':item.userAnswer=[];
+                item.questionType < 3 ? item.userAnswer = '' : item.userAnswer = [];
             });
             list.value = res.data.rows;
         });

+ 3 - 1
src/views/exam/test.vue

@@ -85,7 +85,7 @@
                     class="answer-list-item"
                     @click="selectExamAnswers(item)"
                     :class="{
-                      answer_selected: list[listIndex].userAnswer.inclues(item),
+                      answer_selected: list[listIndex].userAnswer.includes(item),
                     }"
                   >
                     {{ letter[index] }}
@@ -246,6 +246,7 @@ export default defineComponent({
       beforeTopic,
       nextTopic,
       getPgae,
+      selectExamAnswers,
       correctScore,
       errorScore,
       submitVisible,
@@ -747,6 +748,7 @@ export default defineComponent({
       nextTopic,
       changeListIndex,
       selectExamAnswer,
+      selectExamAnswers,
       countdownTime,
       store,
       router,