qinpeng 2 роки тому
батько
коміт
84150cf56c
1 змінених файлів з 39 додано та 38 видалено
  1. 39 38
      src/components/Adult/preview/Ligature.vue

+ 39 - 38
src/components/Adult/preview/Ligature.vue

@@ -39,7 +39,7 @@
                  -->
                 <div
                   class="text"
-                  :class="['left' + index, YouranswerClass(item, 'left')]"
+                  :class="['left' + index, YouranswerClass(index, 'left')]"
                   v-if="
                     item.detail.wordsList.length > 0 || item.detail.sentence
                   "
@@ -157,7 +157,7 @@
                  -->
                 <div
                   class="text"
-                  :class="['right' + index, YouranswerClass(item, 'right')]"
+                  :class="['right' + index, YouranswerClass(index, 'right')]"
                   v-if="
                     item.detail.wordsList.length > 0 || item.detail.sentence
                   "
@@ -263,44 +263,44 @@ export default {
   //方法集合
   methods: {
     // 判断对错
-    YouranswerClass(item, type) {
+    YouranswerClass(index, type) {
       if (
         this.judgeAnswer == "studentAnswer" ||
         this.judgeAnswer == "userAnswer" ||
         this.judgeAnswer == "standardAnswer"
       ) {
         let clss = "";
-        this.data.data.forEach((items) => {
+        this.data.data.forEach((items, i) => {
           if (type == "left") {
-            if (items.source) {
-              if (items.correct) {
-                clss = "correct";
-              } else if (items.error) {
-                clss = "error";
-              }
-            } else {
-              if (
-                Object.prototype.toString
-                  .call(items.answer)
-                  .indexOf("Number") != -1
-              ) {
-                clss = "error";
+            if (index == i) {
+              if (items.source) {
+                if (items.correct) {
+                  clss = "correct";
+                } else if (items.error) {
+                  clss = "error";
+                }
+              } else {
+                if (items.correct) {
+                  clss = "correct";
+                } else if (items.error) {
+                  clss = "error";
+                }
               }
             }
           } else {
-            if (items.target) {
-              if (items.correct) {
-                clss = "correct";
-              } else if (items.error) {
-                clss = "error";
-              }
-            } else {
-              if (
-                Object.prototype.toString
-                  .call(items.answer)
-                  .indexOf("Number") != -1
-              ) {
-                clss = "error";
+            if (index == i) {
+              if (items.target) {
+                if (items.correct) {
+                  clss = "correct";
+                } else if (items.error) {
+                  clss = "error";
+                }
+              } else {
+                if (items.correct) {
+                  clss = "correct";
+                } else if (items.error) {
+                  clss = "error";
+                }
               }
             }
           }
@@ -712,23 +712,24 @@ export default {
               ) {
                 if (item.target == this.curQue.option[con.AnswerList].nodeId) {
                   item.correct = true;
+                  item.error = false;
                 } else {
+                  item.correct = false;
                   item.error = true;
                 }
               }
             }
           });
+        } else {
+          if (
+            Object.prototype.toString.call(item.answer).indexOf("Number") != -1
+          ) {
+            item.error = true;
+            item.correct = false;
+          }
         }
-        // else if (
-        //   !item.source &&
-        //   !item.target &&
-        //   Object.prototype.toString.call(item.answer).indexOf("Number") != -1
-        // ) {
-        //   item.error = true;
-        // }
       });
     }
-
     if (this.data.data.length > 0) {
       this.data.data.forEach((item) => {
         this.jsPlumb.connect({