ele-admin-plus 1.1.7 → 1.1.8-beta.2

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 (111) hide show
  1. package/es/ele-app/el.d.ts +7 -1
  2. package/es/ele-app/style/overwrite/cascader/index.scss +2 -1
  3. package/es/ele-app/style/overwrite/input/css-var.scss +5 -2
  4. package/es/ele-app/style/overwrite/input/index.scss +148 -59
  5. package/es/ele-app/style/overwrite/select/index.scss +57 -8
  6. package/es/ele-app/style/overwrite/tree-select/index.scss +11 -2
  7. package/es/ele-card/index.d.ts +2 -9
  8. package/es/ele-card/index.js +36 -49
  9. package/es/ele-card/props.d.ts +1 -4
  10. package/es/ele-card/props.js +1 -4
  11. package/es/ele-card/style/index.js +0 -1
  12. package/es/ele-card/style/index.scss +54 -67
  13. package/es/ele-cropper/style/index.scss +8 -0
  14. package/es/ele-data-table/index.d.ts +17 -12
  15. package/es/ele-data-table/index.js +1 -0
  16. package/es/ele-data-table/props.d.ts +8 -5
  17. package/es/ele-data-table/props.js +4 -0
  18. package/es/ele-data-table/style/css-var.scss +20 -2
  19. package/es/ele-data-table/style/index.scss +87 -30
  20. package/es/ele-drawer/index.d.ts +2 -2
  21. package/es/ele-menus/index.d.ts +8 -0
  22. package/es/ele-menus/props.d.ts +3 -0
  23. package/es/ele-modal/index.d.ts +2 -2
  24. package/es/ele-page/style/index.scss +26 -21
  25. package/es/ele-pagination/style/index.scss +27 -13
  26. package/es/ele-pro-table/index.d.ts +16 -9
  27. package/es/ele-pro-table/index.js +29 -9
  28. package/es/ele-pro-table/props.d.ts +9 -6
  29. package/es/ele-pro-table/props.js +4 -0
  30. package/es/ele-pro-table/style/index.scss +62 -9
  31. package/es/ele-pro-table/util.d.ts +18 -1
  32. package/es/ele-pro-table/util.js +19 -0
  33. package/es/ele-segmented/index.js +2 -2
  34. package/es/ele-table/style/css-var.scss +46 -0
  35. package/es/ele-table/style/index.scss +8 -82
  36. package/es/ele-tabs/index.js +1 -1
  37. package/es/ele-toolbar/index.js +5 -1
  38. package/es/ele-tour/index.js +2 -2
  39. package/es/ele-tour/util.d.ts +5 -0
  40. package/es/ele-tour/util.js +9 -1
  41. package/es/ele-upload-list/components/list-item.js +1 -1
  42. package/es/ele-upload-list/types.d.ts +2 -0
  43. package/es/ele-virtual-table/components/body-cell.d.ts +2 -2
  44. package/es/ele-virtual-table/components/body-row.d.ts +2 -2
  45. package/es/ele-virtual-table/index.d.ts +20 -12
  46. package/es/ele-virtual-table/index.js +14 -1
  47. package/es/ele-virtual-table/props.d.ts +6 -3
  48. package/es/ele-virtual-table/style/css-var.scss +38 -16
  49. package/es/ele-virtual-table/style/index.scss +42 -31
  50. package/es/ele-watermark/index.d.ts +9 -0
  51. package/es/ele-watermark/index.js +3 -5
  52. package/es/ele-watermark/props.d.ts +5 -0
  53. package/es/ele-watermark/props.js +5 -0
  54. package/es/style/themes/default.scss +17 -9
  55. package/es/style/util.scss +5 -0
  56. package/lib/ele-app/el.d.ts +7 -1
  57. package/lib/ele-app/style/overwrite/cascader/index.scss +2 -1
  58. package/lib/ele-app/style/overwrite/input/css-var.scss +5 -2
  59. package/lib/ele-app/style/overwrite/input/index.scss +148 -59
  60. package/lib/ele-app/style/overwrite/select/index.scss +57 -8
  61. package/lib/ele-app/style/overwrite/tree-select/index.scss +11 -2
  62. package/lib/ele-card/index.cjs +35 -48
  63. package/lib/ele-card/index.d.ts +2 -9
  64. package/lib/ele-card/props.cjs +1 -4
  65. package/lib/ele-card/props.d.ts +1 -4
  66. package/lib/ele-card/style/index.cjs +0 -1
  67. package/lib/ele-card/style/index.scss +54 -67
  68. package/lib/ele-cropper/style/index.scss +8 -0
  69. package/lib/ele-data-table/index.cjs +1 -0
  70. package/lib/ele-data-table/index.d.ts +17 -12
  71. package/lib/ele-data-table/props.cjs +4 -0
  72. package/lib/ele-data-table/props.d.ts +8 -5
  73. package/lib/ele-data-table/style/css-var.scss +20 -2
  74. package/lib/ele-data-table/style/index.scss +87 -30
  75. package/lib/ele-drawer/index.d.ts +2 -2
  76. package/lib/ele-menus/index.d.ts +8 -0
  77. package/lib/ele-menus/props.d.ts +3 -0
  78. package/lib/ele-modal/index.d.ts +2 -2
  79. package/lib/ele-page/style/index.scss +26 -21
  80. package/lib/ele-pagination/style/index.scss +27 -13
  81. package/lib/ele-pro-table/index.cjs +28 -8
  82. package/lib/ele-pro-table/index.d.ts +16 -9
  83. package/lib/ele-pro-table/props.cjs +4 -0
  84. package/lib/ele-pro-table/props.d.ts +9 -6
  85. package/lib/ele-pro-table/style/index.scss +62 -9
  86. package/lib/ele-pro-table/util.cjs +19 -0
  87. package/lib/ele-pro-table/util.d.ts +18 -1
  88. package/lib/ele-segmented/index.cjs +2 -2
  89. package/lib/ele-table/style/css-var.scss +46 -0
  90. package/lib/ele-table/style/index.scss +8 -82
  91. package/lib/ele-tabs/index.cjs +1 -1
  92. package/lib/ele-toolbar/index.cjs +5 -1
  93. package/lib/ele-tour/index.cjs +1 -1
  94. package/lib/ele-tour/util.cjs +8 -0
  95. package/lib/ele-tour/util.d.ts +5 -0
  96. package/lib/ele-upload-list/components/list-item.cjs +1 -1
  97. package/lib/ele-upload-list/types.d.ts +2 -0
  98. package/lib/ele-virtual-table/components/body-cell.d.ts +2 -2
  99. package/lib/ele-virtual-table/components/body-row.d.ts +2 -2
  100. package/lib/ele-virtual-table/index.cjs +13 -0
  101. package/lib/ele-virtual-table/index.d.ts +20 -12
  102. package/lib/ele-virtual-table/props.d.ts +6 -3
  103. package/lib/ele-virtual-table/style/css-var.scss +38 -16
  104. package/lib/ele-virtual-table/style/index.scss +42 -31
  105. package/lib/ele-watermark/index.cjs +3 -5
  106. package/lib/ele-watermark/index.d.ts +9 -0
  107. package/lib/ele-watermark/props.cjs +5 -0
  108. package/lib/ele-watermark/props.d.ts +5 -0
  109. package/lib/style/themes/default.scss +17 -9
  110. package/lib/style/util.scss +5 -0
  111. package/package.json +20 -20
