el-plus 0.0.77 → 0.0.78

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 (56) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +49 -41
  4. package/dist/index.full.min.js +4 -4
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +4 -4
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +50 -42
  9. package/es/components/attachment/index.d.ts +3 -3
  10. package/es/components/attachment/src/attachment.vue.d.ts +1 -1
  11. package/es/components/attachment/src/attachment.vue2.mjs +4 -2
  12. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  13. package/es/components/attachment/src/use-attachment.d.ts +10 -105
  14. package/es/components/attachment/src/use-attachment.mjs +23 -30
  15. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  16. package/es/components/header/index.d.ts +3 -3
  17. package/es/components/header/src/header.vue.d.ts +1 -1
  18. package/es/components/search-list-page/index.d.ts +42 -15
  19. package/es/components/search-list-page/src/search-list-page.vue.d.ts +14 -5
  20. package/es/components/search-list-page/src/use-search-list-page.d.ts +14 -5
  21. package/es/components/table/index.d.ts +15 -3
  22. package/es/components/table/src/table.d.ts +4 -1
  23. package/es/components/table/src/table.mjs +4 -0
  24. package/es/components/table/src/table.mjs.map +1 -1
  25. package/es/components/table/src/table.vue.d.ts +9 -2
  26. package/es/components/table/src/table.vue2.mjs +16 -6
  27. package/es/components/table/src/table.vue2.mjs.map +1 -1
  28. package/es/components/table/src/use-table.mjs +1 -1
  29. package/es/components/table/src/use-table.mjs.map +1 -1
  30. package/es/package.json.mjs +1 -1
  31. package/lib/components/attachment/index.d.ts +3 -3
  32. package/lib/components/attachment/src/attachment.vue.d.ts +1 -1
  33. package/lib/components/attachment/src/attachment.vue2.js +4 -2
  34. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  35. package/lib/components/attachment/src/use-attachment.d.ts +10 -105
  36. package/lib/components/attachment/src/use-attachment.js +23 -30
  37. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  38. package/lib/components/header/index.d.ts +3 -3
  39. package/lib/components/header/src/header.vue.d.ts +1 -1
  40. package/lib/components/search-list-page/index.d.ts +42 -15
  41. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +14 -5
  42. package/lib/components/search-list-page/src/use-search-list-page.d.ts +14 -5
  43. package/lib/components/table/index.d.ts +15 -3
  44. package/lib/components/table/src/table.d.ts +4 -1
  45. package/lib/components/table/src/table.js +4 -0
  46. package/lib/components/table/src/table.js.map +1 -1
  47. package/lib/components/table/src/table.vue.d.ts +9 -2
  48. package/lib/components/table/src/table.vue2.js +16 -6
  49. package/lib/components/table/src/table.vue2.js.map +1 -1
  50. package/lib/components/table/src/use-table.js +1 -1
  51. package/lib/components/table/src/use-table.js.map +1 -1
  52. package/lib/package.json.js +1 -1
  53. package/package.json +1 -1
  54. package/theme-chalk/header.css +1 -1
  55. package/theme-chalk/index.css +1 -1
  56. package/theme-chalk/src/header.scss +1 -1
