el-plus 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +227 -104
  4. package/dist/index.full.min.js +1 -1
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +1 -1
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +226 -104
  9. package/es/components/date-picker-range/index.d.ts +3 -3
  10. package/es/components/date-picker-range/src/date-picker-range.vue.d.ts +1 -1
  11. package/es/components/form/src/form-item-vue.d.ts +2 -2
  12. package/es/components/form/src/form-item.d.ts +1 -1
  13. package/es/components/form/src/form-item.mjs.map +1 -1
  14. package/es/components/form/src/hooks/use-form-item.mjs +3 -1
  15. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  16. package/es/components/index.d.ts +1 -0
  17. package/es/components/index.mjs +2 -0
  18. package/es/components/index.mjs.map +1 -1
  19. package/es/components/input/style/css.d.ts +1 -1
  20. package/es/components/input/style/css.mjs +1 -1
  21. package/es/components/input/style/index.d.ts +1 -1
  22. package/es/components/input/style/index.mjs +1 -1
  23. package/es/components/link/index.d.ts +118 -0
  24. package/es/components/link/index.mjs +8 -0
  25. package/es/components/link/index.mjs.map +1 -0
  26. package/es/components/link/src/link.d.ts +30 -0
  27. package/es/components/link/src/link.mjs +19 -0
  28. package/es/components/link/src/link.mjs.map +1 -0
  29. package/es/components/link/src/link.vue.d.ts +73 -0
  30. package/es/components/link/src/link.vue.mjs +6 -0
  31. package/es/components/link/src/link.vue.mjs.map +1 -0
  32. package/es/components/link/src/link.vue2.mjs +52 -0
  33. package/es/components/link/src/link.vue2.mjs.map +1 -0
  34. package/es/components/link/style/css.d.ts +2 -0
  35. package/es/components/link/style/css.mjs +5 -0
  36. package/es/components/link/style/css.mjs.map +1 -0
  37. package/es/components/link/style/index.d.ts +2 -0
  38. package/es/components/link/style/index.mjs +5 -0
  39. package/es/components/link/style/index.mjs.map +1 -0
  40. package/es/components/search-list-page/index.d.ts +51 -30
  41. package/es/components/search-list-page/src/search-list-page.d.ts +1 -1
  42. package/es/components/search-list-page/src/search-list-page.mjs +3 -3
  43. package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
  44. package/es/components/search-list-page/src/search-list-page.vue.d.ts +16 -11
  45. package/es/components/search-list-page/src/search-list-page.vue2.mjs +4 -3
  46. package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
  47. package/es/components/search-list-page/src/use-search-list-page.d.ts +15 -9
  48. package/es/components/search-list-page/src/use-search-list-page.mjs +4 -4
  49. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  50. package/es/components/table/index.d.ts +11 -6
  51. package/es/components/table/src/table.d.ts +2 -1
  52. package/es/components/table/src/table.mjs +2 -2
  53. package/es/components/table/src/table.mjs.map +1 -1
  54. package/es/components/table/src/table.vue.d.ts +4 -3
  55. package/es/components/table/src/table.vue2.mjs +4 -3
  56. package/es/components/table/src/table.vue2.mjs.map +1 -1
  57. package/es/components/table/src/use-table.d.ts +71 -12
  58. package/es/components/table/src/use-table.mjs +84 -27
  59. package/es/components/table/src/use-table.mjs.map +1 -1
  60. package/es/components.mjs +3 -1
  61. package/es/components.mjs.map +1 -1
  62. package/es/hooks/dialog/use-dialog.d.ts +2 -0
  63. package/es/hooks/dialog/use-dialog.mjs +4 -3
  64. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  65. package/es/index.mjs +2 -0
  66. package/es/index.mjs.map +1 -1
  67. package/es/package.json.mjs +1 -1
  68. package/es/utils/file.d.ts +18 -0
  69. package/es/utils/file.mjs +133 -0
  70. package/es/utils/file.mjs.map +1 -0
  71. package/es/utils/http/core/types.d.ts +1 -0
  72. package/global.d.ts +6 -4
  73. package/lib/components/date-picker-range/index.d.ts +3 -3
  74. package/lib/components/date-picker-range/src/date-picker-range.vue.d.ts +1 -1
  75. package/lib/components/form/src/form-item-vue.d.ts +2 -2
  76. package/lib/components/form/src/form-item.d.ts +1 -1
  77. package/lib/components/form/src/form-item.js.map +1 -1
  78. package/lib/components/form/src/hooks/use-form-item.js +3 -1
  79. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  80. package/lib/components/index.d.ts +1 -0
  81. package/lib/components/index.js +4 -0
  82. package/lib/components/index.js.map +1 -1
  83. package/lib/components/input/style/css.d.ts +1 -1
  84. package/lib/components/input/style/css.js +1 -1
  85. package/lib/components/input/style/index.d.ts +1 -1
  86. package/lib/components/input/style/index.js +1 -1
  87. package/lib/components/link/index.d.ts +118 -0
  88. package/lib/components/link/index.js +14 -0
  89. package/lib/components/link/index.js.map +1 -0
  90. package/lib/components/link/src/link.d.ts +30 -0
  91. package/lib/components/link/src/link.js +21 -0
  92. package/lib/components/link/src/link.js.map +1 -0
  93. package/lib/components/link/src/link.vue.d.ts +73 -0
  94. package/lib/components/link/src/link.vue.js +10 -0
  95. package/lib/components/link/src/link.vue.js.map +1 -0
  96. package/lib/components/link/src/link.vue2.js +56 -0
  97. package/lib/components/link/src/link.vue2.js.map +1 -0
  98. package/lib/components/link/style/css.d.ts +2 -0
  99. package/lib/components/link/style/css.js +7 -0
  100. package/lib/components/link/style/css.js.map +1 -0
  101. package/lib/components/link/style/index.d.ts +2 -0
  102. package/lib/components/link/style/index.js +7 -0
  103. package/lib/components/link/style/index.js.map +1 -0
  104. package/lib/components/search-list-page/index.d.ts +51 -30
  105. package/lib/components/search-list-page/src/search-list-page.d.ts +1 -1
  106. package/lib/components/search-list-page/src/search-list-page.js +3 -3
  107. package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
  108. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +16 -11
  109. package/lib/components/search-list-page/src/search-list-page.vue2.js +3 -2
  110. package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
  111. package/lib/components/search-list-page/src/use-search-list-page.d.ts +15 -9
  112. package/lib/components/search-list-page/src/use-search-list-page.js +4 -4
  113. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  114. package/lib/components/table/index.d.ts +11 -6
  115. package/lib/components/table/src/table.d.ts +2 -1
  116. package/lib/components/table/src/table.js +2 -2
  117. package/lib/components/table/src/table.js.map +1 -1
  118. package/lib/components/table/src/table.vue.d.ts +4 -3
  119. package/lib/components/table/src/table.vue2.js +4 -3
  120. package/lib/components/table/src/table.vue2.js.map +1 -1
  121. package/lib/components/table/src/use-table.d.ts +71 -12
  122. package/lib/components/table/src/use-table.js +83 -26
  123. package/lib/components/table/src/use-table.js.map +1 -1
  124. package/lib/components.js +3 -1
  125. package/lib/components.js.map +1 -1
  126. package/lib/hooks/dialog/use-dialog.d.ts +2 -0
  127. package/lib/hooks/dialog/use-dialog.js +4 -3
  128. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  129. package/lib/index.js +10 -6
  130. package/lib/index.js.map +1 -1
  131. package/lib/package.json.js +1 -1
  132. package/lib/utils/file.d.ts +18 -0
  133. package/lib/utils/file.js +136 -0
  134. package/lib/utils/file.js.map +1 -0
  135. package/lib/utils/http/core/types.d.ts +1 -0
  136. package/package.json +1 -1
  137. package/theme-chalk/custom-column.css +1 -1
  138. package/theme-chalk/index.css +1 -1
  139. package/theme-chalk/link.css +1 -0
  140. package/theme-chalk/src/custom-column.scss +6 -4
  141. package/theme-chalk/src/index.scss +2 -1
  142. package/theme-chalk/src/link.scss +6 -0
  143. package/theme-chalk/src/table.scss +20 -1
  144. package/theme-chalk/table.css +1 -1