@@ -17,6 +17,14 @@ $ele-expand-path: 'M362 811 662 512 362 213' !default;
17
17
  z-index: 4;
18
18
  }
19
19
 
20
+ /* 底部间距补丁 */
21
+ .ele-data-table.el-table > .el-table__inner-wrapper > .el-table__body-wrapper {
22
+ & > .el-scrollbar > .el-scrollbar__wrap {
23
+ padding-bottom: eleVar('table', 'fix-height');
24
+ box-sizing: border-box;
25
+ }
26
+ }
27
+
20
28
  .ele-data-table {
21
29
  /* 单元格背景 */
22
30
  & > .el-table__inner-wrapper {
@@ -269,27 +277,57 @@ $ele-expand-path: 'M362 811 662 512 362 213' !default;
269
277
  }
270
278
  }
271
279
 
280
+ /* 表尾 */
281
+ & > .el-table__inner-wrapper > .el-table__footer-wrapper {
282
+ border-top: 1px solid eleVar('table', 'border-color');
283
+ margin-top: -1px;
284
+ z-index: 3;
285
+
286
+ td.el-table__cell {
287
+ border-bottom-color: transparent;
288
+ }
289
+ }
290
+
272
291
  /* 边框线 */
273
- &.el-table--border::after,
274
- &.el-table--border::before {
275
- top: 0;
276
- bottom: 0;
277
- width: 0;
278
- border-left: 1px solid eleVar('table', 'border-color');
279
- z-index: 5;
292
+ &.el-table--border,
293
+ &.el-table > .el-table__inner-wrapper {
294
+ &::before,
295
+ &::after {
296
+ background: none;
297
+ position: absolute;
298
+ box-sizing: border-box;
299
+ pointer-events: none;
300
+ z-index: 5;
301
+ }
280
302
  }
281
303
 
282
304
  &.el-table > .el-table__inner-wrapper::before,
283
- &.el-table--border > .el-table__inner-wrapper::after {
305
+ &.el-table > .el-table__inner-wrapper::after {
306
+ left: 0;
284
307
  right: 0;
285
- height: 0;
308
+ width: 100%;
309
+ height: calc(1px + #{eleVar('table', 'radius')});
310
+ }
311
+
312
+ &.el-table > .el-table__inner-wrapper::before {
313
+ content: '';
314
+ bottom: 0;
315
+ border-bottom: 1px solid eleVar('table', 'border-color');
316
+ }
317
+
318
+ &.el-table.el-table--border > .el-table__inner-wrapper::after,
319
+ &.el-table.hide-header > .el-table__inner-wrapper::after {
320
+ content: '';
321
+ top: 0;
286
322
  border-top: 1px solid eleVar('table', 'border-color');
287
- z-index: 5;
288
323
  }
289
324
 
290
- &.el-table:not(.has-footer) > .el-table__inner-wrapper::before {
291
- bottom: eleVar('table', 'fix-height');
292
- box-shadow: 0 0.8px 0 eleVar('table', 'tr-bg');
325
+ &.el-table--border > .el-table__inner-wrapper {
326
+ &::before,
327
+ &::after {
328
+ border-right: 1px solid transparent;
329
+ border-left: 1px solid transparent;
330
+ }
293
331
  }
294
332
 
295
333
  & > .el-table__inner-wrapper > .el-table__border-left-patch,
@@ -298,32 +336,51 @@ $ele-expand-path: 'M362 811 662 512 362 213' !default;
298
336
  display: none;
299
337
  }
300
338
 
301
- & > .el-table__inner-wrapper > .el-table__footer-wrapper td.el-table__cell {
302
- border-bottom-color: transparent;
339
+ /* 全边框 */
340
+ &.el-table--border {
341
+ &::before,
342
+ &::after {
343
+ content: '';
344
+ top: 0;
345
+ bottom: 0;
346
+ height: 100%;
347
+ width: calc(1px + #{eleVar('table', 'radius')});
348
+ border-bottom: 1px solid transparent;
349
+ border-top: 1px solid transparent;
350
+ }
351
+
352
+ &::before {
353
+ left: 0;
354
+ border-left: 1px solid eleVar('table', 'border-color');
355
+ }
356
+
357
+ &::after {
358
+ right: 0;
359
+ border-right: 1px solid eleVar('table', 'border-color');
360
+ }
303
361
  }
304
362
 
305
- & > .el-table__inner-wrapper > .el-table__footer-wrapper {
306
- margin-top: -1px;
363
+ /* 适配底部间距补丁 */
364
+ &.el-table:not(.has-footer) > .el-table__inner-wrapper::before {
365
+ bottom: eleVar('table', 'fix-height');
366
+ box-shadow: 0 0.8px 0 eleVar('table', 'tr-bg');
307
367
  }
308
368
 
309
- &.el-table > .el-table__inner-wrapper > .el-table__body-wrapper {
310
- & > .el-scrollbar > .el-scrollbar__wrap {
311
- padding-bottom: eleVar('table', 'fix-height');
312
- box-sizing: border-box;
313
- }
369
+ &.el-table--border:not(.has-footer)::before,
370
+ &.el-table--border:not(.has-footer)::after {
371
+ bottom: eleVar('table', 'fix-height');
372
+ height: auto;
314
373
  }
315
374
 
316
375
  /* 圆角 */
317
- &:not(.el-table--border) {
318
- @include data-table-radius(eleVar('table', 'radius'));
376
+ @include data-table-radius(eleVar('table', 'radius'));
319
377
 
320
- &.el-table--large {
321
- @include data-table-radius(eleVar('table', 'lg-radius'));
322
- }
378
+ &.el-table--large {
379
+ @include data-table-radius(eleVar('table', 'lg-radius'));
380
+ }
323
381
 
324
- &.el-table--small {
325
- @include data-table-radius(eleVar('table', 'sm-radius'));
326
- }
382
+ &.el-table--small {
383
+ @include data-table-radius(eleVar('table', 'sm-radius'));
327
384
  }
328
385
 
329
386
  /* 内部组件 */
@@ -140,11 +140,11 @@ declare const _default: import("vue").DefineComponent<{
140
140
  }>> & {
141
141
  onOpen?: (() => any) | undefined;
142
142
  onClose?: (() => any) | undefined;
143
- onOpenAutoFocus?: (() => any) | undefined;
144
- onCloseAutoFocus?: (() => any) | undefined;
145
143
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
146
144
  onOpened?: (() => any) | undefined;
147
145
  onClosed?: (() => any) | undefined;
146
+ onOpenAutoFocus?: (() => any) | undefined;
147
+ onCloseAutoFocus?: (() => any) | undefined;
148
148
  }, {
149
149
  size: import("element-plus/es/utils/index").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
150
150
  center: boolean;
@@ -35,6 +35,9 @@ declare const _default: import("vue").DefineComponent<{
35
35
  popperOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
36
36
  ellipsisIcon: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
37
37
  popperEffect: import("element-plus/es/utils/index").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
38
+ popperClass: StringConstructor;
39
+ showTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
40
+ hideTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
38
41
  }, {
39
42
  menuRef: import("vue").Ref<ElMenuInstance>;
40
43
  open: (index: string) => void;
@@ -78,12 +81,17 @@ declare const _default: import("vue").DefineComponent<{
78
81
  popperOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
79
82
  ellipsisIcon: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
80
83
  popperEffect: import("element-plus/es/utils/index").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
84
+ popperClass: StringConstructor;
85
+ showTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
86
+ hideTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
81
87
  }>> & {
82
88
  onOpen?: ((index: string, indexPath: string[]) => any) | undefined;
83
89
  onClose?: ((index: string, indexPath: string[]) => any) | undefined;
84
90
  onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
85
91
  onItemClick?: ((_item: import("./types").MenuItem) => any) | undefined;
86
92
  }, {
93
+ showTimeout: number;
94
+ hideTimeout: number;
87
95
  mode: import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
88
96
  defaultActive: string;
89
97
  defaultOpeneds: string[];
@@ -46,6 +46,9 @@ export declare const menusProps: {
46
46
  popperOffset: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
47
47
  ellipsisIcon: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
48
48
  popperEffect: import("element-plus/es/utils/index").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
49
+ popperClass: StringConstructor;
50
+ showTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
51
+ hideTimeout: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
49
52
  };
50
53
  export type MenusProps = ExtractPropTypes<typeof menusProps>;
51
54
  export type MenuPropKeys = Array<keyof typeof menuProps>;
@@ -200,11 +200,11 @@ declare const _default: import("vue").DefineComponent<{
200
200
  }>> & {
201
201
  onOpen?: (() => any) | undefined;
202
202
  onClose?: (() => any) | undefined;
203
- onOpenAutoFocus?: (() => any) | undefined;
204
- onCloseAutoFocus?: (() => any) | undefined;
205
203
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
206
204
  onOpened?: (() => any) | undefined;
207
205
  onClosed?: (() => any) | undefined;
206
+ onOpenAutoFocus?: (() => any) | undefined;
207
+ onCloseAutoFocus?: (() => any) | undefined;
208
208
  "onUpdate:fullscreen"?: ((_fullscreen: boolean) => any) | undefined;
209
209
  }, {
210
210
  form: boolean;
@@ -15,32 +15,12 @@
15
15
  &.is-multi-card {
16
16
  padding-bottom: 0;
17
17
 
18
+ .ele-card,
18
19
  .el-card {
19
20
  margin-bottom: eleVar('page', 'padding');
20
21
  }
21
22
  }
22
23
 
23
- /* 内部表格高度铺满 */
24
- &.is-flex-table {
25
- flex: 1;
26
- display: flex;
27
- flex-direction: column;
28
- overflow: auto;
29
-
30
- & > .ele-pro-table {
31
- flex: 1;
32
- display: flex;
33
- flex-direction: column;
34
- overflow: auto;
35
-
36
- & > .ele-pro-table-view {
37
- flex: 1;
38
- height: 100%;
39
- overflow: hidden;
40
- }
41
- }
42
- }
43
-
44
24
  /* 关闭页脚 */
45
25
  &.is-hide-footer + .ele-footer {
46
26
  display: none;
@@ -52,6 +32,31 @@
52
32
  flex: auto;
53
33
  }
54
34
 
35
+ .ele-page.is-hide-footer {
36
+ flex: none;
37
+ }
38
+
39
+ /* 内部表格高度铺满 */
40
+ .ele-page.is-flex-table {
41
+ flex: 1;
42
+ display: flex;
43
+ flex-direction: column;
44
+ overflow: auto;
45
+
46
+ & > .ele-pro-table {
47
+ flex: 1;
48
+ display: flex;
49
+ flex-direction: column;
50
+ overflow: auto;
51
+
52
+ & > .ele-pro-table-view {
53
+ flex: 1;
54
+ height: 100%;
55
+ overflow: hidden;
56
+ }
57
+ }
58
+ }
59
+
55
60
  /* 内容定宽 */
56
61
  .ele-admin-limited .ele-page:not(.is-plain) {
57
62
  margin: 0 auto;
@@ -92,20 +92,29 @@
92
92
  width: 50px;
93
93
  }
94
94
 
95
- .el-pagination__sizes .el-input {
96
- width: 96px;
95
+ .el-pagination__sizes {
96
+ .el-input,
97
+ .el-select {
98
+ width: 96px;
97
99
 
98
- .el-input__wrapper {
100
+ .el-select__caret {
101
+ margin-left: 0;
102
+ }
103
+ }
104
+
105
+ .el-input .el-input__wrapper,
106
+ .el-select .el-select__wrapper {
99
107
  padding-left: 1px;
100
108
  padding-right: 7px;
101
109
  }
102
110
 
103
- .el-select__caret {
104
- margin-left: 0;
111
+ .el-select__selected-item {
112
+ text-align: center;
105
113
  }
106
114
  }
107
115
 
108
- .el-input__inner {
116
+ .el-input__inner,
117
+ .el-select__selected-item > span {
109
118
  font-size: eleVar('pagination', 'sm-font-size');
110
119
  }
111
120
 
@@ -161,19 +170,24 @@
161
170
  width: 44px;
162
171
  }
163
172
 
164
- .el-pagination__sizes .el-input {
165
- width: 88px;
173
+ .el-pagination__sizes {
174
+ .el-input,
175
+ .el-select {
176
+ width: 88px;
166
177
 
167
- .el-input__wrapper {
168
- padding-right: 6px;
178
+ .el-select__caret {
179
+ font-size: 12px;
180
+ }
169
181
  }
170
182
 
171
- .el-select__caret {
172
- font-size: 12px;
183
+ .el-input .el-input__wrapper,
184
+ .el-select .el-select__wrapper {
185
+ padding-right: 6px;
173
186
  }
174
187
  }
175
188
 
176
- .el-input__inner {
189
+ .el-input__inner,
190
+ .el-select__selected-item > span {
177
191
  font-size: eleVar('pagination', 'sm-font-size');
178
192
  }
179
193
 
@@ -3,6 +3,10 @@ import type { EleLoadingProps, ElePaginationProps, EleDataTableProps } from '../
3
3
  import type { DataItem, Columns, Sorter, Filter, TableSize } from '../ele-data-table/types';
4
4
  import type { ReloadFunction, DoneParams, FetchCallback, TableViewInstance } from './types';
5
5
  declare const _default: import("vue").DefineComponent<{
6
+ rowKey: {
7
+ type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
8
+ required: boolean;
9
+ };
6
10
  loading: BooleanConstructor;
7
11
  datasource: {
8
12
  type: import("vue").PropType<import("./types").Datasource>;
@@ -68,7 +72,6 @@ declare const _default: import("vue").DefineComponent<{
68
72
  };
69
73
  width: (StringConstructor | NumberConstructor)[];
70
74
  lazy: BooleanConstructor;
71
- rowKey: import("vue").PropType<string | ((row: any) => string) | undefined>;
72
75
  columns: {
73
76
  type: import("vue").PropType<Columns>;
74
77
  required: boolean;
@@ -78,7 +81,7 @@ declare const _default: import("vue").DefineComponent<{
78
81
  type: BooleanConstructor;
79
82
  default: boolean;
80
83
  };
81
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
84
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
82
85
  emptyText: StringConstructor;
83
86
  indent: {
84
87
  type: NumberConstructor;
@@ -113,7 +116,7 @@ declare const _default: import("vue").DefineComponent<{
113
116
  defaultExpandAll: BooleanConstructor;
114
117
  defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
115
118
  tooltipEffect: StringConstructor;
116
- tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
119
+ tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
117
120
  spanMethod: import("vue").PropType<((data: {
118
121
  row: any;
119
122
  rowIndex: number;
@@ -223,16 +226,21 @@ declare const _default: import("vue").DefineComponent<{
223
226
  rowClick: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
224
227
  rowContextmenu: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
225
228
  rowDblclick: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
226
- headerClick: (_column: import("./types").Column, _e: MouseEvent) => boolean; /** 当前页数据 */
227
- headerContextmenu: (_column: import("./types").Column, _e: MouseEvent) => boolean; /** 当前页码 */
229
+ headerClick: (_column: import("./types").Column, _e: MouseEvent) => boolean;
230
+ headerContextmenu: (_column: import("./types").Column, _e: MouseEvent) => boolean;
228
231
  sortChange: (_sorter: Sorter) => boolean;
229
- filterChange: (_filter: Filter) => boolean;
232
+ filterChange: (_filter: Filter) => boolean; /** 每页显示数量 */
230
233
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
231
234
  headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean;
235
+ /** 数据请求状态 */
232
236
  expandChange: (_row: DataItem, _expanded: boolean) => boolean;
233
237
  'update:currentRowKey': (_currentRowKey?: import("../ele-data-table/types").DataKey | undefined) => boolean;
234
238
  'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean;
235
239
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
240
+ rowKey: {
241
+ type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
242
+ required: boolean;
243
+ };
236
244
  loading: BooleanConstructor;
237
245
  datasource: {
238
246
  type: import("vue").PropType<import("./types").Datasource>;
@@ -298,7 +306,6 @@ declare const _default: import("vue").DefineComponent<{
298
306
  };
299
307
  width: (StringConstructor | NumberConstructor)[];
300
308
  lazy: BooleanConstructor;
301
- rowKey: import("vue").PropType<string | ((row: any) => string) | undefined>;
302
309
  columns: {
303
310
  type: import("vue").PropType<Columns>;
304
311
  required: boolean;
@@ -308,7 +315,7 @@ declare const _default: import("vue").DefineComponent<{
308
315
  type: BooleanConstructor;
309
316
  default: boolean;
310
317
  };
311
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
318
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
312
319
  emptyText: StringConstructor;
313
320
  indent: {
314
321
  type: NumberConstructor;
@@ -343,7 +350,7 @@ declare const _default: import("vue").DefineComponent<{
343
350
  defaultExpandAll: BooleanConstructor;
344
351
  defaultSort: import("vue").PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
345
352
  tooltipEffect: StringConstructor;
346
- tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
353
+ tooltipOptions: import("vue").PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
347
354
  spanMethod: import("vue").PropType<((data: {
348
355
  row: any;
349
356
  rowIndex: number;
@@ -9,7 +9,7 @@ import EleDataTable from "../ele-data-table/index";
9
9
  import EleVirtualTable from "../ele-virtual-table/index";
10
10
  import EleToolbar from "../ele-toolbar/index";
11
11
  import TableTools from "./components/table-tools";
12
- import { getDefaultFilter, getTablePage, getTableLimit, getTableSize, getPaginationProps, mergeProps, getInitCacheColumns, reloadData, getRequestOrders, getRequestFilters, getResponseResult, getResponseName, isAutoAmend, sortData } from "./util";
12
+ import { getDefaultFilter, getTablePage, getTableLimit, getTableSize, getPaginationProps, mergeProps, getRowKey, getInitCacheColumns, reloadData, addDefaultRowKey, getDefaultRowKey, getRequestOrders, getRequestFilters, getResponseResult, getResponseName, isAutoAmend, sortData } from "./util";
13
13
  import { proTableProps, proTableEmits } from "./props";
14
14
  const _sfc_main = defineComponent({
15
15
  name: "EleProTable",
@@ -90,6 +90,7 @@ const _sfc_main = defineComponent({
90
90
  pageIndex: tableIndex.value,
91
91
  emptyProps: tableEmptyProps.value,
92
92
  rowHeight: props.virtual ? props.rowHeight : void 0,
93
+ rowKey: getRowKey(props.rowKey),
93
94
  style: props.tableStyle,
94
95
  class: "ele-pro-table-view",
95
96
  ...events,
@@ -111,7 +112,11 @@ const _sfc_main = defineComponent({
111
112
  const option = {
112
113
  ...props.loadingProps || {},
113
114
  loading: tableLoading.value,
114
- class: ["ele-pro-table", { "is-maximized": tableMaximized.value }],
115
+ class: [
116
+ "ele-pro-table",
117
+ { "is-maximized": tableMaximized.value },
118
+ { "is-border": tableProps.value.border }
119
+ ],
115
120
  style: tableMaximized.value ? { zIndex } : void 0
116
121
  };
117
122
  return option;
@@ -148,7 +153,11 @@ const _sfc_main = defineComponent({
148
153
  tableLimit.value
149
154
  );
150
155
  cacheData.value = props.datasource;
151
- tableData.value = data;
156
+ tableData.value = addDefaultRowKey(
157
+ data,
158
+ getDefaultRowKey(props.rowKey),
159
+ tablePage.value
160
+ );
152
161
  tablePage.value = page;
153
162
  tableTotal.value = total;
154
163
  onDone({ data, page, total, response: props.datasource });
@@ -216,7 +225,11 @@ const _sfc_main = defineComponent({
216
225
  return;
217
226
  }
218
227
  }
219
- tableData.value = data;
228
+ tableData.value = addDefaultRowKey(
229
+ data,
230
+ getDefaultRowKey(props.rowKey),
231
+ tablePage.value
232
+ );
220
233
  tableTotal.value = total || data.length;
221
234
  }
222
235
  tableLoading.value = false;
@@ -307,14 +320,19 @@ const _sfc_main = defineComponent({
307
320
  return tableData.value;
308
321
  };
309
322
  const setData = (data) => {
310
- tableData.value = data;
323
+ tableData.value = addDefaultRowKey(
324
+ data,
325
+ getDefaultRowKey(props.rowKey),
326
+ tablePage.value
327
+ );
311
328
  };
312
329
  const goPageByRowKey = (key) => {
313
- if (!props.rowKey || !paginationProps.value || tableLimit.value == null || isFunctionSource.value) {
330
+ if (!paginationProps.value || tableLimit.value == null || isFunctionSource.value) {
314
331
  return;
315
332
  }
333
+ const rowKey = getRowKey(props.rowKey);
316
334
  const data = sortData(props.datasource, tableState.sorter);
317
- const index2 = data.findIndex((d) => getValue(d, props.rowKey) === key);
335
+ const index2 = data.findIndex((d) => getValue(d, rowKey) === key);
318
336
  const page = Math.floor(index2 / tableLimit.value) + 1;
319
337
  if (tablePage.value !== page) {
320
338
  reload({ page });
@@ -377,13 +395,15 @@ const _sfc_main = defineComponent({
377
395
  watch(
378
396
  () => props.current,
379
397
  (current) => {
380
- methods.setCurrentRowKey(getValue(current, props.rowKey));
398
+ methods.setCurrentRowKey(getValue(current, getRowKey(props.rowKey)));
381
399
  }
382
400
  );
383
401
  watch(
384
402
  () => props.selections,
385
403
  (selections) => {
386
- methods.setSelectedRowKeys(getRowKeys(selections, props.rowKey));
404
+ methods.setSelectedRowKeys(
405
+ getRowKeys(selections, getRowKey(props.rowKey))
406
+ );
387
407
  }
388
408
  );
389
409
  watch(
@@ -6,6 +6,10 @@ import type { Where, Datasource, RequestOption, ResponseOption, ParseData, DoneP
6
6
  * 属性
7
7
  */
8
8
  export declare const proTableProps: {
9
+ rowKey: {
10
+ type: PropType<string | ((row: DataItem) => string) | undefined>;
11
+ required: boolean;
12
+ };
9
13
  /** 数据请求状态 */
10
14
  loading: BooleanConstructor;
11
15
  /** 数据源 */
@@ -95,7 +99,6 @@ export declare const proTableProps: {
95
99
  };
96
100
  width: (StringConstructor | NumberConstructor)[];
97
101
  lazy: BooleanConstructor;
98
- rowKey: PropType<string | ((row: any) => string) | undefined>;
99
102
  columns: {
100
103
  type: PropType<Columns>;
101
104
  required: boolean;
@@ -105,7 +108,7 @@ export declare const proTableProps: {
105
108
  type: BooleanConstructor;
106
109
  default: boolean;
107
110
  };
108
- showOverflowTooltip: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
111
+ showOverflowTooltip: PropType<boolean | Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
109
112
  emptyText: StringConstructor;
110
113
  indent: {
111
114
  type: NumberConstructor;
@@ -140,7 +143,7 @@ export declare const proTableProps: {
140
143
  defaultExpandAll: BooleanConstructor;
141
144
  defaultSort: PropType<import("element-plus/es/components/table/src/table/defaults").Sort | undefined>;
142
145
  tooltipEffect: StringConstructor;
143
- tooltipOptions: PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
146
+ tooltipOptions: PropType<Partial<Pick<import("element-plus").ElTooltipProps, "offset" | "effect" | "placement" | "popperOptions" | "popperClass" | "showArrow" | "appendTo" | "transition" | "enterable" | "showAfter" | "hideAfter">> | undefined>;
144
147
  spanMethod: PropType<((data: {
145
148
  row: any;
146
149
  rowIndex: number;
@@ -176,7 +179,7 @@ export declare const proTableProps: {
176
179
  };
177
180
  slotNormalize: {
178
181
  type: BooleanConstructor;
179
- default: boolean;
182
+ default: boolean; /** 自定义请求参数名称 */
180
183
  };
181
184
  sticky: BooleanConstructor;
182
185
  bottomLine: {
@@ -226,8 +229,8 @@ export declare const proTableEmits: {
226
229
  sortChange: (_sorter: import("./types").Sorter) => boolean;
227
230
  filterChange: (_filter: import("./types").Filter) => boolean;
228
231
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
229
- headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean;
230
- expandChange: (_row: DataItem, _expanded: boolean) => boolean; /** 数组数据源时刷新按钮点击事件 */
232
+ headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean; /** 表格最大化切换事件 */
233
+ expandChange: (_row: DataItem, _expanded: boolean) => boolean;
231
234
  'update:currentRowKey': (_currentRowKey?: import("../ele-data-table/types").DataKey | undefined) => boolean;
232
235
  'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean;
233
236
  };
@@ -2,6 +2,10 @@ import { omit } from "../utils/core";
2
2
  import { dataTableProps, dataTableEmits } from "../ele-data-table/props";
3
3
  const proTableProps = {
4
4
  ...omit(dataTableProps, ["data", "pageIndex", "errorText", "cacheData"]),
5
+ rowKey: {
6
+ type: [String, Function],
7
+ required: false
8
+ },
5
9
  /** 数据请求状态 */
6
10
  loading: Boolean,
7
11
  /** 数据源 */