dsy 3 روز پیش
والد
کامیت
17e79dbd47

+ 4 - 0
src/components/CommonPreview.vue

@@ -581,6 +581,10 @@ export default {
       }
       return text;
     },
+
+    simulateAnswer() {
+      this.$refs.courserware.simulateAnswer();
+    },
   },
 };
 </script>

+ 5 - 0
src/views/book/courseware/preview/CoursewarePreview.vue

@@ -367,6 +367,11 @@ export default {
       await this.$nextTick();
       return this.$refs.component.find((child) => child.dataset.id === id);
     },
+    simulateAnswer() {
+      this.$refs.preview.forEach((item) => {
+        item.showAnswer(true, true, null, true);
+      });
+    },
   },
 };
 </script>

+ 5 - 4
src/views/book/courseware/preview/components/common/PreviewMixin.js

@@ -9,7 +9,7 @@ const mixin = {
   data() {
     return {
       sanitizeHTML,
-      answer: { answer_list: [] }, // 答案
+      answer: { answer_list: [] }, // 用户答案
       isJudgingRightWrong: false, // 是否判断对错
       isShowRightAnswer: false, // 是否显示正确答案
       disabled: false, // 是否禁用
@@ -87,9 +87,10 @@ const mixin = {
      * @param {boolean} disabled 是否禁用
      */
     showAnswer(isJudgingRightWrong, isShowRightAnswer, userAnswer, disabled) {
-      if (this.loader === false) {
-        return setTimeout(() => this.showAnswer(isJudgingRightWrong, isShowRightAnswer, userAnswer, disabled), 100);
-      }
+      // if (this.loader === false) {
+      //   return setTimeout(() => this.showAnswer(isJudgingRightWrong, isShowRightAnswer, userAnswer, disabled), 100);
+      // }
+
       this.isJudgingRightWrong = isJudgingRightWrong;
       this.isShowRightAnswer = isShowRightAnswer;
       this.disabled = disabled;

+ 2 - 1
src/views/book/courseware/preview/components/select/SelectPreview.vue

@@ -100,7 +100,6 @@ export default {
     .option-item {
       display: flex;
       flex: 1;
-      flex-wrap: wrap;
       column-gap: 8px;
       align-items: center;
       padding: 12px 24px;
@@ -159,6 +158,7 @@ export default {
         &::after {
           font-size: 14px;
           color: $right-color;
+          white-space: nowrap;
           content: '正确答案';
         }
       }
@@ -170,6 +170,7 @@ export default {
         &::after {
           font-size: 14px;
           color: #a09fa6;
+          white-space: nowrap;
           content: '已选';
         }
       }

+ 3 - 2
src/views/book/courseware/preview/components/sort/SortPreview.vue

@@ -50,7 +50,7 @@
                 flexDirection: data.property.arrange_direction === arrangeTypeList[0].value ? 'row' : 'column',
               }"
             >
-              <li v-for="(item, i) in right_answer_list" :key="i" :class="['drag-item', 'right']">
+              <li v-for="(item, i) in right_answer_list" :key="i" :class="['drag-item']">
                 <span class="rich-text" v-html="sanitizeHTML(item.content)"></span>
               </li>
             </transition-group>
@@ -95,10 +95,11 @@ export default {
     isJudgingRightWrong: {
       handler(val) {
         if (!val) return;
+        if (this.move_list.length === 0) return;
         this.move_list = this.answer.answer_list.map((mark) =>
           this.data.option_list.find((item) => item.mark === mark),
         );
-        const rightAnswerNum = this.move_list.custom_serial_number.split('/').length; // 正确答案组数
+        const rightAnswerNum = this.move_list[0].custom_serial_number.split('/').length; // 正确答案组数
         let correctSerial = 0; // 目前是第几组是正确答案
         for (let i = 0; i < rightAnswerNum; i++) {
           let isRight = this.move_list.every(

+ 5 - 0
src/views/personal_workbench/edit_task/preview/index.vue

@@ -8,6 +8,7 @@
         <span v-if="isTrue(courseware.is_can_submit_audit)" class="link" @click="submitCoursewareToAuditFlow">
           提交审校
         </span>
+        <span class="link" @click="simulateAnswer">模拟答题</span>
         <span class="link" @click="goBackBookList">返回教材列表</span>
       </template>
     </CommonPreview>
@@ -53,6 +54,10 @@ export default {
         this.$refs.preview.getBookCoursewareInfo(this.id);
       });
     },
+
+    simulateAnswer() {
+      this.$refs.preview.simulateAnswer();
+    },
   },
 };
 </script>