@@ -38,9 +38,9 @@ const searchListPageProps = {
38
38
  actionButtons: {
39
39
  ...table.tableProps.actionButtons
40
40
  },
41
- // 链接列
42
- linkProps: {
43
- ...table.tableProps.linkProps
41
+ // 格式化列
42
+ formatColumns: {
43
+ ...table.tableProps.formatColumns
44
44
  },
45
45
  showSelectionCol: Boolean,
46
46
  showSingleSelectionCol: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport { apiProps } from '@el-plus/utils/props'\nimport { formProps } from '@el-plus/components/form'\nimport { buttonsProps } from '@el-plus/components/buttons'\nimport { tableProps } from '@el-plus/components/table'\nimport { customColumnProps } from '@el-plus/components/custom-column'\n\nexport const searchListPageProps = {\n ...apiProps,\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n showOperationColumn: Boolean, // 是否显示操作列\n // 表单列表\n formItemList: {\n ...formProps.formItemList,\n },\n // 左侧按钮\n leftButtons: {\n ...buttonsProps.list,\n },\n // 表格列\n columns: {\n ...tableProps.columns,\n },\n // 列最小宽度\n minWidth: {\n ...tableProps.minWidth,\n },\n // 操作列宽度\n actionColWidth: {\n ...tableProps.actionColWidth,\n },\n // 操作列\n actionButtons: {\n ...tableProps.actionButtons,\n },\n // 链接列\n linkProps: {\n ...tableProps.linkProps,\n },\n showSelectionCol: Boolean,\n showSingleSelectionCol: Boolean,\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n add: Function, // 新增\n templateDownloadApi: String, // 模板下载\n importApi: String, // 导入\n exportApi: String, // 导出\n // 表格额外距离\n offsetTop: {\n type: Number,\n default: 0,\n },\n formData: {\n type: Object,\n default: () => ({}),\n },\n tableProps: Object,\n formProps: Object,\n buttonsProps: Object,\n name: String, // 权限前缀\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n} as const\nexport type SearchListPageProps = ExtractPublicPropTypes<\n typeof searchListPageProps\n>\n"],"names":["apiProps","customColumnProps","formProps","buttonsProps","tableProps"],"mappings":";;;;;;;;AAOO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAGA,cAAA;AAAA;AAAA,EAEH,kBAAA,EAAoB;AAAA,IAClB,GAAGC,8BAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB,OAAA;AAAA;AAAA;AAAA,EAErB,YAAA,EAAc;AAAA,IACZ,GAAGC,cAAA,CAAU;AAAA,GACf;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,GAAGC,oBAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,GAAGC,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA,EACA,gBAAA,EAAkB,OAAA;AAAA,EAClB,sBAAA,EAAwB,OAAA;AAAA,EACxB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,QAAA;AAAA;AAAA,EACL,mBAAA,EAAqB,MAAA;AAAA;AAAA,EACrB,SAAA,EAAW,MAAA;AAAA;AAAA,EACX,SAAA,EAAW,MAAA;AAAA;AAAA;AAAA,EAEX,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,SAAA,EAAW,MAAA;AAAA,EACX,YAAA,EAAc,MAAA;AAAA,EACd,IAAA,EAAM,MAAA;AAAA;AAAA;AAAA,EAEN,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;;;;"}
1
+ {"version":3,"file":"search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport { apiProps } from '@el-plus/utils/props'\nimport { formProps } from '@el-plus/components/form'\nimport { buttonsProps } from '@el-plus/components/buttons'\nimport { tableProps } from '@el-plus/components/table'\nimport { customColumnProps } from '@el-plus/components/custom-column'\n\nexport const searchListPageProps = {\n ...apiProps,\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n showOperationColumn: Boolean, // 是否显示操作列\n // 表单列表\n formItemList: {\n ...formProps.formItemList,\n },\n // 左侧按钮\n leftButtons: {\n ...buttonsProps.list,\n },\n // 表格列\n columns: {\n ...tableProps.columns,\n },\n // 列最小宽度\n minWidth: {\n ...tableProps.minWidth,\n },\n // 操作列宽度\n actionColWidth: {\n ...tableProps.actionColWidth,\n },\n // 操作列\n actionButtons: {\n ...tableProps.actionButtons,\n },\n // 格式化列\n formatColumns: {\n ...tableProps.formatColumns,\n },\n showSelectionCol: Boolean,\n showSingleSelectionCol: Boolean,\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n add: Function, // 新增\n templateDownloadApi: String, // 模板下载\n importApi: String, // 导入\n exportApi: String, // 导出\n // 表格额外距离\n offsetTop: {\n type: Number,\n default: 0,\n },\n formData: {\n type: Object,\n default: () => ({}),\n },\n tableProps: Object,\n formProps: Object,\n buttonsProps: Object,\n name: String, // 权限前缀\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n} as const\nexport type SearchListPageProps = ExtractPublicPropTypes<\n typeof searchListPageProps\n>\n"],"names":["apiProps","customColumnProps","formProps","buttonsProps","tableProps"],"mappings":";;;;;;;;AAOO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAGA,cAAA;AAAA;AAAA,EAEH,kBAAA,EAAoB;AAAA,IAClB,GAAGC,8BAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB,OAAA;AAAA;AAAA;AAAA,EAErB,YAAA,EAAc;AAAA,IACZ,GAAGC,cAAA,CAAU;AAAA,GACf;AAAA;AAAA,EAEA,WAAA,EAAa;AAAA,IACX,GAAGC,oBAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,OAAA,EAAS;AAAA,IACP,GAAGC,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,GAAGA,gBAAA,CAAW;AAAA,GAChB;AAAA,EACA,gBAAA,EAAkB,OAAA;AAAA,EAClB,sBAAA,EAAwB,OAAA;AAAA,EACxB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,GAAA,EAAK,QAAA;AAAA;AAAA,EACL,mBAAA,EAAqB,MAAA;AAAA;AAAA,EACrB,SAAA,EAAW,MAAA;AAAA;AAAA,EACX,SAAA,EAAW,MAAA;AAAA;AAAA;AAAA,EAEX,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,UAAA,EAAY,MAAA;AAAA,EACZ,SAAA,EAAW,MAAA;AAAA,EACX,YAAA,EAAc,MAAA;AAAA,EACd,IAAA,EAAM,MAAA;AAAA;AAAA;AAAA,EAEN,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;;;;"}
@@ -31,7 +31,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
31
31
  readonly type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
32
32
  readonly default: () => never[];
33
33
  };
34
- readonly linkProps: {
34
+ readonly formatColumns: {
35
35
  readonly type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
36
36
  readonly default: () => never[];
37
37
  };
@@ -104,6 +104,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
104
104
  type: string;
105
105
  props: Record<string, any>;
106
106
  filter: boolean;
107
+ editable: boolean | ((formData: Record<string, any>) => void);
107
108
  } & {} & {
108
109
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
109
110
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -161,7 +162,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
161
162
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
162
163
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
163
164
  }>[];
164
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
165
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
165
166
  name: string;
166
167
  prop: string;
167
168
  permission: string;
@@ -210,6 +211,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
210
211
  type: string;
211
212
  props: Record<string, any>;
212
213
  filter: boolean;
214
+ editable: boolean | ((formData: Record<string, any>) => void);
213
215
  } & {} & {
214
216
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
215
217
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -267,7 +269,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
267
269
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
268
270
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
269
271
  }>[];
