Sfoglia il codice sorgente

试题补充“作答类型”

deason 6 anni fa
parent
commit
81173ad95a

+ 8 - 0
src/modules/questions/constants/constants.js

@@ -25,3 +25,11 @@ export const EXPORT_TYPES = [
   { value: "ONLINE", label: "机考" },
   { value: "NORMAL", label: "普通" }
 ];
+
+/* 是否为空字符串(包含数字0时则返回true) */
+export function isEmptyStr(str) {
+  if (str == undefined || String(str).length < 1) {
+    return true;
+  }
+  return false;
+}

+ 28 - 1
src/modules/questions/views/EditOtherQuestion.vue

@@ -63,6 +63,19 @@
               </el-option>
             </el-select>
           </el-form-item>
+
+          <el-form-item label="作答类型">
+            <el-select v-model="quesModel.answerType">
+              <el-option
+                v-for="item in answerTypes"
+                :label="item.label"
+                :value="item.value"
+                :key="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
           <el-form-item label="属性列表">
             <el-tooltip
               placement="top"
@@ -225,9 +238,10 @@
 </template>
 <script>
 import { QUESTION_API } from "@/constants/constants";
-import { QUESTION_TYPES } from "../constants/constants";
+import { isEmptyStr, QUESTION_TYPES } from "../constants/constants";
 import ckeditor from "../component/ckeditor.vue";
 import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
+
 export default {
   name: "editOtherApp",
   components: { ckeditor, LinkTitlesCustom },
@@ -267,6 +281,10 @@ export default {
         { label: "公开", value: true },
         { label: "非公开", value: false }
       ],
+      answerTypes: [
+        { label: "文本", value: "DIVERSIFIED_TEXT" },
+        { label: "音频", value: "SINGLE_AUDIO" }
+      ],
       coursePropertyList: [],
       coursePropertyName: "", //课程属性名
       firstPropertyList: [], //一级属性集合
@@ -340,6 +358,11 @@ export default {
     getQues(id) {
       this.$http.get(QUESTION_API + "/question/" + id).then(response => {
         this.quesModel = response.data;
+
+        if (isEmptyStr(this.quesModel.answerType)) {
+          this.quesModel.answerType = "DIVERSIFIED_TEXT";
+        }
+
         this.initCourseProperty();
       });
     },
@@ -504,6 +527,10 @@ export default {
           this.coursePropertyList = response.data;
         });
     }
+
+    if (isEmptyStr(this.quesModel.answerType)) {
+      this.quesModel.answerType = "DIVERSIFIED_TEXT";
+    }
   },
   mounted() {}
 };

+ 28 - 1
src/modules/questions/views/EditPaper.vue

@@ -401,6 +401,23 @@
                 </el-select>
               </el-form-item>
             </el-col>
+
+            <el-col :xs="10" :sm="10" :md="10" :lg="10">
+              <el-form-item label="作答类型">
+                <el-select
+                  v-model="quesModel.answerType"
+                  :disabled="updatePorperty"
+                >
+                  <el-option
+                    v-for="item in answerTypes"
+                    :label="item.label"
+                    :value="item.value"
+                    :key="item.value"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row :gutter="10">
             <el-col :xs="20" :sm="20" :md="20" :lg="20">
@@ -682,11 +699,12 @@
 
 <script>
 import { QUESTION_API } from "@/constants/constants";
-import { QUESTION_TYPES } from "../constants/constants";
+import { isEmptyStr, QUESTION_TYPES } from "../constants/constants";
 import { mapState } from "vuex";
 import reduplicate_mark from "../component/reduplicate_mark.vue";
 import randomColor from "randomcolor";
 import ckeditor from "../component/ckeditor.vue";
+
 export default {
   name: "editPaperApp",
   components: {
@@ -772,6 +790,10 @@ export default {
         { label: "公开", value: true },
         { label: "非公开", value: false }
       ],
+      answerTypes: [
+        { label: "文本", value: "DIVERSIFIED_TEXT" },
+        { label: "音频", value: "SINGLE_AUDIO" }
+      ],
       coursePropertyList: [],
       coursePropertyName: "", //课程属性名
       firstPropertyList: [], //一级属性集合
@@ -1050,6 +1072,11 @@ export default {
           }
         }
       }
+
+      if (isEmptyStr(this.quesModel.answerType)) {
+        this.quesModel.answerType = "DIVERSIFIED_TEXT";
+      }
+
       this.assignAnswers(); //给singleRightAnswer或multipleRightAnswer赋值
       this.openQuesDialog();
     },

+ 28 - 1
src/modules/questions/views/EditSelectQuestion.vue

@@ -66,6 +66,19 @@
               </el-option>
             </el-select>
           </el-form-item>
+
+          <el-form-item label="作答类型">
+            <el-select v-model="quesModel.answerType">
+              <el-option
+                v-for="item in answerTypes"
+                :label="item.label"
+                :value="item.value"
+                :key="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
           <el-form-item label="属性列表">
             <el-tooltip
               placement="top"
@@ -215,9 +228,10 @@
 </template>
 <script>
 import { QUESTION_API } from "@/constants/constants";
-import { QUESTION_TYPES } from "../constants/constants";
+import { isEmptyStr, QUESTION_TYPES } from "../constants/constants";
 import ckeditor from "../component/ckeditor.vue";
 import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
+
 export default {
   name: "editSelectApp",
   components: { ckeditor, LinkTitlesCustom },
@@ -256,6 +270,10 @@ export default {
         { label: "公开", value: true },
         { label: "非公开", value: false }
       ],
+      answerTypes: [
+        { label: "文本", value: "DIVERSIFIED_TEXT" },
+        { label: "音频", value: "SINGLE_AUDIO" }
+      ],
       coursePropertyList: [],
       coursePropertyName: "", //课程属性名
       firstPropertyList: [], //一级属性集合
@@ -295,6 +313,11 @@ export default {
               }
             }
           }
+
+          if (isEmptyStr(this.quesModel.answerType)) {
+            this.quesModel.answerType = "DIVERSIFIED_TEXT";
+          }
+
           this.initCourseProperty();
         });
     },
@@ -618,6 +641,10 @@ export default {
           this.coursePropertyList = response.data;
         });
     }
+
+    if (isEmptyStr(this.quesModel.answerType)) {
+      this.quesModel.answerType = "DIVERSIFIED_TEXT";
+    }
   }
 };
 </script>