Browse Source

创建和编辑评卷工作的弹框里,加入callType字段和逻辑

刘洋 2 năm trước cách đây
mục cha
commit
021698c2f3
1 tập tin đã thay đổi với 40 bổ sung7 xóa
  1. 40 7
      src/modules/marking/views/MarkWork.vue

+ 40 - 7
src/modules/marking/views/MarkWork.vue

@@ -205,14 +205,11 @@
                   style="width: 200px"
                 ></el-input>
               </el-form-item>
-              <el-form-item
-                v-if="!examDisabled"
-                label="考试类型"
-                prop="examType"
-              >
+              <el-form-item label="考试类型" prop="examType">
                 <el-select
                   v-model="formMarkWork.examType"
                   style="width: 200px"
+                  :disabled="examDisabled"
                   @change="examTypeChange()"
                 >
                   <el-option label="在线考试" value="ONLINE"> </el-option>
@@ -221,6 +218,18 @@
                   </el-option>
                 </el-select>
               </el-form-item>
+              <el-form-item
+                v-show="formMarkWork.examType === 'ONLINE'"
+                label="抽题模式"
+              >
+                <el-radio-group
+                  v-model="formMarkWork.callType"
+                  :disabled="!!markWorkId"
+                >
+                  <el-radio label="WHOLE_SET">成套调用</el-radio>
+                  <el-radio label="RANDOM_PAPER">随机抽题</el-radio>
+                </el-radio-group>
+              </el-form-item>
               <el-form-item label="考试" prop="examIds">
                 <el-select
                   v-model="formMarkWork.examIds"
@@ -279,6 +288,7 @@ export default {
         name: "",
         examIds: [],
         remark: "",
+        callType: "WHOLE_SET",
       },
       rules: {
         name: [{ required: true, message: "请输入名称", trigger: "blur" }],
@@ -324,6 +334,16 @@ export default {
   computed: {
     ...mapState({ user: (state) => state.user }),
   },
+  watch: {
+    "formMarkWork.examType"() {
+      this.formMarkWork.callType = "WHOLE_SET";
+    },
+    "formMarkWork.callType"() {
+      if (this.formMarkWork.examType) {
+        this.examTypeChange();
+      }
+    },
+  },
   created() {
     this.initMarkWorkData();
   },
@@ -403,6 +423,9 @@ export default {
       if (this.formMarkWork.examType) {
         params = params + "&examType=" + this.formMarkWork.examType;
       }
+      if (this.formMarkWork.examType === "ONLINE") {
+        params = params + "&callType=" + this.formMarkWork.callType;
+      }
       this.$http
         .get(MARKING_LOGIC_API + "/exam/all" + params)
         .then((response) => {
@@ -498,7 +521,13 @@ export default {
       console.log("close");
     },
     addMarkWorkModal() {
-      this.formMarkWork = { name: "", remark: "", examType: "", examIds: [] };
+      this.formMarkWork = {
+        name: "",
+        remark: "",
+        examType: "",
+        examIds: [],
+        callType: "WHOLE_SET",
+      };
       this.examSelect = [];
       this.markWorkId = "";
       this.examDisabled = false;
@@ -511,7 +540,9 @@ export default {
     },
     editMarkWorkModal(row) {
       this.examTitle = "编辑评卷工作";
-      this.formMarkWork = Object.assign({}, row);
+      this.formMarkWork = Object.assign({}, row, {
+        callType: row.callType || "WHOLE_SET",
+      });
       this.oldWorkName = this.formMarkWork.name;
       this.markWorkId = row.id;
       this.getExamSelect();
@@ -721,6 +752,7 @@ export default {
         this.formMarkWork = Object.assign(this.formMarkWork, {
           remark: "",
           name: "",
+          callType: "WHOLE_SET",
         });
         this.$refs["formMarkWork"].clearValidate();
       } else {
@@ -729,6 +761,7 @@ export default {
           remark: "",
           examName: "",
           name: "",
+          callType: "WHOLE_SET",
         });
         this.$refs["formMarkWork"].clearValidate();
       }