vxe-gantt 3.4.2 → 3.4.3

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 (44) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +53 -53
  3. package/es/gantt/src/gantt.js +1 -1
  4. package/es/ui/index.js +1 -1
  5. package/es/ui/src/log.js +1 -1
  6. package/lib/gantt/src/gantt.js +1 -1
  7. package/lib/gantt/src/gantt.min.js +1 -1
  8. package/lib/index.umd.js +50 -50
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/ui/index.js +1 -1
  11. package/lib/ui/index.min.js +1 -1
  12. package/lib/ui/src/log.js +1 -1
  13. package/lib/ui/src/log.min.js +1 -1
  14. package/package.json +88 -88
  15. package/packages/components.ts +22 -22
  16. package/packages/gantt/index.ts +32 -32
  17. package/packages/gantt/src/gantt-body.ts +323 -323
  18. package/packages/gantt/src/gantt-chart.ts +542 -542
  19. package/packages/gantt/src/gantt-footer.ts +73 -73
  20. package/packages/gantt/src/gantt-header.ts +162 -162
  21. package/packages/gantt/src/gantt-view.ts +1954 -1954
  22. package/packages/gantt/src/gantt.ts +2827 -2827
  23. package/packages/gantt/src/static.ts +35 -35
  24. package/packages/gantt/src/util.ts +47 -47
  25. package/packages/index.ts +8 -8
  26. package/packages/ui/index.ts +119 -119
  27. package/packages/ui/src/comp.ts +3 -3
  28. package/packages/ui/src/depend.ts +14 -14
  29. package/packages/ui/src/dom.ts +196 -196
  30. package/packages/ui/src/log.ts +8 -8
  31. package/packages/ui/src/utils.ts +67 -67
  32. package/packages/ui/src/vn.ts +13 -13
  33. package/styles/all.scss +3 -3
  34. package/styles/base.scss +2 -2
  35. package/styles/components/gantt-module/gantt-chart.scss +261 -261
  36. package/styles/components/gantt.scss +707 -707
  37. package/styles/helpers/baseMixin.scss +95 -95
  38. package/styles/helpers/baseVar.scss +3 -3
  39. package/styles/helpers/placement.scss +38 -38
  40. package/styles/theme/base.scss +14 -14
  41. package/styles/theme/dark.scss +8 -8
  42. package/styles/theme/light.scss +8 -8
  43. package/types/all.d.ts +16 -16
  44. package/types/index.d.ts +4 -4
