Bläddra i källkod

lint校验修改

xiatian 4 år sedan
förälder
incheckning
26a2ce77a5
2 ändrade filer med 116 tillägg och 59 borttagningar
  1. 35 10
      src/modules/marking/views/TpMain.vue
  2. 81 49
      src/modules/marking/views/TpScoreBoard.vue

+ 35 - 10
src/modules/marking/views/TpMain.vue

@@ -78,16 +78,41 @@ import "viewerjs/dist/viewer.css";
 import Viewer from "viewerjs";
 import { mapState } from "vuex";
 export default {
-  props: [
-    "paperMarkSign",
-    "studentPaper",
-    "markSign",
-    "signOption",
-    "signScores",
-    "signItem",
-    "examType",
-    "answerHtml",
-  ],
+  props: {
+    paperMarkSign: {
+      type: Array,
+      default: () => [],
+    },
+    studentPaper: {
+      type: Object,
+      default: () => {},
+    },
+    markSign: {
+      type: Boolean,
+      default: false,
+    },
+    signOption: {
+      type: Object,
+      default: () => {},
+    },
+    signScores: {
+      type: Array,
+      default: () => [],
+    },
+    signItem: {
+      type: Object,
+      default: () => {},
+    },
+    examType: {
+      type: String,
+      default: "",
+    },
+    answerHtml: {
+      type: String,
+      default: "",
+    },
+  },
+
   data() {
     return {
       activeName: "first",

+ 81 - 49
src/modules/marking/views/TpScoreBoard.vue

@@ -23,7 +23,7 @@
         <div class="title-board"><span class="title-font">评分</span></div>
         <div class="itemScroll">
           <div
-            v-for="(resultItemInner, index) in resultItems"
+            v-for="(resultItemInner, index) in resultItemsData"
             :id="resultItemInner.markItem.id"
             :key="resultItemInner.markItem.id"
             class="pull-left scoretitle titlebutton"
@@ -80,7 +80,7 @@
         <div>
           <div class="itemScroll">
             <div
-              v-for="(resultItemInner, index) in resultItems"
+              v-for="(resultItemInner, index) in resultItemsData"
               :key="resultItemInner.markItem.id"
               class="scoretitle"
             >
@@ -137,7 +137,7 @@
         <div v-if="textareaflag" class="remark-step">
           <textarea
             id="remark"
-            v-model="markedResult.markRemark"
+            v-model="markedResultData.markRemark"
             type="text"
             rows="3"
             cols="35"
@@ -151,7 +151,7 @@
           <div class="problem-button"></div>
           <span v-if="tagFlag">
             <el-radio-group
-              v-model="markedResult.tag"
+              v-model="markedResultData.tag"
               @change="processTagPaper"
             >
               <div
@@ -220,22 +220,54 @@ import { mapState } from "vuex";
 import { CORE_API, MARKING_API } from "@/constants/constants";
 import { EVENTHUB } from "../constants/constants";
 export default {
-  props: [
-    "paperMarkSign",
-    "signScores",
-    "signChange",
-    "signOption",
-    "markSign",
-    "markRange",
-    "studentPaperId",
-    "markTaskId",
-    "resultItems",
-    "markedResult",
-    "paperMark",
-    "scoreStep",
-  ],
+  props: {
+    paperMarkSign: {
+      type: Array,
+      default: () => [],
+    },
+    signScores: {
+      type: Array,
+      default: () => [],
+    },
+    signOption: {
+      type: Object,
+      default: () => {},
+    },
+    markSign: {
+      type: Boolean,
+      default: false,
+    },
+    studentPaperId: {
+      type: Number,
+      default: 0,
+    },
+    markTaskId: {
+      type: Number,
+      default: 0,
+    },
+    resultItems: {
+      type: Array,
+      default: () => [],
+    },
+    markedResult: {
+      type: Object,
+      default: () => {},
+    },
+    paperMark: {
+      type: Boolean,
+      default: true,
+    },
+    scoreStep: {
+      type: Number,
+      default: 0.5,
+    },
+  },
   data() {
     return {
+      resultItemsData: JSON.parse(JSON.stringify(this.resultItems)),
+      signOptionData: JSON.parse(JSON.stringify(this.signOption)),
+      signScoresData: JSON.parse(JSON.stringify(this.signScores)),
+      markedResultData: JSON.parse(JSON.stringify(this.markedResult)),
       activeName: "first",
       markType: "mouse",
       isMouseMode: true,
@@ -266,7 +298,7 @@ export default {
   },
   computed: {
     tagFlag() {
-      if (this.markedResult.id) {
+      if (this.markedResultData.id) {
         return true;
       } else {
         return false;
@@ -278,7 +310,7 @@ export default {
     },
     signScoreSum() {
       var sum = 0;
-      for (let signScore of this.signScores) {
+      for (let signScore of this.signScoresData) {
         sum += signScore;
       }
       return sum;
@@ -363,8 +395,8 @@ export default {
   methods: {
     ...mapActions([USER_SIGNOUT]),
     resetProblem() {
-      if (this.markedResult.tag) {
-        this.markedResult.tag = "";
+      if (this.markedResultData.tag) {
+        this.markedResultData.tag = "";
       }
       if (this.unusualType) {
         this.unusualType = "";
@@ -372,14 +404,14 @@ export default {
     },
     //处理问题卷
     processTagPaper() {
-      if (!this.markedResult.id) {
+      if (!this.markedResultData.id) {
         if (this.unusualType) {
           for (let resultItem of this.resultItems) {
             resultItem.score = 0;
           }
         }
       } else {
-        if (this.markedResult.tag) {
+        if (this.markedResultData.tag) {
           for (let resultItem of this.resultItems) {
             resultItem.score = 0;
           }
@@ -429,7 +461,7 @@ export default {
       this.showItemTitle();
       if (this.markSign) {
         this.tmpSignItem = this.resultItem.markItem;
-        this.signScores.splice(0, this.signScores.length);
+        this.signScoresData.splice(0, this.signScoresData.length);
       }
       this.positionDiv(order);
       //重置打分板样式
@@ -452,7 +484,7 @@ export default {
     },
     checkSignScore(score) {
       var sum = 0;
-      for (let signScore of this.signScores) {
+      for (let signScore of this.signScoresData) {
         sum += signScore;
       }
       if (sum + score > this.maxScore) {
@@ -515,10 +547,10 @@ export default {
       //轨迹模式处理分值问题
       if (this.markSign) {
         if (this.checkSignScore(score)) {
-          this.signScores.push(score);
-          this.signOption.score = score;
+          this.signScoresData.push(score);
+          this.signOptionData.score = score;
           this.resultItem.score = this.signScoreSum;
-          this.resultItems[this.curIndex].score = this.signScoreSum;
+          this.resultItemsData[this.curIndex].score = this.signScoreSum;
         } else {
           this.$notify({
             message: "轨迹总分不能超过满分",
@@ -528,7 +560,7 @@ export default {
       } else {
         //正常模式
         this.resultItem.score = score;
-        this.resultItems[this.curIndex].score = score;
+        this.resultItemsData[this.curIndex].score = score;
         //设置动态样式(打分板)
         this.itemScoreBtn = [];
         for (let i = 0; i < this.itemScores.length; i++) {
@@ -543,7 +575,7 @@ export default {
     //键盘打分板change事件
     scoreChange(index, score) {
       this.resultItem.score = score;
-      this.resultItems[index].score = score;
+      this.resultItemsData[index].score = score;
     },
     //键盘打分板聚焦后试卷跳转对应试题
     scoreFocus(resultItem) {
@@ -552,16 +584,16 @@ export default {
     },
     //键盘打分板下键跳转下一题
     scoreDown(index, resultItem) {
-      var curItemId = this.resultItems[index].markItem.id;
+      var curItemId = this.resultItemsData[index].markItem.id;
       var curItemInput = "item" + curItemId;
       if (!this.checkScore(resultItem)) {
         document.getElementById(curItemInput).focus();
         return;
       }
-      if (index === this.resultItems.length - 1) {
+      if (index === this.resultItemsData.length - 1) {
         return;
       } else {
-        var nextResultItem = this.resultItems[index + 1];
+        var nextResultItem = this.resultItemsData[index + 1];
         var nextItemId = nextResultItem.markItem.id;
         var nextItemInput = "item" + nextItemId;
         var order = nextResultItem.markItem.orders;
@@ -571,21 +603,21 @@ export default {
     },
     //键盘打分板上键跳转上一题
     scoreUp(index, resultItem) {
-      var curItemId = this.resultItems[index].markItem.id;
+      var curItemId = this.resultItemsData[index].markItem.id;
       var curItemInput = "item" + curItemId;
       if (!this.checkScore(resultItem)) {
         document.getElementById(curItemInput).focus();
         return;
       }
       if (index === 0) {
-        let preResultItem = this.resultItems[0];
+        let preResultItem = this.resultItemsData[0];
         let preItemId = preResultItem.markItem.id;
         let preItemInput = "item" + preItemId;
         let order = preResultItem.markItem.orders;
         document.getElementById(preItemInput).focus();
         this.positionDiv(order);
       } else {
-        let preResultItem = this.resultItems[index - 1];
+        let preResultItem = this.resultItemsData[index - 1];
         let preItemId = preResultItem.markItem.id;
         let preItemInput = "item" + preItemId;
         let order = preResultItem.markItem.orders;
@@ -596,15 +628,15 @@ export default {
     //键盘打分板回车后跳转下一题
     scoreEnter(index, resultItem) {
       if (!this.checkScore(resultItem)) {
-        var curItemId = this.resultItems[index].markItem.id;
+        var curItemId = this.resultItemsData[index].markItem.id;
         var curItemInput = "item" + curItemId;
         document.getElementById(curItemInput).focus();
         return;
       }
-      if (index === this.resultItems.length - 1) {
+      if (index === this.resultItemsData.length - 1) {
         document.getElementById("subMarkBtn").focus();
       } else {
-        var nextResultItem = this.resultItems[index + 1];
+        var nextResultItem = this.resultItemsData[index + 1];
         var nextItemId = nextResultItem.markItem.id;
         var nextItemInput = "item" + nextItemId;
         var order = nextResultItem.markItem.orders;
@@ -621,7 +653,7 @@ export default {
     //检查评分项
     checkItems() {
       var itemName = "";
-      for (var resultItem of this.resultItems) {
+      for (var resultItem of this.resultItemsData) {
         if (resultItem.score.length == 0) {
           itemName =
             Number.parseInt(resultItem.markItem.mainNumber) +
@@ -661,7 +693,7 @@ export default {
       if (document.getElementById("remark")) {
         remarkValue = document.getElementById("remark").value;
       }
-      if (!this.markedResult.id) {
+      if (!this.markedResultData.id) {
         //正常提交情况
         this.$httpWithMsg
           .post(
@@ -674,7 +706,7 @@ export default {
               this.unusualType +
               "&remark=" +
               remarkValue,
-            this.resultItems
+            this.resultItemsData
           )
           .then(
             (response) => {
@@ -764,10 +796,10 @@ export default {
             }
           );
       } else {
-        this.markedResult.resultItems = this.resultItems;
-        this.markedResult.remark = remarkValue;
+        this.markedResultData.resultItems = this.resultItemsData;
+        this.markedResultData.remark = remarkValue;
         this.$httpWithMsg
-          .put(MARKING_API + "/markResults", this.markedResult)
+          .put(MARKING_API + "/markResults", this.markedResultData)
           .then(
             () => {
               this.saveMarkSign();
@@ -797,9 +829,9 @@ export default {
       }
     },
     initKeyBoardMode() {
-      if (this.resultItems[0]) {
-        var itemId = this.resultItems[0].markItem.id;
-        var order = this.resultItems[0].markItem.orders;
+      if (this.resultItemsData[0]) {
+        var itemId = this.resultItemsData[0].markItem.id;
+        var order = this.resultItemsData[0].markItem.orders;
         var itemInput = "item" + itemId;
         this.$nextTick(() => {
           var firstInput = document.getElementById(itemInput);