zhangjie 2 år sedan
förälder
incheckning
09e67a020c

+ 8 - 0
src/modules/paper/components/BuildPaperAuto.vue

@@ -204,6 +204,14 @@ export default {
         return Promise.reject();
         return Promise.reject();
       }
       }
 
 
+      const { detailInfo } = this.getData();
+      let hasNoClassifyDetail = detailInfo.some(
+        (detail) => detail.useClassify && !detail.classifyIdList.length
+      );
+      if (hasNoClassifyDetail) {
+        this.$message.error("有大题指定了文件夹,却未选择文件夹!");
+        return Promise.reject();
+      }
       return Promise.resolve(true);
       return Promise.resolve(true);
     },
     },
   },
   },

+ 11 - 2
src/modules/paper/components/QuestionGroupStruct.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="question-group-struct">
   <div class="question-group-struct">
     <div class="struct-set">
     <div class="struct-set">
-      <el-checkbox v-model="useClassify" @change="setChange"
+      <el-checkbox v-model="useClassify" @change="useClassifyChange"
         >指定文件夹抽题</el-checkbox
         >指定文件夹抽题</el-checkbox
       >
       >
       <el-checkbox v-model="useDifficult" @change="setChange"
       <el-checkbox v-model="useDifficult" @change="setChange"
@@ -224,8 +224,17 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
+    useClassifyChange() {
+      this.$nextTick(() => {
+        if (this.useClassify) {
+          this.$refs.folderTree.setCheckedKeys([0]);
+        } else {
+          this.selectedFolderIds = [];
+          this.resetDataList();
+        }
+      });
+    },
     setChange() {
     setChange() {
-      if (!this.useClassify) this.selectedFolderIds = [];
       this.resetDataList();
       this.resetDataList();
     },
     },
     checkChange() {
     checkChange() {

+ 1 - 1
src/modules/question/components/QuestionEditDialog.vue

@@ -309,7 +309,7 @@ export default {
 
 
       let questionModel = this.$refs.QuestionEditDetail.getData();
       let questionModel = this.$refs.QuestionEditDetail.getData();
       questionModel.sourceDetailId = this.questionModel.sourceDetailId;
       questionModel.sourceDetailId = this.questionModel.sourceDetailId;
-      if (this.question.editMode === "paper") {
+      if (this.editMode === "paper") {
         this.$emit("modified", questionModel);
         this.$emit("modified", questionModel);
         this.loading = false;
         this.loading = false;
         this.close();
         this.close();