componentSetting.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // 用于配置某些组件的常规配置,而无需修改组件
  2. import type { SorterResult } from '../components/Table';
  3. export default {
  4. // 表格配置
  5. table: {
  6. // 表格接口请求通用配置,可在组件prop覆盖
  7. // 支持 xxx.xxx.xxx格式
  8. fetchSetting: {
  9. // 传给后台的当前页字段
  10. pageField: 'pageNo',
  11. // 传给后台的每页显示多少条的字段
  12. sizeField: 'pageSize',
  13. // 接口返回表格数据的字段
  14. listField: 'records',
  15. // 接口返回表格总数的字段
  16. totalField: 'total',
  17. },
  18. // 可选的分页选项
  19. pageSizeOptions: ['10', '50', '100', '500'],
  20. // 表格默认尺寸
  21. defaultSize: 'middle',
  22. //默认每页显示多少条
  23. defaultPageSize: 100,
  24. // 默认排序方法
  25. defaultSortFn: (sortInfo: SorterResult) => {
  26. // 代码逻辑说明: VUEN-2199【表单设计器】多字段排序
  27. if (sortInfo instanceof Array) {
  28. const sortInfoArray: any[] = [];
  29. for (const item of sortInfo) {
  30. const info = getSort(item);
  31. if (info) {
  32. sortInfoArray.push(info);
  33. }
  34. }
  35. return {
  36. sortInfoString: JSON.stringify(sortInfoArray),
  37. };
  38. } else {
  39. const info = getSort(sortInfo);
  40. return info || {};
  41. }
  42. },
  43. // 自定义过滤方法
  44. defaultFilterFn: (data: Partial<Recordable<string[]>>) => {
  45. return data;
  46. },
  47. // 代码逻辑说明: 【issues/1188】BasicTable加上scrollToFirstRowOnChange类型定义
  48. scrollToFirstRowOnChange: false,
  49. },
  50. // 滚动组件配置
  51. scrollbar: {
  52. // 是否使用原生滚动样式
  53. // 开启后,菜单,弹窗,抽屉会使用原生滚动条组件
  54. native: false,
  55. },
  56. //表单配置
  57. form: {
  58. labelCol: {
  59. xs: { span: 24 },
  60. sm: { span: 4 },
  61. xl: { span: 6 },
  62. xxl: { span: 4 },
  63. },
  64. wrapperCol: {
  65. xs: { span: 24 },
  66. sm: { span: 18 },
  67. },
  68. //表单默认冒号
  69. colon: true,
  70. },
  71. };
  72. /**
  73. * 获取排序信息
  74. * @param item
  75. */
  76. function getSort(item) {
  77. const { field, order } = item;
  78. if (field && order) {
  79. const sortType = 'ascend' == order ? 'asc' : 'desc';
  80. return {
  81. // 排序字段
  82. column: field,
  83. // 排序方式 asc/desc
  84. order: sortType,
  85. };
  86. }
  87. return '';
  88. }