el-plus 0.0.78 → 0.0.80

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 (60) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/dist/index.full.js +11 -28
  3. package/dist/index.full.min.js +4 -4
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +4 -4
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +12 -29
  8. package/es/components/attachment/index.d.ts +0 -15
  9. package/es/components/attachment/src/attachment.d.ts +0 -4
  10. package/es/components/attachment/src/attachment.mjs +0 -4
  11. package/es/components/attachment/src/attachment.mjs.map +1 -1
  12. package/es/components/attachment/src/attachment.vue.d.ts +0 -9
  13. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  14. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  15. package/es/components/form/src/hooks/use-form-item.mjs +1 -1
  16. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  17. package/es/components/header/index.d.ts +0 -3
  18. package/es/components/header/src/header.vue.d.ts +0 -1
  19. package/es/components/search-list-page/index.d.ts +15 -42
  20. package/es/components/search-list-page/src/search-list-page.vue.d.ts +5 -14
  21. package/es/components/search-list-page/src/use-search-list-page.d.ts +5 -14
  22. package/es/components/table/index.d.ts +3 -15
  23. package/es/components/table/src/table.d.ts +1 -4
  24. package/es/components/table/src/table.mjs +0 -4
  25. package/es/components/table/src/table.mjs.map +1 -1
  26. package/es/components/table/src/table.vue.d.ts +2 -9
  27. package/es/components/table/src/table.vue2.mjs +6 -16
  28. package/es/components/table/src/table.vue2.mjs.map +1 -1
  29. package/es/components/table/src/use-table.mjs +1 -1
  30. package/es/components/table/src/use-table.mjs.map +1 -1
  31. package/es/package.json.mjs +1 -1
  32. package/es/utils/file.mjs +1 -1
  33. package/es/utils/file.mjs.map +1 -1
  34. package/lib/components/attachment/index.d.ts +0 -15
  35. package/lib/components/attachment/src/attachment.d.ts +0 -4
  36. package/lib/components/attachment/src/attachment.js +0 -4
  37. package/lib/components/attachment/src/attachment.js.map +1 -1
  38. package/lib/components/attachment/src/attachment.vue.d.ts +0 -9
  39. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  40. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  41. package/lib/components/form/src/hooks/use-form-item.js +1 -1
  42. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  43. package/lib/components/header/index.d.ts +0 -3
  44. package/lib/components/header/src/header.vue.d.ts +0 -1
  45. package/lib/components/search-list-page/index.d.ts +15 -42
  46. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +5 -14
  47. package/lib/components/search-list-page/src/use-search-list-page.d.ts +5 -14
  48. package/lib/components/table/index.d.ts +3 -15
  49. package/lib/components/table/src/table.d.ts +1 -4
  50. package/lib/components/table/src/table.js +0 -4
  51. package/lib/components/table/src/table.js.map +1 -1
  52. package/lib/components/table/src/table.vue.d.ts +2 -9
  53. package/lib/components/table/src/table.vue2.js +6 -16
  54. package/lib/components/table/src/table.vue2.js.map +1 -1
  55. package/lib/components/table/src/use-table.js +1 -1
  56. package/lib/components/table/src/use-table.js.map +1 -1
  57. package/lib/package.json.js +1 -1
  58. package/lib/utils/file.js +1 -1
  59. package/lib/utils/file.js.map +1 -1
  60. package/package.json +1 -1
@@ -181,7 +181,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
181
181
  readonly customColumnApi: import("el-plus/es/types").Api;
182
182
  readonly customColumnSaveApi: import("el-plus/es/types").Api;
183
183
  readonly border: boolean;
184
- readonly rowKey: string;
185
184
  readonly fit: boolean;
186
185
  readonly stripe: boolean;
187
186
  readonly showHeader: boolean;
@@ -292,7 +291,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
292
291
  readonly customColumnApi: import("el-plus/es/types").Api;
293
292
  readonly customColumnSaveApi: import("el-plus/es/types").Api;
294
293
  readonly border: boolean;
295
- readonly rowKey: string;
296
294
  readonly fit: boolean;
297
295
  readonly stripe: boolean;
298
296
  readonly showHeader: boolean;
@@ -316,6 +314,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
316
314
  readonly reqParams?: Record<string, any> | undefined;
317
315
  readonly reqBefore?: import("el-plus/es/types").ReqBefore | undefined;
318
316
  readonly reqAfter?: import("el-plus/es/types").ReqAfter | undefined;
317
+ readonly rowKey?: string | ((row: any) => string) | undefined;
319
318
  readonly summaryMethod?: import("element-plus").SummaryMethod<any> | undefined;
320
319
  readonly rowClassName?: import("element-plus").ColumnCls<any> | undefined;
321
320
  readonly rowStyle?: import("element-plus").ColumnStyle<any> | undefined;
@@ -350,7 +349,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
350
349
  readonly tooltipEffect?: string | undefined;
351
350
  readonly appendFilterPanelTo?: string | undefined;
352
351
  readonly scrollbarTabindex?: string | number | undefined;
353
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "customColumnApi" | "customColumnSaveApi" | "border" | "rowKey" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
352
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "customColumnApi" | "customColumnSaveApi" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar">;
354
353
  $attrs: {
355
354
  [x: string]: unknown;
356
355
  };