@@ -1,707 +1,707 @@
1
- @use '../helpers/baseMixin.scss';
2
- @use './gantt-module/all.scss';
3
-
4
- .vxe-gantt {
5
- position: relative;
6
- display: flex;
7
- flex-direction: column;
8
- &.is--loading {
9
- &:before {
10
- content: "";
11
- position: absolute;
12
- top: 0;
13
- left: 0;
14
- width: 100%;
15
- height: 100%;
16
- z-index: 99;
17
- user-select: none;
18
- background-color: var(--vxe-ui-loading-background-color);
19
- }
20
- & > .vxe-gantt-view {
21
- .vxe-loading {
22
- background-color: transparent;
23
- }
24
- }
25
- }
26
- &.is--maximize {
27
- position: fixed;
28
- top: 0;
29
- left: 0;
30
- width: 100%;
31
- height: 100%;
32
- padding: 0.5em 1em;
33
- background-color: var(--vxe-ui-layout-background-color);
34
- }
35
- &.is--split-drag {
36
- cursor: col-resize;
37
- .vxe-gantt--table-wrapper,
38
- .vxe-gantt--view-wrapper {
39
- &::after {
40
- content: "";
41
- position: absolute;
42
- top: 0;
43
- left: 0;
44
- width: 100%;
45
- height: 100%;
46
- z-index: 1;
47
- background: transparent;
48
- user-select: none;
49
- }
50
- }
51
- }
52
- .vxe-gantt--form-wrapper,
53
- .vxe-gantt--top-wrapper,
54
- .vxe-gantt--bottom-wrapper {
55
- position: relative;
56
- }
57
- .vxe-gantt--gantt-container {
58
- position: relative;
59
- display: flex;
60
- flex-direction: row;
61
- flex-grow: 1;
62
- overflow: hidden;
63
- }
64
- .vxe-gantt--left-wrapper,
65
- .vxe-gantt--right-wrapper {
66
- flex-shrink: 0;
67
- overflow: auto;
68
- outline: 0;
69
- }
70
- .vxe-gantt--table-wrapper,
71
- .vxe-gantt--view-wrapper {
72
- display: none;
73
- position: relative;
74
- flex-grow: 1;
75
- overflow: hidden;
76
- }
77
- .vxe-gantt--view-split-bar {
78
- flex-shrink: 0;
79
- width: var(--vxe-ui-gantt-view-split-bar-width);
80
- &.is--resize {
81
- cursor: col-resize;
82
- }
83
- }
84
- .vxe-gantt--view-split-bar-handle {
85
- background-color: var(--vxe-ui-gantt-view-split-bar-background-color);
86
- &:hover,
87
- &:active {
88
- background-color: var(--vxe-ui-gantt-view-split-bar-hover-background-color);
89
- }
90
- }
91
- &.show--left {
92
- .vxe-gantt--table-wrapper {
93
- display: block;
94
- }
95
- &.show--right {
96
- .vxe-gantt--table-wrapper {
97
- flex-grow: unset;
98
- flex-shrink: 0;
99
- width: var(--vxe-ui-gantt-view-table-default-width);
100
- }
101
- }
102
- }
103
- &.show--right {
104
- .vxe-gantt--view-wrapper {
105
- display: block;
106
- }
107
- }
108
- }
109
-
110
- .vxe-gantt--layout-body-wrapper {
111
- display: flex;
112
- flex-direction: row;
113
- overflow: auto;
114
- flex-grow: 1;
115
- }
116
- .vxe-gantt--layout-body-content-wrapper {
117
- display: flex;
118
- flex-direction: column;
119
- flex-grow: 1;
120
- overflow: hidden;
121
- }
122
- .vxe-gantt--layout-header-wrapper,
123
- .vxe-gantt--layout-footer-wrapper,
124
- .vxe-gantt--layout-aside-left-wrapper,
125
- .vxe-gantt--layout-aside-left-wrapper {
126
- flex-shrink: 0;
127
- overflow: auto;
128
- }
129
-
130
- /*边框线*/
131
- .vxe-gantt--border-line {
132
- position: absolute;
133
- top: 0;
134
- left: 0;
135
- width: 100%;
136
- height: 100%;
137
- z-index: 10;
138
- pointer-events: none;
139
- border: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
140
- }
141
- .vxe-gantt {
142
- &.border--full {
143
- .vxe-gantt-view--header-column,
144
- .vxe-gantt-view--body-column,
145
- .vxe-gantt-view--footer-column {
146
- background-image: linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color)), linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color));
147
- background-repeat: no-repeat;
148
- background-size: var(--vxe-ui-table-border-width) 100%, 100% var(--vxe-ui-table-border-width);
149
- background-position: right top, right bottom;
150
- }
151
- }
152
- &.border--default,
153
- &.border--full,
154
- &.border--outer,
155
- &.border--inner {
156
- .vxe-gantt-view--scroll-y-top-corner,
157
- .vxe-gantt-view--scroll-y-bottom-corner {
158
- &::before {
159
- content: "";
160
- position: absolute;
161
- top: 0;
162
- left: 0;
163
- width: 100%;
164
- height: 100%;
165
- z-index: 1;
166
- border-width: 0;
167
- border-style: solid;
168
- border-color: var(--vxe-ui-table-border-color);
169
- }
170
- }
171
- .vxe-gantt-view--scroll-y-top-corner {
172
- &::before {
173
- border-bottom-width: var(--vxe-ui-table-border-width);
174
- }
175
- }
176
- .vxe-gantt-view--scroll-y-bottom-corner {
177
- border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
178
- }
179
- .vxe-gantt-view--scroll-x-handle-appearance {
180
- position: absolute;
181
- left: 0;
182
- width: 100%;
183
- height: 100%;
184
- z-index: 1;
185
- pointer-events: none;
186
- }
187
- &.sx-pos--top {
188
- .vxe-gantt-view--scroll-x-handle-appearance {
189
- top: 0;
190
- border-bottom: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
191
- }
192
- }
193
- &.sx-pos--bottom {
194
- .vxe-gantt-view--scroll-x-handle-appearance {
195
- bottom: 0;
196
- height: calc(100% + var(--vxe-ui-table-border-width));
197
- border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
198
- }
199
- }
200
- }
201
- &.border--default,
202
- &.border--full {
203
- .vxe-gantt-view--scroll-y-top-corner {
204
- &::before {
205
- border-left-width: var(--vxe-ui-table-border-width);
206
- border-right-width: var(--vxe-ui-table-border-width);
207
- }
208
- }
209
- .vxe-gantt-view--scroll-y-bottom-corner {
210
- &::before {
211
- border-left-width: var(--vxe-ui-table-border-width);
212
- border-right-width: var(--vxe-ui-table-border-width);
213
- }
214
- }
215
- &.sy-pos--right {
216
- .vxe-gantt-view--scroll-y-top-corner,
217
- .vxe-gantt-view--scroll-y-bottom-corner {
218
- &::before {
219
- width: calc(100% + 1px);
220
- left: -1px;
221
- }
222
- }
223
- }
224
- .vxe-gantt-view--scroll-y-handle-appearance {
225
- position: absolute;
226
- top: 0;
227
- width: 100%;
228
- height: 100%;
229
- z-index: 1;
230
- pointer-events: none;
231
- }
232
- &.sy-pos--left {
233
- .vxe-gantt-view--scroll-y-handle-appearance {
234
- left: 0;
235
- border-right: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
236
- }
237
- }
238
- &.sy-pos--right {
239
- .vxe-gantt-view--scroll-y-handle-appearance {
240
- right: 0;
241
- width: calc(100% + var(--vxe-ui-table-border-width));
242
- border-left: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
243
- }
244
- }
245
- }
246
- &.border--default,
247
- &.border--inner {
248
- .vxe-gantt-view--header-column,
249
- .vxe-gantt-view--body-column,
250
- .vxe-gantt-view--footer-column {
251
- background-image: linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color));
252
- background-repeat: no-repeat;
253
- background-size: 100% var(--vxe-ui-table-border-width);
254
- background-position: right bottom;
255
- }
256
- }
257
- &.border--default,
258
- &.border--full,
259
- &.border--inner {
260
- .vxe-gantt-view--footer-wrapper {
261
- border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
262
- }
263
- }
264
- &.border--inner {
265
- .vxe-gantt--border-line {
266
- border-width: 0 0 1px 0;
267
- }
268
- }
269
- &.border--none {
270
- .vxe-gantt--border-line {
271
- display: none;
272
- }
273
- }
274
- }
275
-
276
- /*分割条*/
277
- .vxe-gantt--view-split-bar {
278
- position: relative;
279
- user-select: none;
280
- }
281
- .vxe-gantt--view-split-bar-handle {
282
- position: absolute;
283
- top: 0;
284
- left: 0;
285
- width: 100%;
286
- height: 100%;
287
- z-index: 3;
288
- }
289
- .vxe-gantt--view-split-bar-btn-wrapper {
290
- display: flex;
291
- flex-direction: column;
292
- align-items: center;
293
- position: absolute;
294
- left: 50%;
295
- top: 50%;
296
- transform: translate(-50%, -50%);
297
- z-index: 5;
298
- pointer-events: none;
299
- & > div {
300
- margin-top: 1em;
301
- &:first-child {
302
- margin-top: 0;
303
- }
304
- }
305
- }
306
- .vxe-gantt--view-split-bar-left-btn,
307
- .vxe-gantt--view-split-bar-right-btn {
308
- display: flex;
309
- flex-direction: row;
310
- align-items: center;
311
- justify-content: center;
312
- height: var(--vxe-ui-gantt-view-split-bar-height);
313
- width: var(--vxe-ui-gantt-view-split-bar-width);
314
- color: var(--vxe-ui-layout-background-color);
315
- border-radius: var(--vxe-ui-base-border-radius);
316
- background-color: var(--vxe-ui-gantt-view-handle-background-color);
317
- border: 1px solid var(--vxe-ui-input-border-color);
318
- pointer-events: all;
319
- cursor: pointer;
320
- user-select: none;
321
- @include baseMixin.createAnimationTransition(all, 0.1s);
322
- &:hover {
323
- color: #ffffff;
324
- background-color: var(--vxe-ui-font-primary-color);
325
- }
326
- &:active {
327
- transform: scale(0.9);
328
- }
329
- i {
330
- font-size: 0.5em;
331
- }
332
- }
333
- .vxe-gantt--resizable-split-tip {
334
- display: none;
335
- position: absolute;
336
- top: 0;
337
- left: 0;
338
- width: 1px;
339
- height: 100%;
340
- z-index: 7;
341
- pointer-events: none;
342
- user-select: none;
343
- cursor: col-resize;
344
- &:before {
345
- content: "";
346
- display: block;
347
- height: 100%;
348
- background-color: var(--vxe-ui-table-resizable-drag-line-color);
349
- }
350
- }
351
- .vxe-gantt--resizable-split-tip-number {
352
- position: absolute;
353
- top: 0;
354
- left: 0;
355
- user-select: none;
356
- pointer-events: none;
357
- }
358
- .vxe-gantt--resizable-split-number-left,
359
- .vxe-gantt--resizable-split-number-right {
360
- position: absolute;
361
- padding: 0.25em 0.25em;
362
- font-size: 12px;
363
- border-radius: var(--vxe-ui-border-radius);
364
- white-space: nowrap;
365
- color: #ffffff;
366
- background-color: var(--vxe-ui-table-resizable-drag-line-color);
367
- }
368
- .vxe-gantt--resizable-split-number-left {
369
- right: 0;
370
- }
371
- .vxe-gantt--resizable-split-number-right {
372
- left: 1px;
373
- }
374
-
375
- /*滚动条*/
376
- .vxe-gantt {
377
- &.is--loading {
378
- & > .vxe-gantt-view--scroll-x-virtual {
379
- visibility: hidden;
380
- }
381
- & > .vxe-gantt-view--layout-wrapper {
382
- & > .vxe-gantt-view--scroll-y-virtual {
383
- visibility: hidden;
384
- }
385
- }
386
- }
387
- .vxe-gantt-view--scroll-x-virtual {
388
- height: 0;
389
- }
390
- .vxe-gantt-view--scroll-y-virtual {
391
- width: 0;
392
- }
393
- .vxe-gantt-view--scroll-x-virtual,
394
- .vxe-gantt-view--scroll-y-virtual {
395
- visibility: hidden;
396
- position: relative;
397
- flex-shrink: 0;
398
- z-index: 7;
399
- }
400
- .vxe-gantt-view--scroll-x-handle,
401
- .vxe-gantt-view--scroll-y-handle,
402
- .vxe-gantt-view--scroll-x-wrapper,
403
- .vxe-gantt-view--scroll-y-wrapper,
404
- .vxe-gantt-view--scroll-y-top-corner,
405
- .vxe-gantt-view--scroll-y-bottom-corner,
406
- .vxe-gantt-view--scroll-x-left-corner,
407
- .vxe-gantt-view--scroll-x-right-corner {
408
- position: absolute;
409
- }
410
- .vxe-gantt-view--scroll-x-handle,
411
- .vxe-gantt-view--scroll-x-wrapper {
412
- width: 100%;
413
- left: 0;
414
- bottom: 0;
415
- }
416
- .vxe-gantt-view--scroll-x-handle {
417
- overflow-y: hidden;
418
- overflow-x: scroll;
419
- height: 18px;
420
- }
421
- .vxe-gantt-view--scroll-x-wrapper {
422
- height: 100%;
423
- }
424
- .vxe-gantt-view--scroll-y-handle,
425
- .vxe-gantt-view--scroll-y-wrapper {
426
- width: 100%;
427
- height: 100%;
428
- right: 0;
429
- top: 0;
430
- }
431
- .vxe-gantt-view--scroll-y-handle {
432
- overflow-y: scroll;
433
- overflow-x: hidden;
434
- width: 18px;
435
- height: 100%;
436
- }
437
- .vxe-gantt-view--scroll-x-space {
438
- height: 1px;
439
- }
440
- .vxe-gantt-view--scroll-y-space {
441
- width: 1px;
442
- }
443
- .vxe-gantt-view--scroll-x-left-corner,
444
- .vxe-gantt-view--scroll-x-right-corner,
445
- .vxe-gantt-view--scroll-y-top-corner,
446
- .vxe-gantt-view--scroll-y-bottom-corner {
447
- display: none;
448
- position: absolute;
449
- }
450
- .vxe-gantt-view--scroll-x-left-corner,
451
- .vxe-gantt-view--scroll-x-right-corner {
452
- bottom: 0;
453
- width: 0;
454
- height: 100%;
455
- &::before {
456
- content: "";
457
- position: absolute;
458
- top: 0;
459
- left: 0;
460
- width: 100%;
461
- height: 100%;
462
- z-index: 1;
463
- border-width: var(--vxe-ui-table-border-width);
464
- border-style: solid;
465
- border-color: var(--vxe-ui-table-border-color);
466
- }
467
- }
468
- .vxe-gantt-view--scroll-x-left-corner {
469
- left: 0;
470
- }
471
- .vxe-gantt-view--scroll-x-right-corner {
472
- right: 0;
473
- }
474
- &.sy-pos--right {
475
- .vxe-gantt-view--scroll-x-right-corner {
476
- right: 1px;
477
- &::before {
478
- border-right: 0;
479
- }
480
- }
481
- }
482
- &.sx-pos--bottom {
483
- .vxe-gantt-view--scroll-x-right-corner {
484
- bottom: 1px;
485
- &::before {
486
- border-bottom: 0;
487
- }
488
- }
489
- }
490
- .vxe-gantt-view--scroll-y-top-corner {
491
- background-color: var(--vxe-ui-table-header-background-color);
492
- }
493
- .vxe-gantt-view--scroll-y-top-corner,
494
- .vxe-gantt-view--scroll-y-bottom-corner {
495
- top: 0;
496
- right: 0;
497
- width: 100%;
498
- height: 0;
499
- }
500
- .vxe-gantt-view--scroll-y-bottom-corner {
501
- margin-top: -1px;
502
- }
503
- }
504
-
505
- .vxe-gantt-view--layout-wrapper {
506
- display: flex;
507
- flex-direction: row;
508
- background-color: var(--vxe-ui-layout-background-color)
509
- }
510
- .vxe-gantt-view--viewport-wrapper {
511
- position: relative;
512
- overflow: hidden;
513
- flex-grow: 1;
514
- }
515
-
516
- .vxe-gantt-view--render-vars {
517
- width: 0;
518
- height: 0;
519
- overflow: hidden;
520
- }
521
- .vxe-gantt-view--column-info {
522
- width: var(--vxe-ui-gantt-view-default-cell-width);
523
- }
524
-
525
- // 任务视图
526
- .vxe-gantt-view {
527
- flex-grow: 1;
528
- overflow: hidden;
529
- .vxe-body--x-space {
530
- width: 100%;
531
- height: 1px;
532
- margin-bottom: -1px;
533
- }
534
- .vxe-body--y-space {
535
- width: 0;
536
- float: left;
537
- }
538
- }
539
- .vxe-gantt-view--header-table,
540
- .vxe-gantt-view--body-table {
541
- border: 0;
542
- border-spacing: 0;
543
- border-collapse: separate;
544
- table-layout: fixed;
545
- col {
546
- width: var(--vxe-ui-gantt-view-default-cell-width);
547
- }
548
- }
549
- .vxe-gantt-view--body-table {
550
- user-select: none;
551
- }
552
- .vxe-gantt-view--header-wrapper {
553
- background-color: var(--vxe-ui-table-header-background-color);
554
- }
555
- .vxe-gantt-view--footer-wrapper {
556
- margin-top: calc(var(--vxe-ui-table-border-width) * -1);
557
- background-color: var(--vxe-ui-table-footer-background-color);
558
- }
559
- .vxe-gantt-view--header-wrapper,
560
- .vxe-gantt-view--body-wrapper {
561
- overflow: hidden;
562
- }
563
- .vxe-gantt-view--header-inner-wrapper {
564
- overflow-y: hidden;
565
- overflow-x: scroll;
566
- }
567
- .vxe-gantt-view--body-inner-wrapper {
568
- overflow-y: scroll;
569
- overflow-x: scroll;
570
- }
571
- .vxe-gantt-view--header-inner-wrapper,
572
- .vxe-gantt-view--body-inner-wrapper {
573
- position: relative;
574
- width: 100%;
575
- height: 100%;
576
- scrollbar-width: none;
577
- -ms-overflow-style: none;
578
- -webkit-overflow-scrolling: touch;
579
- &::-webkit-scrollbar {
580
- display: none;
581
- }
582
- }
583
- .vxe-gantt-view--header-column {
584
- text-align: center;
585
- font-size: 1em;
586
- height: var(--vxe-ui-gantt-view-cell-height, var(--vxe-ui-table-row-line-height));
587
- &.is--now {
588
- color: var(--vxe-ui-gantt-view-task-now-line-color, var(--vxe-ui-font-primary-color));
589
- }
590
- }
591
- .vxe-gantt-view--header-column,
592
- .vxe-gantt-view--body-column,
593
- .vxe-gantt-view--footer-column {
594
- position: relative;
595
- overflow: hidden;
596
- text-overflow: ellipsis;
597
- white-space: nowrap;
598
- }
599
-
600
- .vxe-gantt-view--body-row {
601
- &.row--pending {
602
- & > .vxe-gantt-view--body-column {
603
- &::after {
604
- content: "";
605
- position: absolute;
606
- top: 50%;
607
- left: 0;
608
- width: 100%;
609
- height: 0;
610
- border-bottom: 1px solid var(--vxe-ui-table-validate-error-color);
611
- z-index: 1;
612
- }
613
- }
614
- }
615
- }
616
-
617
- .vxe-gantt-view--chart-now-line {
618
- position: absolute;
619
- left: 0;
620
- top: 0;
621
- height: 100%;
622
- &::before {
623
- content: "";
624
- display: block;
625
- width: var(--vxe-ui-gantt-view-task-now-line-width, 1px);
626
- height: 100%;
627
- background-color: var(--vxe-ui-gantt-view-task-now-line-background-color, var(--vxe-ui-font-primary-color));
628
- }
629
- }
630
-
631
- // 行高亮
632
- .vxe-gantt-view--body-row {
633
- &.row--stripe {
634
- background-color: var(--vxe-ui-table-row-striped-background-color);
635
- }
636
- &.row--radio {
637
- background-color: var(--vxe-ui-table-row-radio-checked-background-color);
638
- }
639
- &.row--checked {
640
- background-color: var(--vxe-ui-table-row-checkbox-checked-background-color);
641
- }
642
- &.row--current {
643
- background-color: var(--vxe-ui-table-row-current-background-color);
644
- }
645
- &.row--hover {
646
- background-color: var(--vxe-ui-table-row-hover-background-color);
647
- &.row--stripe {
648
- background-color: var(--vxe-ui-table-row-hover-striped-background-color);
649
- }
650
- &.row--radio {
651
- background-color: var(--vxe-ui-table-row-hover-radio-checked-background-color);
652
- }
653
- &.row--checked {
654
- background-color: var(--vxe-ui-table-row-hover-checkbox-checked-background-color);
655
- }
656
- &.row--current {
657
- background-color: var(--vxe-ui-table-row-hover-current-background-color);
658
- }
659
- }
660
- }
661
-
662
- /*行拖拽*/
663
- .vxe-gantt-view--body-row {
664
- &.row--drag-move {
665
- transition: transform 0.5s ease;
666
- }
667
- &.row--drag-origin {
668
- & > .vxe-gantt-view--body-column {
669
- opacity: 0.3;
670
- }
671
- }
672
- }
673
- .vxe-gantt-view--body-column {
674
- .vxe-gantt-view-cell--row-resizable {
675
- position: absolute;
676
- left: 0;
677
- bottom: -0.4em;
678
- height: 0.8em;
679
- width: 100%;
680
- text-align: center;
681
- z-index: 1;
682
- cursor: row-resize;
683
- }
684
- }
685
- .vxe-gantt-view--body-row {
686
- &:last-child {
687
- .vxe-gantt-view--body-column {
688
- .vxe-gantt-view-cell--row-resizable {
689
- height: 0.4em;
690
- bottom: -0px;
691
- }
692
- }
693
- }
694
- }
695
-
696
- .vxe-gantt {
697
- font-size: var(--vxe-ui-font-size-default);
698
- &.size--medium {
699
- font-size: var(--vxe-ui-font-size-medium);
700
- }
701
- &.size--small {
702
- font-size: var(--vxe-ui-font-size-small);
703
- }
704
- &.size--mini {
705
- font-size: var(--vxe-ui-font-size-mini);
706
- }
707
- }
1
+ @use '../helpers/baseMixin.scss';
2
+ @use './gantt-module/all.scss';
3
+
4
+ .vxe-gantt {
5
+ position: relative;
6
+ display: flex;
7
+ flex-direction: column;
8
+ &.is--loading {
9
+ &:before {
10
+ content: "";
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ z-index: 99;
17
+ user-select: none;
18
+ background-color: var(--vxe-ui-loading-background-color);
19
+ }
20
+ & > .vxe-gantt-view {
21
+ .vxe-loading {
22
+ background-color: transparent;
23
+ }
24
+ }
25
+ }
26
+ &.is--maximize {
27
+ position: fixed;
28
+ top: 0;
29
+ left: 0;
30
+ width: 100%;
31
+ height: 100%;
32
+ padding: 0.5em 1em;
33
+ background-color: var(--vxe-ui-layout-background-color);
34
+ }
35
+ &.is--split-drag {
36
+ cursor: col-resize;
37
+ .vxe-gantt--table-wrapper,
38
+ .vxe-gantt--view-wrapper {
39
+ &::after {
40
+ content: "";
41
+ position: absolute;
42
+ top: 0;
43
+ left: 0;
44
+ width: 100%;
45
+ height: 100%;
46
+ z-index: 1;
47
+ background: transparent;
48
+ user-select: none;
49
+ }
50
+ }
51
+ }
52
+ .vxe-gantt--form-wrapper,
53
+ .vxe-gantt--top-wrapper,
54
+ .vxe-gantt--bottom-wrapper {
55
+ position: relative;
56
+ }
57
+ .vxe-gantt--gantt-container {
58
+ position: relative;
59
+ display: flex;
60
+ flex-direction: row;
61
+ flex-grow: 1;
62
+ overflow: hidden;
63
+ }
64
+ .vxe-gantt--left-wrapper,
65
+ .vxe-gantt--right-wrapper {
66
+ flex-shrink: 0;
67
+ overflow: auto;
68
+ outline: 0;
69
+ }
70
+ .vxe-gantt--table-wrapper,
71
+ .vxe-gantt--view-wrapper {
72
+ display: none;
73
+ position: relative;
74
+ flex-grow: 1;
75
+ overflow: hidden;
76
+ }
77
+ .vxe-gantt--view-split-bar {
78
+ flex-shrink: 0;
79
+ width: var(--vxe-ui-gantt-view-split-bar-width);
80
+ &.is--resize {
81
+ cursor: col-resize;
82
+ }
83
+ }
84
+ .vxe-gantt--view-split-bar-handle {
85
+ background-color: var(--vxe-ui-gantt-view-split-bar-background-color);
86
+ &:hover,
87
+ &:active {
88
+ background-color: var(--vxe-ui-gantt-view-split-bar-hover-background-color);
89
+ }
90
+ }
91
+ &.show--left {
92
+ .vxe-gantt--table-wrapper {
93
+ display: block;
94
+ }
95
+ &.show--right {
96
+ .vxe-gantt--table-wrapper {
97
+ flex-grow: unset;
98
+ flex-shrink: 0;
99
+ width: var(--vxe-ui-gantt-view-table-default-width);
100
+ }
101
+ }
102
+ }
103
+ &.show--right {
104
+ .vxe-gantt--view-wrapper {
105
+ display: block;
106
+ }
107
+ }
108
+ }
109
+
110
+ .vxe-gantt--layout-body-wrapper {
111
+ display: flex;
112
+ flex-direction: row;
113
+ overflow: auto;
114
+ flex-grow: 1;
115
+ }
116
+ .vxe-gantt--layout-body-content-wrapper {
117
+ display: flex;
118
+ flex-direction: column;
119
+ flex-grow: 1;
120
+ overflow: hidden;
121
+ }
122
+ .vxe-gantt--layout-header-wrapper,
123
+ .vxe-gantt--layout-footer-wrapper,
124
+ .vxe-gantt--layout-aside-left-wrapper,
125
+ .vxe-gantt--layout-aside-left-wrapper {
126
+ flex-shrink: 0;
127
+ overflow: auto;
128
+ }
129
+
130
+ /*边框线*/
131
+ .vxe-gantt--border-line {
132
+ position: absolute;
133
+ top: 0;
134
+ left: 0;
135
+ width: 100%;
136
+ height: 100%;
137
+ z-index: 10;
138
+ pointer-events: none;
139
+ border: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
140
+ }
141
+ .vxe-gantt {
142
+ &.border--full {
143
+ .vxe-gantt-view--header-column,
144
+ .vxe-gantt-view--body-column,
145
+ .vxe-gantt-view--footer-column {
146
+ background-image: linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color)), linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color));
147
+ background-repeat: no-repeat;
148
+ background-size: var(--vxe-ui-table-border-width) 100%, 100% var(--vxe-ui-table-border-width);
149
+ background-position: right top, right bottom;
150
+ }
151
+ }
152
+ &.border--default,
153
+ &.border--full,
154
+ &.border--outer,
155
+ &.border--inner {
156
+ .vxe-gantt-view--scroll-y-top-corner,
157
+ .vxe-gantt-view--scroll-y-bottom-corner {
158
+ &::before {
159
+ content: "";
160
+ position: absolute;
161
+ top: 0;
162
+ left: 0;
163
+ width: 100%;
164
+ height: 100%;
165
+ z-index: 1;
166
+ border-width: 0;
167
+ border-style: solid;
168
+ border-color: var(--vxe-ui-table-border-color);
169
+ }
170
+ }
171
+ .vxe-gantt-view--scroll-y-top-corner {
172
+ &::before {
173
+ border-bottom-width: var(--vxe-ui-table-border-width);
174
+ }
175
+ }
176
+ .vxe-gantt-view--scroll-y-bottom-corner {
177
+ border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
178
+ }
179
+ .vxe-gantt-view--scroll-x-handle-appearance {
180
+ position: absolute;
181
+ left: 0;
182
+ width: 100%;
183
+ height: 100%;
184
+ z-index: 1;
185
+ pointer-events: none;
186
+ }
187
+ &.sx-pos--top {
188
+ .vxe-gantt-view--scroll-x-handle-appearance {
189
+ top: 0;
190
+ border-bottom: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
191
+ }
192
+ }
193
+ &.sx-pos--bottom {
194
+ .vxe-gantt-view--scroll-x-handle-appearance {
195
+ bottom: 0;
196
+ height: calc(100% + var(--vxe-ui-table-border-width));
197
+ border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
198
+ }
199
+ }
200
+ }
201
+ &.border--default,
202
+ &.border--full {
203
+ .vxe-gantt-view--scroll-y-top-corner {
204
+ &::before {
205
+ border-left-width: var(--vxe-ui-table-border-width);
206
+ border-right-width: var(--vxe-ui-table-border-width);
207
+ }
208
+ }
209
+ .vxe-gantt-view--scroll-y-bottom-corner {
210
+ &::before {
211
+ border-left-width: var(--vxe-ui-table-border-width);
212
+ border-right-width: var(--vxe-ui-table-border-width);
213
+ }
214
+ }
215
+ &.sy-pos--right {
216
+ .vxe-gantt-view--scroll-y-top-corner,
217
+ .vxe-gantt-view--scroll-y-bottom-corner {
218
+ &::before {
219
+ width: calc(100% + 1px);
220
+ left: -1px;
221
+ }
222
+ }
223
+ }
224
+ .vxe-gantt-view--scroll-y-handle-appearance {
225
+ position: absolute;
226
+ top: 0;
227
+ width: 100%;
228
+ height: 100%;
229
+ z-index: 1;
230
+ pointer-events: none;
231
+ }
232
+ &.sy-pos--left {
233
+ .vxe-gantt-view--scroll-y-handle-appearance {
234
+ left: 0;
235
+ border-right: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
236
+ }
237
+ }
238
+ &.sy-pos--right {
239
+ .vxe-gantt-view--scroll-y-handle-appearance {
240
+ right: 0;
241
+ width: calc(100% + var(--vxe-ui-table-border-width));
242
+ border-left: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
243
+ }
244
+ }
245
+ }
246
+ &.border--default,
247
+ &.border--inner {
248
+ .vxe-gantt-view--header-column,
249
+ .vxe-gantt-view--body-column,
250
+ .vxe-gantt-view--footer-column {
251
+ background-image: linear-gradient(var(--vxe-ui-table-border-color), var(--vxe-ui-table-border-color));
252
+ background-repeat: no-repeat;
253
+ background-size: 100% var(--vxe-ui-table-border-width);
254
+ background-position: right bottom;
255
+ }
256
+ }
257
+ &.border--default,
258
+ &.border--full,
259
+ &.border--inner {
260
+ .vxe-gantt-view--footer-wrapper {
261
+ border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
262
+ }
263
+ }
264
+ &.border--inner {
265
+ .vxe-gantt--border-line {
266
+ border-width: 0 0 1px 0;
267
+ }
268
+ }
269
+ &.border--none {
270
+ .vxe-gantt--border-line {
271
+ display: none;
272
+ }
273
+ }
274
+ }
275
+
276
+ /*分割条*/
277
+ .vxe-gantt--view-split-bar {
278
+ position: relative;
279
+ user-select: none;
280
+ }
281
+ .vxe-gantt--view-split-bar-handle {
282
+ position: absolute;
283
+ top: 0;
284
+ left: 0;
285
+ width: 100%;
286
+ height: 100%;
287
+ z-index: 3;
288
+ }
289
+ .vxe-gantt--view-split-bar-btn-wrapper {
290
+ display: flex;
291
+ flex-direction: column;
292
+ align-items: center;
293
+ position: absolute;
294
+ left: 50%;
295
+ top: 50%;
296
+ transform: translate(-50%, -50%);
297
+ z-index: 5;
298
+ pointer-events: none;
299
+ & > div {
300
+ margin-top: 1em;
301
+ &:first-child {
302
+ margin-top: 0;
303
+ }
304
+ }
305
+ }
306
+ .vxe-gantt--view-split-bar-left-btn,
307
+ .vxe-gantt--view-split-bar-right-btn {
308
+ display: flex;
309
+ flex-direction: row;
310
+ align-items: center;
311
+ justify-content: center;
312
+ height: var(--vxe-ui-gantt-view-split-bar-height);
313
+ width: var(--vxe-ui-gantt-view-split-bar-width);
314
+ color: var(--vxe-ui-layout-background-color);
315
+ border-radius: var(--vxe-ui-base-border-radius);
316
+ background-color: var(--vxe-ui-gantt-view-handle-background-color);
317
+ border: 1px solid var(--vxe-ui-input-border-color);
318
+ pointer-events: all;
319
+ cursor: pointer;
320
+ user-select: none;
321
+ @include baseMixin.createAnimationTransition(all, 0.1s);
322
+ &:hover {
323
+ color: #ffffff;
324
+ background-color: var(--vxe-ui-font-primary-color);
325
+ }
326
+ &:active {
327
+ transform: scale(0.9);
328
+ }
329
+ i {
330
+ font-size: 0.5em;
331
+ }
332
+ }
333
+ .vxe-gantt--resizable-split-tip {
334
+ display: none;
335
+ position: absolute;
336
+ top: 0;
337
+ left: 0;
338
+ width: 1px;
339
+ height: 100%;
340
+ z-index: 7;
341
+ pointer-events: none;
342
+ user-select: none;
343
+ cursor: col-resize;
344
+ &:before {
345
+ content: "";
346
+ display: block;
347
+ height: 100%;
348
+ background-color: var(--vxe-ui-table-resizable-drag-line-color);
349
+ }
350
+ }
351
+ .vxe-gantt--resizable-split-tip-number {
352
+ position: absolute;
353
+ top: 0;
354
+ left: 0;
355
+ user-select: none;
356
+ pointer-events: none;
357
+ }
358
+ .vxe-gantt--resizable-split-number-left,
359
+ .vxe-gantt--resizable-split-number-right {
360
+ position: absolute;
361
+ padding: 0.25em 0.25em;
362
+ font-size: 12px;
363
+ border-radius: var(--vxe-ui-border-radius);
364
+ white-space: nowrap;
365
+ color: #ffffff;
366
+ background-color: var(--vxe-ui-table-resizable-drag-line-color);
367
+ }
368
+ .vxe-gantt--resizable-split-number-left {
369
+ right: 0;
370
+ }
371
+ .vxe-gantt--resizable-split-number-right {
372
+ left: 1px;
373
+ }
374
+
375
+ /*滚动条*/
376
+ .vxe-gantt {
377
+ &.is--loading {
378
+ & > .vxe-gantt-view--scroll-x-virtual {
379
+ visibility: hidden;
380
+ }
381
+ & > .vxe-gantt-view--layout-wrapper {
382
+ & > .vxe-gantt-view--scroll-y-virtual {
383
+ visibility: hidden;
384
+ }
385
+ }
386
+ }
387
+ .vxe-gantt-view--scroll-x-virtual {
388
+ height: 0;
389
+ }
390
+ .vxe-gantt-view--scroll-y-virtual {
391
+ width: 0;
392
+ }
393
+ .vxe-gantt-view--scroll-x-virtual,
394
+ .vxe-gantt-view--scroll-y-virtual {
395
+ visibility: hidden;
396
+ position: relative;
397
+ flex-shrink: 0;
398
+ z-index: 7;
399
+ }
400
+ .vxe-gantt-view--scroll-x-handle,
401
+ .vxe-gantt-view--scroll-y-handle,
402
+ .vxe-gantt-view--scroll-x-wrapper,
403
+ .vxe-gantt-view--scroll-y-wrapper,
404
+ .vxe-gantt-view--scroll-y-top-corner,
405
+ .vxe-gantt-view--scroll-y-bottom-corner,
406
+ .vxe-gantt-view--scroll-x-left-corner,
407
+ .vxe-gantt-view--scroll-x-right-corner {
408
+ position: absolute;
409
+ }
410
+ .vxe-gantt-view--scroll-x-handle,
411
+ .vxe-gantt-view--scroll-x-wrapper {
412
+ width: 100%;
413
+ left: 0;
414
+ bottom: 0;
415
+ }
416
+ .vxe-gantt-view--scroll-x-handle {
417
+ overflow-y: hidden;
418
+ overflow-x: scroll;
419
+ height: 18px;
420
+ }
421
+ .vxe-gantt-view--scroll-x-wrapper {
422
+ height: 100%;
423
+ }
424
+ .vxe-gantt-view--scroll-y-handle,
425
+ .vxe-gantt-view--scroll-y-wrapper {
426
+ width: 100%;
427
+ height: 100%;
428
+ right: 0;
429
+ top: 0;
430
+ }
431
+ .vxe-gantt-view--scroll-y-handle {
432
+ overflow-y: scroll;
433
+ overflow-x: hidden;
434
+ width: 18px;
435
+ height: 100%;
436
+ }
437
+ .vxe-gantt-view--scroll-x-space {
438
+ height: 1px;
439
+ }
440
+ .vxe-gantt-view--scroll-y-space {
441
+ width: 1px;
442
+ }
443
+ .vxe-gantt-view--scroll-x-left-corner,
444
+ .vxe-gantt-view--scroll-x-right-corner,
445
+ .vxe-gantt-view--scroll-y-top-corner,
446
+ .vxe-gantt-view--scroll-y-bottom-corner {
447
+ display: none;
448
+ position: absolute;
449
+ }
450
+ .vxe-gantt-view--scroll-x-left-corner,
451
+ .vxe-gantt-view--scroll-x-right-corner {
452
+ bottom: 0;
453
+ width: 0;
454
+ height: 100%;
455
+ &::before {
456
+ content: "";
457
+ position: absolute;
458
+ top: 0;
459
+ left: 0;
460
+ width: 100%;
461
+ height: 100%;
462
+ z-index: 1;
463
+ border-width: var(--vxe-ui-table-border-width);
464
+ border-style: solid;
465
+ border-color: var(--vxe-ui-table-border-color);
466
+ }
467
+ }
468
+ .vxe-gantt-view--scroll-x-left-corner {
469
+ left: 0;
470
+ }
471
+ .vxe-gantt-view--scroll-x-right-corner {
472
+ right: 0;
473
+ }
474
+ &.sy-pos--right {
475
+ .vxe-gantt-view--scroll-x-right-corner {
476
+ right: 1px;
477
+ &::before {
478
+ border-right: 0;
479
+ }
480
+ }
481
+ }
482
+ &.sx-pos--bottom {
483
+ .vxe-gantt-view--scroll-x-right-corner {
484
+ bottom: 1px;
485
+ &::before {
486
+ border-bottom: 0;
487
+ }
488
+ }
489
+ }
490
+ .vxe-gantt-view--scroll-y-top-corner {
491
+ background-color: var(--vxe-ui-table-header-background-color);
492
+ }
493
+ .vxe-gantt-view--scroll-y-top-corner,
494
+ .vxe-gantt-view--scroll-y-bottom-corner {
495
+ top: 0;
496
+ right: 0;
497
+ width: 100%;
498
+ height: 0;
499
+ }
500
+ .vxe-gantt-view--scroll-y-bottom-corner {
501
+ margin-top: -1px;
502
+ }
503
+ }
504
+
505
+ .vxe-gantt-view--layout-wrapper {
506
+ display: flex;
507
+ flex-direction: row;
508
+ background-color: var(--vxe-ui-layout-background-color)
509
+ }
510
+ .vxe-gantt-view--viewport-wrapper {
511
+ position: relative;
512
+ overflow: hidden;
513
+ flex-grow: 1;
514
+ }
515
+
516
+ .vxe-gantt-view--render-vars {
517
+ width: 0;
518
+ height: 0;
519
+ overflow: hidden;
520
+ }
521
+ .vxe-gantt-view--column-info {
522
+ width: var(--vxe-ui-gantt-view-default-cell-width);
523
+ }
524
+
525
+ // 任务视图
526
+ .vxe-gantt-view {
527
+ flex-grow: 1;
528
+ overflow: hidden;
529
+ .vxe-body--x-space {
530
+ width: 100%;
531
+ height: 1px;
532
+ margin-bottom: -1px;
533
+ }
534
+ .vxe-body--y-space {
535
+ width: 0;
536
+ float: left;
537
+ }
538
+ }
539
+ .vxe-gantt-view--header-table,
540
+ .vxe-gantt-view--body-table {
541
+ border: 0;
542
+ border-spacing: 0;
543
+ border-collapse: separate;
544
+ table-layout: fixed;
545
+ col {
546
+ width: var(--vxe-ui-gantt-view-default-cell-width);
547
+ }
548
+ }
549
+ .vxe-gantt-view--body-table {
550
+ user-select: none;
551
+ }
552
+ .vxe-gantt-view--header-wrapper {
553
+ background-color: var(--vxe-ui-table-header-background-color);
554
+ }
555
+ .vxe-gantt-view--footer-wrapper {
556
+ margin-top: calc(var(--vxe-ui-table-border-width) * -1);
557
+ background-color: var(--vxe-ui-table-footer-background-color);
558
+ }
559
+ .vxe-gantt-view--header-wrapper,
560
+ .vxe-gantt-view--body-wrapper {
561
+ overflow: hidden;
562
+ }
563
+ .vxe-gantt-view--header-inner-wrapper {
564
+ overflow-y: hidden;
565
+ overflow-x: scroll;
566
+ }
567
+ .vxe-gantt-view--body-inner-wrapper {
568
+ overflow-y: scroll;
569
+ overflow-x: scroll;
570
+ }
571
+ .vxe-gantt-view--header-inner-wrapper,
572
+ .vxe-gantt-view--body-inner-wrapper {
573
+ position: relative;
574
+ width: 100%;
575
+ height: 100%;
576
+ scrollbar-width: none;
577
+ -ms-overflow-style: none;
578
+ -webkit-overflow-scrolling: touch;
579
+ &::-webkit-scrollbar {
580
+ display: none;
581
+ }
582
+ }
583
+ .vxe-gantt-view--header-column {
584
+ text-align: center;
585
+ font-size: 1em;
586
+ height: var(--vxe-ui-gantt-view-cell-height, var(--vxe-ui-table-row-line-height));
587
+ &.is--now {
588
+ color: var(--vxe-ui-gantt-view-task-now-line-color, var(--vxe-ui-font-primary-color));
589
+ }
590
+ }
591
+ .vxe-gantt-view--header-column,
592
+ .vxe-gantt-view--body-column,
593
+ .vxe-gantt-view--footer-column {
594
+ position: relative;
595
+ overflow: hidden;
596
+ text-overflow: ellipsis;
597
+ white-space: nowrap;
598
+ }
599
+
600
+ .vxe-gantt-view--body-row {
601
+ &.row--pending {
602
+ & > .vxe-gantt-view--body-column {
603
+ &::after {
604
+ content: "";
605
+ position: absolute;
606
+ top: 50%;
607
+ left: 0;
608
+ width: 100%;
609
+ height: 0;
610
+ border-bottom: 1px solid var(--vxe-ui-table-validate-error-color);
611
+ z-index: 1;
612
+ }
613
+ }
614
+ }
615
+ }
616
+
617
+ .vxe-gantt-view--chart-now-line {
618
+ position: absolute;
619
+ left: 0;
620
+ top: 0;
621
+ height: 100%;
622
+ &::before {
623
+ content: "";
624
+ display: block;
625
+ width: var(--vxe-ui-gantt-view-task-now-line-width, 1px);
626
+ height: 100%;
627
+ background-color: var(--vxe-ui-gantt-view-task-now-line-background-color, var(--vxe-ui-font-primary-color));
628
+ }
629
+ }
630
+
631
+ // 行高亮
632
+ .vxe-gantt-view--body-row {
633
+ &.row--stripe {
634
+ background-color: var(--vxe-ui-table-row-striped-background-color);
635
+ }
636
+ &.row--radio {
637
+ background-color: var(--vxe-ui-table-row-radio-checked-background-color);
638
+ }
639
+ &.row--checked {
640
+ background-color: var(--vxe-ui-table-row-checkbox-checked-background-color);
641
+ }
642
+ &.row--current {
643
+ background-color: var(--vxe-ui-table-row-current-background-color);
644
+ }
645
+ &.row--hover {
646
+ background-color: var(--vxe-ui-table-row-hover-background-color);
647
+ &.row--stripe {
648
+ background-color: var(--vxe-ui-table-row-hover-striped-background-color);
649
+ }
650
+ &.row--radio {
651
+ background-color: var(--vxe-ui-table-row-hover-radio-checked-background-color);
652
+ }
653
+ &.row--checked {
654
+ background-color: var(--vxe-ui-table-row-hover-checkbox-checked-background-color);
655
+ }
656
+ &.row--current {
657
+ background-color: var(--vxe-ui-table-row-hover-current-background-color);
658
+ }
659
+ }
660
+ }
661
+
662
+ /*行拖拽*/
663
+ .vxe-gantt-view--body-row {
664
+ &.row--drag-move {
665
+ transition: transform 0.5s ease;
666
+ }
667
+ &.row--drag-origin {
668
+ & > .vxe-gantt-view--body-column {
669
+ opacity: 0.3;
670
+ }
671
+ }
672
+ }
673
+ .vxe-gantt-view--body-column {
674
+ .vxe-gantt-view-cell--row-resizable {
675
+ position: absolute;
676
+ left: 0;
677
+ bottom: -0.4em;
678
+ height: 0.8em;
679
+ width: 100%;
680
+ text-align: center;
681
+ z-index: 1;
682
+ cursor: row-resize;
683
+ }
684
+ }
685
+ .vxe-gantt-view--body-row {
686
+ &:last-child {
687
+ .vxe-gantt-view--body-column {
688
+ .vxe-gantt-view-cell--row-resizable {
689
+ height: 0.4em;
690
+ bottom: -0px;
691
+ }
692
+ }
693
+ }
694
+ }
695
+
696
+ .vxe-gantt {
697
+ font-size: var(--vxe-ui-font-size-default);
698
+ &.size--medium {
699
+ font-size: var(--vxe-ui-font-size-medium);
700
+ }
701
+ &.size--small {
702
+ font-size: var(--vxe-ui-font-size-small);
703
+ }
704
+ &.size--mini {
705
+ font-size: var(--vxe-ui-font-size-mini);
706
+ }
707
+ }