123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import {
- getElementId,
- randomCode,
- deepCopy,
- getNumList,
- objAssign
- } from "../../plugins/utils";
- const MODEL = {
- type: "PAGE",
- columnGap: 20,
- locators: [],
- globals: [],
- columns: [],
- pageSize: "A3",
- columnNumber: 2,
- showForbidArea: false
- };
- // 可编辑栏
- const COLUMN = {
- type: "COLUMN",
- x: "",
- y: "",
- w: "",
- h: "",
- elements: []
- };
- // 定位点
- const LOCATOR = {
- type: "LOCATOR",
- x: "",
- y: "",
- w: "",
- h: ""
- };
- const getModel = (datas = {}) => {
- let npage = deepCopy(MODEL);
- npage = objAssign(npage, datas);
- npage.id = getElementId();
- const { pageSize, columnNumber } = npage;
- if (
- (pageSize === "A3" && columnNumber === 4) ||
- (pageSize === "A4" && columnNumber === 2)
- ) {
- npage.columnGap = 10;
- }
- const num = pageSize === "A3" ? 3 : 2;
- npage.locators = getNumList(num).map((item, index) => {
- const id = getElementId();
- return [
- {
- ...LOCATOR,
- id: `locator-${id}-${index}0`
- },
- {
- ...LOCATOR,
- id: `locator-${id}-${index}1`
- }
- ];
- });
- npage.columns = getNumList(columnNumber).map(() => {
- return { id: `column-${randomCode()}`, ...deepCopy(COLUMN) };
- });
- return npage;
- };
- export { MODEL, getModel };
|