zhangjie 2 anni fa
parent
commit
c68436be42

+ 1 - 1
src/modules/paper-export/assets/styles/paper-temp-design.scss

@@ -15,7 +15,7 @@
       right: 0;
       bottom: 0;
       z-index: 8;
-      border: 1px dashed #d0d0d0;
+      border: 1px dashed #333;
     }
   }
 }

+ 27 - 8
src/modules/paper-export/components/PagePropEdit.vue

@@ -41,7 +41,7 @@
           >显示</el-checkbox
         >
       </el-form-item>
-      <el-form-item label="侧边栏">
+      <el-form-item v-if="form.pageSize !== 'A4'" label="侧边栏">
         <el-checkbox v-model="form.showSide" @change="pageChange"
           >显示</el-checkbox
         >
@@ -66,7 +66,7 @@ const COLUMN_OPTIONS = [
     value: 2,
     title: "二栏",
     label: "two",
-    sizeValid: ["A3", "A4"],
+    sizeValid: ["A3"],
     disabled: false,
   },
   {
@@ -84,6 +84,20 @@ const COLUMN_OPTIONS = [
     disabled: false,
   },
 ];
+const PAGE_SIZE_OPTIONS = {
+  A3: {
+    columnNumber: 2,
+    columnGap: 20,
+    showPageNo: true,
+    showSide: true,
+  },
+  A4: {
+    columnNumber: 1,
+    columnGap: 20,
+    showPageNo: true,
+    showSide: false,
+  },
+};
 
 export default {
   name: "PagePropEdit",
@@ -117,7 +131,7 @@ export default {
     },
   },
   methods: {
-    ...mapMutations("paper-export", ["setCurElement"]),
+    ...mapMutations("paper-export", ["setCurElement", "setPages", "setTopics"]),
     ...mapActions("paper-export", [
       "modifyPagesInfo",
       "rebuildPages",
@@ -138,7 +152,9 @@ export default {
     },
     columnNumChange(val) {
       this.form.columnNumber = val;
-      this.pageChange();
+      this.setPages([]);
+      this.setTopics([]);
+      this.$emit("init-page", this.form);
     },
     pageChange() {
       this.modifyPagesInfo(this.form);
@@ -155,11 +171,14 @@ export default {
         type: "warning",
       })
         .then(() => {
-          this.columnOptions = COLUMN_OPTIONS.filter((item) =>
-            item.sizeValid.includes(this.form.pageSize)
+          this.form = Object.assign(
+            {},
+            this.form,
+            PAGE_SIZE_OPTIONS[this.form.pageSize]
           );
-          this.form.columnNumber = this.columnOptions[0].value;
-          this.pageChange();
+          this.setPages([]);
+          this.setTopics([]);
+          this.$emit("init-page", this.form);
         })
         .catch(() => {
           this.form.pageSize = this.prePageSize;

+ 4 - 4
src/modules/paper-export/components/PaperTemplateDesign.vue

@@ -117,8 +117,8 @@
                 <page-number
                   v-if="curPage.showPageNo"
                   type="text"
-                  :total="pages.length * 2"
-                  :current="curPageNo * 2 + columnNo + 1"
+                  :total="pages.length * curPage.columns.length"
+                  :current="curPageNo * curPage.columns.length + columnNo + 1"
                 ></page-number>
               </div>
             </div>
@@ -256,8 +256,8 @@ export default {
         this.initPageData();
       }
     },
-    initPageData() {
-      this.setPages([getPageModel(), getPageModel()]);
+    initPageData(pageInfo = {}) {
+      this.setPages([getPageModel(pageInfo), getPageModel(pageInfo)]);
       this.setCurPage(0);
     },
     addNewTopic(type) {

+ 2 - 2
src/modules/paper-export/components/PaperTemplateView.vue

@@ -36,8 +36,8 @@
               </div>
               <page-number
                 type="text"
-                :total="pages.length * 2"
-                :current="pageNo * 2 + columnNo + 1"
+                :total="pages.length * page.columns.length"
+                :current="pageNo * page.columns.length + columnNo + 1"
               ></page-number>
             </div>
           </div>