Forráskód Böngészése

试卷结构复用

zhangjie 2 éve
szülő
commit
96c2ca686d

+ 1 - 23
src/modules/paper/components/BuildPaperAuto.vue

@@ -3,13 +3,6 @@
     <div class="build-step-title">
       <h3><span>试卷结构设置</span></h3>
       <div>
-        <el-button
-          v-if="!isEdit"
-          type="success"
-          size="small"
-          @click="toSelectStruct"
-          >选择试卷结构</el-button
-        >
         <el-button
           type="primary"
           size="small"
@@ -73,6 +66,7 @@
             courseId,
             sourceDetailId: detail.sourceDetailId,
           }"
+          :data-source="detail"
           @count-change="(val) => structCountChange(val, detail)"
         ></question-group-struct>
       </el-collapse-item>
@@ -84,19 +78,12 @@
       :detail="curDetail"
       @modified="detailModified"
     ></modify-detail-struct>
-    <!-- AutoBuildPaperStructManage -->
-    <auto-build-paper-struct-manage
-      v-if="!isEdit"
-      ref="AutoBuildPaperStructManage"
-      :course-id="courseId"
-    ></auto-build-paper-struct-manage>
   </div>
 </template>
 
 <script>
 import ModifyDetailStruct from "./ModifyDetailStruct.vue";
 import QuestionGroupStruct from "./QuestionGroupStruct.vue";
-import AutoBuildPaperStructManage from "./AutoBuildPaperStructManage.vue";
 import { isAnEmptyRichText } from "@/utils/utils";
 import { deepCopy } from "@/plugins/utils";
 
@@ -105,7 +92,6 @@ export default {
   components: {
     ModifyDetailStruct,
     QuestionGroupStruct,
-    AutoBuildPaperStructManage,
   },
   props: {
     courseId: {
@@ -126,11 +112,6 @@ export default {
       activeNames: [],
     };
   },
-  computed: {
-    isEdit() {
-      return !!(this.detailSource && this.detailSource.length);
-    },
-  },
   mounted() {
     if (this.detailSource) {
       this.details = deepCopy(this.detailSource);
@@ -138,9 +119,6 @@ export default {
   },
   methods: {
     isAnEmptyRichText,
-    toSelectStruct() {
-      this.$refs.AutoBuildPaperStructManage.open();
-    },
     addDetail() {
       this.curDetail = { courseId: this.courseId };
       this.$refs.ModifyDetailStruct.open();

+ 6 - 8
src/modules/paper/components/ModifyAutoBuildPaperStruct.vue

@@ -28,9 +28,9 @@
       </div>
 
       <div class="build-paper part-box">
-        <BuildPaperAutoStruct
+        <BuildPaperAuto
           v-if="modalIsShow"
-          ref="BuildPaperAutoStruct"
+          ref="BuildPaperAuto"
           :course-id="instance.courseId"
           :detail-source="instance.structInfo"
         />
@@ -43,11 +43,11 @@
 
 <script>
 import { autoBuildPaperStructSaveApi } from "../api";
-import BuildPaperAutoStruct from "./BuildPaperAutoStruct.vue";
+import BuildPaperAuto from "./BuildPaperAuto.vue";
 
 export default {
   name: "ModifyAutoBuildPaperStruct",
-  components: { BuildPaperAutoStruct },
+  components: { BuildPaperAuto },
   props: {
     instance: {
       type: Object,
@@ -70,14 +70,12 @@ export default {
       this.modalIsShow = true;
     },
     async confirm() {
-      const valid = await this.$refs.BuildPaperAutoStruct.validate().catch(
-        () => {}
-      );
+      const valid = await this.$refs.BuildPaperAuto.validate().catch(() => {});
       if (!valid) return;
 
       if (this.loading) return;
       this.loading = true;
-      let questionInfo = this.$refs.BuildPaperAutoStruct.getData();
+      let questionInfo = this.$refs.BuildPaperAuto.getData();
 
       let datas = { ...this.instance };
       datas.structInfo = JSON.stringify(questionInfo.detailInfo);

+ 26 - 7
src/modules/paper/views/BuildPaper.vue

@@ -8,12 +8,6 @@
           <span>课程名称:{{ modalForm.courseName }}</span>
         </div>
         <div>
-          <el-checkbox
-            v-if="IS_AUTO_MODE"
-            v-model="isSaveStructInfo"
-            style="margin-right: 10px"
-            >同时保存为试卷结构模板</el-checkbox
-          >
           <el-button
             type="primary"
             size="small"
@@ -121,6 +115,14 @@
           </el-radio-group>
         </el-form-item>
       </el-form>
+      <div v-if="IS_AUTO_MODE" style="text-align: right">
+        <el-checkbox v-model="isSaveStructInfo" style="margin-right: 10px"
+          >同时保存为试卷结构模板</el-checkbox
+        >
+        <el-button type="success" size="small" @click="toSelectStruct"
+          >选择试卷结构</el-button
+        >
+      </div>
     </div>
 
     <div class="part-box">
@@ -130,6 +132,13 @@
         :course-id="modalForm.courseId"
       ></component>
     </div>
+
+    <!-- AutoBuildPaperStructManage -->
+    <auto-build-paper-struct-manage
+      v-if="IS_AUTO_MODE"
+      ref="AutoBuildPaperStructManage"
+      :course-id="modalForm.courseId"
+    ></auto-build-paper-struct-manage>
   </div>
 </template>
 
@@ -137,6 +146,8 @@
 import BuildPaperAuto from "../components/BuildPaperAuto.vue";
 import BuildPaperManual from "../components/BuildPaperManual.vue";
 import BuildPaperSimple from "../components/BuildPaperSimple.vue";
+import AutoBuildPaperStructManage from "../components/AutoBuildPaperStructManage.vue";
+
 import { buildPaperApi, autoBuildPaperStructSaveApi } from "../api";
 
 const initModalForm = {
@@ -154,7 +165,12 @@ const initModalForm = {
 
 export default {
   name: "BuildPaper",
-  components: { BuildPaperAuto, BuildPaperManual, BuildPaperSimple },
+  components: {
+    BuildPaperAuto,
+    BuildPaperManual,
+    BuildPaperSimple,
+    AutoBuildPaperStructManage,
+  },
   data() {
     return {
       loading: false,
@@ -219,6 +235,9 @@ export default {
     this.modalForm.courseId = genPaperInfo.courseId;
   },
   methods: {
+    toSelectStruct() {
+      this.$refs.AutoBuildPaperStructManage.open();
+    },
     async confirm() {
       let valid = await this.$refs.modalFormComp.validate().catch(() => {});
       if (!valid) return;