xiatian 4 jaren geleden
bovenliggende
commit
5a95d8a8e7

+ 57 - 2
src/modules/questions/views/EditPaper.vue

@@ -331,7 +331,7 @@
                     >{{ subQuestion.quesParam.number }}.
                   </span>
 
-                  <span v-html="subQuestion.quesBody"></span>
+                  <span v-question-audio v-html="subQuestion.quesBody"></span>
                   <span
                     >({{ paperDetailUnit.subScoreList[subIndex] }}分)</span
                   >
@@ -348,7 +348,10 @@
                     <span class="ques-title"
                       >{{ subOptIndex | optionOrderWordFilter }}.
                     </span>
-                    <span v-html="subQuesOption.optionBody"></span>
+                    <span
+                      v-question-audio
+                      v-html="subQuesOption.optionBody"
+                    ></span>
                   </div>
                 </div>
                 <br />
@@ -497,6 +500,50 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col
+              v-if="quesModel.questionType == 'MATCHING_QUESTION'"
+              :xs="10"
+              :sm="10"
+              :md="10"
+              :lg="10"
+            >
+              <el-form-item label="配对类型">
+                <el-select
+                  v-model="quesModel.quesParam.matchingType"
+                  :disabled="updatePorperty"
+                >
+                  <el-option
+                    v-for="item in matchingTypes"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col
+              v-if="quesModel.questionType == 'MATCHING_QUESTION'"
+              :xs="10"
+              :sm="10"
+              :md="10"
+              :lg="10"
+            >
+              <el-form-item label="答题模式">
+                <el-select
+                  v-model="quesModel.quesParam.matchingMode"
+                  :disabled="updatePorperty"
+                >
+                  <el-option
+                    v-for="item in matchingModes"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
           </el-row>
 
           <el-row :gutter="10">
@@ -965,6 +1012,14 @@ export default {
         { label: "文本", value: "DIVERSIFIED_TEXT" },
         { label: "音频", value: "SINGLE_AUDIO" },
       ],
+      matchingTypes: [
+        { label: "填词", value: 1 },
+        { label: "段落", value: 2 },
+      ],
+      matchingModes: [
+        { label: "单用", value: 1 },
+        { label: "复用", value: 2 },
+      ],
       coursePropertyList: [],
       coursePropertyName: "", //课程属性名
       firstPropertyList: [], //一级属性集合

+ 1 - 1
src/modules/questions/views/ImportPaper.vue

@@ -197,7 +197,7 @@
           label="创建时间"
           width="153"
           sortable
-          prop="createTime"
+          prop="creationDate"
         >
         </el-table-column>
         <el-table-column label="修改人" width="150">

+ 25 - 18
src/modules/questions/views/ImportPaperInfo.vue

@@ -14,6 +14,12 @@
         label-width="100px"
       >
         <el-row>
+          <el-form-item label="导入类型" label-width="120px" class="pull-left">
+            <el-radio v-model="importType" label="word">word</el-radio>
+            <el-radio v-model="importType" label="zip">zip</el-radio>
+          </el-form-item>
+        </el-row>
+        <el-row v-show="importType == 'word'">
           <el-form-item label="课程名称" label-width="120px" class="pull-left">
             <el-select
               v-model="formSearch.courseNo"
@@ -35,13 +41,8 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item class="pull-right">
-            <el-button type="primary" @click="back"
-              ><i class="el-icon-arrow-left"></i> 返回</el-button
-            >
-          </el-form-item>
         </el-row>
-        <el-row>
+        <el-row v-show="importType == 'word'">
           <el-form-item label="试卷名称" label-width="120px" class="pull-left">
             <el-input
               v-model="formSearch.name"
@@ -78,7 +79,7 @@
             <el-upload
               ref="upload"
               class="form_left"
-              accept=".docx,.json"
+              accept=".docx,.zip"
               :action="uploadAction"
               :headers="uploadHeaders"
               :data="uploadData"
@@ -105,9 +106,10 @@
                 @click="removeFile"
                 ><i class="el-icon-refresh"></i> 清空文件
               </el-button>
-              <div slot="tip" class="el-upload__tip">
-                只能上传docx和json文件
-              </div>
+              <el-button type="primary" @click="back"
+                ><i class="el-icon-arrow-left"></i> 返回</el-button
+              >
+              <div slot="tip" class="el-upload__tip">只能上传docx和zip文件</div>
             </el-upload>
           </el-form-item>
         </el-row>
@@ -129,6 +131,7 @@ export default {
   components: { LinkTitlesCustom },
   data() {
     return {
+      importType: "word",
       scoreCheck: "0",
       formSearch: {
         courseNo: "",
@@ -199,9 +202,13 @@ export default {
       });
       this.fileLoading = false;
       sessionStorage.setItem("question_back", "true");
-      this.$router.push({
-        path: "/edit_paper/" + response.id + "/import_paper",
-      });
+      if (this.importType == "word") {
+        this.$router.push({
+          path: "/edit_paper/" + response.id + "/import_paper",
+        });
+      } else {
+        this.back();
+      }
     },
     uploadError(err) {
       var result = err.message.match(/\{.+}/);
@@ -216,7 +223,7 @@ export default {
       this.formSearch.courseNo = "";
     },
     checkUpload() {
-      if (!this.formSearch.courseNo) {
+      if (this.importType == "word" && !this.formSearch.courseNo) {
         this.$notify({
           message: "课程名称不能为空",
           type: "error",
@@ -228,7 +235,7 @@ export default {
         this.uploadData.level = this.formSearch.courseLevel;
         this.uploadData.sameName = this.formSearch.sameName;
       }
-      if (!this.formSearch.name) {
+      if (this.importType == "word" && !this.formSearch.name) {
         this.$notify({
           message: "试卷名称不能为空",
           type: "error",
@@ -256,15 +263,15 @@ export default {
       }
       if (fileList.length > 1) {
         this.$notify({
-          message: "每次只能上传一个word或json文件",
+          message: "每次只能上传一个word或zip文件",
           type: "error",
         });
         return false;
       }
       for (let file of fileList) {
-        if (!file.name.endsWith(".docx") && !file.name.endsWith(".json")) {
+        if (!file.name.endsWith(".docx") && !file.name.endsWith(".zip")) {
           this.$notify({
-            message: "上传文件必须为docx或json格式",
+            message: "上传文件必须为docx或zip格式",
             type: "error",
           });
           this.initUpload();