dusenyao 1 rok temu
rodzic
commit
f7b16d89f0

+ 24 - 24
src/views/exercise_questions/create/components/exercises/TableFillQuestion.vue

@@ -70,6 +70,12 @@
           </el-radio>
         </el-form-item>
 
+        <el-form-item label="题干题号">
+          <el-select v-model="data.property.stem_question_number_font_size">
+            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
+          </el-select>
+        </el-form-item>
+
         <el-form-item label="提示">
           <el-radio
             v-for="{ value, label } in switchOption"
@@ -92,30 +98,6 @@
           </el-radio>
         </el-form-item>
 
-        <el-form-item label="题干题号">
-          <el-select v-model="data.property.stem_question_number_font_size">
-            <el-option v-for="item in fontSizeList" :key="item" :label="item" :value="item" />
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="分值">
-          <el-radio
-            v-for="{ value, label } in scoreTypeList"
-            :key="value"
-            v-model="data.property.score_type"
-            :label="value"
-          >
-            {{ label }}
-          </el-radio>
-        </el-form-item>
-        <el-form-item>
-          <el-input-number
-            v-model="data.property.score"
-            :min="0"
-            :step="data.property.score_type === scoreTypeList[0].value ? 1 : 0.1"
-          />
-        </el-form-item>
-
         <el-form-item label="序号列">
           <el-radio
             v-for="{ value, label } in switchOption"
@@ -135,6 +117,23 @@
         <el-form-item label="列数">
           <el-input-number v-model="data.property.column_number" :min="2" :max="5" />
         </el-form-item>
+        <el-form-item label="分值">
+          <el-radio
+            v-for="{ value, label } in scoreTypeList"
+            :key="value"
+            v-model="data.property.score_type"
+            :label="value"
+          >
+            {{ label }}
+          </el-radio>
+        </el-form-item>
+        <el-form-item>
+          <el-input-number
+            v-model="data.property.score"
+            :min="0"
+            :step="data.property.score_type === scoreTypeList[0].value ? 1 : 0.1"
+          />
+        </el-form-item>
       </el-form>
     </template>
   </QuestionBase>
@@ -417,6 +416,7 @@ export default {
         }
 
         :deep .el-input__inner {
+          font-size: 16px;
           font-weight: bold;
         }
       }

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

@@ -24,16 +24,7 @@
       :readonly="disabled"
       @input="handleInput"
     />
-    <SoundRecordPreview :disabled="disabled" :wav-blob.sync="answer.answer_list[0].audio_file_id" position="center" />
-    <UploadFiles
-      :fille-number="999"
-      file-type-name="文件"
-      :upload-type="'*'"
-      :file-id-list="answer.answer_list[0].accessory_file_id_list"
-      :disabled="disabled"
-      @upload="handleUpload"
-      @deleteFile="handleDelete"
-    />
+
     <div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
       <h5 class="reference-title">参考答案</h5>
       <span class="reference-answer rich-text" v-html="sanitizeHTML(data.reference_answer)"></span>
@@ -43,15 +34,9 @@
 
 <script>
 import PreviewMixin from './components/PreviewMixin';
-import SoundRecordPreview from './components/common/SoundRecordPreview.vue';
-import UploadFiles from './components/common/UploadFiles.vue';
 
 export default {
   name: 'EssayQuestionPreview',
-  components: {
-    SoundRecordPreview,
-    UploadFiles,
-  },
   mixins: [PreviewMixin],
   data() {
     return {
@@ -68,31 +53,17 @@ export default {
       immediate: true,
     },
   },
-  created() {},
   methods: {
     // 初始化数据
     handleData() {
       if (!this.isJudgingRightWrong) {
         let obj = {
-          audio_file_id: '',
           text: '',
-          accessory_file_id_list: [],
         };
         this.answer.answer_list.push(obj);
       }
       this.show_preview = true;
     },
-    // 文件上传成功
-    handleUpload(fileId) {
-      this.answer.answer_list[0].accessory_file_id_list.push(fileId);
-    },
-    // 删除文件
-    handleDelete(fileId) {
-      this.answer.answer_list[0].accessory_file_id_list.splice(
-        this.answer.answer_list[0].accessory_file_id_list.indexOf(fileId),
-        1,
-      );
-    },
     handleInput(value) {
       if (value.length >= 1000) {
         this.$message.warning(`字数达到1000字!`);

+ 6 - 5
src/views/exercise_questions/preview/TableFillPreview.vue

@@ -49,7 +49,7 @@
                   placeholder="请输入"
                   :style="[
                     { cursor: disabled ? 'not-allowed' : 'pointer' },
-                    { width: Math.max(80, li.content.length * 16) + 'px' },
+                    { width: Math.max(80, li.content.length * 12) + 'pt' },
                   ]"
                 />
               </template>
@@ -62,7 +62,7 @@
                   placeholder="请输入"
                   :style="[
                     { cursor: disabled ? 'not-allowed' : 'pointer' },
-                    { width: Math.max(80, li.content.length * 16) + 'px' },
+                    { width: Math.max(80, li.content.length * 12) + 'pt' },
                   ]"
                 />
                 <span
@@ -81,7 +81,7 @@
                   :class="['input', ...computedAnswerClass(mark, li.mark)]"
                   :style="[
                     { cursor: disabled ? 'not-allowed' : 'pointer' },
-                    { width: Math.max(80, li.content.length * 16) + 'px' },
+                    { width: Math.max(80, li.content.length * 12) + 'pt' },
                   ]"
                 />
                 <span
@@ -114,6 +114,7 @@ export default {
   watch: {
     'data.option_list': {
       handler(val) {
+        if (!val) return;
         this.optionList = JSON.parse(JSON.stringify(val));
       },
       immediate: true,
@@ -243,10 +244,10 @@ $table-border: 1px solid #ebebeb;
         background-color: #eaeffb;
 
         .header-item {
-          display: flex;
-          align-items: center;
           min-height: 40px;
           padding: 8px 12px;
+          font-size: 16px;
+          text-align: center;
           border-left: $table-border;
         }
       }