@@ -1061,10 +1060,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1061
1060
  readonly [Symbol.unscopables]?: boolean | undefined;
1062
1061
  } | undefined;
1063
1062
  };
1064
- readonly rowKey: {
1065
- type: StringConstructor;
1066
- default: string;
1067
- };
1068
1063
  readonly data: {
1069
1064
  type: import("vue").PropType<any[]>;
1070
1065
  default: () => never[];
@@ -1077,6 +1072,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1077
1072
  default: boolean;
1078
1073
  };
1079
1074
  readonly stripe: BooleanConstructor;
1075
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
1080
1076
  readonly showHeader: {
1081
1077
  type: BooleanConstructor;
1082
1078
  default: boolean;
@@ -1248,7 +1244,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1248
1244
  readonly customColumnApi: import("el-plus/es/types").Api;
1249
1245
  readonly customColumnSaveApi: import("el-plus/es/types").Api;
1250
1246
  readonly border: boolean;
1251
- readonly rowKey: string;
1252
1247
  readonly fit: boolean;
1253
1248
  readonly stripe: boolean;
1254
1249
  readonly showHeader: boolean;
@@ -1379,7 +1374,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
1379
1374
  readonly customColumnApi: import("el-plus/es/types").Api;
1380
1375
  readonly customColumnSaveApi: import("el-plus/es/types").Api;
1381
1376
  readonly border: boolean;
1382
- readonly rowKey: string;
1383
1377
  readonly fit: boolean;
1384
1378
  readonly stripe: boolean;
1385
1379
  readonly showHeader: boolean;
@@ -2092,10 +2086,6 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2092
2086
  readonly [Symbol.unscopables]?: boolean | undefined;
2093
2087
  } | undefined;
2094
2088
  };
2095
- readonly rowKey: {
2096
- type: StringConstructor;
2097
- default: string;
2098
- };
2099
2089
  readonly data: {
2100
2090
  type: import("vue").PropType<any[]>;
2101
2091
  default: () => never[];
@@ -2108,6 +2098,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2108
2098
  default: boolean;
2109
2099
  };
2110
2100
  readonly stripe: BooleanConstructor;
2101
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
2111
2102
  readonly showHeader: {
2112
2103
  type: BooleanConstructor;
2113
2104
  default: boolean;
@@ -2176,7 +2167,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2176
2167
  };
2177
2168
  readonly preserveExpandedContent: BooleanConstructor;
2178
2169
  readonly nativeScrollbar: BooleanConstructor;
2179
- }>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "customColumnApi" | "customColumnSaveApi" | "border" | "rowKey" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2170
+ }>> & Readonly<{}>, "search" | "clearSelection" | "validate" | "resetFields" | "clearValidate" | "elFormRef" | "elTableRef" | "openCustomColumnDialog" | ("data" | "style" | "size" | "disabled" | "lazy" | "headerCellStyle" | "className" | "columns" | "showSelectionCol" | "showSingleSelectionCol" | "showIndexCol" | "align" | "actionColWidth" | "reserveSelection" | "paginationProps" | "showPagination" | "isFrontPage" | "actionButtons" | "formatColumns" | "isInitSearch" | "customColumnApi" | "customColumnSaveApi" | "border" | "fit" | "stripe" | "showHeader" | "showSummary" | "highlightCurrentRow" | "defaultExpandAll" | "selectOnIndeterminate" | "indent" | "treeProps" | "tableLayout" | "scrollbarAlwaysOn" | "flexible" | "scrollbarTabindex" | "allowDragLastColumn" | "preserveExpandedContent" | "nativeScrollbar")> & import("vue").ShallowUnwrapRef<{
2180
2171
  elFormRef: Readonly<import("vue").ShallowRef<import("element-plus").FormInstance | null>>;
2181
2172
  elTableRef: Readonly<import("vue").ShallowRef<import("element-plus").TableInstance | null>>;
2182
2173
  validate: () => import("element-plus").FormValidationResult;
@@ -734,10 +734,6 @@ export declare const EpTable: {
734
734
  readonly [Symbol.unscopables]?: boolean | undefined;
735
735
  } | undefined;
736
736
  };
