/** * @param {any} prop - description * @param {string} key - description * @param {string} value - description */ export const initParams = (prop, key = "key", value = "value") => { // get params const object1 = Object.fromEntries( prop.map(({ item, attr }) => [item[key], attr[value]]) ); // get mapping params const object2 = {}; prop .filter((item) => item.attr.dataMapping) .map(({ attr: { dataMapping } }) => { for (let key in dataMapping) { object2[key] = null; } }); return { ...object1, ...object2 }; }; /** * @param {any} prop - description */ export const initRules = (prop) => { const rules = {}; prop .filter(({ item }) => item.required) .forEach(({ item, attr }) => { const message = `${item.title}不能为空`; rules[item.key] = attr.rules ? [ { required: true, message: message, trigger: "change" }, ...attr.rules ] : [{ required: true, message: message, trigger: "change" },]; }); return rules; }; /** * @param {any} prop - description */ export const initDicts = (prop) => { return Array.from( new Set( prop .filter((item) => item.attr.dictName) .map((item) => item.attr.dictName) ) ); }; export const initPage = () => { return { pageNum: 1, pageSize: 50, total: 0 }; };