import { arr2obj } from "../data-transform"; export const initColumns = ( arr, prop = { disabled: false, readonly: false, clearable: false } ) => { return arr.map((element) => { element.config = element.config || {}; if (element.type === "Input") { } if (element.type === "InputDialog") { prop.readonly = true; } if (element.type === "InputNumber") { element.config = { controlsPosition: "right", ...element.config }; } if (element.type === "Select") { } if (element.type === "DatePicker") { element.config = { type: "date", ...element.config }; } if (element.type === "Upload") { element.value = []; } return { ...element, ...prop }; }); }; // 初始化参数 export const initParams = (prop, key = "key", value = "value") => arr2obj(prop, key, value); // 初始化字典 export const initDicts = (prop) => prop .filter((column) => column.type === "Select") .map((column) => column.config.optionsName); // 初始化校验 export const initRules = (prop) => { const rules = {}; prop .filter((column) => column.require) .forEach((column) => { const message = `${column.title}不能为空`; rules[column.key] = [ { required: true, message: message, trigger: "change" }, ]; }); return rules; }; const pageSizes = [25, 50, 100]; const layout = "total, prev, pager, next, sizes, jumper"; const page = { pageNum: 1, pageSize: 25, total: 0 }; export const initPageSizes = () => pageSizes; export const initLayout = () => layout; export const initPage = () => page;