270
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
272
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
271
273
  name: string;
272
274
  prop: string;
273
275
  permission: string;
@@ -339,7 +341,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
339
341
  readonly tooltipEffect?: string | undefined;
340
342
  readonly appendFilterPanelTo?: string | undefined;
341
343
  readonly scrollbarTabindex?: string | number | undefined;
342
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "linkProps" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
344
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
343
345
  $attrs: {
344
346
  [x: string]: unknown;
345
347
  };
@@ -394,7 +396,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
394
396
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
395
397
  default: () => never[];
396
398
  };
397
- readonly linkProps: {
399
+ readonly formatColumns: {
398
400
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
399
401
  default: () => never[];
400
402
  };
@@ -1150,6 +1152,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1150
1152
  type: string;
1151
1153
  props: Record<string, any>;
1152
1154
  filter: boolean;
1155
+ editable: boolean | ((formData: Record<string, any>) => void);
1153
1156
  } & {} & {
1154
1157
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1155
1158
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1207,7 +1210,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1207
1210
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1208
1211
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1209
1212
  }>[];
1210
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1213
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1211
1214
  name: string;
1212
1215
  prop: string;
1213
1216
  permission: string;
@@ -1276,6 +1279,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1276
1279
  type: string;
1277
1280
  props: Record<string, any>;
1278
1281
  filter: boolean;
1282
+ editable: boolean | ((formData: Record<string, any>) => void);
1279
1283
  } & {} & {
1280
1284
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1281
1285
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1333,7 +1337,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1333
1337
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1334
1338
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1335
1339
  }>[];
1336
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1340
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1337
1341
  name: string;
1338
1342
  prop: string;
1339
1343
  permission: string;
@@ -1403,7 +1407,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1403
1407
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
1404
1408
  default: () => never[];
1405
1409
  };
1406
- readonly linkProps: {
1410
+ readonly formatColumns: {
1407
1411
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
1408
1412
  default: () => never[];
1409
1413
  };
@@ -2132,7 +2136,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2132
2136
  };
2133
2137
  readonly preserveExpandedContent: BooleanConstructor;
2134
2138
  readonly nativeScrollbar: BooleanConstructor;
2135
- }>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "linkProps" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2139
+ }>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2136
2140
  elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
2137
2141
  elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
2138
2142
  validate: () => import("element-plus").FormValidationResult;
@@ -2436,7 +2440,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2436
2440
  readonly type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
2437
2441
  readonly default: () => never[];
2438
2442
  };
2439
- readonly linkProps: {
2443
+ readonly formatColumns: {
2440
2444
  readonly type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
2441
2445
  readonly default: () => never[];
2442
2446
  };
@@ -2496,6 +2500,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2496
2500
  type: string;
2497
2501
  props: Record<string, any>;
2498
2502
  filter: boolean;
2503
+ editable: boolean | ((formData: Record<string, any>) => void);
2499
2504
  } & {} & {
2500
2505
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
2501
2506
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -2517,7 +2522,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2517
2522
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
2518
2523
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
2519
2524
  }>[];
2520
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
2525
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
2521
2526
  name: string;
2522
2527
  prop: string;
2523
2528
  permission: string;
@@ -26,7 +26,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
26
26
  reset,
27
27
  tableRef,
28
28
  formRef,
29
- tableProps
29
+ tableProps,
30
+ beforeSearch
30
31
  } = useSearchListPage.useSearchListPage(props$1);
31
32
  __expose({
32
33
  search,
@@ -57,7 +58,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
57
58
  ], 2)
58
59
  ]),
59
60
  vue.renderSlot(_ctx.$slots, "tableBefore"),
60
- vue.createVNode(vue.unref(index$2.EpTable), vue.normalizeProps(vue.guardReactiveProps(vue.unref(tableProps))), null, 16)
61
+ vue.createVNode(vue.unref(index$2.EpTable), vue.mergeProps(vue.unref(tableProps), { "before-search": vue.unref(beforeSearch) }), null, 16, ["before-search"])
61
62
  ], 6);
