Browse Source

对话填空-存答案完成

gcj 2 years ago
parent
commit
3057458f91

+ 26 - 2
src/components/Adult/Preview.vue

@@ -1113,7 +1113,25 @@ export default {
     },
     submitUserAnswerNPC() {
       this.handleAnswerTimeEnd();
-      let contextData = JSON.parse(JSON.stringify(this.contextData));
+      let contextDataStr = JSON.stringify(this.contextData);
+      if (!contextDataStr) {
+        return;
+      }
+      let userErrorNumberTotal = 0;
+      let userRightNumberTotal = 0;
+      let errReg = /\[JUDGE##F##JUDGE\]/g,
+        rightReg = /\[JUDGE##T##JUDGE\]/g;
+      if (errReg.test(contextDataStr)) {
+        let errorArr = contextDataStr.match(/\[JUDGE##F##JUDGE\]/g);
+        userErrorNumberTotal = errorArr.length;
+      }
+
+      if (rightReg.test(contextDataStr)) {
+        let rightArr = contextDataStr.match(/\[JUDGE##T##JUDGE\]/g);
+        userRightNumberTotal = rightArr.length;
+      }
+
+      let contextData = JSON.parse(contextDataStr);
       let result = [];
       contextData.cur_fn_data.forEach((item, index) => {
         result[index] = {
@@ -1138,7 +1156,13 @@ export default {
           });
         });
       });
-      this.$emit("finishTaskMaterial", JSON.stringify(result), this.answerTime);
+      this.$emit(
+        "finishTaskMaterial",
+        JSON.stringify(result),
+        this.answerTime,
+        userRightNumberTotal,
+        userErrorNumberTotal
+      );
     },
     // 开始计算答题用时
     handleAnswerTimeStart() {

+ 5 - 2
src/components/Adult/preview/DialogueArticleViewChs/AnswerModel.vue

@@ -612,7 +612,9 @@ export default {
       this.$set(this.Bookanswer.recordList, tmIndex, list);
     },
     saveBlankTF(value, hengIndex) {
+      let _this = this;
       let answerArr = this.curQue.answerArr;
+      console.log(answerArr);
       if (answerArr.length > 0) {
         if (value.trim() == answerArr[hengIndex]) {
           _this.$set(
@@ -628,7 +630,6 @@ export default {
           );
         }
       }
-      console.log(_this.Bookanswer.input)
     },
     getCurTime(curTime) {
       this.curTime = curTime * 1000;
@@ -638,7 +639,9 @@ export default {
       let reg = /_{2,}/g;
       let leg = this.curQue.detail.length;
       let curQue = JSON.parse(JSON.stringify(this.curQue));
-      this.curQue.answerArr = this.curQue.answer.split("\n");
+      this.curQue.answerArr = this.curQue.answer
+        ? this.curQue.answer.split("\n")
+        : [];
       let hengIndex = 0;
       curQue.detail.forEach((dItem, dIndex) => {
         let isHasPY = 0;

+ 2 - 0
src/components/Adult/preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue

@@ -205,6 +205,7 @@ export default {
             let re = {
               value: "",
               userAnswerJudge:
+                answerArr.length > 0 &&
                 answerArr[aIndex] &&
                 answerArr[aIndex] != "??" &&
                 answerArr[aIndex] != "??"
@@ -229,6 +230,7 @@ export default {
         }
         BookAnswer.push(userAnswer);
       });
+      console.log(BookAnswer);
       this.$set(this.curQue, "Bookanswer", BookAnswer);
     },
   },

+ 0 - 1
src/components/Adult/preview/EditDiv.vue

@@ -80,7 +80,6 @@ export default {
   },
   watch: {
     value() {
-      debugger;
       if (!this.isLocked && !this.content) {
         this.content = this.value;
       }

+ 5 - 3
src/views/courseView.vue

@@ -218,9 +218,11 @@ export default {
         document.getElementById("content-tree").style.display = "none";
       }
     },
-    finishTaskMaterial(data) {
-      console.log("保存答案:");
-      console.log(data);
+    finishTaskMaterial(data, time, rightNumber, errorNumber) {
+      console.log("用户提交的答案:"+data);
+      console.log("答题时间"+time);
+      console.log("答对个数"+rightNumber);
+      console.log("答错个数"+errorNumber);
     },
   },
 };