Browse Source

控制禁止操作

natasha 1 year ago
parent
commit
f1f1da3f37

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

@@ -8,7 +8,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" />
+    <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" :disabled="isJudgingRightWrong" />
     <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>

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

@@ -16,8 +16,9 @@
       :maxlength="1000"
       show-word-limit
       @input="handleInput"
+      :readonly="isJudgingRightWrong"
     />
-    <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" />
+    <SoundRecordPreview :disabled="isJudgingRightWrong" :wav-blob.sync="answer.answer_list[0].audio_file_id" />
     <UploadFiles
       :fille-number="999"
       file-type-name="文件"
@@ -26,6 +27,7 @@
       upload-title="上传附件:"
       @upload="handleUpload"
       @deleteFile="handleDelete"
+      :disabled="isJudgingRightWrong"
     />
     <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
       <h5 class="reference-title">参考答案</h5>

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

@@ -16,7 +16,7 @@
           v-html="sanitizeHTML(data.option_list[i].content)"
         ></div>
         <div class="sound-box">
-          <SoundRecordPreview :wav-blob.sync="item.audio_file_id" :type="'small'" />
+          <SoundRecordPreview :wav-blob.sync="item.audio_file_id" :disabled="isJudgingRightWrong" :type="'small'" />
         </div>
       </li>
     </div>

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

@@ -27,7 +27,7 @@
         </template>
         <span v-else class="select-item">{{ item[0].content }}</span>
       </div>
-      <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" />
+      <SoundRecordPreview :wav-blob.sync="answer.answer_list[0].audio_file_id" :disabled="isJudgingRightWrong" />
     </div>
   </div>
 </template>

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

@@ -18,7 +18,11 @@
         <p class="pic-info" v-html="sanitizeHTML(item.picture_info)"></p>
         <!-- 语音作答 -->
         <div v-if="isEnable(data.property.is_enable_voice_answer) && answer.answer_list[index]" class="sound-box">
-          <SoundRecordPreview :wav-blob.sync="answer.answer_list[index].audio_file_id" type="small" />
+          <SoundRecordPreview
+            :disabled="isJudgingRightWrong"
+            :wav-blob.sync="answer.answer_list[index].audio_file_id"
+            type="small"
+          />
         </div>
 
         <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">

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

@@ -75,7 +75,11 @@
         </div>
         <el-divider></el-divider>
         <div class="sound-box" v-if="answer.answer_list[active_index]">
-          <SoundRecordPreview :wav-blob.sync="answer.answer_list[active_index].audio_file_id" :type="'small'" />
+          <SoundRecordPreview
+            :wav-blob.sync="answer.answer_list[active_index].audio_file_id"
+            :type="'small'"
+            :disabled="isJudgingRightWrong"
+          />
         </div>
       </div>
     </div>

+ 2 - 0
src/views/exercise_questions/preview/WritePictruePreview.vue

@@ -36,11 +36,13 @@
         :maxlength="data.property.word_num"
         show-word-limit
         @input="handleInput"
+        :readonly="isJudgingRightWrong"
       />
     </div>
     <template v-if="isEnable(data.property.is_enable_upload_accessory)">
       <!-- 上传附件 -->
       <UploadFiles
+        :disabled="isJudgingRightWrong"
         :fille-number="999"
         file-type-name="文件"
         :upload-type="'*'"

+ 2 - 0
src/views/exercise_questions/preview/WritePreview.vue

@@ -19,6 +19,7 @@
       :maxlength="data.property.word_num"
       show-word-limit
       @input="handleInput"
+      :readonly="isJudgingRightWrong"
     />
 
     <template v-if="isEnable(data.property.is_enable_upload_accessory)">
@@ -31,6 +32,7 @@
         upload-title="上传附件:"
         @upload="handleUpload"
         @deleteFile="handleDelete"
+        :disabled="isJudgingRightWrong"
       />
     </template>
     <template v-if="isEnable(data.property.is_enable_sample_text) && isShowRightAnswer">

+ 5 - 0
src/views/exercise_questions/preview/components/common/SoundRecordPreview.vue

@@ -53,6 +53,10 @@ export default {
       type: String,
       default: 'big',
     },
+    disabled: {
+      type: Boolean,
+      default: false,
+    },
   },
   data() {
     return {
@@ -148,6 +152,7 @@ export default {
         this.$refs.audio.pause();
         this.audio.paused = true;
       }
+      if (this.disabled) return;
       if (this.microphoneStatus) {
         this.hasMicro = 'normal';
         this.recorder.stop();

+ 5 - 0
src/views/exercise_questions/preview/components/common/UploadFiles.vue

@@ -10,6 +10,7 @@
       :before-upload="beforeUpload"
       :http-request="upload"
       :on-exceed="handleExceed"
+      :disabled="disabled"
     >
       <div class="upload-audio">
         <span>上传{{ fileTypeName }}</span>
@@ -65,6 +66,10 @@ export default {
       type: String,
       default: '',
     },
+    disabled: {
+      type: Boolean,
+      default: false,
+    },
   },
   data() {
     return {