62
63
  };
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-list-page.vue2.js","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div id=\"top\">\n <EpForm v-bind=\"formProps\" />\n </div>\n <div id=\"middle\">\n <div :class=\"bem.e('middle-left')\">\n <EpButtons v-bind=\"buttonsProps\" />\n </div>\n <div :class=\"bem.e('middle-right')\">\n <EpButtons :list=\"searchButtons\" />\n </div>\n </div>\n <slot name=\"tableBefore\"></slot>\n <EpTable v-bind=\"tableProps\" />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { nextTick, ref } from 'vue'\nimport EpForm from '@el-plus/components/form'\nimport EpTable from '@el-plus/components/table'\nimport EpButtons from '@el-plus/components/buttons'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { searchListPageProps } from './search-list-page'\nimport { useSearchListPage } from './use-search-list-page'\nimport { computed } from 'vue'\ndefineOptions({ name: 'EpSearchListPage' })\nconst bem = createNameSpace('search-list-page')\nconst props = defineProps(searchListPageProps)\n\nconst {\n formProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n tableProps,\n} = useSearchListPage(props)\n\ndefineExpose({\n search,\n reset,\n tableRef,\n formRef,\n})\n</script>\n"],"names":["bem","createNameSpace","props","useSearchListPage","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createElementVNode","_createVNode","EpButtons","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;AAsCA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,kBAAkB,CAAA;AAC9C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACF,GAAIC,oCAAkBD,OAAK,CAAA;AAE3B,IAAA,QAAA,CAAa;AAAA,MACX,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;8BAxDCE,sBAAA,CAmBM,KAAA,EAAA;AAAA,QAlBH,KAAA,EAAKC,kBAAA,CAAA,CAAGC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,IAAKM,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,kBAAA,CAAA;AAAA,aAAaF,SAAA,CAAAG,mBAAA,CAAA;AAAa;;QAIhCC,sBAAA,CAEM,KAAA,EAAA,EAFD,EAAA,EAAG,OAAK,EAAA;AAAA,UACXC,eAAA,CAA6BL,SAAA,0DAAbA,SAAA,CAAA,SAAA,CAAS,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;QAE3BI,sBAAA,CAOM,KAAA,EAAA,EAPD,EAAA,EAAG,UAAQ,EAAA;AAAA,UACdA,uBAEM,KAAA,EAAA;AAAA,YAFA,OAAKL,kBAAA,CAAEC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,CAAC,aAAA,CAAA;AAAA;YAChBW,eAAA,CAAmCL,SAAA,+DAAhBA,SAAA,CAAA,YAAA,CAAY,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;UAEjCI,uBAEM,KAAA,EAAA;AAAA,YAFA,OAAKL,kBAAA,CAAEC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,CAAC,cAAA,CAAA;AAAA;YAChBW,eAAA,CAAmCL,SAAA,CAAAM,iBAAA,CAAA,EAAA,EAAvB,IAAA,EAAMN,SAAA,CAAA,aAAA,CAAA,EAAa,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA;AAAA;;QAGnCO,cAAA,CAAgC,IAAA,CAAA,MAAA,EAAA,aAAA,CAAA;AAAA,QAChCF,eAAA,CAA+BL,SAAA,6DAAdA,SAAA,CAAA,UAAA,CAAU,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"search-list-page.vue2.js","sources":["../../../../../../packages/components/search-list-page/src/search-list-page.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div id=\"top\">\n <EpForm v-bind=\"formProps\" />\n </div>\n <div id=\"middle\">\n <div :class=\"bem.e('middle-left')\">\n <EpButtons v-bind=\"buttonsProps\" />\n </div>\n <div :class=\"bem.e('middle-right')\">\n <EpButtons :list=\"searchButtons\" />\n </div>\n </div>\n <slot name=\"tableBefore\"></slot>\n <EpTable v-bind=\"tableProps\" :before-search=\"beforeSearch\" />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { nextTick, ref } from 'vue'\nimport EpForm from '@el-plus/components/form'\nimport EpTable from '@el-plus/components/table'\nimport EpButtons from '@el-plus/components/buttons'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { searchListPageProps } from './search-list-page'\nimport { useSearchListPage } from './use-search-list-page'\ndefineOptions({ name: 'EpSearchListPage' })\nconst bem = createNameSpace('search-list-page')\nconst props = defineProps(searchListPageProps)\n\nconst {\n formProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n tableProps,\n beforeSearch,\n} = useSearchListPage(props)\n\ndefineExpose({\n search,\n reset,\n tableRef,\n formRef,\n})\n</script>\n"],"names":["bem","createNameSpace","props","useSearchListPage","_createElementBlock","_normalizeClass","_unref","prepareClassNames","_normalizeStyle","prepareStyles","_createElementVNode","_createVNode","EpButtons","_renderSlot","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;AAqCA,IAAA,MAAMA,KAAA,GAAMC,oBAAgB,kBAAkB,CAAA;AAC9C,IAAA,MAAMC,OAAA,GAAQ,OAAA;AAEd,IAAA,MAAM;AAAA,MACJ,SAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,GAAIC,oCAAkBD,OAAK,CAAA;AAE3B,IAAA,QAAA,CAAa;AAAA,MACX,MAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACD,CAAA;;8BAxDCE,sBAAA,CAmBM,KAAA,EAAA;AAAA,QAlBH,KAAA,EAAKC,kBAAA,CAAA,CAAGC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,IAAKM,SAAA,CAAAC,uBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAClC,OAAKC,kBAAA,CAAA;AAAA,aAAaF,SAAA,CAAAG,mBAAA,CAAA;AAAa;;QAIhCC,sBAAA,CAEM,KAAA,EAAA,EAFD,EAAA,EAAG,OAAK,EAAA;AAAA,UACXC,eAAA,CAA6BL,SAAA,0DAAbA,SAAA,CAAA,SAAA,CAAS,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;QAE3BI,sBAAA,CAOM,KAAA,EAAA,EAPD,EAAA,EAAG,UAAQ,EAAA;AAAA,UACdA,uBAEM,KAAA,EAAA;AAAA,YAFA,OAAKL,kBAAA,CAAEC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,CAAC,aAAA,CAAA;AAAA;YAChBW,eAAA,CAAmCL,SAAA,+DAAhBA,SAAA,CAAA,YAAA,CAAY,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA;AAAA;UAEjCI,uBAEM,KAAA,EAAA;AAAA,YAFA,OAAKL,kBAAA,CAAEC,SAAA,CAAAN,KAAA,CAAA,CAAI,CAAA,CAAC,cAAA,CAAA;AAAA;YAChBW,eAAA,CAAmCL,SAAA,CAAAM,iBAAA,CAAA,EAAA,EAAvB,IAAA,EAAMN,SAAA,CAAA,aAAA,CAAA,EAAa,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA;AAAA;;QAGnCO,cAAA,CAAgC,IAAA,CAAA,MAAA,EAAA,aAAA,CAAA;AAAA,QAChCF,gBAA6DL,SAAA,mBAA7DQ,cAAA,CAA6DR,SAAA,cAAlC,EAAG,iBAAeA,SAAA,CAAA,YAAA,GAAY,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA;AAAA;;;;;;;"}
@@ -19,6 +19,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
19
19
  type: string;
20
20
  props: Record<string, any>;
21
21
  filter: boolean;
22
+ editable: boolean | ((formData: Record<string, any>) => void);
22
23
  } & {} & {
23
24
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
24
25
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -41,7 +42,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
41
42
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
42
43
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
43
44
  }>[] | undefined;
44
- linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
45
+ formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
45
46
  name: string;
46
47
  prop: string;
47
48
  permission: string;
@@ -100,6 +101,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
100
101
  type: string;
101
102
  props: Record<string, any>;
102
103
  filter: boolean;
104
+ editable: boolean | ((formData: Record<string, any>) => void);
103
105
  } & {} & {
104
106
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
105
107
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -157,7 +159,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
157
159
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
158
160
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
159
161
  }>[];