737
- readonly rowKey: {
738
- type: StringConstructor;
739
- default: string;
740
- };
741
737
  readonly data: {
742
738
  type: import("vue").PropType<any[]>;
743
739
  default: () => never[];
@@ -750,6 +746,7 @@ export declare const EpTable: {
750
746
  default: boolean;
751
747
  };
752
748
  readonly stripe: BooleanConstructor;
749
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
753
750
  readonly showHeader: {
754
751
  type: BooleanConstructor;
755
752
  default: boolean;
@@ -921,7 +918,6 @@ export declare const EpTable: {
921
918
  readonly customColumnApi: import("el-plus/es/types/axios").Api;
922
919
  readonly customColumnSaveApi: import("el-plus/es/types/axios").Api;
923
920
  readonly border: boolean;
924
- readonly rowKey: string;
925
921
  readonly fit: boolean;
926
922
  readonly stripe: boolean;
927
923
  readonly showHeader: boolean;
@@ -1679,10 +1675,6 @@ export declare const EpTable: {
1679
1675
  readonly [Symbol.unscopables]?: boolean | undefined;
1680
1676
  } | undefined;
1681
1677
  };
1682
- readonly rowKey: {
1683
- type: StringConstructor;
1684
- default: string;
1685
- };
1686
1678
  readonly data: {
1687
1679
  type: import("vue").PropType<any[]>;
1688
1680
  default: () => never[];
@@ -1695,6 +1687,7 @@ export declare const EpTable: {
1695
1687
  default: boolean;
1696
1688
  };
1697
1689
  readonly stripe: BooleanConstructor;
1690
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
1698
1691
  readonly showHeader: {
1699
1692
  type: BooleanConstructor;
1700
1693
  default: boolean;
@@ -1866,7 +1859,6 @@ export declare const EpTable: {
1866
1859
  readonly customColumnApi: import("el-plus/es/types/axios").Api;
1867
1860
  readonly customColumnSaveApi: import("el-plus/es/types/axios").Api;
1868
1861
  readonly border: boolean;
1869
- readonly rowKey: string;
1870
1862
  readonly fit: boolean;
1871
1863
  readonly stripe: boolean;
1872
1864
  readonly showHeader: boolean;
@@ -2583,10 +2575,6 @@ export declare const EpTable: {
2583
2575
  readonly [Symbol.unscopables]?: boolean | undefined;
2584
2576
  } | undefined;
2585
2577
  };
2586
- readonly rowKey: {
2587
- type: StringConstructor;
2588
- default: string;
2589
- };
2590
2578
  readonly data: {
2591
2579
  type: import("vue").PropType<any[]>;
2592
2580
  default: () => never[];
@@ -2599,6 +2587,7 @@ export declare const EpTable: {
2599
2587
  default: boolean;
2600
2588
  };
2601
2589
  readonly stripe: BooleanConstructor;
2590
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
2602
2591
  readonly showHeader: {
2603
2592
  type: BooleanConstructor;
2604
2593
  default: boolean;
@@ -2770,7 +2759,6 @@ export declare const EpTable: {
2770
2759
  readonly customColumnApi: import("el-plus/es/types/axios").Api;
2771
2760
  readonly customColumnSaveApi: import("el-plus/es/types/axios").Api;
2772
2761
  readonly border: boolean;
2773
- readonly rowKey: string;
2774
2762
  readonly fit: boolean;
2775
2763
  readonly stripe: boolean;
2776
2764
  readonly showHeader: boolean;
@@ -717,10 +717,6 @@ export declare const tableProps: {
717
717
  readonly [Symbol.unscopables]?: boolean | undefined;
718
718
  } | undefined;
719
719
  };
720
- readonly rowKey: {
721
- type: StringConstructor;
722
- default: string;
723
- };
724
720
  readonly data: {
725
721
  type: PropType<any[]>;
726
722
  default: () => never[];
@@ -733,6 +729,7 @@ export declare const tableProps: {
733
729
  default: boolean;
734
730
  };
735
731
  readonly stripe: BooleanConstructor;
732
+ readonly rowKey: PropType<import("element-plus").TableProps<any>["rowKey"]>;
736
733
  readonly showHeader: {
737
734
  type: BooleanConstructor;
738
735
  default: boolean;
@@ -26,10 +26,6 @@ const inheritTableProps = {
26
26
  fontSize: "14px",
27
27
  color: "#505050"
28
28
  })
29
- },
30
- rowKey: {
31
- type: String,
32
- default: "_rowKey"
33
29
  }
34
30
  };
35
31
  const expandTableProps = {
@@ -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 rowKey: {\n type: String,\n default: '_rowKey',\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<TableColumn[]>,\n default: () => [],\n },\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n customColumnApi: {\n ...customColumnProps.api,\n },\n customColumnSaveApi: {\n ...customColumnProps.saveApi,\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,GACF;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,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,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAGA,8BAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAGA,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<TableColumn[]>,\n default: () => [],\n },\n // 是否初始化加载数据\n isInitSearch: {\n type: Boolean,\n default: true,\n },\n // 自定义列模块\n customColumnModule: {\n ...customColumnProps.module,\n },\n customColumnApi: {\n ...customColumnProps.api,\n },\n customColumnSaveApi: {\n ...customColumnProps.saveApi,\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,GACvB;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAGA,8BAAA,CAAkB;AAAA,GACvB;AAAA,EACA,mBAAA,EAAqB;AAAA,IACnB,GAAGA,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;;;;;;;"}
@@ -698,10 +698,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
698
698
  readonly [Symbol.unscopables]?: boolean | undefined;
699
699
  } | undefined;
700
700
  };
701
- readonly rowKey: {
702
- type: StringConstructor;
703
- default: string;
704
- };
705
701
  readonly data: {
706
702
  type: import("vue").PropType<any[]>;
707
703
  default: () => never[];
@@ -714,6 +710,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
714
710
  default: boolean;
715
711
  };
716
712
  readonly stripe: BooleanConstructor;
713
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
717
714
  readonly showHeader: {
718
715
  type: BooleanConstructor;
719
716
  default: boolean;
@@ -1487,10 +1484,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1487
1484
  readonly [Symbol.unscopables]?: boolean | undefined;
1488
1485
  } | undefined;
1489
1486
  };
1490
- readonly rowKey: {
1491
- type: StringConstructor;
1492
- default: string;
1493
- };
1494
1487
  readonly data: {
1495
1488
  type: import("vue").PropType<any[]>;
1496
1489
  default: () => never[];
@@ -1503,6 +1496,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1503
1496
  default: boolean;
1504
1497
  };
1505
1498
  readonly stripe: BooleanConstructor;
1499
+ readonly rowKey: import("vue").PropType<import("element-plus").TableProps<any>["rowKey"]>;
1506
1500
  readonly showHeader: {
1507
1501
  type: BooleanConstructor;
1508
1502
  default: boolean;
@@ -1665,7 +1659,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1665
1659
  readonly customColumnApi: import("el-plus/es/types").Api;
1666
1660
  readonly customColumnSaveApi: import("el-plus/es/types").Api;
1667
1661
  readonly border: boolean;
1668
- readonly rowKey: string;
1669
1662
  readonly fit: boolean;
1670
1663
  readonly stripe: boolean;
1671
1664
  readonly showHeader: boolean;
@@ -10,7 +10,6 @@ require('../../form/index.js');
10
10
  var index = require('../../custom-column/index.js');
11
11
  var useTable = require('./use-table.js');
12
12
  var useLocale = require('../../../hooks/use-locale.js');
13
- var lodashUnified = require('lodash-unified');
14
13
  var formItemVue = require('../../form/src/form-item-vue.js');
15
14
 
16
15
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -36,6 +35,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
36
35
  });
37
36
  const customAttrs = vue.computed(() => {
38
37
  return {
38
+ "row-key": props$1.rowKey || "id",
39
39
  ...props.prepareProps(props$1, ["modelValue", ...table.expandTablePropsKeys]),
40
40
  // 'tooltip-effect': 'light',
41
41
  size: "small",
@@ -43,18 +43,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
43
43
  ...props.prepareEvents(emit, table.tableEmitsKeys)
44
44
  };
45
45
  });
46
- const tableData = vue.computed(() => {
47
- const result = {};
48
- data.value?.forEach((item, index) => {
49
- if (props$1.rowKey === "_rowKey") {
50
- item[props$1.rowKey] = lodashUnified.uniqueId();
51
- }
52
- result[item[props$1.rowKey]] = item;
53
- });
54
- return {
55
- table: result
56
- };
57
- });
58
46
  const {
59
47
  pagination,
60
48
  paginationProps,
@@ -105,7 +93,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
105
93
  }, [vue.createVNode(_component_el_form, {
106
94
  ref_key: "elFormRef",
107
95
  ref: elFormRef,
108
- model: tableData.value,
96
+ model: {
97
+ table: vue.unref(data)
98
+ },
109
99
  size: "small",
110
100
  "hide-required-asterisk": "",
111
101
  "scroll-to-error": "",
@@ -173,9 +163,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
173
163
  ref_for: true
174
164
  }, item), {
175
165
  default: vue.withCtx((scope) => [item.type || item.render ? (vue.openBlock(), vue.createBlock(vue.unref(formItemVue.default), vue.mergeProps({
166
+ key: 0,
176
167
  "form-data": scope.row,
177
- "table-scope": scope,
178
- key: `${scope.row[props$1.rowKey]}_${item.prop}`
168
+ "table-scope": scope
179
169
  }, {
180
170
  ref_for: true
181
171
  }, vue.unref(formItemProps)(scope, item)), null, 16, ["form-data", "table-scope"])) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"tableData\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n :key=\"`${scope.row[props.rowKey]}_${item.prop}`\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef, reactive } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { uniqueId } from 'lodash-unified'\n\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst tableData = computed(() => {\n const result: Record<string, any> = {}\n data.value?.forEach((item, index) => {\n if (props.rowKey === '_rowKey') {\n item[props.rowKey] = uniqueId()\n // crypto.randomUUID()\n }\n result[item[props.rowKey] as string] = item\n })\n return { table: result }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","tableData","result","forEach","item","index","rowKey","uniqueId","table","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAmIA,IAAA,MAAM;AAAA,MAAEA;AAAAA,QAAMC,mBAAAA,EAAU;AAKxB,IAAA,MAAMC,KAAAA,GAAMC,oBAAgB,OAAO,CAAA;AACnC,IAAA,MAAMC,OAAAA,GAAQC,OAAAA;AACd,IAAA,MAAMC,IAAAA,GAAOC,MAAAA;AAEb,IAAA,MAAMC,KAAAA,GAAQC,aAAS,MAAM;AAC3B,MAAA,OAAOC,MAAAA,CAAOC,IAAAA,CAAKC,YAAAA,EAAU,CAAA;AAAA,IAE/B,CAAC,CAAA;AACD,IAAA,MAAMC,WAAAA,GAAcJ,aAAS,MAAM;AACjC,MAAA,OAAO;AAAA,QACL,GAAGK,kBAAAA,CAAaV,OAAAA,EAAO,CAAC,YAAA,EAAc,GAAGW,0BAAoB,CAAC,CAAA;AAAA;AAAA,QAE9DC,IAAAA,EAAM,OAAA;AAAA,QACNC,MAAMA,IAAAA,CAAKC,KAAAA;AAAAA,QACX,GAAGC,mBAAAA,CAAuCb,IAAAA,EAAMc,oBAAe;AAAA,OACjE;AAAA,IACF,CAAC,CAAA;AACD,IAAA,MAAMC,SAAAA,GAAYZ,aAAS,MAAM;AAC/B,MAAA,MAAMa,SAA8B,EAAC;AACrCL,MAAAA,IAAAA,CAAKC,KAAAA,EAAOK,OAAAA,CAAQ,CAACC,IAAAA,EAAMC,KAAAA,KAAU;AACnC,QAAA,IAAIrB,OAAAA,CAAMsB,WAAW,SAAA,EAAW;AAC9BF,UAAAA,IAAAA,CAAKpB,OAAAA,CAAMsB,MAAM,CAAA,GAAIC,sBAAAA,EAAS;AAAA,QAEhC;AACAL,QAAAA,MAAAA,CAAOE,IAAAA,CAAKpB,OAAAA,CAAMsB,MAAM,CAAC,CAAA,GAAcF,IAAAA;AAAAA,MACzC,CAAC,CAAA;AACD,MAAA,OAAO;AAAA,QAAEI,KAAAA,EAAON;AAAAA,OAAO;AAAA,IACzB,CAAC,CAAA;AACD,IAAA,MAAM;AAAA,MACJO,UAAAA;AAAAA,MACAC,eAAAA;AAAAA,MACAb,IAAAA;AAAAA,MACAc,QAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAC,aAAAA;AAAAA,MACAC,cAAAA;AAAAA,MACAC,OAAAA;AAAAA,MACAC,MAAAA;AAAAA,MACAC,SAAAA;AAAAA,MACAC,UAAAA;AAAAA,MACAC,mBAAAA;AAAAA,MACAC;AAAAA,KACF,GAAIC,kBAASrC,OAAK,CAAA;AAClB,IAAA,MAAM;AAAA,MAAEsC;AAAAA,KAAW,GAAIC,uBAAAA,CAAevC,OAAAA,EAAOa,IAAAA,EAAMuB,aAAa,CAAA;AAChE,IAAA,MAAM;AAAA,MAAEI;AAAAA,KAAc,GAAIC,0BAAiBzC,OAAK,CAAA;AAChD,IAAA,MAAM0C,eAAAA,GAAkBC,mBAAqC,iBAAiB,CAAA;AAE9EC,IAAAA,QAAAA,CAAa;AAAA,MACXX,SAAAA;AAAAA,MACAC,UAAAA;AAAAA,MACAP,QAAAA;AAAAA,MACAC,WAAAA;AAAAA,MACAC,aAAAA;AAAAA,MACAC,cAAAA;AAAAA,MACAE,MAAAA;AAAAA,MACAa,wBAAwBA,MAAM;AAC5BH,QAAAA,eAAAA,CAAgB5B,OAAOgC,IAAAA,EAAK;AAAA,MAC9B;AAAA,KACD,CAAA;;;;;;;;;8BAjMCC,sBAAAA,CAyGM,KAAA,EAAA;AAAA,QAxGHC,KAAAA,EAAKC,kBAAAA,CAAA,CAAA,EAAKC,SAAAA,CAAApD,KAAA,CAAA,CAAIqD,CAAAA,MAAOD,SAAAA,CAAAE,uBAAA,CAAA,EAAiB,CAAA,CAAA,CAAA;AAAA,QACtCC,OAAKC,kBAAAA,CAAA;AAAA,aAAaJ,SAAAA,CAAAK,mBAAA,CAAA;AAAa;UAIhCC,eAAAA,CAmFUC,kBAAAA,EAAA;AAAA,iBAlFJ,WAAA;AAAA,QAAJC,GAAAA,EAAIzB,SAAAA;AAAAA,QACH0B,OAAO1C,SAAAA,CAAAH,KAAAA;AAAAA,QACRF,IAAAA,EAAK,OAAA;AAAA,QACL,wBAAA,EAAA,EAAA;AAAA,QACA,iBAAA,EAAA,EAAA;AAAA,QACC,0BAAA,EAA0B;AAAA,UAAAgD,MAAAA,EAAA;AAAA,SAAA;AAAA,QAC3BZ,KAAAA,EAAM;AAAA;6BAEN,MAyEW,CAzEXa,oBAAAC,aAAAA,EAAA,EAAAC,eAAAA,CAyEWC,mBAAAA,EAzEXC,cAAAA,CAyEW;AAAA,mBAzEG,YAAA;AAAA,UAAJP,GAAAA,EAAIxB;AAAAA,WAAyCzB,WAAAA,CAAAK,KAAW,CAAA,EAAAoD,eAAAA,CAAA;AAAA,+BAChE,MAOE,CANMC,KAAAA,gBAAAA,qBADRJ,eAAAA,CAOEK,0BAAAA,EAAA;AAAA;YALAC,IAAAA,EAAK,WAAA;AAAA,YACLC,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAC,YAAAA,IAAAA,CAAAA,UAAAA;AAAAA,YACDC,KAAAA,EAAA;AAAA,oFAGMC,IAAAA,CAAAA,2CADRX,gBAgBkBK,0BAAAA,EAAA;AAAA;YAdhBE,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAC,YAAAA,IAAAA,CAAAA,UAAAA;AAAAA,YACDC,KAAAA,EAAA;AAAA;YAEWE,OAAAA,EAAOC,WAAAA,CAOfC,CAAAA,KAAAA,KAPsB,CACvBrB,gBAMCsB,kBAAAA,EAAA;AAAA,cALCT,IAAAA,EAAK,SAAA;AAAA,cACLU,SAAAA,EAAU,OAAA;AAAA,cACV1B,KAAAA,EAAA;AAAA,gBAAA,WAAA,EAAA;AAAA,eAAA;AAAA,cACC2B,OAAAA,EAAKC,CAAAA,MAAAA,KAAE/E,IAAAA,CAAI,yBAAA,EAA4B2E,MAAMK,GAAG;AAAA;mCAChD,MAA0B,yCAAvBhC,SAAAA,CAAAtD,CAAA,CAAA,CAAC,iBAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;;;8EAKHuF,IAAAA,CAAAA,YAAAA,qBADRpB,gBAQEK,0BAAAA,EAAA;AAAA;YANAC,IAAAA,EAAK,OAAA;AAAA,YACLC,KAAAA,EAAM,IAAA;AAAA,YACLC,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACAa,KAAAA,EAAOlC,SAAAA,CAAAtD,CAAA,CAAA,CAAC,uBAAA,CAAA;AAAA,YACT6E,KAAAA,EAAA,EAAA;AAAA,YACCpD,OAAOgE,IAAAA,CAAAA;AAAAA,wFAIFC,IAAAA,CAAAA,aAAAA,CAAcC,2BADtBxB,gBAekBK,0BAAAA,EAAA;AAAA;YAbfgB,KAAAA,EAAOlC,SAAAA,CAAAtD,CAAA,CAAA,CAAC,oBAAA,CAAA;AAAA,YACR2E,OAAAA,IAAAA,CAAAA,KAAAA;AAAAA,YACDE,KAAAA,EAAA,EAAA;AAAA,YACCH,OAAOkB,IAAAA,CAAAA;AAAAA;YAEGb,OAAAA,EAAOC,WAAAA,CAMTC,CAAAA,KAAAA,KANgB,CACvBY,uBAKO,MAAA,EAAA;AAAA,cALAzC,OAAKC,kBAAAA,CAAEC,SAAAA,CAAApD,KAAA,CAAA,CAAI4F,CAAAA,CAAC,gBAAA,CAAA;AAAA,gBACjBlC,eAAAA,CAGEmC,oBAAAA,EAAA;AAAA,cAFCC,MAAM1C,SAAAA,CAAAf,mBAAA,CAAA,CAAoBmD,IAAAA,CAAAA,eAAeT,KAAK,CAAA;AAAA,cAC/CR,IAAAA,EAAK;AAAA;;mFAKbP,cAAA,IAAA,CAAA,EAAAf,sBAAAA,CAiBkB8C,YAAAA,EAAA,IAAA,EAAAC,cAAAA,CAhBQ5C,UAAAZ,UAAA,CAAA,EAAU,CAA1BlB,IAAAA,EAAMC,KAAAA,KAAK;AADrB,YAAA,OAAAyC,aAAAA,EAAA,EAAAC,eAAAA,CAiBkBK,0BAAAA,EAjBlBH,cAAAA,CAiBkB;AAAA,cAff8B,GAAAA,EAAG,GAAK3E,IAAAA,CAAK4E,IAAI,IAAI5E,IAAAA,CAAKiD,IAAI,IAAIhD,KAAK,CAAA;AAAA;;eAChCD,IAAI,CAAA,EAAA;AAAA,cAEDuD,OAAAA,EAAOC,WAAAA,CAOdC,CAAAA,KAAAA,KAPqB,CAEfzD,KAAKiD,IAAAA,IAAQjD,IAAAA,CAAK6E,MAAAA,IAD1BnC,aAAAA,EAAA,EAAAC,eAAAA,CAMEb,SAAAA,uBANFe,cAAAA,CAME;AAAA,gBAJC,aAAWY,KAAAA,CAAMK,GAAAA;AAAAA,gBACjB,aAAA,EAAaL,KAAAA;AAAAA,gBACbkB,GAAAA,EAAG,GAAKlB,KAAAA,CAAMK,GAAAA,CAAIlF,QAAMsB,MAAM,CAAA,CAAA,CAAA,EAAKF,IAAAA,CAAK4E,IAAI,CAAA;AAAA;;iBACrC9C,SAAAA,CAAAV,aAAA,EAAcqC,KAAAA,EAAOzD,IAAI,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,aAAA,CAAA,uBAEnC2B,uBAEW8C,YAAAA,EAAA;AAAA,gBAAAE,GAAAA,EAAA;AAAA,eAAA,EAAA,CADNG,mBAAAA,CAAAC,mBAAAA,CAAAtB,MAAMK,GAAAA,CAAI9D,IAAAA,CAAK4E,IAAI,CAAA,GAAA,CAAA,CAAA,CAAA;;;;;YAIHF,cAAAA,CAAA1F,KAAAA,CAAAU,OAARsF,CAAAA,IAAAA,KAAI;;;YACnBC,EAAAA,EAAAzB,WAAAA,CADuCC,CAAAA,KAAAA,KAAK,CAC5CyB,eAAoCC,IAAAA,CAAAC,MAAAA,EAAvBJ,IAAAA,EAAIK,kBAAAA,CAAAC,sBAAAA,CAAU7B,KAAK,CAAA,CAAA,CAAA;;4CAvEE3B,UAAAnB,OAAA,CAAO,CAAA;;wBA4EvC4E,IAAAA,CAAAA,cAAAA,IADR7C,aAAAA,EAAA,EAAAC,eAAAA,CAME6C,wBAAAA,EANF3C,cAAAA,CAME;AAAA;QAJQ,cAAA,EAAcf,SAAAA,CAAAzB,UAAA,CAAA,CAAWoF,MAAAA;AAAAA,QAAX,sBAAA,EAAA5B,CAAAA,MAAAA,KAAA/B,SAAAA,CAAAzB,UAAA,EAAWoF,MAAAA,GAAM5B,MAAAA;AAAAA,QAC/B,WAAA,EAAW/B,SAAAA,CAAAzB,UAAA,CAAA,CAAWqF,QAAAA;AAAAA,QAAX,mBAAA,EAAA7B,CAAAA,MAAAA,KAAA/B,SAAAA,CAAAzB,UAAA,EAAWqF,QAAAA,GAAQ7B,MAAAA;AAAAA,QACrC8B,KAAAA,EAAO7D,SAAAA,CAAAzB,UAAA,CAAA,CAAWsF;AAAAA,SACX7D,SAAAA,CAAAxB,eAAA,CAAe,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,OAAA,CAAA,CAAA,sCAGjBsF,IAAAA,CAAAA,kBAAAA,qBADRjD,eAAAA,CAOEb,SAAAA,CAAA+D,oBAAA,CAAA,EAAA;AAAA;iBALI,iBAAA;AAAA,QAAJvD,GAAAA,EAAIhB,eAAAA;AAAAA,QACHwE,QAAQF,IAAAA,CAAAA,kBAAAA;AAAAA,QACRG,KAAKC,IAAAA,CAAAA,eAAAA;AAAAA,QACL,YAAUC,IAAAA,CAAAA,mBAAAA;AAAAA,QACV,cAAA,EAAc;AAAA;;;;;;;"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n :class=\"`${bem.b()} ${prepareClassNames()}`\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <el-form\n ref=\"elFormRef\"\n :model=\"{ table: data }\"\n size=\"small\"\n hide-required-asterisk\n scroll-to-error\n :scroll-into-view-options=\"{ inline: 'center' }\"\n class=\"ep-form\"\n >\n <el-table ref=\"elTableRef\" v-loading=\"loading\" v-bind=\"customAttrs\">\n <el-table-column\n v-if=\"showSelectionCol\"\n type=\"selection\"\n width=\"55\"\n :align\n :selectable\n fixed\n />\n <el-table-column\n v-if=\"showSingleSelectionCol\"\n width=\"55\"\n :align\n :selectable\n fixed\n >\n <template #default=\"scope\">\n <el-link\n type=\"primary\"\n underline=\"never\"\n style=\"font-size: 12px\"\n @click=\"emit('single-selection-change', scope.row)\"\n >{{ t('ep.table.select') }}</el-link\n >\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"showIndexCol\"\n type=\"index\"\n width=\"56\"\n :align\n :label=\"t('ep.table.serialNumber')\"\n fixed\n :index=\"indexFormatter\"\n />\n\n <el-table-column\n v-if=\"actionButtons.length\"\n :label=\"t('ep.table.operation')\"\n :align\n fixed\n :width=\"actionColWidth\"\n >\n <template #default=\"scope\">\n <span :class=\"bem.e('action-buttons')\">\n <EpButtons\n :list=\"formatActionButtons(actionButtons, scope)\"\n type=\"text\"\n />\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-for=\"(item, index) in columnList\"\n :key=\"`${item.prop}_${item.type}_${index}`\"\n v-bind=\"item\"\n >\n <template #default=\"scope\">\n <EpFormItem\n v-if=\"item.type || item.render\"\n :form-data=\"scope.row\"\n :table-scope=\"scope\"\n v-bind=\"formItemProps(scope, item)\"\n />\n <template v-else>\n {{ scope.row[item.prop] }}\n </template>\n </template>\n </el-table-column>\n <template v-for=\"name in slots\" #[name]=\"scope\">\n <slot :name=\"name\" v-bind=\"scope\" />\n </template>\n </el-table>\n </el-form>\n <el-pagination\n v-if=\"showPagination\"\n v-model:current-page=\"pagination.pageNo\"\n v-model:page-size=\"pagination.pageSize\"\n :total=\"pagination.total\"\n v-bind=\"paginationProps\"\n />\n <EpCustomColumn\n v-if=\"customColumnModule\"\n ref=\"customColumnRef\"\n :module=\"customColumnModule\"\n :api=\"customColumnApi\"\n :save-api=\"customColumnSaveApi\"\n :show-handler=\"false\"\n />\n </div>\n</template>\n<script setup lang=\"tsx\">\nimport { computed, useSlots, useTemplateRef } from 'vue'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport {\n tableProps,\n tableEmits,\n expandTablePropsKeys,\n tableEmitsKeys,\n} from './table'\nimport type { TableEmits } from './table'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { EpFormItem } from '@el-plus/components/form'\nimport EpCustomColumn from '@el-plus/components/custom-column'\nimport type { CustomColumnInstance } from '@el-plus/components/custom-column'\nimport { useTable, useTableColumn, useTableFormItem } from './use-table'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTable',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('table')\nconst props = defineProps(tableProps)\nconst emit = defineEmits(tableEmits!)\n\nconst slots = computed(() => {\n return Object.keys(useSlots())\n // .filter((item) => item !== 'default')\n})\nconst customAttrs = computed(() => {\n return {\n 'row-key': props.rowKey || 'id',\n ...prepareProps(props, ['modelValue', ...expandTablePropsKeys]),\n // 'tooltip-effect': 'light',\n size: 'small',\n data: data.value,\n ...prepareEvents<NonNullable<TableEmits>>(emit, tableEmitsKeys!),\n }\n})\nconst {\n pagination,\n paginationProps,\n data,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n loading,\n search,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns,\n} = useTable(props)\nconst { columnList } = useTableColumn(props, data, customColumns)\nconst { formItemProps } = useTableFormItem(props)\nconst customColumnRef = useTemplateRef<CustomColumnInstance>('customColumnRef')\n\ndefineExpose({\n elFormRef,\n elTableRef,\n validate,\n resetFields,\n clearValidate,\n clearSelection,\n search,\n openCustomColumnDialog: () => {\n customColumnRef.value?.open()\n },\n})\n</script>\n"],"names":["t","useLocale","bem","createNameSpace","props","__props","emit","__emit","slots","computed","Object","keys","useSlots","customAttrs","rowKey","prepareProps","expandTablePropsKeys","size","data","value","prepareEvents","tableEmitsKeys","pagination","paginationProps","validate","resetFields","clearValidate","clearSelection","loading","search","elFormRef","elTableRef","formatActionButtons","customColumns","useTable","columnList","useTableColumn","formItemProps","useTableFormItem","customColumnRef","useTemplateRef","__expose","openCustomColumnDialog","open","_createElementBlock","class","_normalizeClass","_unref","b","prepareClassNames","style","_normalizeStyle","prepareStyles","_createVNode","_component_el_form","ref","model","inline","_withDirectives","_openBlock","_createBlock","_component_el_table","_mergeProps","_createSlots","showSelectionCol","_component_el_table_column","type","width","align","selectable","fixed","showSingleSelectionCol","default","_withCtx","scope","_component_el_link","underline","onClick","$event","row","showIndexCol","label","index","indexFormatter","actionButtons","length","actionColWidth","_createElementVNode","e","_component_EpButtons","list","_Fragment","_renderList","item","key","prop","render","_createTextVNode","_toDisplayString","name","fn","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","showPagination","_component_el_pagination","pageNo","pageSize","total","customColumnModule","EpCustomColumn","module","api","customColumnApi","customColumnSaveApi"],"mappings":"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"}
@@ -333,7 +333,7 @@ const useTableFormItem = (props$1) => {
333
333
  isShowLabel: false,
334
334
  required,
335
335
  hideRequiredAsterisk: "cellRequired" in item ? false : required,
336
- prop: `table.${scope.row[props$1.rowKey]}.${item.prop}`,
336
+ prop: `table.${scope.$index}.${item.prop}`,
337
337
  tableProp: item.prop,
338
338
  // table里的表单需要绑定的prop
339
339
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\n\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理选择,用于多选表格,清空用户的选择\n const clearSelection = () => {\n return elTableRef.value!.clearSelection()\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n return {\n ...item,\n onClick: item.onClick.bind(null, scope),\n }\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n clearSelection,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const defaultPaginationProps = props.paginationProps || {}\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n layout: 'total, sizes, prev, pager, next, jumper',\n ...defaultPaginationProps,\n pageSizes,\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.row[props.rowKey as string]}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","rowKey","tableProp"],"mappings":"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"}
1
+ {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport { merge } from 'lodash-unified'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理选择,用于多选表格,清空用户的选择\n const clearSelection = () => {\n return elTableRef.value!.clearSelection()\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n return {\n ...item,\n onClick: item.onClick.bind(null, scope),\n }\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n clearSelection,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const defaultPaginationProps = props.paginationProps || {}\n const pageSizes = defaultPaginationProps.pageSizes || [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n layout: 'total, sizes, prev, pager, next, jumper',\n ...defaultPaginationProps,\n pageSizes,\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n column.props = column.props || {}\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n const newColumn = columnProps(column)\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n // newColumn = { ...newColumn, ...formatColumn }\n merge(newColumn, formatColumn)\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n if ('desc' in item.props && typeof item.props.desc === 'function') {\n item.props.desc = item.props.desc(scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearSelection","clearValidate","formatActionButtons","scope","map","onClick","bind","defaultPaginationProps","pageSizes","reactive","computed","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","merge","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","desc","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version = "0.0.78";
3
+ var version = "0.0.80";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=package.json.js.map
package/lib/utils/file.js CHANGED
@@ -6,7 +6,7 @@ var env = require('./env.js');
6
6
  var jsBase64 = require('js-base64');
7
7
 
8
8
  const getFullUrl = (filePath) => {
9
- return filePath.indexOf("hongxinshop.com") > -1 ? filePath : `${window.location.protocol}${env.getEnv() === "local" ? `//${env.getLocationEnv()}-hxjf.hongxinshop.com` : ""}/image/${filePath}`;
9
+ return filePath.indexOf("hongxinshop.com") > -1 ? filePath : `${window.location.protocol}//${env.getEnv() === "local" ? `${env.getLocationEnv()}-hxjf.hongxinshop.com` : window.location.host}/image/${filePath}`;
10
10
  };
11
11
  const downloadSrc = ({
12
12
  src,