Просмотр исходного кода

新建命题任务时才会自动选择当前学期

zhangjie 2 лет назад
Родитель
Сommit
3610e0a2cc

+ 11 - 6
src/components/base/SemesterSelect.vue

@@ -27,7 +27,8 @@ export default {
     disabled: { type: Boolean, default: false },
     placeholder: { type: String, default: "请选择学期" },
     value: { type: [Number, String], default: "" },
-    clearable: { type: Boolean, default: true }
+    clearable: { type: Boolean, default: true },
+    defaultSelectInUsed: { type: Boolean, default: false }
   },
   data() {
     return {
@@ -52,11 +53,8 @@ export default {
 
       const res = await unitQueryByType({}, "SEMESTER");
       this.optionList = res;
-      const defaultCollege = this.optionList.find(item => item.inUsed);
-      if (defaultCollege) {
-        this.selected = defaultCollege.id;
-        this.select();
-      }
+
+      if (this.defaultSelectInUsed) this.selectDefault();
     },
     select() {
       this.$emit("input", this.selected);
@@ -64,6 +62,13 @@ export default {
         "change",
         this.optionList.find(item => item.id === this.selected)
       );
+    },
+    selectDefault() {
+      const defaultCollege = this.optionList.find(item => item.inUsed);
+      if (defaultCollege) {
+        this.selected = defaultCollege.id;
+        this.select();
+      }
     }
   }
 };

+ 3 - 1
src/modules/exam/components/ModifyExamTask.vue

@@ -8,10 +8,10 @@
     :close-on-click-modal="false"
     :close-on-press-escape="false"
     append-to-body
-    destroy-on-close
     @open="visibleChange"
   >
     <el-form
+      v-if="modalIsShow"
       ref="modalFormComp"
       label-width="120px"
       :class="{ 'form-info': !editable }"
@@ -21,7 +21,9 @@
       <el-form-item prop="semesterId" label="学期:">
         <semester-select
           v-if="editable"
+          ref="SemesterSelect"
           v-model="modalForm.semesterId"
+          default-select-in-used
           class="width-full"
         ></semester-select>
         <span v-else>{{ modalForm.semesterName }}</span>

+ 1 - 0
src/modules/exam/components/createExamAndPrintTask/InfoExamTask.vue

@@ -13,6 +13,7 @@
               <semester-select
                 v-model="examTask.semesterId"
                 class="width-full"
+                default-select-in-used
                 @change="semesterChange"
               ></semester-select>
             </el-form-item>