160
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
162
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
161
163
  name: string;
162
164
  prop: string;
163
165
  permission: string;
@@ -206,6 +208,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
206
208
  type: string;
207
209
  props: Record<string, any>;
208
210
  filter: boolean;
211
+ editable: boolean | ((formData: Record<string, any>) => void);
209
212
  } & {} & {
210
213
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
211
214
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -263,7 +266,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
263
266
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
264
267
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
265
268
  }>[];
266
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
269
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
267
270
  name: string;
268
271
  prop: string;
269
272
  permission: string;
@@ -335,7 +338,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
335
338
  readonly tooltipEffect?: string | undefined;
336
339
  readonly appendFilterPanelTo?: string | undefined;
337
340
  readonly scrollbarTabindex?: string | number | undefined;
338
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "linkProps" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
341
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
339
342
  $attrs: {
340
343
  [x: string]: unknown;
341
344
  };
@@ -390,7 +393,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
390
393
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
391
394
  default: () => never[];
392
395
  };
393
- readonly linkProps: {
396
+ readonly formatColumns: {
394
397
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
395
398
  default: () => never[];
396
399
  };
@@ -1146,6 +1149,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1146
1149
  type: string;
1147
1150
  props: Record<string, any>;
1148
1151
  filter: boolean;
1152
+ editable: boolean | ((formData: Record<string, any>) => void);
1149
1153
  } & {} & {
1150
1154
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1151
1155
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1203,7 +1207,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1203
1207
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1204
1208
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1205
1209
  }>[];
1206
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1210
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1207
1211
  name: string;
1208
1212
  prop: string;
1209
1213
  permission: string;
@@ -1272,6 +1276,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1272
1276
  type: string;
1273
1277
  props: Record<string, any>;
1274
1278
  filter: boolean;
1279
+ editable: boolean | ((formData: Record<string, any>) => void);
1275
1280
  } & {} & {
1276
1281
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1277
1282
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1329,7 +1334,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1329
1334
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1330
1335
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1331
1336
  }>[];
1332
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1337
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1333
1338
  name: string;
1334
1339
  prop: string;
1335
1340
  permission: string;
@@ -1399,7 +1404,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1399
1404
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
1400
1405
  default: () => never[];
1401
1406
  };
1402
- readonly linkProps: {
1407
+ readonly formatColumns: {
1403
1408
  type: import("vue").PropType<import("el-plus/es/components/buttons").ButtonProps[]>;
1404
1409
  default: () => never[];
1405
1410
  };
@@ -2128,7 +2133,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2128
2133
  };
2129
2134
  readonly preserveExpandedContent: BooleanConstructor;
2130
2135
  readonly nativeScrollbar: BooleanConstructor;
2131
- }>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "linkProps" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2136
+ }>> & Readonly<{}>, "search" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "className" | "border" | "align" | "lazy" | "headerCellStyle" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2132
2137
  elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
2133
2138
  elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
2134
2139
  validate: () => import("element-plus").FormValidationResult;
@@ -2404,4 +2409,5 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2404
2409
  default?: (props: {}) => any;
2405
2410
  };
2406
2411
  }) | null>>;
2412
+ beforeSearch: () => import("element-plus").FormValidationResult;
2407
2413
  };
@@ -23,7 +23,8 @@ const useSearchListPage = (props, config = {}) => {
23
23
  search,
24
24
  reset,
25
25
  tableRef,
26
- formRef
26
+ formRef,
27
+ beforeSearch: validate
27
28
  };
28
29
  };
29
30
  const useTable = (props, config) => {
@@ -40,7 +41,7 @@ const useTable = (props, config) => {
40
41
  showSelectionCol: props.showSelectionCol,
41
42
  showSingleSelectionCol: props.showSingleSelectionCol,
42
43
  actionButtons: props.actionButtons,
43
- linkProps: props.linkProps,
44
+ formatColumns: props.formatColumns,
44
45
  api: props.api,
45
46
  reqData: props.formData,
46
47
  customColumnModule: props.customColumnModule,
@@ -160,12 +161,11 @@ const useButtons = (props, { validate, resetFields, tableRef }) => {
160
161
  };
161
162
  });
162
163
  const search = async (isInitSearch = false) => {
163
- await validate();
164
164
  tableRef.value.search(isInitSearch);
165
165
  };
166
166
  const reset = async () => {
167
167
  resetFields();
168
- search();
168
+ search(true);
169
169
  };
