index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import Setting from "./setting";
  2. // 初始化模板
  3. export const initColumns = (arr) => {
  4. return arr.map((element) => ({
  5. ...element,
  6. ...Setting(element.type),
  7. }));
  8. };
  9. // 初始化参数
  10. export const initParams = (prop, key = "key", value = "value") =>
  11. Object.fromEntries(prop.map((item) => [item[key], item[value]]));
  12. // 初始化字典
  13. export const initDicts = (prop) =>
  14. Array.from(
  15. new Set(
  16. prop
  17. .filter((column) => column.inputType === "Select")
  18. .map((column) => column.referName)
  19. )
  20. );
  21. // 初始化校验
  22. export const initRules = (prop) => {
  23. const rules = {};
  24. prop
  25. .filter((column) => column.require)
  26. .forEach((column) => {
  27. const message = `${column.title}不能为空`;
  28. rules[column.key] = [
  29. { required: true, message: message, trigger: "change" },
  30. ];
  31. });
  32. return rules;
  33. };
  34. const pageSizes = [25, 50, 100];
  35. const layout = "total, prev, pager, next, sizes, jumper";
  36. const page = { pageNum: 1, pageSize: 25, total: 0 };
  37. export const initPageSizes = () => pageSizes;
  38. export const initLayout = () => layout;
  39. export const initPage = () => ({ pageNum: 1, pageSize: 25, total: 0 });