vxe-gantt 4.0.0-beta.6 → 4.0.0
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.
- package/es/gantt/src/gantt-body.js +23 -6
- package/es/gantt/src/gantt-chart.js +6 -1
- package/es/gantt/src/gantt-footer.js +35 -0
- package/es/gantt/src/gantt-header.js +2 -16
- package/es/gantt/src/gantt-view.js +35 -48
- package/es/gantt/src/gantt.js +30 -8
- package/es/gantt/src/util.js +0 -6
- package/es/gantt/style.css +25 -3
- package/es/gantt/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +25 -3
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-body.js +30 -5
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +8 -1
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-footer.js +45 -0
- package/lib/gantt/src/gantt-footer.min.js +1 -0
- package/lib/gantt/src/gantt-header.js +2 -19
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +39 -48
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +35 -6
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +0 -7
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/gantt/style/style.css +25 -3
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +273 -136
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +25 -3
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-body.ts +23 -6
- package/packages/gantt/src/gantt-chart.ts +7 -1
- package/packages/gantt/src/gantt-footer.ts +44 -0
- package/packages/gantt/src/gantt-header.ts +2 -20
- package/packages/gantt/src/gantt-view.ts +40 -55
- package/packages/gantt/src/gantt.ts +32 -8
- package/packages/gantt/src/util.ts +0 -7
- package/styles/components/gantt-module/gantt-chart.scss +1 -3
- package/styles/components/gantt.scss +26 -0
|
@@ -14,6 +14,8 @@ export default defineVxeComponent({
|
|
|
14
14
|
const refBodyXSpace = ref();
|
|
15
15
|
const refBodyYSpace = ref();
|
|
16
16
|
const renderColumn = ($xeTable, row, rowid, $rowIndex, column, $columnIndex) => {
|
|
17
|
+
const tableReactData = $xeTable.reactData;
|
|
18
|
+
const { resizeHeightFlag } = tableReactData;
|
|
17
19
|
const tableInternalData = $xeTable.internalData;
|
|
18
20
|
const { fullAllDataRowIdData } = tableInternalData;
|
|
19
21
|
const { computeCellOpts, computeRowOpts, computeDefaultRowHeight } = $xeTable.getComputeMaps();
|
|
@@ -21,10 +23,14 @@ export default defineVxeComponent({
|
|
|
21
23
|
const rowOpts = computeRowOpts.value;
|
|
22
24
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
23
25
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
26
|
+
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
27
|
+
const isRsHeight = resizeHeight > 0;
|
|
24
28
|
const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
25
29
|
return h('td', {
|
|
26
30
|
key: $columnIndex,
|
|
27
|
-
class: 'vxe-gantt-view--body-column',
|
|
31
|
+
class: ['vxe-gantt-view--body-column', {
|
|
32
|
+
'col--rs-height': isRsHeight
|
|
33
|
+
}],
|
|
28
34
|
style: {
|
|
29
35
|
height: `${cellHeight}px`
|
|
30
36
|
},
|
|
@@ -38,12 +44,14 @@ export default defineVxeComponent({
|
|
|
38
44
|
};
|
|
39
45
|
const renderRows = ($xeTable, tableData) => {
|
|
40
46
|
const tableProps = $xeTable.props;
|
|
41
|
-
const { treeConfig, stripe, highlightHoverRow } = tableProps;
|
|
47
|
+
const { treeConfig, stripe, highlightHoverRow, editConfig } = tableProps;
|
|
42
48
|
const tableReactData = $xeTable.reactData;
|
|
43
|
-
const { treeExpandedFlag } = tableReactData;
|
|
49
|
+
const { treeExpandedFlag, selectRadioRow, pendingRowFlag } = tableReactData;
|
|
44
50
|
const tableInternalData = $xeTable.internalData;
|
|
45
|
-
const { fullAllDataRowIdData, treeExpandedMaps } = tableInternalData;
|
|
46
|
-
const { computeTreeOpts, computeRowOpts } = $xeTable.getComputeMaps();
|
|
51
|
+
const { fullAllDataRowIdData, treeExpandedMaps, pendingRowMaps } = tableInternalData;
|
|
52
|
+
const { computeRadioOpts, computeCheckboxOpts, computeTreeOpts, computeRowOpts } = $xeTable.getComputeMaps();
|
|
53
|
+
const radioOpts = computeRadioOpts.value;
|
|
54
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
47
55
|
const rowOpts = computeRowOpts.value;
|
|
48
56
|
const treeOpts = computeTreeOpts.value;
|
|
49
57
|
const { transform } = treeOpts;
|
|
@@ -60,6 +68,11 @@ export default defineVxeComponent({
|
|
|
60
68
|
rowIndex = rowRest.index;
|
|
61
69
|
_rowIndex = rowRest._index;
|
|
62
70
|
}
|
|
71
|
+
// 是否新增行
|
|
72
|
+
let isNewRow = false;
|
|
73
|
+
if (editConfig) {
|
|
74
|
+
isNewRow = $xeTable.isInsertByRow(row);
|
|
75
|
+
}
|
|
63
76
|
// 当前行事件
|
|
64
77
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
65
78
|
trOns.onMouseenter = (evnt) => {
|
|
@@ -70,7 +83,11 @@ export default defineVxeComponent({
|
|
|
70
83
|
};
|
|
71
84
|
}
|
|
72
85
|
trVNs.push(h('tr', Object.assign({ key: treeConfig ? rowid : $rowIndex, class: ['vxe-gantt-view--body-row', {
|
|
73
|
-
'row--stripe': stripe && (_rowIndex + 1) % 2 === 0
|
|
86
|
+
'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
|
|
87
|
+
'is--new': isNewRow,
|
|
88
|
+
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
89
|
+
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
90
|
+
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
|
|
74
91
|
}], rowid }, trOns), tableColumn.map((column, $columnIndex) => renderColumn($xeTable, row, rowid, $rowIndex, column, $columnIndex))));
|
|
75
92
|
let isExpandTree = false;
|
|
76
93
|
let rowChildren = [];
|
|
@@ -16,6 +16,8 @@ export default defineVxeComponent({
|
|
|
16
16
|
const renderTaskBar = ($xeTable, row, rowid, $rowIndex) => {
|
|
17
17
|
const tableProps = $xeTable.props;
|
|
18
18
|
const { treeConfig } = tableProps;
|
|
19
|
+
const tableReactData = $xeTable.reactData;
|
|
20
|
+
const { resizeHeightFlag } = tableReactData;
|
|
19
21
|
const tableInternalData = $xeTable.internalData;
|
|
20
22
|
const { fullAllDataRowIdData } = tableInternalData;
|
|
21
23
|
const { computeCellOpts, computeRowOpts, computeDefaultRowHeight } = $xeTable.getComputeMaps();
|
|
@@ -28,6 +30,8 @@ export default defineVxeComponent({
|
|
|
28
30
|
const { showProgress, showContent, contentMethod, barStyle } = taskBarOpts;
|
|
29
31
|
const { round } = barStyle || {};
|
|
30
32
|
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
33
|
+
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
34
|
+
const isRsHeight = resizeHeight > 0;
|
|
31
35
|
const cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
32
36
|
let title = getStringValue(XEUtils.get(row, titleField));
|
|
33
37
|
const progressValue = showProgress ? Math.min(100, Math.max(0, XEUtils.toNumber(XEUtils.get(row, progressField)))) : 0;
|
|
@@ -38,7 +42,8 @@ export default defineVxeComponent({
|
|
|
38
42
|
key: treeConfig ? rowid : $rowIndex,
|
|
39
43
|
rowid,
|
|
40
44
|
class: ['vxe-gantt-view--chart-row', {
|
|
41
|
-
'is--round': round
|
|
45
|
+
'is--round': round,
|
|
46
|
+
'col--rs-height': isRsHeight
|
|
42
47
|
}],
|
|
43
48
|
style: {
|
|
44
49
|
height: `${cellHeight}px`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { h, inject, ref, onMounted, onUnmounted } from 'vue';
|
|
2
|
+
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
|
+
export default defineVxeComponent({
|
|
4
|
+
name: 'VxeGanttViewFooter',
|
|
5
|
+
setup() {
|
|
6
|
+
const $xeGanttView = inject('$xeGanttView', {});
|
|
7
|
+
const { internalData } = $xeGanttView;
|
|
8
|
+
const refElem = ref();
|
|
9
|
+
const refHeaderScroll = ref();
|
|
10
|
+
const renderVN = () => {
|
|
11
|
+
return h('div', {
|
|
12
|
+
ref: refElem,
|
|
13
|
+
class: 'vxe-gantt-view--footer-wrapper'
|
|
14
|
+
}, [
|
|
15
|
+
h('div', {
|
|
16
|
+
ref: refHeaderScroll,
|
|
17
|
+
class: 'vxe-gantt-view--footer-inner-wrapper'
|
|
18
|
+
})
|
|
19
|
+
]);
|
|
20
|
+
};
|
|
21
|
+
onMounted(() => {
|
|
22
|
+
const { elemStore } = internalData;
|
|
23
|
+
const prefix = 'main-footer-';
|
|
24
|
+
elemStore[`${prefix}wrapper`] = refElem;
|
|
25
|
+
elemStore[`${prefix}scroll`] = refHeaderScroll;
|
|
26
|
+
});
|
|
27
|
+
onUnmounted(() => {
|
|
28
|
+
const { elemStore } = internalData;
|
|
29
|
+
const prefix = 'main-footer-';
|
|
30
|
+
elemStore[`${prefix}wrapper`] = null;
|
|
31
|
+
elemStore[`${prefix}scroll`] = null;
|
|
32
|
+
});
|
|
33
|
+
return renderVN;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { h, inject, ref, onMounted, onUnmounted } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
|
-
import { getCellHeight } from './util';
|
|
4
3
|
export default defineVxeComponent({
|
|
5
|
-
name: '
|
|
4
|
+
name: 'VxeGanttViewHeader',
|
|
6
5
|
setup() {
|
|
7
6
|
const $xeGanttView = inject('$xeGanttView', {});
|
|
8
7
|
const { reactData, internalData } = $xeGanttView;
|
|
@@ -11,17 +10,7 @@ export default defineVxeComponent({
|
|
|
11
10
|
const refHeaderTable = ref();
|
|
12
11
|
const refHeaderXSpace = ref();
|
|
13
12
|
const renderVN = () => {
|
|
14
|
-
const $xeTable = $xeGanttView.internalData.xeTable;
|
|
15
13
|
const { tableColumn, headerGroups, viewCellWidth } = reactData;
|
|
16
|
-
let defaultRowHeight = 0;
|
|
17
|
-
let headerCellOpts = {};
|
|
18
|
-
let currCellHeight = 0;
|
|
19
|
-
if ($xeTable) {
|
|
20
|
-
const { computeDefaultRowHeight, computeHeaderCellOpts } = $xeTable.getComputeMaps();
|
|
21
|
-
defaultRowHeight = computeDefaultRowHeight.value;
|
|
22
|
-
headerCellOpts = computeHeaderCellOpts.value;
|
|
23
|
-
currCellHeight = getCellHeight(headerCellOpts.height) || defaultRowHeight;
|
|
24
|
-
}
|
|
25
14
|
return h('div', {
|
|
26
15
|
ref: refElem,
|
|
27
16
|
class: 'vxe-gantt-view--header-wrapper'
|
|
@@ -37,10 +26,7 @@ export default defineVxeComponent({
|
|
|
37
26
|
}),
|
|
38
27
|
h('table', {
|
|
39
28
|
ref: refHeaderTable,
|
|
40
|
-
class: 'vxe-gantt-view--header-table'
|
|
41
|
-
style: {
|
|
42
|
-
height: `${currCellHeight}px`
|
|
43
|
-
}
|
|
29
|
+
class: 'vxe-gantt-view--header-table'
|
|
44
30
|
}, [
|
|
45
31
|
h('colgroup', {}, tableColumn.map((column, cIndex) => {
|
|
46
32
|
return h('col', {
|
|
@@ -6,6 +6,7 @@ import { getRefElem } from './util';
|
|
|
6
6
|
import XEUtils from 'xe-utils';
|
|
7
7
|
import GanttViewHeaderComponent from './gantt-header';
|
|
8
8
|
import GanttViewBodyComponent from './gantt-body';
|
|
9
|
+
import GanttViewFooterComponent from './gantt-footer';
|
|
9
10
|
const { globalEvents } = VxeUI;
|
|
10
11
|
function createInternalData() {
|
|
11
12
|
return {
|
|
@@ -294,11 +295,13 @@ export default defineVxeComponent({
|
|
|
294
295
|
if (!el || !el.clientHeight) {
|
|
295
296
|
return;
|
|
296
297
|
}
|
|
298
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
297
299
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
300
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
298
301
|
const xLeftCornerEl = refScrollXLeftCornerElem.value;
|
|
299
302
|
const xRightCornerEl = refScrollXRightCornerElem.value;
|
|
300
303
|
const scrollXVirtualEl = refScrollXVirtualElem.value;
|
|
301
|
-
|
|
304
|
+
let osbWidth = scrollbarWidth;
|
|
302
305
|
const osbHeight = scrollbarHeight;
|
|
303
306
|
let tbHeight = 0;
|
|
304
307
|
let tHeaderHeight = 0;
|
|
@@ -309,6 +312,11 @@ export default defineVxeComponent({
|
|
|
309
312
|
tHeaderHeight = tableInternalData.tHeaderHeight;
|
|
310
313
|
tFooterHeight = tableInternalData.tFooterHeight;
|
|
311
314
|
}
|
|
315
|
+
let yScrollbarVisible = 'visible';
|
|
316
|
+
if (scrollbarYToLeft || (scrollbarOpts.y && scrollbarOpts.y.visible === false)) {
|
|
317
|
+
osbWidth = 0;
|
|
318
|
+
yScrollbarVisible = 'hidden';
|
|
319
|
+
}
|
|
312
320
|
const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
|
|
313
321
|
if (headerScrollElem) {
|
|
314
322
|
headerScrollElem.style.height = `${tHeaderHeight}px`;
|
|
@@ -317,6 +325,10 @@ export default defineVxeComponent({
|
|
|
317
325
|
if (bodyScrollElem) {
|
|
318
326
|
bodyScrollElem.style.height = `${tbHeight}px`;
|
|
319
327
|
}
|
|
328
|
+
const footerScrollElem = getRefElem(elemStore['main-footer-scroll']);
|
|
329
|
+
if (footerScrollElem) {
|
|
330
|
+
footerScrollElem.style.height = `${tFooterHeight}px`;
|
|
331
|
+
}
|
|
320
332
|
if (scrollXVirtualEl) {
|
|
321
333
|
scrollXVirtualEl.style.height = `${osbHeight}px`;
|
|
322
334
|
scrollXVirtualEl.style.visibility = 'visible';
|
|
@@ -338,7 +350,7 @@ export default defineVxeComponent({
|
|
|
338
350
|
if (scrollYVirtualEl) {
|
|
339
351
|
scrollYVirtualEl.style.width = `${osbWidth}px`;
|
|
340
352
|
scrollYVirtualEl.style.height = `${tbHeight + tHeaderHeight + tFooterHeight}px`;
|
|
341
|
-
scrollYVirtualEl.style.visibility =
|
|
353
|
+
scrollYVirtualEl.style.visibility = yScrollbarVisible;
|
|
342
354
|
}
|
|
343
355
|
const yTopCornerEl = refScrollYTopCornerElem.value;
|
|
344
356
|
if (yTopCornerEl) {
|
|
@@ -387,49 +399,6 @@ export default defineVxeComponent({
|
|
|
387
399
|
return nextTick();
|
|
388
400
|
};
|
|
389
401
|
// const updateScrollXSpace = () => {
|
|
390
|
-
// const { scrollXLoad, scrollXWidth } = reactData
|
|
391
|
-
// const { elemStore } = internalData
|
|
392
|
-
// const bodyScrollElem = getRefElem(elemStore['main-body-scroll'])
|
|
393
|
-
// const bodyTableElem = getRefElem(elemStore['main-body-table'])
|
|
394
|
-
// let xSpaceLeft = 0
|
|
395
|
-
// let clientWidth = 0
|
|
396
|
-
// if (bodyScrollElem) {
|
|
397
|
-
// clientWidth = bodyScrollElem.clientWidth
|
|
398
|
-
// }
|
|
399
|
-
// // 虚拟渲染
|
|
400
|
-
// let isScrollXBig = false
|
|
401
|
-
// let ySpaceWidth = scrollXWidth
|
|
402
|
-
// if (scrollXWidth > maxXWidth) {
|
|
403
|
-
// // 触右
|
|
404
|
-
// if (bodyScrollElem && bodyTableElem && bodyScrollElem.scrollLeft + clientWidth >= maxXWidth) {
|
|
405
|
-
// xSpaceLeft = maxXWidth - bodyTableElem.clientWidth
|
|
406
|
-
// } else {
|
|
407
|
-
// xSpaceLeft = (maxXWidth - clientWidth) * (xSpaceLeft / (scrollXWidth - clientWidth))
|
|
408
|
-
// }
|
|
409
|
-
// ySpaceWidth = maxXWidth
|
|
410
|
-
// isScrollXBig = true
|
|
411
|
-
// }
|
|
412
|
-
// if (bodyTableElem) {
|
|
413
|
-
// bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`
|
|
414
|
-
// }
|
|
415
|
-
// const layoutList = ['header', 'body', 'footer']
|
|
416
|
-
// layoutList.forEach(layout => {
|
|
417
|
-
// const xSpaceElem = getRefElem(elemStore[`main-${layout}-xSpace`])
|
|
418
|
-
// if (xSpaceElem) {
|
|
419
|
-
// xSpaceElem.style.width = scrollXLoad ? `${ySpaceWidth}px` : ''
|
|
420
|
-
// }
|
|
421
|
-
// })
|
|
422
|
-
// reactData.scrollXLeft = xSpaceLeft
|
|
423
|
-
// reactData.scrollXWidth = ySpaceWidth
|
|
424
|
-
// reactData.isScrollXBig = isScrollXBig
|
|
425
|
-
// const scrollXSpaceEl = refScrollXSpaceElem.value
|
|
426
|
-
// if (scrollXSpaceEl) {
|
|
427
|
-
// scrollXSpaceEl.style.width = `${ySpaceWidth}px`
|
|
428
|
-
// }
|
|
429
|
-
// calcScrollbar()
|
|
430
|
-
// return nextTick().then(() => {
|
|
431
|
-
// updateStyle()
|
|
432
|
-
// })
|
|
433
402
|
// }
|
|
434
403
|
const updateScrollYSpace = () => {
|
|
435
404
|
const { elemStore } = internalData;
|
|
@@ -672,8 +641,25 @@ export default defineVxeComponent({
|
|
|
672
641
|
handleScrollEvent(evnt, isRollY, isRollX, currTopNum, wrapperEl.scrollLeft);
|
|
673
642
|
}
|
|
674
643
|
},
|
|
675
|
-
|
|
676
|
-
|
|
644
|
+
handleUpdateSXSpace() {
|
|
645
|
+
const { scrollXLoad, scrollXWidth } = reactData;
|
|
646
|
+
const { elemStore } = internalData;
|
|
647
|
+
const layoutList = ['header', 'body', 'footer'];
|
|
648
|
+
layoutList.forEach(layout => {
|
|
649
|
+
const xSpaceElem = getRefElem(elemStore[`main-${layout}-xSpace`]);
|
|
650
|
+
if (xSpaceElem) {
|
|
651
|
+
xSpaceElem.style.width = scrollXLoad ? `${scrollXWidth}px` : '';
|
|
652
|
+
}
|
|
653
|
+
});
|
|
654
|
+
const scrollXSpaceEl = refScrollXSpaceElem.value;
|
|
655
|
+
if (scrollXSpaceEl) {
|
|
656
|
+
scrollXSpaceEl.style.width = `${scrollXWidth}px`;
|
|
657
|
+
}
|
|
658
|
+
calcScrollbar();
|
|
659
|
+
return nextTick();
|
|
660
|
+
},
|
|
661
|
+
handleUpdateSYSpace: updateScrollYSpace,
|
|
662
|
+
handleUpdateSYStatus(sYLoad) {
|
|
677
663
|
reactData.scrollYLoad = sYLoad;
|
|
678
664
|
}
|
|
679
665
|
};
|
|
@@ -747,7 +733,8 @@ export default defineVxeComponent({
|
|
|
747
733
|
class: 'vxe-gantt-view--viewport-wrapper'
|
|
748
734
|
}, [
|
|
749
735
|
h(GanttViewHeaderComponent),
|
|
750
|
-
h(GanttViewBodyComponent)
|
|
736
|
+
h(GanttViewBodyComponent),
|
|
737
|
+
h(GanttViewFooterComponent)
|
|
751
738
|
]);
|
|
752
739
|
};
|
|
753
740
|
const renderBody = () => {
|
package/es/gantt/src/gantt.js
CHANGED
|
@@ -204,10 +204,10 @@ export default defineVxeComponent({
|
|
|
204
204
|
const pagerOpts = computePagerOpts.value;
|
|
205
205
|
const isLoading = computeIsLoading.value;
|
|
206
206
|
const tProps = Object.assign({}, tableExtendProps, {
|
|
207
|
+
// 不支持修改的属性
|
|
207
208
|
showOverflow: true,
|
|
208
209
|
showHeaderOverflow: true,
|
|
209
|
-
showFooterOverflow: true
|
|
210
|
-
showFooter: false
|
|
210
|
+
showFooterOverflow: true
|
|
211
211
|
});
|
|
212
212
|
if (isZMax) {
|
|
213
213
|
if (tableExtendProps.maxHeight) {
|
|
@@ -1312,7 +1312,11 @@ export default defineVxeComponent({
|
|
|
1312
1312
|
if ($xeTable) {
|
|
1313
1313
|
const tableProps = $xeTable.props;
|
|
1314
1314
|
const { highlightCurrentRow } = tableProps;
|
|
1315
|
-
const
|
|
1315
|
+
const tableReactData = $xeTable.reactData;
|
|
1316
|
+
const { radioColumn, checkboxColumn } = tableReactData;
|
|
1317
|
+
const { computeRadioOpts, computeCheckboxOpts, computeRowOpts } = $xeTable.getComputeMaps();
|
|
1318
|
+
const radioOpts = computeRadioOpts.value;
|
|
1319
|
+
const checkboxOpts = computeCheckboxOpts.value;
|
|
1316
1320
|
const rowOpts = computeRowOpts.value;
|
|
1317
1321
|
const { row } = params;
|
|
1318
1322
|
// 如果是当前行
|
|
@@ -1323,6 +1327,14 @@ export default defineVxeComponent({
|
|
|
1323
1327
|
$rowIndex: $xeTable.getVMRowIndex(row)
|
|
1324
1328
|
}, params));
|
|
1325
1329
|
}
|
|
1330
|
+
// 如果是单选框
|
|
1331
|
+
if ((radioColumn && radioOpts.trigger === 'row')) {
|
|
1332
|
+
$xeTable.triggerRadioRowEvent(evnt, params);
|
|
1333
|
+
}
|
|
1334
|
+
// 如果是复选框
|
|
1335
|
+
if ((checkboxColumn && checkboxOpts.trigger === 'row')) {
|
|
1336
|
+
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
1337
|
+
}
|
|
1326
1338
|
}
|
|
1327
1339
|
$xeGantt.dispatchEvent('task-cell-click', params, evnt);
|
|
1328
1340
|
},
|
|
@@ -1341,6 +1353,7 @@ export default defineVxeComponent({
|
|
|
1341
1353
|
loadColumn(columns) {
|
|
1342
1354
|
const $xeTable = refTable.value;
|
|
1343
1355
|
XEUtils.eachTree(columns, (column) => {
|
|
1356
|
+
const { type } = column;
|
|
1344
1357
|
if (column.slots) {
|
|
1345
1358
|
XEUtils.each(column.slots, (func) => {
|
|
1346
1359
|
if (!XEUtils.isFunction(func)) {
|
|
@@ -1350,6 +1363,9 @@ export default defineVxeComponent({
|
|
|
1350
1363
|
}
|
|
1351
1364
|
});
|
|
1352
1365
|
}
|
|
1366
|
+
if (type === 'expand') {
|
|
1367
|
+
errLog('vxe.error.errProp', ['type=expand', 'type=seq,radio,checkbox,html']);
|
|
1368
|
+
}
|
|
1353
1369
|
});
|
|
1354
1370
|
if ($xeTable) {
|
|
1355
1371
|
return $xeTable.loadColumn(columns);
|
|
@@ -1669,7 +1685,10 @@ export default defineVxeComponent({
|
|
|
1669
1685
|
class: 'vxe-gantt--resizable-split-number-right'
|
|
1670
1686
|
}, '20px')
|
|
1671
1687
|
])
|
|
1672
|
-
])
|
|
1688
|
+
]),
|
|
1689
|
+
h('div', {
|
|
1690
|
+
class: 'vxe-gantt--border-line'
|
|
1691
|
+
})
|
|
1673
1692
|
]));
|
|
1674
1693
|
break;
|
|
1675
1694
|
case 'Bottom':
|
|
@@ -1713,10 +1732,7 @@ export default defineVxeComponent({
|
|
|
1713
1732
|
]),
|
|
1714
1733
|
h('div', {
|
|
1715
1734
|
class: 'vxe-gantt--layout-footer-wrapper'
|
|
1716
|
-
}, renderChildLayout(footKeys))
|
|
1717
|
-
h('div', {
|
|
1718
|
-
class: 'vxe-gantt--border-line'
|
|
1719
|
-
})
|
|
1735
|
+
}, renderChildLayout(footKeys))
|
|
1720
1736
|
];
|
|
1721
1737
|
};
|
|
1722
1738
|
const renderVN = () => {
|
|
@@ -1797,6 +1813,12 @@ export default defineVxeComponent({
|
|
|
1797
1813
|
if (proxyOpts.props) {
|
|
1798
1814
|
warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response']);
|
|
1799
1815
|
}
|
|
1816
|
+
if (props.expandConfig) {
|
|
1817
|
+
warnLog('vxe.error.notProp', ['expand-config']);
|
|
1818
|
+
}
|
|
1819
|
+
if (props.aggregateConfig) {
|
|
1820
|
+
warnLog('vxe.error.notProp', ['aggregate-config']);
|
|
1821
|
+
}
|
|
1800
1822
|
if (columns && columns.length) {
|
|
1801
1823
|
$xeGantt.loadColumn(columns);
|
|
1802
1824
|
}
|
package/es/gantt/src/util.js
CHANGED
|
@@ -7,12 +7,6 @@ export function getRefElem(refEl) {
|
|
|
7
7
|
}
|
|
8
8
|
return null;
|
|
9
9
|
}
|
|
10
|
-
export function getCellHeight(height) {
|
|
11
|
-
if (height === 'unset') {
|
|
12
|
-
return 0;
|
|
13
|
-
}
|
|
14
|
-
return height || 0;
|
|
15
|
-
}
|
|
16
10
|
export function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
17
11
|
return rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight;
|
|
18
12
|
}
|
package/es/gantt/style.css
CHANGED
|
@@ -15,9 +15,6 @@
|
|
|
15
15
|
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar:hover::after {
|
|
16
16
|
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
17
17
|
}
|
|
18
|
-
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar > .vxe-gantt-view--chart-progress {
|
|
19
|
-
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius) 0 0 var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
20
|
-
}
|
|
21
18
|
|
|
22
19
|
.vxe-gantt-view--chart-bar {
|
|
23
20
|
display: flex;
|
|
@@ -30,6 +27,7 @@
|
|
|
30
27
|
transform: translateY(-50%);
|
|
31
28
|
height: var(--vxe-ui-gantt-view-chart-bar-height);
|
|
32
29
|
background-color: var(--vxe-ui-gantt-view-task-bar-background-color);
|
|
30
|
+
overflow: hidden;
|
|
33
31
|
pointer-events: all;
|
|
34
32
|
}
|
|
35
33
|
.vxe-gantt-view--chart-bar:hover::after {
|
|
@@ -277,6 +275,9 @@
|
|
|
277
275
|
background-size: 100% var(--vxe-ui-table-border-width);
|
|
278
276
|
background-position: right bottom;
|
|
279
277
|
}
|
|
278
|
+
.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper, .vxe-gantt.border--full .vxe-gantt-view--footer-wrapper, .vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper {
|
|
279
|
+
border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
|
|
280
|
+
}
|
|
280
281
|
.vxe-gantt.border--inner .vxe-gantt--border-line {
|
|
281
282
|
border-width: 0 0 1px 0;
|
|
282
283
|
}
|
|
@@ -555,6 +556,10 @@
|
|
|
555
556
|
float: left;
|
|
556
557
|
}
|
|
557
558
|
|
|
559
|
+
.vxe-gantt-view--header-table {
|
|
560
|
+
height: 100%;
|
|
561
|
+
}
|
|
562
|
+
|
|
558
563
|
.vxe-gantt-view--header-table,
|
|
559
564
|
.vxe-gantt-view--body-table {
|
|
560
565
|
border: 0;
|
|
@@ -571,6 +576,11 @@
|
|
|
571
576
|
background-color: var(--vxe-ui-table-header-background-color);
|
|
572
577
|
}
|
|
573
578
|
|
|
579
|
+
.vxe-gantt-view--footer-wrapper {
|
|
580
|
+
margin-top: calc(var(--vxe-ui-table-border-width) * -1);
|
|
581
|
+
background-color: var(--vxe-ui-table-footer-background-color);
|
|
582
|
+
}
|
|
583
|
+
|
|
574
584
|
.vxe-gantt-view--header-wrapper,
|
|
575
585
|
.vxe-gantt-view--body-wrapper {
|
|
576
586
|
overflow: hidden;
|
|
@@ -613,6 +623,12 @@
|
|
|
613
623
|
.vxe-gantt-view--body-row.row--stripe {
|
|
614
624
|
background-color: var(--vxe-ui-table-row-striped-background-color);
|
|
615
625
|
}
|
|
626
|
+
.vxe-gantt-view--body-row.row--radio {
|
|
627
|
+
background-color: var(--vxe-ui-table-row-radio-checked-background-color);
|
|
628
|
+
}
|
|
629
|
+
.vxe-gantt-view--body-row.row--checked {
|
|
630
|
+
background-color: var(--vxe-ui-table-row-checkbox-checked-background-color);
|
|
631
|
+
}
|
|
616
632
|
.vxe-gantt-view--body-row.row--current {
|
|
617
633
|
background-color: var(--vxe-ui-table-row-current-background-color);
|
|
618
634
|
}
|
|
@@ -622,6 +638,12 @@
|
|
|
622
638
|
.vxe-gantt-view--body-row.row--hover.row--stripe {
|
|
623
639
|
background-color: var(--vxe-ui-table-row-hover-striped-background-color);
|
|
624
640
|
}
|
|
641
|
+
.vxe-gantt-view--body-row.row--hover.row--radio {
|
|
642
|
+
background-color: var(--vxe-ui-table-row-hover-radio-checked-background-color);
|
|
643
|
+
}
|
|
644
|
+
.vxe-gantt-view--body-row.row--hover.row--checked {
|
|
645
|
+
background-color: var(--vxe-ui-table-row-hover-checkbox-checked-background-color);
|
|
646
|
+
}
|
|
625
647
|
.vxe-gantt-view--body-row.row--hover.row--current {
|
|
626
648
|
background-color: var(--vxe-ui-table-row-hover-current-background-color);
|
|
627
649
|
}
|
package/es/gantt/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.vxe-gantt-view--chart-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar>.vxe-gantt-view--chart-progress{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius) 0 0 var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-bar{display:flex;flex-direction:row;align-items:center;position:absolute;top:50%;left:0;color:#fff;transform:translateY(-50%);height:var(--vxe-ui-gantt-view-chart-bar-height);background-color:var(--vxe-ui-gantt-view-task-bar-background-color);pointer-events:all}.vxe-gantt-view--chart-bar:hover::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt{position:relative;overflow:auto;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper::after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{display:none;position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar{flex-shrink:0;width:var(--vxe-ui-gantt-view-split-bar-width);background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt.show--left .vxe-gantt--table-wrapper{display:block}.vxe-gantt.show--left.show--right .vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt.show--right .vxe-gantt--view-wrapper{display:block}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{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));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:right top,right bottom}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-wrapper::after{content:"";position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-wrapper::after{content:"";position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:right bottom}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:13}.vxe-gantt--view-split-bar-btn-wrapper{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15;pointer-events:none}.vxe-gantt--view-split-bar-btn-wrapper>div{margin-top:1em}.vxe-gantt--view-split-bar-btn-wrapper>div:first-child{margin-top:0}.vxe-gantt--view-split-bar-left-btn,.vxe-gantt--view-split-bar-right-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:.5em;height:var(--vxe-ui-gantt-view-split-bar-height);width:var(--vxe-ui-gantt-view-split-bar-width);color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-left-btn:hover,.vxe-gantt--view-split-bar-right-btn:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:18;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner::before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner::before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner::before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:auto;overflow-x:auto}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--header-column{text-align:center;font-size:1em}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view.mode--day .vxe-gantt-view--header-column{height:50%}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
1
|
+
@charset "UTF-8";.vxe-gantt-view--chart-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-bar{display:flex;flex-direction:row;align-items:center;position:absolute;top:50%;left:0;color:#fff;transform:translateY(-50%);height:var(--vxe-ui-gantt-view-chart-bar-height);background-color:var(--vxe-ui-gantt-view-task-bar-background-color);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar:hover::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.1);pointer-events:none}.vxe-gantt-view--chart-progress{flex-shrink:0;width:0;height:100%;text-align:left;background-color:var(--vxe-ui-gantt-view-task-bar-completed-background-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--chart-content{position:absolute;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em;padding:0 .6em}.vxe-gantt{position:relative;overflow:auto;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper::after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{display:none;position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar{flex-shrink:0;width:var(--vxe-ui-gantt-view-split-bar-width);background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt.show--left .vxe-gantt--table-wrapper{display:block}.vxe-gantt.show--left.show--right .vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:var(--vxe-ui-gantt-view-table-default-width)}.vxe-gantt.show--right .vxe-gantt--view-wrapper{display:block}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{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));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:right top,right bottom}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner::before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-wrapper::after{content:"";position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-wrapper::after{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper::after{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner::before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner::before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner::before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-wrapper::after{content:"";position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-wrapper::after{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-wrapper::after{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--body-column,.vxe-gantt.border--default .vxe-gantt-view--footer-column,.vxe-gantt.border--default .vxe-gantt-view--header-column,.vxe-gantt.border--inner .vxe-gantt-view--body-column,.vxe-gantt.border--inner .vxe-gantt-view--footer-column,.vxe-gantt.border--inner .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:100% var(--vxe-ui-table-border-width);background-position:right bottom}.vxe-gantt.border--default .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--full .vxe-gantt-view--footer-wrapper,.vxe-gantt.border--inner .vxe-gantt-view--footer-wrapper{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--inner .vxe-gantt--border-line{border-width:0 0 1px 0}.vxe-gantt.border--none .vxe-gantt--border-line{display:none}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:13}.vxe-gantt--view-split-bar-btn-wrapper{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15;pointer-events:none}.vxe-gantt--view-split-bar-btn-wrapper>div{margin-top:1em}.vxe-gantt--view-split-bar-btn-wrapper>div:first-child{margin-top:0}.vxe-gantt--view-split-bar-left-btn,.vxe-gantt--view-split-bar-right-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:.5em;height:var(--vxe-ui-gantt-view-split-bar-height);width:var(--vxe-ui-gantt-view-split-bar-width);color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-left-btn:hover,.vxe-gantt--view-split-bar-right-btn:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:18;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner::before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner::before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner::before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--header-table{height:100%}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-default-cell-width)}.vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt-view--footer-wrapper{margin-top:calc(var(--vxe-ui-table-border-width) * -1);background-color:var(--vxe-ui-table-footer-background-color)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:auto;overflow-x:auto}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--header-column{text-align:center;font-size:1em}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view--body-row.row--stripe{background-color:var(--vxe-ui-table-row-striped-background-color)}.vxe-gantt-view--body-row.row--radio{background-color:var(--vxe-ui-table-row-radio-checked-background-color)}.vxe-gantt-view--body-row.row--checked{background-color:var(--vxe-ui-table-row-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--current{background-color:var(--vxe-ui-table-row-current-background-color)}.vxe-gantt-view--body-row.row--hover{background-color:var(--vxe-ui-table-row-hover-background-color)}.vxe-gantt-view--body-row.row--hover.row--stripe{background-color:var(--vxe-ui-table-row-hover-striped-background-color)}.vxe-gantt-view--body-row.row--hover.row--radio{background-color:var(--vxe-ui-table-row-hover-radio-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--checked{background-color:var(--vxe-ui-table-row-hover-checkbox-checked-background-color)}.vxe-gantt-view--body-row.row--hover.row--current{background-color:var(--vxe-ui-table-row-hover-current-background-color)}.vxe-gantt-view.mode--day .vxe-gantt-view--header-column{height:50%}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|