170
170
  const searchButtons = [
171
171
  {
@@ -1 +1 @@
1
- {"version":3,"file":"use-search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey, getEnv } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n }\n}\nconst useTable = (props: SearchListPageProps, config) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(window.innerHeight)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n linkProps: props.linkProps,\n api: props.api,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const frameDistance = getEnv() ? 90 : 40\n tableHeight.value =\n window.innerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n frameDistance -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n {\n name: t('ep.searchListPage.templateDownload'),\n prop: 'templateDownload',\n permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n show: !!props.templateDownloadApi,\n },\n {\n name: t('ep.searchListPage.import'),\n prop: 'import',\n permission: props.name ? `${props.name}:IMPORT` : '',\n show: !!props.importApi,\n },\n {\n name: t('ep.searchListPage.export'),\n prop: 'export',\n permission: props.name ? `${props.name}:EXPORT` : '',\n show: !!props.exportApi,\n },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.defineColumn'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n // 增加选中项\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search()\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["useTemplateRef","ref","computed","getEnv","onMounted","props","useLocale","mergeListByKey"],"mappings":"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"}
1
+ {"version":3,"file":"use-search-list-page.js","sources":["../../../../../../packages/components/search-list-page/src/use-search-list-page.ts"],"sourcesContent":["import { ref, onMounted, computed, useTemplateRef } from 'vue'\nimport type { SearchListPageProps } from './search-list-page'\nimport type { ButtonsProps } from '@el-plus/components/buttons'\nimport type { FormInstance } from '@el-plus/components/form'\nimport type { TableInstance } from '@el-plus/components/table'\nimport type { FormItemProp } from 'element-plus'\nimport { mergeListByKey, getEnv } from '@el-plus/utils'\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\nexport const useSearchListPage = (props: SearchListPageProps, config = {}) => {\n const { calcTableHeight, tableProps, tableRef } = useTable(props, config)\n const { formProps, validate, resetFields, formRef } = useForm(props, {\n calcTableHeight,\n })\n const { buttonsProps, searchButtons, search, reset } = useButtons(props, {\n validate,\n resetFields,\n tableRef,\n })\n return {\n formProps,\n tableProps,\n buttonsProps,\n searchButtons,\n search,\n reset,\n tableRef,\n formRef,\n beforeSearch: validate,\n }\n}\nconst useTable = (props: SearchListPageProps, config) => {\n const instanceName = 'tableRef'\n const tableRef = useTemplateRef<TableInstance>(instanceName)\n const tableHeight = ref(window.innerHeight)\n const tableProps = computed(() => {\n return {\n ref: instanceName,\n columns: props.columns,\n showPagination: true,\n height: tableHeight.value,\n showIndexCol: props.showIndexCol,\n showSelectionCol: props.showSelectionCol,\n showSingleSelectionCol: props.showSingleSelectionCol,\n actionButtons: props.actionButtons,\n formatColumns: props.formatColumns,\n api: props.api,\n reqData: props.formData,\n customColumnModule: props.customColumnModule,\n minWidth: props.minWidth,\n actionColWidth: props.actionColWidth,\n ...props.tableProps,\n }\n })\n const calcTableHeight = () => {\n setTimeout(() => {\n const topHeight = (document.getElementById('top') as HTMLElement)\n .offsetHeight\n const middleHeight = (document.getElementById('middle') as HTMLElement)\n .offsetHeight\n let paginationHeight = 0\n if (tableProps.value.showPagination) {\n paginationHeight =\n (document.querySelector('.el-pagination') as HTMLElement)\n .offsetHeight + 12\n }\n const frameDistance = getEnv() ? 90 : 40\n tableHeight.value =\n window.innerHeight -\n topHeight -\n middleHeight -\n paginationHeight -\n frameDistance -\n props.offsetTop!\n }, 0)\n }\n\n onMounted(calcTableHeight)\n return {\n tableRef,\n tableProps,\n calcTableHeight,\n }\n}\nconst useForm = (props: SearchListPageProps, { calcTableHeight }) => {\n const instanceName = 'formRef'\n const formRef = useTemplateRef<FormInstance>(instanceName)\n const formProps = computed(() => {\n return {\n ref: instanceName,\n formItemList: props.formItemList,\n isShowFold: true,\n modelValue: props.formData,\n ...props.formProps,\n onToggleStatus: () => {\n calcTableHeight()\n },\n }\n })\n // 校验\n const validate = () => {\n return formRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return formRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return formRef.value!.clearValidate(props)\n }\n return {\n formProps,\n formRef,\n validate,\n resetFields,\n clearValidate,\n }\n}\nconst useButtons = (\n props: SearchListPageProps,\n { validate, resetFields, tableRef },\n) => {\n const { t } = useLocale()\n const defaultButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.add'),\n prop: 'add',\n permission: props.name ? `${props.name}:ADD` : '',\n show: () => {\n return !!props.add\n },\n onClick: () => {\n props.add?.()\n },\n },\n {\n name: t('ep.searchListPage.templateDownload'),\n prop: 'templateDownload',\n permission: props.name ? `${props.name}:TEMPLATEDOWNLOAD` : '',\n show: !!props.templateDownloadApi,\n },\n {\n name: t('ep.searchListPage.import'),\n prop: 'import',\n permission: props.name ? `${props.name}:IMPORT` : '',\n show: !!props.importApi,\n },\n {\n name: t('ep.searchListPage.export'),\n prop: 'export',\n permission: props.name ? `${props.name}:EXPORT` : '',\n show: !!props.exportApi,\n },\n ]\n const list = mergeListByKey(defaultButtons, props.leftButtons)\n if (props.customColumnModule) {\n list.push({\n name: t('ep.customColumn.defineColumn'),\n prop: 'customColumn',\n type: 'primary',\n onClick: () => {\n tableRef.value.openCustomColumnDialog()\n },\n })\n }\n list.forEach((item) => {\n if (item.onClick) {\n const clickFn = item.onClick\n item.onClick = () => {\n // 增加选中项\n const rows = tableRef.value.elTableRef.getSelectionRows()\n clickFn(rows)\n }\n }\n })\n\n const buttonsProps = computed(() => {\n return {\n list,\n ...props.buttonsProps,\n }\n })\n // 搜索\n const search = async (isInitSearch = false) => {\n // await validate()\n tableRef.value.search(isInitSearch)\n }\n // 清空\n const reset = async () => {\n resetFields()\n search(true)\n }\n const searchButtons: ButtonsProps['list'] = [\n {\n name: t('ep.searchListPage.search'),\n type: 'primary',\n onClick: search.bind(null, true),\n },\n {\n name: t('ep.searchListPage.clear'),\n onClick: reset,\n },\n ]\n return {\n buttonsProps,\n searchButtons,\n search,\n reset,\n }\n}\n"],"names":["useTemplateRef","ref","computed","getEnv","onMounted","props","useLocale","mergeListByKey"],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare const EpTable: {
11
11
  type: string;
12
12
  props: Record<string, any>;
13
13
  filter: boolean;
14
+ editable: boolean | ((formData: Record<string, any>) => void);
14
15
  } & {} & {
15
16
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
16
17
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -64,7 +65,7 @@ export declare const EpTable: {
64
65
  }>[]>;
65
66
  default: () => never[];
66
67
  };
67
- readonly linkProps: {
68
+ readonly formatColumns: {
68
69
  type: import("vue").PropType<Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
69
70
  name: string;
70
71
  prop: string;
@@ -832,6 +833,7 @@ export declare const EpTable: {
832
833
  type: string;
833
834
  props: Record<string, any>;
834
835
  filter: boolean;
836
+ editable: boolean | ((formData: Record<string, any>) => void);
835
837
  } & {} & {
836
838
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
837
839
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -889,7 +891,7 @@ export declare const EpTable: {
889
891
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
890
892
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
891
893
  }>[];
892
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
894
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
893
895
  name: string;
894
896
  prop: string;
895
897
  permission: string;
@@ -937,6 +939,7 @@ export declare const EpTable: {
937
939
  type: string;
938
940
  props: Record<string, any>;
939
941
  filter: boolean;
942
+ editable: boolean | ((formData: Record<string, any>) => void);
940
943
  } & {} & {
941
944
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
942
945
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -990,7 +993,7 @@ export declare const EpTable: {
990
993
  }>[]>;
991
994
  default: () => never[];
992
995
  };
993
- readonly linkProps: {
996
+ readonly formatColumns: {
994
997
  type: import("vue").PropType<Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
995
998
  name: string;
996
999
  prop: string;
@@ -1758,6 +1761,7 @@ export declare const EpTable: {
1758
1761
  type: string;
1759
1762
  props: Record<string, any>;
1760
1763
  filter: boolean;
1764
+ editable: boolean | ((formData: Record<string, any>) => void);
1761
1765
  } & {} & {
1762
1766
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1763
1767
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1815,7 +1819,7 @@ export declare const EpTable: {
1815
1819
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1816
1820
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1817
1821
  }>[];
1818
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1822
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1819
1823
  name: string;
1820
1824
  prop: string;
1821
1825
  permission: string;
@@ -1889,7 +1893,7 @@ export declare const EpTable: {
1889
1893
  type: import("vue").PropType<import("packages/el-plus/index.js").ButtonProps[]>;
1890
1894
  default: () => never[];
1891
1895
  };
1892
- readonly linkProps: {
1896
+ readonly formatColumns: {
1893
1897
  type: import("vue").PropType<import("packages/el-plus/index.js").ButtonProps[]>;
1894
1898
  default: () => never[];
1895
1899
  };
@@ -2645,6 +2649,7 @@ export declare const EpTable: {
2645
2649
  type: string;
2646
2650
  props: Record<string, any>;
2647
2651
  filter: boolean;
2652
+ editable: boolean | ((formData: Record<string, any>) => void);
2648
2653
  } & {} & {
2649
2654
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
2650
2655
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -2702,7 +2707,7 @@ export declare const EpTable: {
2702
2707
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
2703
2708
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
2704
2709
  }>[];
2705
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
2710
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
2706
2711
  name: string;
2707
2712
  prop: string;
2708
2713
  permission: string;
@@ -11,6 +11,7 @@ export type TableColumn = Partial<TableColumnCtx & {
11
11
  type: string;
12
12
  props: Record<string, any>;
13
13
  filter: boolean;
14
+ editable: boolean | ((formData: Record<string, any>) => void);
14
15
  [key: string]: any;
15
16
  } & VisibleProps>;
16
17
  export type TableScope<T extends Record<string, unknown> = Record<string, unknown>> = {
@@ -60,7 +61,7 @@ export declare const tableProps: {
60
61
  type: PropType<ButtonProps[]>;
61
62
  default: () => never[];
62
63
  };
63
- readonly linkProps: {
64
+ readonly formatColumns: {
64
65
  type: PropType<ButtonProps[]>;
65
66
  default: () => never[];
66
67
  };
@@ -77,8 +77,8 @@ const expandTableProps = {
77
77
  type: Array,
78
78
  default: () => []
79
79
  },
80
- // 链接列
81
- linkProps: {
80
+ // 格式化列
81
+ formatColumns: {
82
82
  type: Array,
83
83
  default: () => []
84
84
  },
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults'\nimport { ElTable } from 'element-plus'\nimport { apiProps, type VisibleProps } from '@el-plus/utils/props'\nimport type { WithOnPrefixAndCamelCase } from '@el-plus/types'\nimport type {\n TableColumnCtx,\n PaginationProps,\n PaginationEmits,\n} from 'element-plus'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport { customColumnProps } from '@el-plus/components/custom-column'\nconst inheritTableProps = {\n ...elTableProps,\n // Table 的尺寸\n size: {\n ...elTableProps.size,\n default: 'default',\n },\n // 是否带有纵向边框\n border: {\n ...elTableProps.border,\n default: true,\n },\n // 表头样式\n headerCellStyle: {\n ...elTableProps.headerCellStyle,\n default: () => ({\n background: '#EEEFF3',\n // textAlign: 'center',\n fontSize: '14px',\n color: '#505050',\n }),\n },\n}\nexport type TableColumn = Partial<\n TableColumnCtx & {\n required: boolean | (() => boolean)\n cellRequired: (scope: TableScope) => boolean\n headerRender: TableColumnCtx['renderHeader']\n disabled: boolean | ((scope: TableScope) => boolean)\n type: string\n props: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any\n filter: boolean // 是否显示筛选\n [key: string]: any\n } & VisibleProps\n>\nexport type TableScope<\n T extends Record<string, unknown> = Record<string, unknown>,\n> = {\n column: TableColumnCtx<T>\n row: T\n $index: number\n store: unknown\n _self: unknown\n}\nconst expandTableProps = {\n ...apiProps,\n columns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [],\n },\n // 是否显示复选勾选列\n showSelectionCol: Boolean,\n // 是否显示单选勾选列\n showSingleSelectionCol: Boolean,\n // 是否显示序号列\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n // 对齐方式\n align: {\n type: String as PropType<'left' | 'center' | 'right'>,\n default: 'center',\n },\n // 最小宽度\n minWidth: {\n type: [Number, String] as PropType<TableColumnCtx['minWidth']>,\n },\n // 操作列宽度\n actionColWidth: {\n type: [Number, String] as PropType<TableColumnCtx['width']>,\n default: 200,\n },\n // 序号列自定义\n indexFormatter: {\n type: [Number, Function] as PropType<TableColumnCtx['index']>,\n },\n disabled: Boolean,\n reserveSelection: Boolean,\n selectable: {\n type: Function as PropType<TableColumnCtx['selectable']>,\n },\n paginationProps: {\n type: Object as PropType<\n Partial<PaginationProps & WithOnPrefixAndCamelCase<PaginationEmits>>\n >,\n default: () => ({}),\n },\n showPagination: Boolean,\n isFrontPage: Boolean,\n // 操作列\n actionButtons: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n // 链接列\n linkProps: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n}\n\nexport const tableProps = {\n ...inheritTableProps,\n ...expandTableProps,\n} as const\nexport type TableProps = ExtractPublicPropTypes<typeof tableProps>\nexport const expandTablePropsKeys = Object.keys(expandTableProps)\n\nexport const tableEmits = [...ElTable.emits!, 'single-selection-change']\nexport type TableEmits = typeof tableEmits\nexport const tableEmitsKeys = tableEmits\n"],"names":["apiProps","customColumnProps","ElTable"],"mappings":";;;;;;;AAYA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA,CAAa,IAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,GAAG,YAAA,CAAa,MAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,GAAG,YAAA,CAAa,eAAA;AAAA,IAChB,SAAS,OAAO;AAAA,MACd,UAAA,EAAY,SAAA;AAAA;AAAA,MAEZ,QAAA,EAAU,MAAA;AAAA,MACV,KAAA,EAAO;AAAA,KACT;AAAA;AAEJ,CAAA;AAsBA,MAAM,gBAAA,GAAmB;AAAA,EACvB,GAAGA,cAAA;AAAA,EACH,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,gBAAA,EAAkB,OAAA;AAAA;AAAA,EAElB,sBAAA,EAAwB,OAAA;AAAA;AAAA,EAExB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAQ;AAAA,GACzB;AAAA,EACA,QAAA,EAAU,OAAA;AAAA,EACV,gBAAA,EAAkB,OAAA;AAAA,EAClB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IAGN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,cAAA,EAAgB,OAAA;AAAA,EAChB,WAAA,EAAa,OAAA;AAAA;AAAA,EAEb,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,GAAGC,8BAAA,CAAkB;AAAA;AAEzB,CAAA;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAG,iBAAA;AAAA,EACH,GAAG;AACL;AAEO,MAAM,oBAAA,GAAuB,MAAA,CAAO,IAAA,CAAK,gBAAgB;AAEzD,MAAM,UAAA,GAAa,CAAC,GAAGC,mBAAA,CAAQ,OAAQ,yBAAyB;AAEhE,MAAM,cAAA,GAAiB;;;;;;;"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.ts"],"sourcesContent":["import type { PropType, ExtractPublicPropTypes } from 'vue'\nimport elTableProps from 'element-plus/es/components/table/src/table/defaults'\nimport { ElTable } from 'element-plus'\nimport { apiProps, type VisibleProps } from '@el-plus/utils/props'\nimport type { WithOnPrefixAndCamelCase } from '@el-plus/types'\nimport type {\n TableColumnCtx,\n PaginationProps,\n PaginationEmits,\n} from 'element-plus'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport { customColumnProps } from '@el-plus/components/custom-column'\nconst inheritTableProps = {\n ...elTableProps,\n // Table 的尺寸\n size: {\n ...elTableProps.size,\n default: 'default',\n },\n // 是否带有纵向边框\n border: {\n ...elTableProps.border,\n default: true,\n },\n // 表头样式\n headerCellStyle: {\n ...elTableProps.headerCellStyle,\n default: () => ({\n background: '#EEEFF3',\n // textAlign: 'center',\n fontSize: '14px',\n color: '#505050',\n }),\n },\n}\nexport type TableColumn = Partial<\n TableColumnCtx & {\n required: boolean | (() => boolean)\n cellRequired: (scope: TableScope) => boolean\n headerRender: TableColumnCtx['renderHeader']\n disabled: boolean | ((scope: TableScope) => boolean)\n type: string\n props: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any\n filter: boolean // 是否显示筛选\n editable: boolean | ((formData: Record<string, any>) => void) // 是否可批量编辑\n [key: string]: any\n } & VisibleProps\n>\nexport type TableScope<\n T extends Record<string, unknown> = Record<string, unknown>,\n> = {\n column: TableColumnCtx<T>\n row: T\n $index: number\n store: unknown\n _self: unknown\n}\nconst expandTableProps = {\n ...apiProps,\n columns: {\n type: Array as PropType<TableColumn[]>,\n default: () => [],\n },\n // 是否显示复选勾选列\n showSelectionCol: Boolean,\n // 是否显示单选勾选列\n showSingleSelectionCol: Boolean,\n // 是否显示序号列\n showIndexCol: {\n type: Boolean,\n default: true,\n },\n // 对齐方式\n align: {\n type: String as PropType<'left' | 'center' | 'right'>,\n default: 'center',\n },\n // 最小宽度\n minWidth: {\n type: [Number, String] as PropType<TableColumnCtx['minWidth']>,\n },\n // 操作列宽度\n actionColWidth: {\n type: [Number, String] as PropType<TableColumnCtx['width']>,\n default: 200,\n },\n // 序号列自定义\n indexFormatter: {\n type: [Number, Function] as PropType<TableColumnCtx['index']>,\n },\n disabled: Boolean,\n reserveSelection: Boolean,\n selectable: {\n type: Function as PropType<TableColumnCtx['selectable']>,\n },\n paginationProps: {\n type: Object as PropType<\n Partial<PaginationProps & WithOnPrefixAndCamelCase<PaginationEmits>>\n >,\n default: () => ({}),\n },\n showPagination: Boolean,\n isFrontPage: Boolean,\n // 操作列\n actionButtons: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n // 格式化列\n formatColumns: {\n type: Array as PropType<ButtonProps[]>,\n default: () => [],\n },\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n}\n\nexport const tableProps = {\n ...inheritTableProps,\n ...expandTableProps,\n} as const\nexport type TableProps = ExtractPublicPropTypes<typeof tableProps>\nexport const expandTablePropsKeys = Object.keys(expandTableProps)\n\nexport const tableEmits = [...ElTable.emits!, 'single-selection-change']\nexport type TableEmits = typeof tableEmits\nexport const tableEmitsKeys = tableEmits\n"],"names":["apiProps","customColumnProps","ElTable"],"mappings":";;;;;;;AAYA,MAAM,iBAAA,GAAoB;AAAA,EACxB,GAAG,YAAA;AAAA;AAAA,EAEH,IAAA,EAAM;AAAA,IACJ,GAAG,YAAA,CAAa,IAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,MAAA,EAAQ;AAAA,IACN,GAAG,YAAA,CAAa,MAAA;AAAA,IAChB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,GAAG,YAAA,CAAa,eAAA;AAAA,IAChB,SAAS,OAAO;AAAA,MACd,UAAA,EAAY,SAAA;AAAA;AAAA,MAEZ,QAAA,EAAU,MAAA;AAAA,MACV,KAAA,EAAO;AAAA,KACT;AAAA;AAEJ,CAAA;AAuBA,MAAM,gBAAA,GAAmB;AAAA,EACvB,GAAGA,cAAA;AAAA,EACH,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,gBAAA,EAAkB,OAAA;AAAA;AAAA,EAElB,sBAAA,EAAwB,OAAA;AAAA;AAAA,EAExB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAQ;AAAA,GACzB;AAAA,EACA,QAAA,EAAU,OAAA;AAAA,EACV,gBAAA,EAAkB,OAAA;AAAA,EAClB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IAGN,OAAA,EAAS,OAAO,EAAC;AAAA,GACnB;AAAA,EACA,cAAA,EAAgB,OAAA;AAAA,EAChB,WAAA,EAAa,OAAA;AAAA;AAAA,EAEb,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,GAAGC,8BAAA,CAAkB;AAAA;AAEzB,CAAA;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,GAAG,iBAAA;AAAA,EACH,GAAG;AACL;AAEO,MAAM,oBAAA,GAAuB,MAAA,CAAO,IAAA,CAAK,gBAAgB;AAEzD,MAAM,UAAA,GAAa,CAAC,GAAGC,mBAAA,CAAQ,OAAQ,yBAAyB;AAEhE,MAAM,cAAA,GAAiB;;;;;;;"}
@@ -42,7 +42,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
42
42
  type: import("vue").PropType<import("packages/el-plus").ButtonProps[]>;
43
43
  default: () => never[];
44
44
  };
45
- readonly linkProps: {
45
+ readonly formatColumns: {
46
46
  type: import("vue").PropType<import("packages/el-plus").ButtonProps[]>;
47
47
  default: () => never[];
48
48
  };
@@ -819,7 +819,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
819
819
  type: import("vue").PropType<import("packages/el-plus").ButtonProps[]>;
820
820
  default: () => never[];
821
821
  };
822
- readonly linkProps: {
822
+ readonly formatColumns: {
823
823
  type: import("vue").PropType<import("packages/el-plus").ButtonProps[]>;
824
824
  default: () => never[];
825
825
  };
@@ -1567,6 +1567,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1567
1567
  type: string;
1568
1568
  props: Record<string, any>;
1569
1569
  filter: boolean;
1570
+ editable: boolean | ((formData: Record<string, any>) => void);
1570
1571
  } & {} & {
1571
1572
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1572
1573
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
@@ -1624,7 +1625,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1624
1625
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
1625
1626
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
1626
1627
  }>[];
1627
- readonly linkProps: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1628
+ readonly formatColumns: Partial<Omit<import("element-plus").ButtonProps, "disabled"> & {
1628
1629
  name: string;
1629
1630
  prop: string;
1630
1631
  permission: string;