Browse Source

排序答题

natasha 1 year ago
parent
commit
b1a472f113

+ 5 - 1
src/views/exercise_questions/create/components/exercises/ChooseToneQuestion.vue

@@ -30,7 +30,11 @@
             <span class="question-number" title="双击切换序号类型" @dblclick="changeOptionType(data)">
               {{ computedQuestionNumber(i, data.option_number_show_mode) }}
             </span>
-            <el-input v-model="item.content" placeholder="输入内容" @blur="handleItemAnswer(item)" />
+            <el-input
+              v-model="item.content"
+              placeholder="拼音间用空格隔开,如:ni3 ha3o"
+              @blur="handleItemAnswer(item)"
+            />
             <UploadAudio
               v-if="data.other.audio_generation_method === 'upload'"
               :key="item.audio_file_id || i"

+ 1 - 1
src/views/exercise_questions/preview/AnswerQuestionPreview.vue

@@ -9,7 +9,7 @@
     <AudioPlay v-if="data.file_id_list.length > 0" :file-id="data.file_id_list[0]" />
 
     <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" />
-    <div v-if="isEnable(data.property.is_enable_reference_answer)" class="reference-box">
+    <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
       <h5 class="reference-title">参考答案</h5>
       <span class="reference-answer" v-html="sanitizeHTML(data.reference_answer)"></span>
     </div>

+ 1 - 1
src/views/exercise_questions/preview/EssayQuestionPreview.vue

@@ -27,7 +27,7 @@
       @upload="handleUpload"
       @deleteFile="handleDelete"
     />
-    <div v-if="isEnable(data.property.is_enable_reference_answer)" class="reference-box">
+    <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
       <h5 class="reference-title">参考答案</h5>
       <span class="reference-answer" v-html="sanitizeHTML(data.reference_answer)"></span>
     </div>

+ 19 - 9
src/views/exercise_questions/preview/SortPreview.vue

@@ -12,7 +12,7 @@
       :options="{
         group: { name: 'itxst', pull: 'clone' },
       }"
-      :sort="task_model == 'ANSWER' ? false : true"
+      :sort="!isJudgingRightWrong"
       :class="['content-box', 'content-box-' + data.property.layout_type]"
       @start="onStart($event)"
       @end="onEnd($event)"
@@ -57,8 +57,6 @@ export default {
   mixins: [PreviewMixin],
   data() {
     return {
-      task_model: '', // 答题模式
-      answer_list: [], // 存储用户答题
       move_list: [], // 移动后的数组
       drag: false,
       click_index_list: [], // 点击选中的索引
@@ -68,7 +66,7 @@ export default {
     move_list: {
       handler(val) {
         if (!val) return;
-        this.answer_list = val.map(({ mark }) => {
+        this.answer.answer_list = val.map(({ mark }) => {
           return mark;
         });
       },
@@ -89,11 +87,23 @@ export default {
   methods: {
     // 初始化数据
     handleData() {
-      let sort_list = this.shuffle(JSON.parse(JSON.stringify(this.data.option_list)));
-      sort_list.forEach((item, index) => {
-        item.correct = item.mark === this.data.option_list[index].mark;
-      });
-      this.move_list = sort_list;
+      if (this.isJudgingRightWrong) {
+        this.move_list = [];
+        this.answer.answer_list.forEach((item) => {
+          let sort_list = JSON.parse(JSON.stringify(this.data.option_list));
+          sort_list.forEach((items) => {
+            if (items.mark === item) {
+              this.move_list.push(item);
+            }
+          });
+        });
+      } else {
+        let sort_list = this.shuffle(JSON.parse(JSON.stringify(this.data.option_list)));
+        sort_list.forEach((item, index) => {
+          item.correct = item.mark === this.data.option_list[index].mark;
+        });
+        this.move_list = sort_list;
+      }
     },
     // 随机打乱数组顺序
     shuffle(arr) {

+ 1 - 1
src/views/exercise_questions/preview/TalkPictruePreview.vue

@@ -21,7 +21,7 @@
           <SoundRecordPreview :wav-blob.sync="answer_list[index].audio_file_id" type="small" />
         </div>
 
-        <div v-if="isEnable(data.property.is_enable_reference_answer)" class="reference-box">
+        <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
           <h5 class="reference-title">参考答案</h5>
           <span class="reference-answer" v-html="sanitizeHTML(item.reference_answer)"></span>
         </div>

+ 0 - 1
src/views/exercise_questions/preview/WordCardPreview.vue

@@ -238,7 +238,6 @@ export default {
 
   .definition {
     margin: 0 0 8px;
-    font-family: 'PingFang SC';
     font-size: 16px;
     line-height: 24px;
     color: #000;

+ 1 - 1
src/views/exercise_questions/preview/WritePictruePreview.vue

@@ -51,7 +51,7 @@
         v-if="answer_list[active_index]"
       />
     </template>
-    <template v-if="isEnable(data.property.is_enable_sample_text)">
+    <template v-if="isEnable(data.property.is_enable_sample_text) && isShowRightAnswer">
       <el-divider content-position="center"
         ><span
           :class="['sample-text', show_sample_text ? 'sample-show' : 'sample-hide']"

+ 1 - 1
src/views/exercise_questions/preview/WritePreview.vue

@@ -33,7 +33,7 @@
         @deleteFile="handleDelete"
       />
     </template>
-    <template v-if="isEnable(data.property.is_enable_sample_text)">
+    <template v-if="isEnable(data.property.is_enable_sample_text) && isShowRightAnswer">
       <el-divider content-position="center"
         ><span
           :class="['sample-text', show_sample_text ? 'sample-show' : 'sample-hide']"

+ 0 - 1
src/views/exercise_questions/preview/components/common/FreewriteLettle.vue

@@ -423,7 +423,6 @@ export default {
 
   > span {
     margin-bottom: 9px;
-    font-family: 'FZJCGFKTK';
     font-size: 24px;
     font-weight: 600;
     line-height: 34px;