浏览代码

feat: 题卡支持B4尺寸

zhangjie 3 周之前
父节点
当前提交
3201193880

+ 11 - 0
card/assets/styles/card-preview.scss

@@ -109,6 +109,17 @@
       }
     }
   }
+  &-B4 {
+    // w:353mm,h:250mm
+    width: 1334px;
+    height: 945px;
+
+    .page-main {
+      &-inner {
+        padding: 60px;
+      }
+    }
+  }
   &-8K {
     // w:390mm,h:270mm
     width: 1474px;

+ 3 - 4
card/components/PagePropEdit.vue

@@ -5,7 +5,6 @@
         <el-select
           v-model="form.pageSize"
           placeholder="请选择"
-          disabled
           @change="modifyPageSize"
         >
           <el-option
@@ -76,21 +75,21 @@ const COLUMN_OPTIONS = [
     value: 2,
     title: "二栏",
     label: "two",
-    sizeValid: ["A3", "A4", "8K"],
+    sizeValid: ["A3", "A4", "8K", "B4"],
     disabled: false,
   },
   {
     value: 3,
     title: "三栏",
     label: "three",
-    sizeValid: ["A3", "8K"],
+    sizeValid: ["A3", "8K", "B4"],
     disabled: false,
   },
   {
     value: 4,
     title: "四栏",
     label: "four",
-    sizeValid: ["A3", "8K"],
+    sizeValid: ["A3", "8K", "B4"],
     disabled: false,
   },
 ];

+ 1 - 0
card/elements/card-head/CardHead.vue

@@ -155,6 +155,7 @@ export default {
     },
     narrowCard() {
       return (
+        (this.data.pageSize === "B4" && this.data.columnNumber > 2) ||
         (this.data.pageSize === "8K" && this.data.columnNumber > 2) ||
         (this.data.pageSize === "A3" && this.data.columnNumber > 2) ||
         (this.data.pageSize === "A4" && this.data.columnNumber === 2)

+ 1 - 0
card/elements/card-head/cardHeadSpin/HeadDynamic.vue

@@ -138,6 +138,7 @@ export default {
       const { examNumberStyle, columnNumber, pageSize } = this.data;
       if (
         examNumberStyle === "FILL" ||
+        (pageSize === "B4" && columnNumber !== 2) ||
         (pageSize === "8K" && columnNumber !== 2) ||
         (pageSize === "A3" && columnNumber !== 2) ||
         (pageSize === "A4" && columnNumber !== 1)

+ 10 - 0
card/elements/fill-question/model.js

@@ -49,6 +49,11 @@ const getOptionStructInfo = (pageSize, columnNumber, model) => {
   // 不同栏数,不同选项个数,每一行对应的组数
   // 以一行4题,每题5选项为标准展示效果
   const numberPerChildren = {
+    B4: {
+      2: [0, 0, 6, 5, 4, 3, 3, 2, 2, 2, 2, 1],
+      3: [0, 0, 4, 3, 2, 2, 2, 1],
+      4: [0, 0, 3, 2, 2, 1],
+    },
     "8K": {
       2: [0, 0, 6, 5, 4, 4, 3, 3, 2, 2, 2, 2, 1],
       3: [0, 0, 4, 3, 3, 2, 2, 2, 1],
@@ -65,6 +70,11 @@ const getOptionStructInfo = (pageSize, columnNumber, model) => {
     },
   };
   const groupGapSet = {
+    B4: {
+      2: [0, 0, 30, 30, 35, 50, 40, 70, 70, 70, 40, 40],
+      3: [0, 0, 30, 30, 60, 60, 35, 25],
+      4: [0, 0, 30, 40, 30, 20],
+    },
     "8K": {
       2: [0, 0, 40, 35, 45, 22, 45, 30, 90, 90, 50, 40],
       3: [0, 0, 35, 40, 24, 60, 40, 25],

+ 1 - 1
src/constants/enumerate.js

@@ -173,7 +173,7 @@ export const EXAM_NUMBER_STYLE = {
   PASTE: "粘贴条码",
   FILL: "学号填涂",
 };
-export const CARD_SIZE_TYPE = ["A3", "8K"];
+export const CARD_SIZE_TYPE = ["A3", "8K", "B4"];
 
 // 试卷类型方式
 export const PAPER_TYPE = {