소스 검색

禁用粘贴复制。尝试新方式同步question状态

Michael Wang 6 년 전
부모
커밋
9185c26eab

+ 1 - 1
src/App.vue

@@ -1,5 +1,5 @@
 <template>
-  <div id="app">
+  <div id="app" onpaste="return false" oncopy="return false" oncut="return false">
     <transition :name="transitionName">
       <router-view></router-view>
     </transition>

+ 4 - 1
src/features/OnlineExam/Examing/BooleanQuestionView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="question-view">
+  <div v-if="isSyncState" class="question-view">
     <question-body :questionBody="question.body" :examQuestion="examQuestion"></question-body>
     <div class="ops">
       <div class="stu-answer">{{{'true': '正确', 'false' : '错误'}[studentAnswer]}}</div>
@@ -77,6 +77,9 @@ export default {
     // }
   },
   computed: {
+    isSyncState() {
+      return this.examQuestion.order == this.$route.params.order;
+    },
     studentAnswer: vm => vm.examQuestion.studentAnswer
   },
   components: {

+ 6 - 1
src/features/OnlineExam/Examing/FillBlankQuestionView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="question-view">
+  <div v-if="isSyncState" class="question-view">
     <question-body :questionBody="questionBody" :examQuestion="examQuestion"></question-body>
     <div class="ops">
       <div class="score">({{examQuestion.questionScore}}分)</div>
@@ -117,6 +117,11 @@ export default {
       }
     }
   },
+  computed: {
+    isSyncState() {
+      return this.examQuestion.order == this.$route.params.order;
+    }
+  },
   components: {
     QuestionBody
   }

+ 4 - 1
src/features/OnlineExam/Examing/MultipleQuestionView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div v-if="examQuestion.questionType === 'MULTIPLE_CHOICE'" class="question-view">
+  <div v-if="isSyncState && examQuestion.questionType === 'MULTIPLE_CHOICE'" class="question-view">
     <question-body :questionBody="question.body" :examQuestion="examQuestion"></question-body>
     <div class="ops">
       <div class="stu-answer"> {{oldIndexToABCD}}</div>
@@ -107,6 +107,9 @@ export default {
     }
   },
   computed: {
+    isSyncState() {
+      return this.examQuestion.order == this.$route.params.order;
+    },
     newQuestionOptions() {
       return this.question.questionOptionList.map((v, i) => {
         return {

+ 4 - 1
src/features/OnlineExam/Examing/SingleQuestionView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div v-if="examQuestion.questionType === 'SINGLE_CHOICE'" class="question-view">
+  <div v-if="isSyncState && examQuestion.questionType === 'SINGLE_CHOICE'" class="question-view">
     <question-body :questionBody="questionBody" :examQuestion="examQuestion"></question-body>
     <div class="ops">
       <div class="stu-answer">{{oldIndexToABCD}}</div>
@@ -83,6 +83,9 @@ export default {
     }
   },
   computed: {
+    isSyncState() {
+      return this.examQuestion.order == this.$route.params.order;
+    },
     newQuestionOptions() {
       return this.question.questionOptionList.map((v, i) => {
         return {

+ 6 - 1
src/features/OnlineExam/Examing/TextQuestionView.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="question-view">
+  <div v-if="isSyncState" class="question-view">
     <question-body :questionBody="question.body" :examQuestion="examQuestion"></question-body>
     <div class="ops">
       <div class="score">({{examQuestion.questionScore}}分)</div>
@@ -53,6 +53,11 @@ export default {
       }
     }
   },
+  computed: {
+    isSyncState() {
+      return this.examQuestion.order == this.$route.params.order;
+    }
+  },
   components: {
     QuestionBody
   }