@@ -2,32 +2,6 @@ export declare const useAttachment: (props: any, { data }: {
2
2
  data: any;
3
3
  }) => {
4
4
  columns: import("vue").Ref<({
5
- type: string;
6
- label: any;
7
- width: string;
8
- props: {
9
- type: string;
10
- list: ({
11
- name: any;
12
- onClick: ({ row }: {
13
- row: any;
14
- }) => void;
15
- disabled?: undefined;
16
- } | {
17
- name: any;
18
- disabled: () => boolean;
19
- onClick: ({ $index, row }: {
20
- $index: any;
21
- row: any;
22
- }) => void;
23
- })[];
24
- desc?: undefined;
25
- };
26
- prop?: undefined;
27
- required?: undefined;
28
- show?: undefined;
29
- onClick?: undefined;
30
- } | {
31
5
  label: any;
32
6
  prop: string;
33
7
  type: string;
@@ -37,10 +11,7 @@ export declare const useAttachment: (props: any, { data }: {
37
11
  desc: ({ row }: {
38
12
  row: any;
39
13
  }) => any;
40
- type?: undefined;
41
- list?: undefined;
42
14
  };
43
- width?: undefined;
44
15
  onClick?: undefined;
45
16
  } | {
46
17
  label: any;
@@ -49,55 +20,26 @@ export declare const useAttachment: (props: any, { data }: {
49
20
  onClick: ({ row }: {
50
21
  row: any;
51
22
  }) => void;
52
- width?: undefined;
53
- props?: undefined;
54
23
  required?: undefined;
55
24
  show?: undefined;
25
+ props?: undefined;
56
26
  } | {
57
27
  label: any;
58
28
  prop: string;
59
29
  type?: undefined;
60
- width?: undefined;
61
- props?: undefined;
62
30
  required?: undefined;
63
31
  show?: undefined;
32
+ props?: undefined;
64
33
  onClick?: undefined;
65
34
  } | {
66
35
  label: any;
67
36
  prop: string;
68
37
  type: string;
69
38
  show: () => any;
70
- width?: undefined;
71
- props?: undefined;
72
39
  required?: undefined;
40
+ props?: undefined;
73
41
  onClick?: undefined;
74
42
  })[], ({
75
- type: string;
76
- label: any;
77
- width: string;
78
- props: {
79
- type: string;
80
- list: ({
81
- name: any;
82
- onClick({ row }: {
83
- row: any;
84
- }): void;
85
- disabled?: undefined;
86
- } | {
87
- name: any;
88
- disabled: () => boolean;
89
- onClick: ({ $index, row }: {
90
- $index: any;
91
- row: any;
92
- }) => void;
93
- })[];
94
- desc?: undefined;
95
- };
96
- prop?: undefined;
97
- required?: undefined;
98
- show?: undefined;
99
- onClick?: undefined;
100
- } | {
101
43
  label: any;
102
44
  prop: string;
103
45
  type: string;
@@ -107,10 +49,7 @@ export declare const useAttachment: (props: any, { data }: {
107
49
  desc: ({ row }: {
108
50
  row: any;
109
51
  }) => any;
110
- type?: undefined;
111
- list?: undefined;
112
52
  };
113
- width?: undefined;
114
53
  onClick?: undefined;
115
54
  } | {
116
55
  label: any;
@@ -119,55 +58,26 @@ export declare const useAttachment: (props: any, { data }: {
119
58
  onClick({ row }: {
120
59
  row: any;
121
60
  }): void;
122
- width?: undefined;
123
- props?: undefined;
124
61
  required?: undefined;
125
62
  show?: undefined;
63
+ props?: undefined;
126
64
  } | {
127
65
  label: any;
128
66
  prop: string;
129
67
  type?: undefined;
130
- width?: undefined;
131
- props?: undefined;
132
68
  required?: undefined;
133
69
  show?: undefined;
70
+ props?: undefined;
134
71
  onClick?: undefined;
135
72
  } | {
136
73
  label: any;
137
74
  prop: string;
138
75
  type: string;
139
76
  show: () => any;
140
- width?: undefined;
141
- props?: undefined;
142
77
  required?: undefined;
78
+ props?: undefined;
143
79
  onClick?: undefined;
144
80
  })[] | ({
145
- type: string;
146
- label: any;
147
- width: string;
148
- props: {
149
- type: string;
150
- list: ({
151
- name: any;
152
- onClick: ({ row }: {
153
- row: any;
154
- }) => void;
155
- disabled?: undefined;
156
- } | {
157
- name: any;
158
- disabled: () => boolean;
159
- onClick: ({ $index, row }: {
160
- $index: any;
161
- row: any;
162
- }) => void;
163
- })[];
164
- desc?: undefined;
165
- };
166
- prop?: undefined;
167
- required?: undefined;
168
- show?: undefined;
169
- onClick?: undefined;
170
- } | {
171
81
  label: any;
172
82
  prop: string;
173
83
  type: string;
@@ -177,10 +87,7 @@ export declare const useAttachment: (props: any, { data }: {
177
87
  desc: ({ row }: {
178
88
  row: any;
179
89
  }) => any;
180
- type?: undefined;
181
- list?: undefined;
182
90
  };
183
- width?: undefined;
184
91
  onClick?: undefined;
185
92
  } | {
186
93
  label: any;
@@ -189,29 +96,27 @@ export declare const useAttachment: (props: any, { data }: {
189
96
  onClick: ({ row }: {
190
97
  row: any;
191
98
  }) => void;
192
- width?: undefined;
193
- props?: undefined;
194
99
  required?: undefined;
195
100
  show?: undefined;
101
+ props?: undefined;
196
102
  } | {
197
103
  label: any;
198
104
  prop: string;
199
105
  type?: undefined;
200
- width?: undefined;
201
- props?: undefined;
202
106
  required?: undefined;
203
107
  show?: undefined;
108
+ props?: undefined;
204
109
  onClick?: undefined;
205
110
  } | {
206
111
  label: any;
207
112
  prop: string;
208
113
  type: string;
209
114
  show: () => any;
210
- width?: undefined;
211
- props?: undefined;
212
115
  required?: undefined;
116
+ props?: undefined;
213
117
  onClick?: undefined;
214
118
  })[]>;
119
+ actionButtons: import("vue").Ref<any, any>;
215
120
  addAttachment: () => Promise<void>;
216
121
  isNormalOpen: boolean;
217
122
  isDialogOpen: boolean;
@@ -17,38 +17,30 @@ const useAttachment = (props, { data }) => {
17
17
  const isDialogOpen = props.openType === "dialog";
18
18
  let toBeConfirmData = [];
19
19
  let toBeDeleteData = {};
20
- const columns = vue.ref([
20
+ const actionButtons = vue.ref([
21
21
  {
22
- type: "EpButtons",
23
- label: t("ep.attachment.operation"),
24
- width: "120px",
25
- props: {
26
- type: "text",
27
- list: [
28
- {
29
- name: t("ep.attachment.download"),
30
- onClick({ row }) {
31
- file.downloadFile({
32
- src: row.filePath,
33
- fileName: row.originalFilename || row.originalFileName
34
- });
35
- }
36
- },
37
- {
38
- name: t("ep.attachment.delete"),
39
- disabled: () => {
40
- return mode.value === "browse";
41
- },
42
- onClick: ({ $index, row }) => {
43
- if (isDialogOpen) {
44
- toBeDeleteData[$index] = row;
45
- }
46
- data.value.splice($index, 1);
47
- }
48
- }
49
- ]
22
+ name: t("ep.attachment.download"),
23
+ onClick({ row }) {
24
+ file.downloadFile({
25
+ src: row.filePath,
26
+ fileName: row.originalFilename || row.originalFileName
27
+ });
50
28
  }
51
29
  },
30
+ {
31
+ name: t("ep.attachment.delete"),
32
+ disabled: () => {
33
+ return mode.value === "browse";
34
+ },
35
+ onClick: ({ $index, row }) => {
36
+ if (isDialogOpen) {
37
+ toBeDeleteData[$index] = row;
38
+ }
39
+ data.value.splice($index, 1);
40
+ }
41
+ }
42
+ ]);
43
+ const columns = vue.ref([
52
44
  {
53
45
  label: t("ep.attachment.attachmentType"),
54
46
  prop: "type",
@@ -127,7 +119,7 @@ const useAttachment = (props, { data }) => {
127
119
  resolve();
128
120
  };
129
121
  const permission = vue.computed(() => {
130
- const arr = props.permission?.split(",") || [];
122
+ const arr = props.permission?.split(":") || [];
131
123
  return {
132
124
  arg: arr[0],
133
125
  value: arr[1]
@@ -135,6 +127,7 @@ const useAttachment = (props, { data }) => {
135
127
  });
136
128
  return {
137
129
  columns,
130
+ actionButtons,
138
131
  addAttachment,
139
132
  isNormalOpen,
140
133
  isDialogOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"use-attachment.js","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\nimport { Cookies } from '@el-plus/utils/cookie'\nimport type { TableInstance } from '@el-plus/components/table'\n\nexport const useAttachment = (props, { data }) => {\n const { mode: defaultMode } = useNavigation()\n const { t } = useLocale()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n const tableRef = useTemplateRef<TableInstance>('tableRef')\n const isNormalOpen = props.openType === 'normal'\n const isDialogOpen = props.openType === 'dialog'\n\n // 待确认的附件列表\n let toBeConfirmData: Record<string, any>[] = []\n // 待删除的附件列表\n let toBeDeleteData: {\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\n } = {}\n const columns = ref([\n {\n type: 'EpButtons',\n label: t('ep.attachment.operation'),\n width: '120px',\n props: {\n type: 'text',\n list: [\n {\n name: t('ep.attachment.download'),\n onClick({ row }) {\n downloadFile({\n src: row.filePath,\n fileName: row.originalFilename || row.originalFileName,\n })\n },\n },\n {\n name: t('ep.attachment.delete'),\n disabled: () => {\n return mode.value === 'browse'\n },\n onClick: ({ $index, row }) => {\n if (isDialogOpen) {\n // 待删除的附件列表\n toBeDeleteData[$index] = row\n }\n data.value.splice($index, 1)\n },\n },\n ],\n },\n },\n {\n label: t('ep.attachment.attachmentType'),\n prop: 'type',\n type: 'EpSelect',\n required: true,\n show: () => props.isType,\n props: {\n desc: ({ row }) => {\n return row.typeDesc\n },\n },\n },\n {\n label: t('ep.attachment.fileName'),\n prop: 'originalFilename',\n type: 'EpLink',\n onClick({ row }) {\n previewFile(row.filePath)\n },\n },\n {\n label: t('ep.attachment.creator'),\n prop: 'createBy',\n },\n {\n label: t('ep.attachment.createTime'),\n prop: 'createTime',\n },\n {\n label: t('ep.attachment.description'),\n prop: 'note',\n type: 'EpInput',\n show: () => props.isNote,\n },\n ])\n const addAttachment = async () => {\n toBeConfirmData = []\n const fileData = await importFile({\n api: 'api-f/fast/files/save',\n extraData: {\n createBy: Cookies.get('accountName') || '',\n },\n })\n fileData.fileId = fileData.id\n delete fileData.id\n if (isDialogOpen) {\n // 待确认的附件列表\n toBeConfirmData.push(fileData)\n }\n if (props.beforeAdd) {\n await props.beforeAdd?.(fileData)\n }\n data.value.push(fileData)\n }\n // 确认\n const onConfirm = async (resolve) => {\n await tableRef.value?.validate()\n resolve(data.value)\n toBeConfirmData = []\n toBeDeleteData = {}\n }\n // 取消\n const onCancel = (resolve) => {\n if (toBeConfirmData.length) {\n // 找到待确认的附件\n const index = data.value.findIndex((item) => {\n return item.fileId === toBeConfirmData[0].fileId\n })\n if (index !== -1) {\n // 删除待确认的附件\n data.value.splice(index, 1)\n }\n // 清空待确认的附件列表\n toBeConfirmData = []\n }\n if (Object.keys(toBeDeleteData).length) {\n // 找到待删除的附件在原位置插入\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\n })\n // 清空待删除的附件列表\n toBeDeleteData = {}\n }\n resolve()\n }\n const permission = computed(() => {\n const arr = props.permission?.split(',') || []\n return {\n arg: arr[0],\n value: arr[1]\n }\n })\n return {\n columns,\n addAttachment,\n isNormalOpen,\n isDialogOpen,\n onConfirm,\n onCancel,\n mode,\n permission\n }\n}\n"],"names":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
1
+ {"version":3,"file":"use-attachment.js","sources":["../../../../../../packages/components/attachment/src/use-attachment.ts"],"sourcesContent":["import { ref, computed, useTemplateRef } from 'vue'\nimport { useNavigation } from '@el-plus/hooks/use-navigation'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nimport { downloadFile, previewFile, importFile } from '@el-plus/utils/file'\nimport { Cookies } from '@el-plus/utils/cookie'\nimport type { TableInstance, TableProps } from '@el-plus/components/table'\n\nexport const useAttachment = (props, { data }) => {\n const { mode: defaultMode } = useNavigation()\n const { t } = useLocale()\n const mode = computed(() => {\n return props.mode || defaultMode.value\n })\n const tableRef = useTemplateRef<TableInstance>('tableRef')\n const isNormalOpen = props.openType === 'normal'\n const isDialogOpen = props.openType === 'dialog'\n\n // 待确认的附件列表\n let toBeConfirmData: Record<string, any>[] = []\n // 待删除的附件列表\n let toBeDeleteData: {\n [key: number]: Record<string, any> // key要存储原来索引以便保留原顺序\n } = {}\n const actionButtons = ref<any>([\n {\n name: t('ep.attachment.download'),\n onClick({ row }) {\n downloadFile({\n src: row.filePath,\n fileName: row.originalFilename || row.originalFileName,\n })\n },\n },\n {\n name: t('ep.attachment.delete'),\n disabled: () => {\n return mode.value === 'browse'\n },\n onClick: ({ $index, row }) => {\n if (isDialogOpen) {\n // 待删除的附件列表\n toBeDeleteData[$index] = row\n }\n data.value.splice($index, 1)\n },\n },\n ])\n const columns = ref([\n {\n label: t('ep.attachment.attachmentType'),\n prop: 'type',\n type: 'EpSelect',\n required: true,\n show: () => props.isType,\n props: {\n desc: ({ row }) => {\n return row.typeDesc\n },\n },\n },\n {\n label: t('ep.attachment.fileName'),\n prop: 'originalFilename',\n type: 'EpLink',\n onClick({ row }) {\n previewFile(row.filePath)\n },\n },\n {\n label: t('ep.attachment.creator'),\n prop: 'createBy',\n },\n {\n label: t('ep.attachment.createTime'),\n prop: 'createTime',\n },\n {\n label: t('ep.attachment.description'),\n prop: 'note',\n type: 'EpInput',\n show: () => props.isNote,\n },\n ])\n const addAttachment = async () => {\n toBeConfirmData = []\n const fileData = await importFile({\n api: 'api-f/fast/files/save',\n extraData: {\n createBy: Cookies.get('accountName') || '',\n },\n })\n fileData.fileId = fileData.id\n delete fileData.id\n if (isDialogOpen) {\n // 待确认的附件列表\n toBeConfirmData.push(fileData)\n }\n if (props.beforeAdd) {\n await props.beforeAdd?.(fileData)\n }\n data.value.push(fileData)\n }\n // 确认\n const onConfirm = async (resolve) => {\n await tableRef.value?.validate()\n resolve(data.value)\n toBeConfirmData = []\n toBeDeleteData = {}\n }\n // 取消\n const onCancel = (resolve) => {\n if (toBeConfirmData.length) {\n // 找到待确认的附件\n const index = data.value.findIndex((item) => {\n return item.fileId === toBeConfirmData[0].fileId\n })\n if (index !== -1) {\n // 删除待确认的附件\n data.value.splice(index, 1)\n }\n // 清空待确认的附件列表\n toBeConfirmData = []\n }\n if (Object.keys(toBeDeleteData).length) {\n // 找到待删除的附件在原位置插入\n Object.keys(toBeDeleteData).forEach((oldIndex) => {\n data.value.splice(Number(oldIndex), 0, toBeDeleteData[oldIndex])\n })\n // 清空待删除的附件列表\n toBeDeleteData = {}\n }\n resolve()\n }\n const permission = computed(() => {\n const arr = props.permission?.split(':') || []\n return {\n arg: arr[0],\n value: arr[1]\n }\n })\n return {\n columns,\n actionButtons,\n addAttachment,\n isNormalOpen,\n isDialogOpen,\n onConfirm,\n onCancel,\n mode,\n permission\n }\n}\n"],"names":["useNavigation","useLocale","computed","useTemplateRef","ref","downloadFile","previewFile","importFile"],"mappings":"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"}
@@ -61,7 +61,6 @@ export declare const EpHeader: {
61
61
  readonly fileList: Record<string, any>[];
62
62
  readonly attachmentProps: {
63
63
  readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
64
- readonly rowKey?: string | undefined;
65
64
  readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
66
65
  [key: string]: any;
67
66
  required: boolean | (() => boolean);
@@ -76,6 +75,7 @@ export declare const EpHeader: {
76
75
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
77
76
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
78
77
  }>[] | undefined;
78
+ readonly rowKey?: string | undefined;
79
79
  readonly permission?: `${string}:${string}` | undefined;
80
80
  readonly openType?: "dialog" | "normal" | undefined;
81
81
  readonly isType?: boolean | undefined;
@@ -152,7 +152,6 @@ export declare const EpHeader: {
152
152
  readonly fileList: Record<string, any>[];
153
153
  readonly attachmentProps: {
154
154
  readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
155
- readonly rowKey?: string | undefined;
156
155
  readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
157
156
  [key: string]: any;
158
157
  required: boolean | (() => boolean);
@@ -167,6 +166,7 @@ export declare const EpHeader: {
167
166
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
168
167
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
169
168
  }>[] | undefined;
169
+ readonly rowKey?: string | undefined;
170
170
  readonly permission?: `${string}:${string}` | undefined;
171
171
  readonly openType?: "dialog" | "normal" | undefined;
172
172
  readonly isType?: boolean | undefined;
@@ -228,7 +228,6 @@ export declare const EpHeader: {
228
228
  readonly fileList: Record<string, any>[];
229
229
  readonly attachmentProps: {
230
230
  readonly mode?: import("el-plus/es/hooks/use-navigation").PageMode | undefined;
231
- readonly rowKey?: string | undefined;
232
231
  readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
233
232
  [key: string]: any;
234
233
  required: boolean | (() => boolean);
@@ -243,6 +242,7 @@ export declare const EpHeader: {
243
242
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
244
243
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
245
244
  }>[] | undefined;
245
+ readonly rowKey?: string | undefined;
246
246
  readonly permission?: `${string}:${string}` | undefined;
247
247
  readonly openType?: "dialog" | "normal" | undefined;
248
248
  readonly isType?: boolean | undefined;
@@ -78,7 +78,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
78
78
  readonly fileList: Record<string, any>[];
79
79
  readonly attachmentProps: {
80
80
  readonly mode?: import("el-plus/es/hooks").PageMode | undefined;
81
- readonly rowKey?: string | undefined;
82
81
  readonly formatColumns?: Partial<import("element-plus").TableColumnCtx & {
83
82
  [key: string]: any;
84
83
  required: boolean | (() => boolean);
@@ -93,6 +92,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
93
92
  show?: (boolean | ((T: unknown) => boolean)) | undefined;
94
93
  hide?: (boolean | ((T: unknown) => boolean)) | undefined;
95
94
  }>[] | undefined;
95
+ readonly rowKey?: string | undefined;
96
96
  readonly permission?: `${string}:${string}` | undefined;
97
97
  readonly openType?: "dialog" | "normal" | undefined;
98
98
  readonly isType?: boolean | undefined;