n20-common-lib 3.0.37 → 3.0.38

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 (37) hide show
  1. package/package.json +1 -1
  2. package/src/assets/css/_coreLib.scss +4 -1
  3. package/src/assets/css/button.scss +8 -19
  4. package/src/assets/css/element-variables.scss +11 -11
  5. package/src/assets/css/file-upload-table.scss +10 -0
  6. package/src/assets/css/layout-content.scss +1 -0
  7. package/src/{components/PageHeader/style.scss → assets/css/page-header.scss} +22 -7
  8. package/src/assets/css/page.scss +12 -0
  9. package/src/assets/css/pagination.scss +75 -17
  10. package/src/assets/css/rootvar.scss +1 -0
  11. package/src/assets/css/secondary-tab.scss +60 -43
  12. package/src/assets/css/table.scss +165 -19
  13. package/src/assets/css/tabs.scss +68 -0
  14. package/src/components/FileUploadTable/aiCheckDialog.vue +2 -2
  15. package/src/components/PageHeader/index.vue +11 -6
  16. package/src/components/PageLayout/page.vue +15 -3
  17. package/src/components/Pagination/index.vue +7 -4
  18. package/src/components/Pagination/main.vue +113 -0
  19. package/src/components/SecondaryTab/index.vue +45 -34
  20. package/src/components/ShowColumn/index.vue +14 -4
  21. package/src/components/TableOperate/index.vue +101 -0
  22. package/src/components/TablePro/index.vue +171 -95
  23. package/src/components/TableSetSize/index.vue +3 -3
  24. package/src/components/TableSetSize/index1.vue +82 -0
  25. package/src/components/Tabs/index.vue +64 -0
  26. package/src/index.js +4 -1
  27. package/style/index.css +1 -1
  28. package/theme/blue.css +1 -1
  29. package/theme/cctcRed.css +1 -1
  30. package/theme/green.css +1 -1
  31. package/theme/lightBlue.css +1 -1
  32. package/theme/orange.css +1 -1
  33. package/theme/purple.css +1 -1
  34. package/theme/red.css +1 -1
  35. package/theme/yellow.css +1 -1
  36. package/src/components/TableSetSize/index copy.vue +0 -69
  37. package/src/components/TableSetSize/style.scss +0 -81
@@ -16,5 +16,6 @@
16
16
  padding: 8px;
17
17
  height: var(--client-height);
18
18
  overflow: auto;
19
+
19
20
  }
20
21
  }
