Browse Source

修复了做完题目还能修改的bug

JXDS18FUJT 2 years ago
parent
commit
e1543c18b9
2 changed files with 23 additions and 8 deletions
  1. 2 1
      src/api/types/selectTestQuestionInfo.d.ts
  2. 21 7
      src/hooks/examTest.ts

+ 2 - 1
src/api/types/selectTestQuestionInfo.d.ts

@@ -47,7 +47,8 @@ declare namespace selectTestQuestionInfo {
         classSort: number,
         excellSort: number,
         sequeSort: number,
-        placeSort: null
+        placeSort: null,
+        isComplete?:Boolean
 
     }
 

+ 21 - 7
src/hooks/examTest.ts

@@ -535,6 +535,7 @@ export function useExamTest() {
 
                     // this.$set(this.list[oldVal], "isError", true);
                     list.value[oldVal].isError = true
+                    list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
 
                     list.value[oldVal].userAnswerLetter = userAnswerLetter.sort().join("")
                     // this.$set(
@@ -549,7 +550,7 @@ export function useExamTest() {
 
                     list.value[oldVal].userAnswerLetter = userAnswerLetter.sort().join("")
                     list.value[oldVal].isError = false
-
+                    list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
 
                     correctAnswerVisible.value = false;
                 }
@@ -566,6 +567,8 @@ export function useExamTest() {
 
 
                     list.value[oldVal].isError = true
+                    //判断是否完成
+                    list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
 
                     correctAnswerVisible.value = true;
                     list.value[oldVal].userAnswerLetter = letter[
@@ -576,6 +579,8 @@ export function useExamTest() {
                 } else {
                     correctAnswerVisible.value = false
                     list.value[oldVal].isError = false
+                       //判断是否完成
+                    list.value[oldVal].isComplete = (list.value[oldVal].userAnswer.length!==0)
                     list.value[oldVal].userAnswerLetter = letter[
                         list.value[oldVal].optsArr.indexOf(list.value[oldVal].userAnswer)
                     ]
@@ -602,6 +607,9 @@ export function useExamTest() {
         }
     };
     let selectExamAnswers = (item: string) => {
+        if( list.value[listIndex.value].isComplete){
+            return
+        }
 
         if (list.value[listIndex.value].userAnswer.includes(item)) {
             list.value[listIndex.value].userAnswer = list.value[listIndex.value].userAnswer.filter((_item, _index) => {
@@ -612,11 +620,17 @@ export function useExamTest() {
             list.value[listIndex.value].userAnswer.push(item)
 
         }
+        
+
+
 
 
 
     }
     let selectExamAnswer = (item: string) => {
+        if( list.value[listIndex.value].isComplete){
+            return
+        }
         list.value[listIndex.value] = { ...list.value[listIndex.value], userAnswer: item };
         console.log(list.value[listIndex.value], item);
     };
@@ -636,32 +650,32 @@ export function useExamTest() {
     let getPgae = () => {
         console.log(router)
         let params = {
-            gs:router.currentRoute.value.query.gs as string,
+            gs: router.currentRoute.value.query.gs as string,
             subject: Number(router.currentRoute.value.query.subject)
         }
-   
+
         Api.openApiquestionInfoSelectTestQuestionInfo(params).then((res) => {
             res.data.rows.forEach((item) => {
                 item.optsArr = item.opts.split('-');
                 item.answerArr = item.answer.split('-');
                 item.questionType < 3 ? item.userAnswer = '' : item.userAnswer = [];
             });
-            if(!res.data.rows|| res.data.rows.length===0){
+            if (!res.data.rows || res.data.rows.length === 0) {
                 interfaceErrVisible.value = true
                 return
             }
             //科目一多余100道题目的切割
-            if(Number(router.currentRoute.value.query.subject)==1&&res.data.rows.length>100){
+            if (Number(router.currentRoute.value.query.subject) == 1 && res.data.rows.length > 100) {
                 res.data.rows.splice(100)
 
             }
             //科目四多余50题切割
-            if(Number(router.currentRoute.value.query.subject)==4&&res.data.rows.length>50){
+            if (Number(router.currentRoute.value.query.subject) == 4 && res.data.rows.length > 50) {
                 res.data.rows.splice(50)
 
             }
             list.value = res.data.rows;
-        }).catch(err=>{
+        }).catch(err => {
             interfaceErrVisible.value = true
         });
     }