n20-common-lib 3.0.68 → 3.0.70

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.
@@ -1,518 +1,931 @@
1
- /* v3 版本 TablePro 样式 - 使用独特前缀实现样式隔离 */
2
- .v3-table-pro-wrapper {
3
- /* Element UI 表格基础样式 */
4
- .el-table--small {
5
- font-size: 14px;
6
- }
7
-
8
- .el-table--mini {
9
- font-size: 12px;
10
- }
11
-
12
- .el-table th {
13
- font-weight: $--font-weight-primary;
14
- }
15
-
16
- .el-table--small .el-table__cell {
17
- padding: 8px 0;
18
- }
19
-
20
- .el-table .cell {
21
- padding-left: 8px;
22
- padding-right: 8px;
23
- }
24
-
25
- .el-table--small,
26
- .el-table--mini {
27
- .el-table__cell {
28
- .el-button--text {
29
- padding-top: 2px;
30
- padding-bottom: 2px;
31
- }
32
-
33
- .el-link {
34
- line-height: initial;
35
- }
36
- }
37
- }
38
-
39
- .el-table--mini {
40
- .el-table__cell {
41
- padding: 2px 0;
42
-
43
- .cell {
44
- padding-left: 4px;
45
- padding-right: 4px;
46
- }
47
-
48
- .el-button--mini,
49
- .el-link {
50
- font-size: 12px;
51
- }
52
- }
53
- }
54
-
55
- .el-table thead {
56
- color: #333;
57
- font-family: 'PingFang SC';
58
- font-size: 14px;
59
- font-style: normal;
60
- font-weight: 500;
61
- line-height: 22px; /* 157.143% */
62
- }
63
-
64
- /* 骨架屏样式 - 仅覆盖内容区域,表头正常显示 */
65
- .table-pro-skeleton {
66
- position: absolute;
67
- top: 40px; /* 表头高度,small 尺寸约 40px */
68
- left: 0;
69
- right: 0;
70
- bottom: 0;
71
- height: calc(100% - 40px);
72
- background: #fff;
73
- z-index: 100;
74
- overflow: hidden;
75
- padding: 0;
76
- }
77
-
78
- .skeleton-row {
79
- display: flex;
80
- align-items: center;
81
- height: 36px;
82
- border-bottom: 1px solid #f0f0f0;
83
- padding: 0 8px;
84
- }
85
-
86
- .skeleton-cell {
87
- height: 14px;
88
- background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 50%, #f2f2f2 75%);
89
- background-size: 200% 100%;
90
- animation: skeleton-loading 1.5s infinite;
91
- border-radius: 4px;
92
- margin: 0 8px;
93
- flex: 1;
94
- }
95
-
96
- .skeleton-checkbox {
97
- width: 16px;
98
- height: 16px;
99
- flex: 0 0 16px;
100
- margin-left: 12px;
101
- margin-right: 16px;
102
- }
103
-
104
- @keyframes skeleton-loading {
105
- 0% {
106
- background-position: 200% 0;
107
- }
108
- 100% {
109
- background-position: -200% 0;
110
- }
111
- }
112
-
113
- /* 不同尺寸的表头高度适配 */
114
- &:has(.vxe-table--render-default.size--mini) .table-pro-skeleton {
115
- top: 36px;
116
- height: calc(100% - 36px);
117
- }
118
-
119
- &:has(.vxe-table--render-default.size--medium) .table-pro-skeleton {
120
- top: 44px;
121
- height: calc(100% - 44px);
122
- }
123
-
124
- /* Element UI 表格排序图标 */
125
- .el-table {
126
- .caret-wrapper {
127
- display: inline-flex;
128
- flex-direction: row-reverse;
129
- align-items: center;
130
- width: 16px;
131
- height: 16px;
132
- line-height: 16px;
133
- vertical-align: middle;
134
- }
135
-
136
- .sort-caret.ascending,
137
- .sort-caret.descending {
138
- width: 8px;
139
- height: 16px;
140
- border: none;
141
- font-style: normal;
142
- position: static;
143
-
144
- &:hover {
145
- color: $--color-primary-light-6;
146
- }
147
-
148
- &:before {
149
- content: '\e61c';
150
- font-family: 'core-lib-iconfont';
151
- font-size: 12px;
152
- line-height: 12px;
153
- position: relative;
154
- right: 3px;
155
- bottom: 1px;
156
- }
157
- }
158
-
159
- .sort-caret.descending:before {
160
- content: '\e61d';
161
- position: relative;
162
- right: 1px;
163
- bottom: 1px;
164
- }
165
-
166
- .ascending .sort-caret.ascending,
167
- .descending .sort-caret.descending {
168
- color: $--color-primary;
169
- }
170
- }
171
-
172
- /* 过滤器样式 */
173
- .el-table-filter__bottom {
174
- text-align: center;
175
- }
176
-
177
- .el-table__column-filter-trigger {
178
- height: 16px;
179
- line-height: 16px;
180
- vertical-align: middle;
181
- position: relative;
182
- bottom: 1px;
183
-
184
- i {
185
- font-size: 16px;
186
- transform: scale(1);
187
- }
188
- }
189
-
190
- .table-header-popover.el-popover {
191
- padding: 16px;
192
- }
193
-
194
- /* 附件上传hover颜色 */
195
- .base-table_default {
196
- .el-table__body .hover-active:hover > td {
197
- background-color: #ff3c2f10 !important;
198
- }
199
- }
200
-
201
- /* vxe-table 样式 */
202
- .vxe-table {
203
- .vxe-table--column {
204
- &__icon {
205
- font-size: 11px;
206
- color: #88909b;
207
- border: none;
208
- font-style: normal;
209
- position: static;
210
- cursor: pointer;
211
- width: 12px;
212
- height: 12px;
213
- line-height: 12px;
214
- }
215
- }
216
-
217
- .n20-table-pro__row-checked {
218
- background-color: #e8f7ff !important;
219
- }
220
-
221
- .vxe-header--column.is--padding.fixed-column__static {
222
- font-weight: 400 !important;
223
-
224
- .vxe-cell {
225
- padding: 0 !important;
226
- }
227
-
228
- .vxe-cell--wrapper.vxe-header-cell--wrapper {
229
- justify-content: space-around;
230
-
231
- .vxe-cell--title {
232
- width: 100%;
233
-
234
- .v3-custom-fixed-header__wrapper {
235
- > * {
236
- position: relative;
237
-
238
- &::after {
239
- content: '';
240
- position: absolute;
241
- right: -75%;
242
- top: 50%;
243
- transform: translate(-50%, -50%);
244
- width: 1px;
245
- height: 12px;
246
- background: var(--border-2, #e5e6eb);
247
- }
248
-
249
- &:last-child::after {
250
- display: none;
251
- }
252
- }
253
- }
254
- }
255
- }
256
-
257
- .vxe-cell--col-resizable:before {
258
- background-color: transparent;
259
- }
260
-
261
- i {
262
- display: inline-block;
263
- font-size: 16px;
264
- color: #4e5969;
265
- cursor: pointer;
266
- }
267
- }
268
- }
269
-
270
- .vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell {
271
- padding: 8px 6px !important;
272
- }
273
-
274
- /* 悬浮按钮组样式 */
275
- .table-hover-btns {
276
- position: absolute;
277
- right: 0;
278
- display: flex;
279
- align-items: center;
280
- justify-content: flex-end;
281
- padding: 0 12px;
282
- z-index: 10;
283
- pointer-events: auto;
284
-
285
- .hover-btns-wrapper {
286
- display: flex;
287
- align-items: center;
288
- gap: 4px;
289
- white-space: nowrap;
290
- }
291
-
292
- .hover-btns-more {
293
- margin-left: 4px;
294
- }
295
-
296
- .color-danger {
297
- color: #f56c6c;
298
- }
299
- }
300
-
301
- /* 过渡动画 */
302
- .hover-btns-fade-enter-active,
303
- .hover-btns-fade-leave-active {
304
- transition: opacity 0.2s ease, transform 0.2s ease;
305
- }
306
-
307
- .hover-btns-fade-enter,
308
- .hover-btns-fade-leave-to {
309
- opacity: 0;
310
- transform: translateX(10px);
311
- }
312
-
313
- .hover-btns-fade-enter-to,
314
- .hover-btns-fade-leave {
315
- opacity: 1;
316
- transform: translateX(0);
317
- }
318
-
319
- .vxe-table.vxe-table--render-default.border--none,
320
- .vxe-table.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before {
321
- background-color: transparent;
322
- }
323
-
324
- .vxe-table .vxe-cell--sort {
325
- display: inline-flex !important;
326
- flex-direction: column !important;
327
- align-items: center !important;
328
- justify-content: center !important;
329
- font-size: 8px !important;
330
- cursor: pointer;
331
-
332
- .vxe-sort--asc-btn,
333
- .vxe-sort--desc-btn {
334
- width: 10px;
335
- height: 8px !important;
336
- line-height: 1;
337
- color: #88909b;
338
- border: none;
339
- font-style: normal;
340
- position: static;
341
- }
342
- }
343
-
344
- .vxe-header--row {
345
- color: var(--text-1, #1d2129);
346
- font-family: 'PingFang SC';
347
- font-size: 14px;
348
- font-style: normal;
349
- font-weight: 500;
350
- line-height: 22px;
351
- background-color: #f5f5f5;
352
- }
353
-
354
- .vxe-cell--filter .vxe-filter--btn {
355
- color: #666;
356
- font-weight: $--font-weight-primary;
357
- cursor: pointer;
358
- font-size: 16px;
359
- }
360
-
361
- .is--filter-active .vxe-cell--filter .vxe-filter--btn {
362
- color: $--color-primary;
363
- }
364
-
365
- .is--filter-active .vxe-cell--title {
366
- color: $--color-primary;
367
- }
368
-
369
- .vxe-table--render-default.size--small {
370
- font-size: 14px !important;
371
- }
372
-
373
- .vxe-table--render-default.size--mini {
374
- font-size: 14px !important;
375
- }
376
-
377
- .vxe-header-column__right {
378
- display: flex;
379
- flex-direction: row-reverse;
380
- align-items: center;
381
- }
382
-
383
- .vxe-header--row th,
384
- th.vxe-header--column {
385
- position: relative;
386
- }
387
-
388
- .vxe-table--tooltip-wrapper {
389
- z-index: 9999 !important;
390
- }
391
-
392
- .cell-default-set-- .vxe-table--body-wrapper .vxe-body--row .vxe-body--column .vxe-cell .vxe-cell--label:empty::before {
393
- content: '--';
394
- }
395
-
396
- .n20-table-pro.vxe-table--render-default {
397
- color: var(--text-1, #1d2129);
398
- font-family: 'PingFang SC';
399
- font-size: 14px;
400
- font-style: normal;
401
- font-weight: 400;
402
- line-height: 22px;
403
- }
404
-
405
- .vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived) > .vxe-cell,
406
- .vxe-table--render-default .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis:not(.col--actived) > .vxe-cell,
407
- .vxe-table--render-default .vxe-table-custom-wrap.vxe-header--column.col--ellipsis:not(.col--actived) > .vxe-cell {
408
- overflow: hidden;
409
- text-overflow: ellipsis;
410
- white-space: wrap !important;
411
- }
412
-
413
- .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-body--column.col--ellipsis > .vxe-cell,
414
- .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis > .vxe-cell,
415
- .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-header--column.col--ellipsis > .vxe-cell {
416
- max-height: 100%;
417
- }
418
-
419
- /* 表格设置尺寸按钮 */
420
- .el-table div.hidden-columns {
421
- visibility: initial;
422
- position: initial;
423
- height: 0;
424
- width: 0;
425
-
426
- > * {
427
- visibility: hidden;
428
- }
429
-
430
- > .el-table-set-size {
431
- visibility: initial;
432
- }
433
- }
434
-
435
- .el-table-set-size {
436
- box-sizing: border-box;
437
- width: 6px;
438
- height: 40px;
439
- border-radius: 4px 0 0 4px;
440
- background: var(--primary-6, #007aff);
441
- position: absolute;
442
- top: 0;
443
- right: 0;
444
- z-index: 9;
445
- overflow: hidden;
446
- transition: all 0.3s;
447
- cursor: pointer;
448
-
449
- &::before {
450
- content: '';
451
- position: absolute;
452
- width: 100%;
453
- height: 100%;
454
- background: $--color-primary;
455
- opacity: 0.7;
456
- }
457
-
458
- &:hover {
459
- width: var(--hover-width, 112px);
460
- }
461
-
462
- &-item {
463
- display: flex;
464
- align-items: center;
465
- justify-content: space-around;
466
- width: 36px;
467
- border-radius: 4px;
468
- color: $--color-white;
469
- z-index: 1;
470
- cursor: pointer;
471
- position: relative;
472
-
473
- /* 右侧垂直分割线 */
474
- &:not(:last-child)::after {
475
- content: '';
476
- position: absolute;
477
- right: 0;
478
- top: 50%;
479
- transform: translateY(-50%);
480
- width: 1px;
481
- height: 12px;
482
- background: var(--fill-7, rgba(0, 0, 0, 0.12));
483
- }
484
-
485
- .icon-small,
486
- .icon-mini {
487
- display: block;
488
- width: 16px;
489
- height: 16px;
490
- margin: 4px auto 0;
491
- }
492
-
493
- .icon-small {
494
- background-size: 100% 100%;
495
- }
496
-
497
- .icon-mini {
498
- background-size: 100% 100%;
499
- }
500
-
501
- .text-small,
502
- .text-mini {
503
- margin-top: 3px;
504
- line-height: 12px;
505
- font-size: 12px;
506
- text-align: center;
507
- transform: scale(0.667);
508
- transform-origin: 50% 0;
509
- }
510
- }
511
- }
512
-
513
- .el-table th.el-table__cell > .cell {
514
- overflow: hidden;
515
- text-overflow: ellipsis;
516
- white-space: nowrap;
517
- }
518
- }
1
+ /* v3 版本 TablePro 样式 - 使用独特前缀实现样式隔离 */
2
+ .v3-table-pro-wrapper {
3
+ /* Element UI 表格基础样式 */
4
+ .el-table--small {
5
+ font-size: 14px;
6
+ }
7
+
8
+ .el-table--mini {
9
+ font-size: 12px;
10
+ }
11
+
12
+ .el-table th {
13
+ font-weight: $--font-weight-primary;
14
+ }
15
+
16
+ .el-table--small .el-table__cell {
17
+ padding: 8px 0;
18
+ }
19
+
20
+ .el-table .cell {
21
+ padding-left: 8px;
22
+ padding-right: 8px;
23
+ }
24
+
25
+ .el-table--small,
26
+ .el-table--mini {
27
+ .el-table__cell {
28
+ .el-button--text {
29
+ padding-top: 2px;
30
+ padding-bottom: 2px;
31
+ }
32
+
33
+ .el-link {
34
+ line-height: initial;
35
+ }
36
+ }
37
+ }
38
+
39
+ .el-table--mini {
40
+ .el-table__cell {
41
+ padding: 2px 0;
42
+
43
+ .cell {
44
+ padding-left: 4px;
45
+ padding-right: 4px;
46
+ }
47
+
48
+ .el-button--mini,
49
+ .el-link {
50
+ font-size: 12px;
51
+ }
52
+ }
53
+ }
54
+
55
+ .el-table thead {
56
+ color: #333;
57
+ font-family: 'PingFang SC';
58
+ font-size: 14px;
59
+ font-style: normal;
60
+ font-weight: 500;
61
+ line-height: 22px; /* 157.143% */
62
+ }
63
+
64
+ /* 骨架屏样式 - 仅覆盖内容区域,表头正常显示 */
65
+ .table-pro-skeleton {
66
+ position: absolute;
67
+ top: 40px; /* 表头高度,small 尺寸约 40px */
68
+ left: 0;
69
+ right: 0;
70
+ bottom: 0;
71
+ height: calc(100% - 40px);
72
+ background: #fff;
73
+ z-index: 100;
74
+ overflow: hidden;
75
+ padding: 0;
76
+ }
77
+
78
+ .skeleton-row {
79
+ display: flex;
80
+ align-items: center;
81
+ height: 36px;
82
+ border-bottom: 1px solid #f0f0f0;
83
+ padding: 0 8px;
84
+ }
85
+
86
+ .skeleton-cell {
87
+ height: 14px;
88
+ background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 50%, #f2f2f2 75%);
89
+ background-size: 200% 100%;
90
+ animation: skeleton-loading 1.5s infinite;
91
+ border-radius: 4px;
92
+ margin: 0 8px;
93
+ flex: 1;
94
+ }
95
+
96
+ .skeleton-checkbox {
97
+ width: 16px;
98
+ height: 16px;
99
+ flex: 0 0 16px;
100
+ margin-left: 12px;
101
+ margin-right: 16px;
102
+ }
103
+
104
+ @keyframes skeleton-loading {
105
+ 0% {
106
+ background-position: 200% 0;
107
+ }
108
+ 100% {
109
+ background-position: -200% 0;
110
+ }
111
+ }
112
+
113
+ /* 不同尺寸的表头高度适配 */
114
+ &:has(.vxe-table--render-default.size--mini) .table-pro-skeleton {
115
+ top: 36px;
116
+ height: calc(100% - 36px);
117
+ }
118
+
119
+ &:has(.vxe-table--render-default.size--medium) .table-pro-skeleton {
120
+ top: 44px;
121
+ height: calc(100% - 44px);
122
+ }
123
+
124
+ /* Element UI 表格排序图标 */
125
+ .el-table {
126
+ .caret-wrapper {
127
+ display: inline-flex;
128
+ flex-direction: row-reverse;
129
+ align-items: center;
130
+ width: 16px;
131
+ height: 16px;
132
+ line-height: 16px;
133
+ vertical-align: middle;
134
+ }
135
+
136
+ .sort-caret.ascending,
137
+ .sort-caret.descending {
138
+ width: 8px;
139
+ height: 16px;
140
+ border: none;
141
+ font-style: normal;
142
+ position: static;
143
+
144
+ &:hover {
145
+ color: $--color-primary-light-6;
146
+ }
147
+
148
+ &:before {
149
+ content: '\e61c';
150
+ font-family: 'core-lib-iconfont';
151
+ font-size: 12px;
152
+ line-height: 12px;
153
+ position: relative;
154
+ right: 3px;
155
+ bottom: 1px;
156
+ }
157
+ }
158
+
159
+ .sort-caret.descending:before {
160
+ content: '\e61d';
161
+ position: relative;
162
+ right: 1px;
163
+ bottom: 1px;
164
+ }
165
+
166
+ .ascending .sort-caret.ascending,
167
+ .descending .sort-caret.descending {
168
+ color: $--color-primary;
169
+ }
170
+ }
171
+
172
+ /* 过滤器样式 */
173
+ .el-table-filter__bottom {
174
+ text-align: center;
175
+ }
176
+
177
+ .el-table__column-filter-trigger {
178
+ height: 16px;
179
+ line-height: 16px;
180
+ vertical-align: middle;
181
+ position: relative;
182
+ bottom: 1px;
183
+
184
+ i {
185
+ font-size: 16px;
186
+ transform: scale(1);
187
+ }
188
+ }
189
+
190
+ .table-header-popover.el-popover {
191
+ padding: 16px;
192
+ }
193
+
194
+ /* 附件上传hover颜色 */
195
+ .base-table_default {
196
+ .el-table__body .hover-active:hover > td {
197
+ background-color: #ff3c2f10 !important;
198
+ }
199
+ }
200
+
201
+ /* vxe-table 样式 */
202
+ .vxe-table {
203
+ .vxe-table--column {
204
+ &__icon {
205
+ font-size: 11px;
206
+ color: #88909b;
207
+ border: none;
208
+ font-style: normal;
209
+ position: static;
210
+ cursor: pointer;
211
+ width: 12px;
212
+ height: 12px;
213
+ line-height: 12px;
214
+ }
215
+ }
216
+
217
+ .n20-table-pro__row-checked {
218
+ background-color: #e8f7ff !important;
219
+ }
220
+
221
+ .vxe-header--column.is--padding.fixed-column__static {
222
+ font-weight: 400 !important;
223
+
224
+ .vxe-cell {
225
+ padding: 0 !important;
226
+ }
227
+
228
+ .vxe-cell--wrapper.vxe-header-cell--wrapper {
229
+ justify-content: space-around;
230
+
231
+ .vxe-cell--title {
232
+ width: 100%;
233
+
234
+ .v3-custom-fixed-header__wrapper {
235
+ > * {
236
+ position: relative;
237
+
238
+ &::after {
239
+ content: '';
240
+ position: absolute;
241
+ right: -75%;
242
+ top: 50%;
243
+ transform: translate(-50%, -50%);
244
+ width: 1px;
245
+ height: 12px;
246
+ background: var(--border-2, #e5e6eb);
247
+ }
248
+
249
+ &:last-child::after {
250
+ display: none;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+
257
+ .vxe-cell--col-resizable:before {
258
+ background-color: transparent;
259
+ }
260
+
261
+ i {
262
+ display: inline-block;
263
+ font-size: 16px;
264
+ color: #4e5969;
265
+ cursor: pointer;
266
+ }
267
+ }
268
+ }
269
+
270
+ .vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell {
271
+ padding: 8px 6px !important;
272
+ }
273
+
274
+ /* 悬浮按钮组样式 */
275
+ .table-hover-btns {
276
+ position: absolute;
277
+ right: 0;
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: flex-end;
281
+ padding: 0 12px;
282
+ z-index: 10;
283
+ pointer-events: auto;
284
+
285
+ .hover-btns-wrapper {
286
+ display: flex;
287
+ align-items: center;
288
+ gap: 4px;
289
+ white-space: nowrap;
290
+ }
291
+
292
+ .hover-btns-more {
293
+ margin-left: 4px;
294
+ }
295
+
296
+ .color-danger {
297
+ color: #f56c6c;
298
+ }
299
+ }
300
+
301
+ /* 过渡动画 */
302
+ .hover-btns-fade-enter-active,
303
+ .hover-btns-fade-leave-active {
304
+ transition: opacity 0.2s ease, transform 0.2s ease;
305
+ }
306
+
307
+ .hover-btns-fade-enter,
308
+ .hover-btns-fade-leave-to {
309
+ opacity: 0;
310
+ transform: translateX(10px);
311
+ }
312
+
313
+ .hover-btns-fade-enter-to,
314
+ .hover-btns-fade-leave {
315
+ opacity: 1;
316
+ transform: translateX(0);
317
+ }
318
+
319
+ .vxe-table.vxe-table--render-default.border--none,
320
+ .vxe-table.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before {
321
+ background-color: transparent;
322
+ }
323
+
324
+ .vxe-table .vxe-cell--sort {
325
+ display: inline-flex !important;
326
+ flex-direction: column !important;
327
+ align-items: center !important;
328
+ justify-content: center !important;
329
+ font-size: 8px !important;
330
+ cursor: pointer;
331
+
332
+ .vxe-sort--asc-btn,
333
+ .vxe-sort--desc-btn {
334
+ width: 10px;
335
+ height: 8px !important;
336
+ line-height: 1;
337
+ color: #88909b;
338
+ border: none;
339
+ font-style: normal;
340
+ position: static;
341
+ }
342
+ }
343
+
344
+ .vxe-header--row {
345
+ color: var(--text-1, #1d2129);
346
+ font-family: 'PingFang SC';
347
+ font-size: 14px;
348
+ font-style: normal;
349
+ font-weight: 500;
350
+ line-height: 22px;
351
+ background-color: #f5f5f5;
352
+ }
353
+
354
+ .vxe-cell--filter .vxe-filter--btn {
355
+ color: #666;
356
+ font-weight: $--font-weight-primary;
357
+ cursor: pointer;
358
+ font-size: 16px;
359
+ }
360
+
361
+ .is--filter-active .vxe-cell--filter .vxe-filter--btn {
362
+ color: $--color-primary;
363
+ }
364
+
365
+ .is--filter-active .vxe-cell--title {
366
+ color: $--color-primary;
367
+ }
368
+
369
+ .vxe-table--render-default.size--small {
370
+ font-size: 14px !important;
371
+ }
372
+
373
+ .vxe-table--render-default.size--mini {
374
+ font-size: 14px !important;
375
+ }
376
+
377
+ .vxe-header-column__right {
378
+ display: flex;
379
+ flex-direction: row-reverse;
380
+ align-items: center;
381
+ }
382
+
383
+ .vxe-header--row th,
384
+ th.vxe-header--column {
385
+ position: relative;
386
+ }
387
+
388
+ .vxe-table--tooltip-wrapper {
389
+ z-index: 9999 !important;
390
+ }
391
+
392
+ .cell-default-set--
393
+ .vxe-table--body-wrapper
394
+ .vxe-body--row
395
+ .vxe-body--column
396
+ .vxe-cell
397
+ .vxe-cell--label:empty::before {
398
+ content: '--';
399
+ }
400
+
401
+ .n20-table-pro.vxe-table--render-default {
402
+ color: var(--text-1, #1d2129);
403
+ font-family: 'PingFang SC';
404
+ font-size: 14px;
405
+ font-style: normal;
406
+ font-weight: 400;
407
+ line-height: 22px;
408
+ }
409
+
410
+ .vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived) > .vxe-cell,
411
+ .vxe-table--render-default .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis:not(.col--actived) > .vxe-cell,
412
+ .vxe-table--render-default .vxe-table-custom-wrap.vxe-header--column.col--ellipsis:not(.col--actived) > .vxe-cell {
413
+ overflow: hidden;
414
+ text-overflow: ellipsis;
415
+ white-space: wrap !important;
416
+ }
417
+
418
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-body--column.col--ellipsis > .vxe-cell,
419
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis > .vxe-cell,
420
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-header--column.col--ellipsis > .vxe-cell {
421
+ max-height: 100%;
422
+ }
423
+
424
+ /* 表格设置尺寸按钮 */
425
+ .el-table div.hidden-columns {
426
+ visibility: initial;
427
+ position: initial;
428
+ height: 0;
429
+ width: 0;
430
+
431
+ > * {
432
+ visibility: hidden;
433
+ }
434
+
435
+ > .el-table-set-size {
436
+ visibility: initial;
437
+ }
438
+ }
439
+
440
+ .el-table-set-size {
441
+ box-sizing: border-box;
442
+ width: 6px;
443
+ height: 40px;
444
+ border-radius: 4px 0 0 4px;
445
+ background: var(--primary-6, #007aff);
446
+ position: absolute;
447
+ top: 0;
448
+ right: 0;
449
+ z-index: 9;
450
+ overflow: hidden;
451
+ transition: all 0.3s;
452
+ cursor: pointer;
453
+
454
+ &::before {
455
+ content: '';
456
+ position: absolute;
457
+ width: 100%;
458
+ height: 100%;
459
+ background: $--color-primary;
460
+ opacity: 0.7;
461
+ }
462
+
463
+ &:hover {
464
+ width: var(--hover-width, 112px);
465
+ }
466
+
467
+ &-item {
468
+ display: flex;
469
+ align-items: center;
470
+ justify-content: space-around;
471
+ width: 36px;
472
+ border-radius: 4px;
473
+ color: $--color-white;
474
+ z-index: 1;
475
+ cursor: pointer;
476
+ position: relative;
477
+
478
+ /* 右侧垂直分割线 */
479
+ &:not(:last-child)::after {
480
+ content: '';
481
+ position: absolute;
482
+ right: 0;
483
+ top: 50%;
484
+ transform: translateY(-50%);
485
+ width: 1px;
486
+ height: 12px;
487
+ background: var(--fill-7, rgba(0, 0, 0, 0.12));
488
+ }
489
+
490
+ .icon-small,
491
+ .icon-mini {
492
+ display: block;
493
+ width: 16px;
494
+ height: 16px;
495
+ margin: 4px auto 0;
496
+ }
497
+
498
+ .icon-small {
499
+ background-size: 100% 100%;
500
+ }
501
+
502
+ .icon-mini {
503
+ background-size: 100% 100%;
504
+ }
505
+
506
+ .text-small,
507
+ .text-mini {
508
+ margin-top: 3px;
509
+ line-height: 12px;
510
+ font-size: 12px;
511
+ text-align: center;
512
+ transform: scale(0.667);
513
+ transform-origin: 50% 0;
514
+ }
515
+ }
516
+ }
517
+
518
+ .el-table th.el-table__cell > .cell {
519
+ overflow: hidden;
520
+ text-overflow: ellipsis;
521
+ white-space: nowrap;
522
+ }
523
+ }
524
+
525
+ .el-table {
526
+ /* 排序 */
527
+ .caret-wrapper {
528
+ display: inline-flex;
529
+ flex-direction: row-reverse;
530
+ align-items: center;
531
+ width: 16px;
532
+ height: 16px;
533
+ line-height: 16px;
534
+ vertical-align: middle;
535
+ }
536
+
537
+ .sort-caret.ascending,
538
+ .sort-caret.descending {
539
+ width: 8px;
540
+ height: 16px;
541
+ border: none;
542
+ font-style: normal;
543
+ position: static;
544
+
545
+ &:hover {
546
+ color: $--color-primary-light-6;
547
+ }
548
+
549
+ &:before {
550
+ content: '\e61c';
551
+ font-family: 'core-lib-iconfont';
552
+ font-size: 12px;
553
+ line-height: 12px;
554
+ position: relative;
555
+ right: 3px;
556
+ bottom: 1px;
557
+ }
558
+ }
559
+
560
+ .sort-caret.descending:before {
561
+ content: '\e61d';
562
+ position: relative;
563
+ right: 1px;
564
+ bottom: 1px;
565
+ }
566
+
567
+ .ascending .sort-caret.ascending,
568
+ .descending .sort-caret.descending {
569
+ color: $--color-primary;
570
+ }
571
+ }
572
+
573
+ /* 过滤 */
574
+ .el-table-filter__bottom {
575
+ text-align: center;
576
+ }
577
+
578
+ .el-table__column-filter-trigger {
579
+ height: 16px;
580
+ line-height: 16px;
581
+ vertical-align: middle;
582
+ position: relative;
583
+ bottom: 1px;
584
+
585
+ i {
586
+ font-size: 16px;
587
+ transform: scale(1);
588
+ }
589
+ }
590
+
591
+ .table-header-popover.el-popover {
592
+ padding: 16px;
593
+ }
594
+
595
+ /* 附件上传hover颜色 */
596
+ .base-table_default {
597
+ .el-table__body .hover-active:hover > td {
598
+ background-color: #ff3c2f10 !important;
599
+ }
600
+ }
601
+
602
+ .vxe-table {
603
+ .vxe-table--column {
604
+ &__icon {
605
+ font-size: 11px;
606
+ color: #88909b;
607
+ border: none;
608
+ font-style: normal;
609
+ position: static;
610
+ cursor: pointer;
611
+ width: 12px;
612
+ height: 12px;
613
+ line-height: 12px;
614
+ }
615
+ }
616
+ .n20-table-pro__row-checked {
617
+ background-color: #e8f7ff !important;
618
+ }
619
+ .vxe-header--column.is--padding.fixed-column__static {
620
+ font-weight: 400 !important;
621
+ .vxe-cell {
622
+ padding: 0 !important;
623
+ }
624
+ .vxe-cell--wrapper.vxe-header-cell--wrapper {
625
+ justify-content: space-around;
626
+ .vxe-cell--title {
627
+ width: 100%;
628
+ .v3-custom-fixed-header__wrapper {
629
+ > * {
630
+ position: relative;
631
+ &::after {
632
+ content: '';
633
+ position: absolute;
634
+ right: -75%;
635
+ top: 50%;
636
+ transform: translate(-50%, -50%);
637
+ width: 1px;
638
+ height: 12px;
639
+ background: var(--border-2, #e5e6eb);
640
+ }
641
+ &:last-child::after {
642
+ display: none;
643
+ }
644
+ }
645
+ }
646
+ }
647
+ }
648
+ .vxe-cell--col-resizable:before {
649
+ background-color: transparent;
650
+ }
651
+
652
+ i {
653
+ display: inline-block;
654
+ font-size: 16px;
655
+ color: #4e5969;
656
+ cursor: pointer;
657
+ }
658
+ }
659
+ }
660
+
661
+ .vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell {
662
+ padding: 8px 6px !important;
663
+ }
664
+
665
+ /* 悬浮按钮组样式 */
666
+ .table-hover-btns {
667
+ position: absolute;
668
+ right: 0;
669
+ display: flex;
670
+ align-items: center;
671
+ justify-content: flex-end;
672
+ padding: 0 12px;
673
+ z-index: 10;
674
+ pointer-events: auto;
675
+
676
+ .hover-btns-wrapper {
677
+ display: flex;
678
+ align-items: center;
679
+ gap: 4px;
680
+ white-space: nowrap;
681
+ }
682
+
683
+ .hover-btns-more {
684
+ margin-left: 4px;
685
+ }
686
+
687
+ .color-danger {
688
+ color: #f56c6c;
689
+ }
690
+ }
691
+
692
+ /* 过渡动画 */
693
+ .hover-btns-fade-enter-active,
694
+ .hover-btns-fade-leave-active {
695
+ // transition: opacity 0.2s ease, transform 0.2s ease;
696
+ }
697
+
698
+ .hover-btns-fade-enter,
699
+ .hover-btns-fade-leave-to {
700
+ opacity: 0;
701
+ transform: translateX(10px);
702
+ }
703
+
704
+ .hover-btns-fade-enter-to,
705
+ .hover-btns-fade-leave {
706
+ opacity: 1;
707
+ transform: translateX(0);
708
+ }
709
+
710
+ .vxe-table.vxe-table--render-default.border--none,
711
+ .vxe-table.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before {
712
+ // background-color: transparent;
713
+ }
714
+
715
+ .vxe-table .vxe-cell--sort {
716
+ display: inline-flex !important;
717
+ flex-direction: column !important;
718
+ align-items: center !important;
719
+ justify-content: center !important;
720
+ font-size: 8px !important;
721
+
722
+ cursor: pointer;
723
+
724
+ .vxe-sort--asc-btn,
725
+ .vxe-sort--desc-btn {
726
+ width: 10px;
727
+ height: 8px !important;
728
+ line-height: 1;
729
+ color: #88909b;
730
+ border: none;
731
+ font-style: normal;
732
+ position: static;
733
+ }
734
+ }
735
+
736
+ .vxe-header--row {
737
+ color: var(--text-1, #1d2129);
738
+ /* 14/CN-Medium */
739
+ font-family: 'PingFang SC';
740
+ font-size: 14px;
741
+ font-style: normal;
742
+ font-weight: 500;
743
+ line-height: 22px; /* 157.143% */
744
+ background-color: #f5f5f5;
745
+ }
746
+
747
+ .vxe-cell--filter .vxe-filter--btn {
748
+ color: #666;
749
+ font-weight: $--font-weight-primary;
750
+ cursor: pointer;
751
+ font-size: 16px;
752
+ }
753
+
754
+ .is--filter-active .vxe-cell--filter .vxe-filter--btn {
755
+ color: $--color-primary;
756
+ }
757
+
758
+ .is--filter-active .vxe-cell--title {
759
+ color: $--color-primary;
760
+ }
761
+
762
+ .vxe-table--render-default.size--small {
763
+ font-size: 14px !important;
764
+ }
765
+
766
+ .vxe-table--render-default.size--mini {
767
+ font-size: 14px !important;
768
+ }
769
+
770
+ .vxe-header-column__right {
771
+ display: flex;
772
+ flex-direction: row-reverse;
773
+ align-items: center;
774
+ }
775
+
776
+ .vxe-header--row th,
777
+ th.vxe-header--column {
778
+ position: relative;
779
+ }
780
+
781
+ .vxe-table--tooltip-wrapper {
782
+ z-index: 9999 !important;
783
+ }
784
+
785
+ .cell-default-set-- .vxe-table--body-wrapper .vxe-body--row .vxe-body--column .vxe-cell .vxe-cell--label:empty::before {
786
+ content: '--';
787
+ }
788
+
789
+ .n20-table-pro.vxe-table--render-default {
790
+ color: var(--text-1, #1d2129);
791
+ /* 14/CN-Regular */
792
+ font-family: 'PingFang SC';
793
+ font-size: 14px;
794
+ font-style: normal;
795
+ font-weight: 400;
796
+ line-height: 22px; /* 157.143% */
797
+ }
798
+
799
+ .vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived) > .vxe-cell,
800
+ .vxe-table--render-default .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis:not(.col--actived) > .vxe-cell,
801
+ .vxe-table--render-default .vxe-table-custom-wrap.vxe-header--column.col--ellipsis:not(.col--actived) > .vxe-cell {
802
+ overflow: hidden;
803
+ text-overflow: ellipsis;
804
+ white-space: wrap !important;
805
+ }
806
+
807
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-body--column.col--ellipsis > .vxe-cell,
808
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis > .vxe-cell,
809
+ .vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-header--column.col--ellipsis > .vxe-cell {
810
+ max-height: 100%;
811
+ }
812
+
813
+ // .vxe-header--column {
814
+ // .vxe-cell {
815
+ // justify-content: center !important;
816
+ // }
817
+ // }
818
+
819
+ .el-table div.hidden-columns {
820
+ visibility: initial;
821
+ position: initial;
822
+ height: 0;
823
+ width: 0;
824
+
825
+ > * {
826
+ visibility: hidden;
827
+ }
828
+ > .el-table-set-size {
829
+ visibility: initial;
830
+ }
831
+ }
832
+ .el-table-set-size {
833
+ box-sizing: border-box;
834
+ width: 6px;
835
+ height: 40px;
836
+ border-radius: 4px 0 0 4px;
837
+ background: var(--primary-6, #007aff);
838
+ position: absolute;
839
+ top: 0;
840
+ right: 0;
841
+ z-index: 9;
842
+ overflow: hidden;
843
+ transition: all 0.3s;
844
+ cursor: pointer;
845
+ &::before {
846
+ content: '';
847
+ position: absolute;
848
+ width: 100%;
849
+ height: 100%;
850
+ background: $--color-primary;
851
+ opacity: 0.7;
852
+ }
853
+
854
+ &:hover {
855
+ width: var(--hover-width, 112px);
856
+ }
857
+
858
+ &-item {
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: space-around;
862
+ width: 36px;
863
+ // height: 34px;
864
+ border-radius: 4px;
865
+ color: $--color-white;
866
+ z-index: 1;
867
+ cursor: pointer;
868
+ position: relative;
869
+
870
+ /* 右侧垂直分割线 */
871
+ &:not(:last-child)::after {
872
+ content: '';
873
+ position: absolute;
874
+ right: 0;
875
+ top: 50%;
876
+ transform: translateY(-50%);
877
+ width: 1px;
878
+ height: 12px;
879
+ background: var(--fill-7, rgba(0, 0, 0, 0.12));
880
+ }
881
+
882
+ // &:hover {
883
+ // background: $--color-primary;
884
+ // }
885
+ // &.active {
886
+ // background: $--color-primary-hover;
887
+ // }
888
+
889
+ .icon-small,
890
+ .icon-mini {
891
+ display: block;
892
+ width: 16px;
893
+ height: 16px;
894
+ margin: 4px auto 0;
895
+ }
896
+ .icon-small {
897
+ background-size: 100% 100%;
898
+ }
899
+ .icon-mini {
900
+ background-size: 100% 100%;
901
+ }
902
+ .text-small,
903
+ .text-mini {
904
+ margin-top: 3px;
905
+ line-height: 12px;
906
+ font-size: 12px;
907
+ text-align: center;
908
+ transform: scale(0.667);
909
+ transform-origin: 50% 0;
910
+ }
911
+ }
912
+ }
913
+
914
+ // .el-table-set-size-item {
915
+ // display: flex;
916
+ // justify-content: center;
917
+ // align-items: center;
918
+ // .icon-mini {
919
+ // background-image: url('../../components/TableSetSize/small.png');
920
+ // }
921
+
922
+ // .icon-mini {
923
+ // background-image: url('../../components/TableSetSize/mini.png');
924
+ // }
925
+ // }
926
+
927
+ .el-table th.el-table__cell > .cell {
928
+ overflow: hidden;
929
+ text-overflow: ellipsis;
930
+ white-space: nowrap;
931
+ }