@@ -1,8 +1,14 @@
1
1
  .n20-page-header {
2
2
  display: flex;
3
+ justify-content: space-between;
3
4
  line-height: 20px;
4
- padding-bottom: 2px;
5
+ padding: 12px 16px;
6
+
5
7
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
8
+ &__wappr {
9
+ display: flex;
10
+ flex-wrap: wrap;
11
+ }
6
12
 
7
13
  .page-header__left {
8
14
  display: flex;
@@ -32,14 +38,23 @@
32
38
  }
33
39
 
34
40
  .page-header__title {
41
+ color: var(--text-2, #4e5969);
42
+ /* 14/CN-Regular */
43
+ font-family: 'PingFang SC';
35
44
  font-size: 14px;
36
- line-height: 20px;
37
- color: #3d4a57;
45
+ font-style: normal;
46
+ font-weight: 400;
47
+ line-height: 22px; /* 157.143% */
38
48
  }
39
49
 
40
50
  .page-header__content {
41
- font-size: 14px;
42
- line-height: 20px;
43
- color: #3d4a57;
51
+ color: var(--text-1, #1d2129);
52
+
53
+ /* 16/CN-Medium */
54
+ font-family: 'PingFang SC';
55
+ font-size: 16px;
56
+ font-style: normal;
57
+ font-weight: 500;
58
+ line-height: 24px; /* 150% */
44
59
  }
45
- }
60
+ }
@@ -0,0 +1,12 @@
1
+ .n20-page-content.is_padding {
2
+ padding: 16px 16px 0 16px;
3
+ }
4
+
5
+ .n20-page-content__footer {
6
+ padding: 8px 16px;
7
+ border-top: 1px solid var(--border-2, #e5e6eb);
8
+ }
9
+
10
+ .n20-page-content__footer.n20-page-content__footer--max__padding {
11
+ padding: 16px;
12
+ }
@@ -1,8 +1,8 @@
1
1
  .n20-pagination-1 {
2
2
  display: inline-block;
3
- padding-right: 5px;
3
+ // padding-right: 5px;
4
4
 
5
- >* {
5
+ > * {
6
6
  vertical-align: middle;
7
7
  }
8
8
 
@@ -14,7 +14,7 @@
14
14
  .btn-next {
15
15
  padding-left: 6px;
16
16
  padding-right: 6px;
17
- border: 1px solid $--border-color-base;
17
+ // border: 1px solid $--border-color-base;
18
18
 
19
19
  &:not([disabled]):hover {
20
20
  border-color: $--color-primary;
@@ -25,27 +25,87 @@
25
25
  margin-left: 6px;
26
26
  }
27
27
 
28
+ .el-pagination span:not([class*='suffix']) {
29
+ color: $--color-text-primary;
30
+ font-size: 14px;
31
+ min-width: 24px;
32
+ height: 24px;
33
+ line-height: 24px;
34
+ font-style: normal;
35
+ font-weight: 400;
36
+ line-height: 22px; /* 157.143% */
37
+ vertical-align: middle;
38
+ }
39
+
40
+ .el-pagination .el-select .el-input {
41
+ margin: 0;
42
+ }
28
43
  .el-pagination {
29
- padding: 1px 5px;
44
+ padding: 0;
45
+ button {
46
+ min-width: 32px;
47
+ height: 32px;
48
+ }
49
+ .el-pager {
50
+ padding: 4px 0;
51
+ }
52
+ .el-pager .more::before {
53
+ line-height: 24px;
54
+ }
55
+ .el-pager li {
56
+ min-width: 24px;
57
+ height: 24px;
58
+ font-family: 'Open Sans';
59
+ font-size: 14px;
60
+ font-style: normal;
61
+ font-weight: 600;
62
+ line-height: 22px; /* 157.143% */
63
+ }
64
+ .el-pagination__sizes {
65
+ height: 32px !important;
66
+ margin: 0;
67
+ .el-input--mini .el-input__inner {
68
+ height: 32px;
69
+ line-height: 32px;
70
+ border-radius: 4px;
71
+ border: 1px solid var(--border-2, #e5e6eb);
72
+ background: var(--bg-2, #fff);
73
+ }
74
+ }
75
+ .el-pagination__jump {
76
+ height: 32px !important;
77
+ margin-left: 8px;
78
+ .el-input--small .el-input__inner {
79
+ height: 32px;
80
+ line-height: 32px;
81
+ border-radius: 4px;
82
+ border: 1px solid var(--border-2, #e5e6eb);
83
+ background: var(--bg-2, #fff);
84
+ }
85
+ }
30
86
  }
31
87
  }
32
88
 
33
89
  .n20-pagination-jumper-1 {
34
- width: 36px;
90
+ width: 32px;
35
91
  text-align: center;
36
- margin-left: 6px;
37
- margin-right: 6px;
92
+ margin-left: 8px;
38
93
 
39
94
  &.is-without-controls {
40
95
  .el-input__inner {
41
- height: 26px;
96
+ height: 32px;
42
97
  text-align: center;
43
- line-height: 26px;
44
- padding-left: 4px;
45
- padding-right: 4px;
46
- border-radius: 2px;
98
+ line-height: 32px;
99
+ border-radius: 4px;
47
100
  }
48
101
  }
102
+ .el-input--mini .el-input__inner {
103
+ height: 32px;
104
+ line-height: 32px;
105
+ border-radius: 4px;
106
+ border: 1px solid var(--border-2, #e5e6eb);
107
+ background: var(--bg-2, #fff);
108
+ }
49
109
  }
50
110
 
51
111
  .n20-pagination-sizes-1 {
@@ -55,7 +115,7 @@
55
115
  box-shadow: none;
56
116
  }
57
117
 
58
- .el-radio-button__orig-radio:checked+.el-radio-button__inner {
118
+ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
59
119
  border-color: $--color-primary;
60
120
  }
61
121
  }
@@ -68,8 +128,6 @@
68
128
  .el-input__inner {
69
129
  height: 26px;
70
130
  line-height: 26px;
71
- padding-left: 4px;
72
- padding-right: 4px;
73
131
  border-radius: 2px;
74
132
  }
75
133
  }
@@ -84,7 +142,7 @@
84
142
  .n20-pagination {
85
143
  display: inline-block;
86
144
 
87
- >* {
145
+ > * {
88
146
  vertical-align: middle;
89
147
  }
90
148
 
@@ -160,4 +218,4 @@
160
218
  padding-right: 12px;
161
219
  text-align: center;
162
220
  }
163
- }
221
+ }
@@ -102,6 +102,7 @@ $--color-FFBF00: #ffbf00;
102
102
  --line-height-18: 18px;
103
103
  --line-height-22: 22px;
104
104
  --line-height-24: 24px;
105
+ --line-height-26: 26px;
105
106
  --line-height-28: 28px;
106
107
  --line-height-32: 32px;
107
108
 
@@ -1,53 +1,70 @@
1
- .n20-secondary-tab {
2
- .el-tabs__header {
3
- margin-bottom: 0;
4
- }
5
- .el-tabs__nav-wrap::after {
6
- display: none;
7
- }
8
- .el-tabs__item {
9
- font-weight: 400;
10
- height: 27px;
11
- line-height: 26px;
12
- padding: 0 10px;
13
- &.is-active {
1
+ .n20-secondary-tab__wrapper {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ align-items: center;
5
+ border-bottom: 1px solid $--border-color-base;
6
+ .n20-secondary-tab {
7
+ .el-tabs__header {
8
+ margin-bottom: 0;
9
+ }
10
+ .el-tabs__nav-wrap::after {
11
+ display: none;
12
+ }
13
+ .el-tabs__item {
14
+ font-weight: 400;
15
+ // height: 27px;
16
+ font-family: 'PingFang SC';
17
+ font-size: 14px;
18
+ font-style: normal;
14
19
  font-weight: 500;
15
- &::after {
16
- content: '';
17
- height: 2px;
18
- background-color: $--color-primary;
19
- display: block;
20
- margin-top: -1px;
20
+ line-height: 26px;
21
+ padding: 9px 16px;
22
+
23
+ &.is-active {
24
+ font-weight: 500;
25
+ &::after {
26
+ content: '';
27
+ height: 2px;
28
+ background-color: $--color-primary;
29
+ display: block;
30
+ margin-top: 3px;
31
+ }
21
32
  }
22
- }
23
- &.is-disabled {
24
- cursor: no-drop;
25
- &::after {
26
- background-color: $--color-text-placeholder;
33
+ &.is-disabled {
34
+ cursor: no-drop;
35
+ &::after {
36
+ background-color: $--color-text-placeholder;
37
+ }
38
+ }
39
+ &.is-top:nth-child(2) {
40
+ padding-left: 16px;
41
+ }
42
+ &.is-top:last-child {
43
+ padding-right: 16px;
27
44
  }
28
45
  }
29
- }
30
46
 
31
- .el-tabs__item-badge {
32
- width: 6px;
33
- height: 6px;
34
- background: $--color-danger;
35
- position: absolute;
36
- right: 6px;
37
- top: 2px;
38
- border-radius: 3px;
39
- }
40
- .el-tabs__item.is-top:last-child {
41
47
  .el-tabs__item-badge {
42
- right: -4px;
48
+ width: 6px;
49
+ height: 6px;
50
+ background: $--color-danger;
51
+ position: absolute;
52
+ right: 6px;
53
+ top: 2px;
54
+ border-radius: 3px;
55
+ }
56
+ .el-tabs__item.is-top:last-child {
57
+ .el-tabs__item-badge {
58
+ right: -4px;
59
+ }
60
+ }
61
+ .el-tabs__active-bar {
62
+ display: none;
43
63
  }
44
- }
45
- .el-tabs__active-bar {
46
- display: none;
47
- }
48
64
 
49
- .el-tabs__nav-prev,
50
- .el-tabs__nav-next {
51
- line-height: 28px;
65
+ .el-tabs__nav-prev,
66
+ .el-tabs__nav-next {
67
+ line-height: 28px;
68
+ }
52
69
  }
53
70
  }
@@ -50,6 +50,15 @@
50
50
  }
51
51
  }
52
52
 
53
+ .el-table thead {
54
+ color: #333;
55
+ font-family: 'PingFang SC';
56
+ font-size: 14px;
57
+ font-style: normal;
58
+ font-weight: 500;
59
+ line-height: 22px; /* 157.143% */
60
+ }
61
+
53
62
  /* 骨架屏样式 - 仅覆盖内容区域,表头正常显示 */
54
63
  .table-pro-skeleton {
55
64
  position: absolute;
@@ -201,22 +210,55 @@
201
210
  line-height: 12px;
202
211
  }
203
212
  }
204
-
213
+ .n20-table-pro__row-checked {
214
+ background-color: #e8f7ff !important;
215
+ }
205
216
  .vxe-header--column.is--padding.fixed-column__static {
206
- padding: 0 6px;
217
+ font-weight: 400 !important;
207
218
  .vxe-cell {
208
- padding: 0;
219
+ padding: 0 !important;
209
220
  }
221
+ .vxe-cell--wrapper.vxe-header-cell--wrapper {
222
+ justify-content: space-around;
223
+ .vxe-cell--title {
224
+ width: 100%;
225
+ .v3-custom-fixed-header__wrapper {
226
+ > * {
227
+ position: relative;
228
+ &::after {
229
+ content: '';
230
+ position: absolute;
231
+ right: -75%;
232
+ top: 50%;
233
+ transform: translate(-50%, -50%);
234
+ width: 1px;
235
+ height: 12px;
236
+ background: var(--border-2, #e5e6eb);
237
+ }
238
+ &:last-child::after {
239
+ display: none;
240
+ }
241
+ }
242
+ }
243
+ }
244
+ }
245
+ .vxe-cell--col-resizable:before {
246
+ background-color: transparent;
247
+ }
248
+
210
249
  i {
211
250
  display: inline-block;
212
251
  font-size: 16px;
213
- color: #505968;
252
+ color: #4e5969;
214
253
  cursor: pointer;
215
- margin-left: 10px;
216
254
  }
217
255
  }
218
256
  }
219
257
 
258
+ .vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell {
259
+ padding: 8px 6px !important;
260
+ }
261
+
220
262
  /* 悬浮按钮组样式 */
221
263
  .table-hover-btns {
222
264
  position: absolute;
@@ -247,7 +289,7 @@
247
289
  /* 过渡动画 */
248
290
  .hover-btns-fade-enter-active,
249
291
  .hover-btns-fade-leave-active {
250
- transition: opacity 0.2s ease, transform 0.2s ease;
292
+ // transition: opacity 0.2s ease, transform 0.2s ease;
251
293
  }
252
294
 
253
295
  .hover-btns-fade-enter,
@@ -264,7 +306,7 @@
264
306
 
265
307
  .vxe-table.vxe-table--render-default.border--none,
266
308
  .vxe-table.vxe-table--render-default.border--inner .vxe-cell--col-resizable:before {
267
- background-color: transparent;
309
+ // background-color: transparent;
268
310
  }
269
311
 
270
312
  .vxe-table .vxe-cell--sort {
@@ -289,7 +331,13 @@
289
331
  }
290
332
 
291
333
  .vxe-header--row {
292
- color: #333;
334
+ color: var(--text-1, #1d2129);
335
+ /* 14/CN-Medium */
336
+ font-family: 'PingFang SC';
337
+ font-size: 14px;
338
+ font-style: normal;
339
+ font-weight: 500;
340
+ line-height: 22px; /* 157.143% */
293
341
  background-color: #f5f5f5;
294
342
  }
295
343
 
@@ -325,11 +373,8 @@
325
373
  .vxe-header--row th,
326
374
  th.vxe-header--column {
327
375
  position: relative;
328
- font-weight: $--font-weight-primary;
329
376
  }
330
377
 
331
-
332
-
333
378
  .vxe-table--tooltip-wrapper {
334
379
  z-index: 9999 !important;
335
380
  }
@@ -339,8 +384,13 @@ th.vxe-header--column {
339
384
  }
340
385
 
341
386
  .n20-table-pro.vxe-table--render-default {
342
- font-family: PingFang SC, Microsoft YaHei, Arial, sans-serif !important;
343
- color: #333;
387
+ color: var(--text-1, #1d2129);
388
+ /* 14/CN-Regular */
389
+ font-family: 'PingFang SC';
390
+ font-size: 14px;
391
+ font-style: normal;
392
+ font-weight: 400;
393
+ line-height: 22px; /* 157.143% */
344
394
  }
345
395
 
346
396
  .vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived) > .vxe-cell,
@@ -363,18 +413,114 @@ th.vxe-header--column {
363
413
  // }
364
414
  // }
365
415
 
366
- @import '../../components/TableSetSize/style.scss';
416
+ .el-table div.hidden-columns {
417
+ visibility: initial;
418
+ position: initial;
419
+ height: 0;
420
+ width: 0;
367
421
 
368
- .el-table-set-size-item {
369
- .icon-mini {
370
- background-image: url('../../components/TableSetSize/small.png');
422
+ > * {
423
+ visibility: hidden;
371
424
  }
425
+ > .el-table-set-size {
426
+ visibility: initial;
427
+ }
428
+ }
429
+ .el-table-set-size {
430
+ box-sizing: border-box;
431
+ width: 6px;
432
+ height: 40px;
433
+ border-radius: 4px 0 0 4px;
434
+ background: var(--primary-6, #007aff);
435
+ position: absolute;
436
+ top: 0;
437
+ right: 0;
438
+ z-index: 9;
439
+ overflow: hidden;
440
+ transition: all 0.3s;
441
+ cursor: pointer;
442
+ &::before {
443
+ content: '';
444
+ position: absolute;
445
+ width: 100%;
446
+ height: 100%;
447
+ background: $--color-primary;
448
+ opacity: 0.7;
449
+ }
450
+
451
+ &:hover {
452
+ width: 112px;
453
+ }
454
+
455
+ &-item {
456
+ display: flex;
457
+ align-items: center;
458
+ justify-content: space-around;
459
+ width: 36px;
460
+ // height: 34px;
461
+ border-radius: 4px;
462
+ color: $--color-white;
463
+ z-index: 1;
464
+ cursor: pointer;
465
+ position: relative;
466
+
467
+ /* 右侧垂直分割线 */
468
+ &:not(:last-child)::after {
469
+ content: '';
470
+ position: absolute;
471
+ right: 0;
472
+ top: 50%;
473
+ transform: translateY(-50%);
474
+ width: 1px;
475
+ height: 12px;
476
+ background: var(--fill-7, rgba(0, 0, 0, 0.12));
477
+ }
372
478
 
373
- .icon-mini {
374
- background-image: url('../../components/TableSetSize/mini.png');
479
+ // &:hover {
480
+ // background: $--color-primary;
481
+ // }
482
+ // &.active {
483
+ // background: $--color-primary-hover;
484
+ // }
485
+
486
+ .icon-small,
487
+ .icon-mini {
488
+ display: block;
489
+ width: 16px;
490
+ height: 16px;
491
+ margin: 4px auto 0;
492
+ }
493
+ .icon-small {
494
+ background-size: 100% 100%;
495
+ }
496
+ .icon-mini {
497
+ background-size: 100% 100%;
498
+ }
499
+ .text-small,
500
+ .text-mini {
501
+ margin-top: 3px;
502
+ line-height: 12px;
503
+ font-size: 12px;
504
+ text-align: center;
505
+ transform: scale(0.667);
506
+ transform-origin: 50% 0;
507
+ }
375
508
  }
376
509
  }
377
510
 
511
+ // .el-table-set-size-item {
512
+ // display: flex;
513
+ // justify-content: center;
514
+ // align-items: center;
515
+ // .icon-mini {
516
+ // background-image: url('../../components/TableSetSize/small.png');
517
+ // }
518
+
519
+ // .icon-mini {
520
+ // background-image: url('../../components/TableSetSize/mini.png');
521
+ // }
522
+ // }
523
+
378
524
  .el-table th.el-table__cell > .cell {
379
525
  overflow: hidden;
380
526
  text-overflow: ellipsis;
@@ -0,0 +1,68 @@
1
+ .n20-tabs__wrapper {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ align-items: center;
5
+ border-bottom: 1px solid #e5e6eb;
6
+ .n20-tabs__tab {
7
+ display: inline-block;
8
+ max-width: 100%;
9
+ & > .el-tabs__header {
10
+ border: none;
11
+ margin-bottom: 0;
12
+ .el-tabs__nav {
13
+ border: none;
14
+ }
15
+ .el-tabs__item {
16
+ height: 35px;
17
+ padding: 5px 16px;
18
+ line-height: var(--line-height-26);
19
+ font-family: 'PingFang SC';
20
+ font-size: var(--font-size-base);
21
+ font-weight: 400;
22
+ margin-right: 4px;
23
+ border: 1px solid #e5e6eb !important;
24
+ border-top-right-radius: 4px !important;
25
+ border-top-left-radius: 4px !important;
26
+ background: var(--fill-1, #f7f8fa) !important;
27
+
28
+ &:first-child {
29
+ margin-left: 16px;
30
+ border-top-left-radius: 4px;
31
+ }
32
+ &:last-child {
33
+ border-top-right-radius: 4px;
34
+ }
35
+ &.is-active {
36
+ border: 1px solid #e5e6eb !important;
37
+ background: white !important;
38
+ border-bottom: 1px solid white !important;
39
+ &::after {
40
+ margin-bottom: -10px;
41
+ margin-top: 6px;
42
+ }
43
+ }
44
+ &.is-disabled {
45
+ color: $--color-text-placeholder;
46
+ background-color: $--button-disabled-background-color;
47
+ border-color: $--button-default-border-color !important;
48
+ cursor: not-allowed;
49
+ }
50
+ }
51
+ }
52
+
53
+ .el-tabs__item-badge {
54
+ width: 6px;
55
+ height: 6px;
56
+ background: $--color-danger;
57
+ position: absolute;
58
+ right: 10px;
59
+ top: 2px;
60
+ border-radius: 3px;
61
+ }
62
+
63
+ .el-tabs__nav-prev,
64
+ .el-tabs__nav-next {
65
+ line-height: 26px;
66
+ }
67
+ }
68
+ }
@@ -27,9 +27,9 @@
27
27
  </template>
28
28
  </el-table-column>
29
29
  </Table>
30
- <div slot="footer" class="page-button-shadow flex-box flex-c flex-v">
31
- <el-button v-if="!readonly" type="primary" @click="save">确定</el-button>
30
+ <div slot="footer" class="flex-box flex-c flex-v p-t-m" style="border-top: 1px solid var(--border-2, #e5e6eb)">
32
31
  <el-button plain @click="cancel">取消</el-button>
32
+ <el-button v-if="!readonly" type="primary" @click="save">确定</el-button>
33
33
  </div>
34
34
  </Dialog>
35
35
  </template>
@@ -1,13 +1,18 @@
1
1
  <template>
2
2
  <div class="n20-page-header">
3
- <div v-if="!disable" class="page-header__left" @click="$emit('back')">
4
- <i :class="icon"></i>
5
- <div class="page-header__title">
6
- <slot name="title">{{ title }}</slot>
3
+ <div class="n20-page-header__wappr">
4
+ <div v-if="!disable" class="page-header__left" @click="$emit('back')">
5
+ <i :class="icon"></i>
6
+ <div class="page-header__title">
7
+ <slot name="title">{{ title }}</slot>
8
+ </div>
9
+ </div>
10
+ <div class="page-header__content">
11
+ <slot name="content">{{ content }}</slot>
7
12
  </div>
8
13
  </div>
9
- <div class="page-header__content">
10
- <slot name="content">{{ content }}</slot>
14
+ <div>
15
+ <slot></slot>
11
16
  </div>
12
17
  </div>
13
18
  </template>