vxe-gantt 4.1.18 → 4.1.19
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/emits.js +4 -1
- package/es/gantt/src/gantt-chart.js +75 -53
- package/es/gantt/src/gantt-view.js +19 -9
- package/es/gantt/src/gantt.js +79 -39
- package/es/gantt/src/util.js +0 -3
- package/es/gantt/style.css +16 -2
- 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 +2 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +16 -2
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/emits.js +1 -1
- package/lib/gantt/src/emits.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +72 -44
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +19 -9
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +89 -38
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +0 -4
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/gantt/style/style.css +16 -2
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +180 -91
- 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 +2 -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 +16 -2
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/emits.ts +4 -1
- package/packages/gantt/src/gantt-chart.ts +78 -53
- package/packages/gantt/src/gantt-view.ts +19 -9
- package/packages/gantt/src/gantt.ts +84 -40
- package/packages/gantt/src/util.ts +0 -4
- package/packages/ui/index.ts +1 -0
- package/styles/components/gantt-module/gantt-chart.scss +14 -2
- package/styles/theme/base.scss +1 -0
package/es/gantt/src/emits.js
CHANGED
|
@@ -12,15 +12,14 @@ export default defineVxeComponent({
|
|
|
12
12
|
setup() {
|
|
13
13
|
const $xeGantt = inject('$xeGantt', {});
|
|
14
14
|
const $xeGanttView = inject('$xeGanttView', {});
|
|
15
|
-
const { props: ganttProps, internalData: ganttInternalData } = $xeGantt;
|
|
15
|
+
const { props: ganttProps, reactData: ganttReactData, internalData: ganttInternalData } = $xeGantt;
|
|
16
16
|
const { reactData: ganttViewReactData, internalData: ganttViewInternalData } = $xeGanttView;
|
|
17
17
|
const { computeProgressField, computeTitleField, computeTypeField, computeTaskBarOpts, computeScaleUnit, computeTaskLinkOpts, computeTaskBarMilestoneOpts } = $xeGantt.getComputeMaps();
|
|
18
18
|
const refElem = ref();
|
|
19
19
|
const refTaskWrapperElem = ref();
|
|
20
|
-
const
|
|
20
|
+
const refChartBeforeWrapperElem = ref();
|
|
21
|
+
const refChartAfterWrapperElem = ref();
|
|
21
22
|
const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
|
|
22
|
-
const tableProps = $xeTable.props;
|
|
23
|
-
const { treeConfig } = tableProps;
|
|
24
23
|
const tableReactData = $xeTable.reactData;
|
|
25
24
|
const { resizeHeightFlag } = tableReactData;
|
|
26
25
|
const tableInternalData = $xeTable.internalData;
|
|
@@ -32,6 +31,7 @@ export default defineVxeComponent({
|
|
|
32
31
|
const ganttSlots = $xeGantt.context.slots;
|
|
33
32
|
const taskBarSlot = ganttSlots.taskBar || ganttSlots['task-bar'];
|
|
34
33
|
const { taskBarMilestoneConfig } = ganttProps;
|
|
34
|
+
const { activeLink, activeBarRowid } = ganttReactData;
|
|
35
35
|
const titleField = computeTitleField.value;
|
|
36
36
|
const progressField = computeProgressField.value;
|
|
37
37
|
const typeField = computeTypeField.value;
|
|
@@ -75,21 +75,9 @@ export default defineVxeComponent({
|
|
|
75
75
|
rowIndex,
|
|
76
76
|
_rowIndex
|
|
77
77
|
};
|
|
78
|
-
const
|
|
79
|
-
onClick(evnt) {
|
|
80
|
-
$xeGantt.handleTaskBarClickEvent(evnt, barParams);
|
|
81
|
-
},
|
|
82
|
-
onDblclick(evnt) {
|
|
83
|
-
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
84
|
-
},
|
|
85
|
-
onMousedown(evnt) {
|
|
86
|
-
if ($xeGantt.handleTaskBarMousedownEvent) {
|
|
87
|
-
$xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
};
|
|
78
|
+
const ctOns = {};
|
|
91
79
|
if (showTooltip) {
|
|
92
|
-
|
|
80
|
+
ctOns.onMouseover = (evnt) => {
|
|
93
81
|
const { dragBarRow } = ganttInternalData;
|
|
94
82
|
const ttParams = Object.assign({ $event: evnt }, ctParams);
|
|
95
83
|
if (!dragBarRow) {
|
|
@@ -97,7 +85,7 @@ export default defineVxeComponent({
|
|
|
97
85
|
}
|
|
98
86
|
$xeGantt.dispatchEvent('task-bar-mouseenter', ttParams, evnt);
|
|
99
87
|
};
|
|
100
|
-
|
|
88
|
+
ctOns.onMouseleave = (evnt) => {
|
|
101
89
|
const { dragBarRow } = ganttInternalData;
|
|
102
90
|
const ttParams = Object.assign({ $event: evnt }, ctParams);
|
|
103
91
|
if (!dragBarRow) {
|
|
@@ -112,23 +100,19 @@ export default defineVxeComponent({
|
|
|
112
100
|
isMilestone,
|
|
113
101
|
title,
|
|
114
102
|
vbStyle,
|
|
115
|
-
vpStyle
|
|
103
|
+
vpStyle,
|
|
104
|
+
rowid,
|
|
105
|
+
ctOns
|
|
116
106
|
});
|
|
117
107
|
}
|
|
118
108
|
else if (taskBarSlot) {
|
|
119
|
-
cbVNs.push(h('div', {
|
|
120
|
-
key: 'cbc',
|
|
121
|
-
class: 'vxe-gantt-view--chart-custom-bar-content'
|
|
122
|
-
}, $xeGantt.callSlot(taskBarSlot, barParams)));
|
|
109
|
+
cbVNs.push(h('div', Object.assign({ key: 'cbc', class: 'vxe-gantt-view--chart-custom-bar-content-wrapper' }, ctOns), $xeGantt.callSlot(taskBarSlot, barParams)));
|
|
123
110
|
}
|
|
124
111
|
else {
|
|
125
112
|
if (isMilestone) {
|
|
126
113
|
const { icon, iconStatus, iconStyle } = taskBarMilestoneOpts;
|
|
127
114
|
const tbmParams = { $gantt: $xeGantt, row };
|
|
128
|
-
cbVNs.push(h('div', {
|
|
129
|
-
key: 'vcm',
|
|
130
|
-
class: 'vxe-gantt-view--chart-milestone-wrapper'
|
|
131
|
-
}, [
|
|
115
|
+
cbVNs.push(h('div', Object.assign({ key: 'vcm', class: 'vxe-gantt-view--chart-milestone-wrapper' }, ctOns), [
|
|
132
116
|
h('div', {
|
|
133
117
|
class: ['vxe-gantt-view--chart-milestone-icon', iconStatus ? `theme--${XEUtils.isFunction(iconStatus) ? iconStatus(tbmParams) : iconStatus}` : ''],
|
|
134
118
|
style: iconStyle ? Object.assign({}, XEUtils.isFunction(iconStyle) ? iconStyle(tbmParams) : iconStyle) : undefined
|
|
@@ -145,22 +129,25 @@ export default defineVxeComponent({
|
|
|
145
129
|
]));
|
|
146
130
|
}
|
|
147
131
|
else {
|
|
148
|
-
cbVNs.push(
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
132
|
+
cbVNs.push(h('div', Object.assign({ key: 'vbc', class: 'vxe-gantt-view--chart-bar-content-wrapper' }, ctOns), [
|
|
133
|
+
showProgress
|
|
134
|
+
? h('div', {
|
|
135
|
+
key: 'vcp',
|
|
136
|
+
class: 'vxe-gantt-view--chart-progress',
|
|
137
|
+
style: vpStyle
|
|
138
|
+
})
|
|
139
|
+
: renderEmptyElement($xeGantt),
|
|
140
|
+
showContent
|
|
141
|
+
? h('div', {
|
|
142
|
+
key: 'vcc',
|
|
143
|
+
class: 'vxe-gantt-view--chart-content'
|
|
144
|
+
}, title)
|
|
145
|
+
: renderEmptyElement($xeGantt)
|
|
146
|
+
]));
|
|
160
147
|
}
|
|
161
148
|
}
|
|
162
149
|
return h('div', {
|
|
163
|
-
key:
|
|
150
|
+
key: rowid,
|
|
164
151
|
rowid,
|
|
165
152
|
class: ['vxe-gantt-view--chart-row', `is--${gettaskType(typeValue)}`, {
|
|
166
153
|
'is--round': round,
|
|
@@ -173,7 +160,25 @@ export default defineVxeComponent({
|
|
|
173
160
|
$xeGantt.handleTaskBarContextmenuEvent(evnt, ctParams);
|
|
174
161
|
}
|
|
175
162
|
}, [
|
|
176
|
-
h('div',
|
|
163
|
+
h('div', {
|
|
164
|
+
class: [taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar', `is--${gettaskType(typeValue)}`, {
|
|
165
|
+
'is--active': activeBarRowid === rowid,
|
|
166
|
+
'active--link': activeLink && (rowid === `${activeLink.from}` || rowid === `${activeLink.to}`)
|
|
167
|
+
}],
|
|
168
|
+
style: vbStyle,
|
|
169
|
+
rowid,
|
|
170
|
+
onClick(evnt) {
|
|
171
|
+
$xeGantt.handleTaskBarClickEvent(evnt, barParams);
|
|
172
|
+
},
|
|
173
|
+
onDblclick(evnt) {
|
|
174
|
+
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
175
|
+
},
|
|
176
|
+
onMousedown(evnt) {
|
|
177
|
+
if ($xeGantt.handleTaskBarMousedownEvent) {
|
|
178
|
+
$xeGantt.handleTaskBarMousedownEvent(evnt, barParams);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}, cbVNs)
|
|
177
182
|
]);
|
|
178
183
|
};
|
|
179
184
|
const renderTaskRows = ($xeTable, tableData) => {
|
|
@@ -214,38 +219,55 @@ export default defineVxeComponent({
|
|
|
214
219
|
};
|
|
215
220
|
const renderVN = () => {
|
|
216
221
|
const $xeTable = ganttViewInternalData.xeTable;
|
|
222
|
+
const { dragLinkFromStore } = ganttReactData;
|
|
217
223
|
const { tableData } = ganttViewReactData;
|
|
218
224
|
const taskLinkOpts = computeTaskLinkOpts.value;
|
|
219
|
-
const
|
|
225
|
+
const taskBarOpts = computeTaskBarOpts.value;
|
|
226
|
+
const { isCurrent, isHover } = taskLinkOpts;
|
|
227
|
+
const { linkCreatable } = taskBarOpts;
|
|
220
228
|
return h('div', {
|
|
221
229
|
ref: refElem,
|
|
222
|
-
class: 'vxe-gantt-view--chart-wrapper'
|
|
230
|
+
class: ['vxe-gantt-view--chart-wrapper', {
|
|
231
|
+
'is--cl-drag': dragLinkFromStore.rowid
|
|
232
|
+
}]
|
|
223
233
|
}, [
|
|
224
|
-
$xeGantt.
|
|
234
|
+
$xeGantt.renderGanttTaskChartBefores
|
|
225
235
|
? h('div', {
|
|
226
|
-
ref:
|
|
227
|
-
class: ['vxe-gantt-view--chart-
|
|
228
|
-
'
|
|
236
|
+
ref: refChartBeforeWrapperElem,
|
|
237
|
+
class: ['vxe-gantt-view--chart-before-wrapper', {
|
|
238
|
+
'link--current': isCurrent,
|
|
239
|
+
'link--hover': isHover
|
|
229
240
|
}]
|
|
230
|
-
}, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.
|
|
241
|
+
}, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.renderGanttTaskChartBefores() : [])
|
|
231
242
|
: renderEmptyElement($xeGantt),
|
|
232
243
|
h('div', {
|
|
233
244
|
ref: refTaskWrapperElem,
|
|
234
|
-
class: 'vxe-gantt-view--chart-task-wrapper'
|
|
235
|
-
|
|
245
|
+
class: ['vxe-gantt-view--chart-task-wrapper', {
|
|
246
|
+
'link--current': isCurrent,
|
|
247
|
+
'link--create': linkCreatable
|
|
248
|
+
}]
|
|
249
|
+
}, $xeTable ? renderTaskRows($xeTable, tableData) : []),
|
|
250
|
+
$xeGantt.renderGanttTaskChartAfters
|
|
251
|
+
? h('div', {
|
|
252
|
+
ref: refChartAfterWrapperElem,
|
|
253
|
+
class: 'vxe-gantt-view--chart-after-wrapper'
|
|
254
|
+
}, $xeTable && isEnableConf(taskLinkOpts) ? $xeGantt.renderGanttTaskChartAfters() : [])
|
|
255
|
+
: renderEmptyElement($xeGantt)
|
|
236
256
|
]);
|
|
237
257
|
};
|
|
238
258
|
onMounted(() => {
|
|
239
259
|
const { elemStore } = ganttViewInternalData;
|
|
240
260
|
const prefix = 'main-chart-';
|
|
241
261
|
elemStore[`${prefix}task-wrapper`] = refTaskWrapperElem;
|
|
242
|
-
elemStore[`${prefix}
|
|
262
|
+
elemStore[`${prefix}before-wrapper`] = refChartBeforeWrapperElem;
|
|
263
|
+
elemStore[`${prefix}after-wrapper`] = refChartAfterWrapperElem;
|
|
243
264
|
});
|
|
244
265
|
onUnmounted(() => {
|
|
245
266
|
const { elemStore } = ganttViewInternalData;
|
|
246
267
|
const prefix = 'main-chart-';
|
|
247
268
|
elemStore[`${prefix}task-wrapper`] = null;
|
|
248
|
-
elemStore[`${prefix}
|
|
269
|
+
elemStore[`${prefix}before-wrapper`] = null;
|
|
270
|
+
elemStore[`${prefix}after-wrapper`] = null;
|
|
249
271
|
});
|
|
250
272
|
return renderVN;
|
|
251
273
|
}
|
|
@@ -897,7 +897,7 @@ export default defineVxeComponent({
|
|
|
897
897
|
reactData.scrollXWidth = viewTableWidth;
|
|
898
898
|
return Promise.all([
|
|
899
899
|
updateTaskChart(),
|
|
900
|
-
$xeGantt.
|
|
900
|
+
$xeGantt.handleUpdateTaskLinkStyle ? $xeGantt.handleUpdateTaskLinkStyle($xeGanttView) : null
|
|
901
901
|
]);
|
|
902
902
|
};
|
|
903
903
|
const handleRecalculateStyle = () => {
|
|
@@ -1046,10 +1046,15 @@ export default defineVxeComponent({
|
|
|
1046
1046
|
if (scrollXSpaceEl) {
|
|
1047
1047
|
scrollXSpaceEl.style.width = `${scrollXWidth}px`;
|
|
1048
1048
|
}
|
|
1049
|
-
const
|
|
1050
|
-
const
|
|
1051
|
-
if (
|
|
1052
|
-
|
|
1049
|
+
const beforeWrapper = getRefElem(elemStore['main-chart-before-wrapper']);
|
|
1050
|
+
const beforeSvgElem = beforeWrapper ? beforeWrapper.firstElementChild : null;
|
|
1051
|
+
if (beforeSvgElem) {
|
|
1052
|
+
beforeSvgElem.style.width = `${scrollXWidth}px`;
|
|
1053
|
+
}
|
|
1054
|
+
const afterWrapper = getRefElem(elemStore['main-chart-after-wrapper']);
|
|
1055
|
+
const afterSvgElem = afterWrapper ? afterWrapper.firstElementChild : null;
|
|
1056
|
+
if (afterSvgElem) {
|
|
1057
|
+
afterSvgElem.style.width = `${scrollXWidth}px`;
|
|
1053
1058
|
}
|
|
1054
1059
|
calcScrollbar();
|
|
1055
1060
|
return nextTick();
|
|
@@ -1102,10 +1107,15 @@ export default defineVxeComponent({
|
|
|
1102
1107
|
if (scrollYSpaceEl) {
|
|
1103
1108
|
scrollYSpaceEl.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
1104
1109
|
}
|
|
1105
|
-
const
|
|
1106
|
-
const
|
|
1107
|
-
if (
|
|
1108
|
-
|
|
1110
|
+
const beforeWrapper = getRefElem(elemStore['main-chart-before-wrapper']);
|
|
1111
|
+
const beforeSvgElem = beforeWrapper ? beforeWrapper.firstElementChild : null;
|
|
1112
|
+
if (beforeSvgElem) {
|
|
1113
|
+
beforeSvgElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
1114
|
+
}
|
|
1115
|
+
const afterWrapper = getRefElem(elemStore['main-chart-after-wrapper']);
|
|
1116
|
+
const afterSvgElem = afterWrapper ? afterWrapper.firstElementChild : null;
|
|
1117
|
+
if (afterSvgElem) {
|
|
1118
|
+
afterSvgElem.style.height = ySpaceHeight ? `${ySpaceHeight}px` : '';
|
|
1109
1119
|
}
|
|
1110
1120
|
reactData.scrollYTop = scrollYTop;
|
|
1111
1121
|
reactData.scrollYHeight = scrollYHeight;
|
package/es/gantt/src/gantt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, ref, computed, provide, reactive, onUnmounted, watch, nextTick, onMounted } from 'vue';
|
|
1
|
+
import { h, ref, computed, provide, reactive, onBeforeUnmount, onUnmounted, watch, nextTick, onMounted } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import { getLastZIndex, nextZIndex, isEnableConf, formatText } from '../../ui/src/utils';
|
|
@@ -21,9 +21,52 @@ function createInternalData() {
|
|
|
21
21
|
linkFromKeyMaps: {},
|
|
22
22
|
linkUniqueMaps: {},
|
|
23
23
|
uFoot: false,
|
|
24
|
-
resizeTableWidth: 0
|
|
25
|
-
// barTipTimeout: null
|
|
26
|
-
// dragBarRow: null
|
|
24
|
+
resizeTableWidth: 0,
|
|
25
|
+
// barTipTimeout: null,
|
|
26
|
+
// dragBarRow: null,
|
|
27
|
+
// dragLineRow: null,
|
|
28
|
+
dragLinkToStore: {
|
|
29
|
+
rowid: null,
|
|
30
|
+
type: 0
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function createReactData() {
|
|
35
|
+
var _a;
|
|
36
|
+
return {
|
|
37
|
+
tableLoading: false,
|
|
38
|
+
proxyInited: false,
|
|
39
|
+
isZMax: false,
|
|
40
|
+
tableLinks: [],
|
|
41
|
+
tableData: [],
|
|
42
|
+
filterData: [],
|
|
43
|
+
formData: {},
|
|
44
|
+
sortData: [],
|
|
45
|
+
footerData: [],
|
|
46
|
+
tZindex: 0,
|
|
47
|
+
tablePage: {
|
|
48
|
+
total: 0,
|
|
49
|
+
pageSize: ((_a = getConfig().pager) === null || _a === void 0 ? void 0 : _a.pageSize) || 10,
|
|
50
|
+
currentPage: 1
|
|
51
|
+
},
|
|
52
|
+
showLeftView: true,
|
|
53
|
+
showRightView: true,
|
|
54
|
+
taskScaleList: [],
|
|
55
|
+
barTipStore: {
|
|
56
|
+
row: null,
|
|
57
|
+
content: '',
|
|
58
|
+
visible: false,
|
|
59
|
+
params: null
|
|
60
|
+
},
|
|
61
|
+
dragLinkFromStore: {
|
|
62
|
+
rowid: null,
|
|
63
|
+
type: 0
|
|
64
|
+
},
|
|
65
|
+
activeBarRowid: null,
|
|
66
|
+
activeLink: null,
|
|
67
|
+
isActiveCeLe: false,
|
|
68
|
+
linkList: [],
|
|
69
|
+
upLinkFlag: 0
|
|
27
70
|
};
|
|
28
71
|
}
|
|
29
72
|
const viewTypeLevelMaps = {
|
|
@@ -49,7 +92,6 @@ export default defineVxeComponent({
|
|
|
49
92
|
} }),
|
|
50
93
|
emits: ganttEmits,
|
|
51
94
|
setup(props, context) {
|
|
52
|
-
var _a;
|
|
53
95
|
const { slots, emit } = context;
|
|
54
96
|
const xID = XEUtils.uniqueId();
|
|
55
97
|
// 使用已安装的组件,如果未安装则不渲染
|
|
@@ -59,34 +101,7 @@ export default defineVxeComponent({
|
|
|
59
101
|
const VxeToolbarComponent = VxeUI.getComponent('VxeToolbar');
|
|
60
102
|
const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
|
|
61
103
|
const { computeSize } = useFns.useSize(props);
|
|
62
|
-
const reactData = reactive(
|
|
63
|
-
tableLoading: false,
|
|
64
|
-
proxyInited: false,
|
|
65
|
-
isZMax: false,
|
|
66
|
-
tableLinks: [],
|
|
67
|
-
tableData: [],
|
|
68
|
-
filterData: [],
|
|
69
|
-
formData: {},
|
|
70
|
-
sortData: [],
|
|
71
|
-
footerData: [],
|
|
72
|
-
tZindex: 0,
|
|
73
|
-
tablePage: {
|
|
74
|
-
total: 0,
|
|
75
|
-
pageSize: ((_a = getConfig().pager) === null || _a === void 0 ? void 0 : _a.pageSize) || 10,
|
|
76
|
-
currentPage: 1
|
|
77
|
-
},
|
|
78
|
-
showLeftView: true,
|
|
79
|
-
showRightView: true,
|
|
80
|
-
taskScaleList: [],
|
|
81
|
-
barTipStore: {
|
|
82
|
-
row: null,
|
|
83
|
-
content: '',
|
|
84
|
-
visible: false,
|
|
85
|
-
params: null
|
|
86
|
-
},
|
|
87
|
-
linkList: [],
|
|
88
|
-
upLinkFlag: 0
|
|
89
|
-
});
|
|
104
|
+
const reactData = reactive(createReactData());
|
|
90
105
|
const internalData = createInternalData();
|
|
91
106
|
const refElem = ref();
|
|
92
107
|
const refTable = ref();
|
|
@@ -197,6 +212,10 @@ export default defineVxeComponent({
|
|
|
197
212
|
const { scales } = taskViewOpts;
|
|
198
213
|
return scales;
|
|
199
214
|
});
|
|
215
|
+
const computeTaskLinkStyle = computed(() => {
|
|
216
|
+
const { lineType, lineWidth, lineStatus, lineColor } = computeTaskLinkOpts.value;
|
|
217
|
+
return `${lineType || ''}_${lineWidth || ''}_${lineStatus || ''}_${lineColor || ''}`;
|
|
218
|
+
});
|
|
200
219
|
const computeTitleField = computed(() => {
|
|
201
220
|
const taskOpts = computeTaskOpts.value;
|
|
202
221
|
return taskOpts.titleField || 'title';
|
|
@@ -1646,21 +1665,34 @@ export default defineVxeComponent({
|
|
|
1646
1665
|
$xeTable.handleToggleCheckRowEvent(evnt, params);
|
|
1647
1666
|
}
|
|
1648
1667
|
}
|
|
1668
|
+
reactData.isActiveCeLe = false;
|
|
1669
|
+
reactData.activeBarRowid = null;
|
|
1670
|
+
reactData.activeLink = null;
|
|
1649
1671
|
$xeGantt.dispatchEvent('task-cell-click', params, evnt);
|
|
1650
1672
|
},
|
|
1651
1673
|
handleTaskCellDblclickEvent(evnt, params) {
|
|
1652
1674
|
$xeGantt.dispatchEvent('task-cell-dblclick', params, evnt);
|
|
1653
1675
|
},
|
|
1654
1676
|
handleTaskBarClickEvent(evnt, params) {
|
|
1677
|
+
const $xeTable = refTable.value;
|
|
1678
|
+
const taskBarOpts = computeTaskBarOpts.value;
|
|
1679
|
+
const { linkCreatable } = taskBarOpts;
|
|
1680
|
+
const { row } = params;
|
|
1681
|
+
reactData.isActiveCeLe = !!linkCreatable;
|
|
1682
|
+
reactData.activeBarRowid = $xeTable ? $xeTable.getRowid(row) : row;
|
|
1683
|
+
reactData.activeLink = null;
|
|
1655
1684
|
$xeGantt.dispatchEvent('task-bar-click', params, evnt);
|
|
1656
1685
|
},
|
|
1657
1686
|
handleTaskBarDblclickEvent(evnt, params) {
|
|
1658
1687
|
$xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
|
|
1659
1688
|
},
|
|
1660
1689
|
triggerTaskBarTooltipEvent(evnt, params) {
|
|
1661
|
-
const { barTipStore } = reactData;
|
|
1662
|
-
const { dragBarRow } = internalData;
|
|
1663
|
-
if (dragBarRow) {
|
|
1690
|
+
const { barTipStore, activeLink } = reactData;
|
|
1691
|
+
const { dragBarRow, dragLineRow } = internalData;
|
|
1692
|
+
if (dragBarRow || dragLineRow) {
|
|
1693
|
+
return;
|
|
1694
|
+
}
|
|
1695
|
+
if (activeLink) {
|
|
1664
1696
|
return;
|
|
1665
1697
|
}
|
|
1666
1698
|
const taskBarTooltipOpts = computeTaskBarTooltipOpts.value;
|
|
@@ -2246,6 +2278,11 @@ export default defineVxeComponent({
|
|
|
2246
2278
|
handleTaskScaleConfig();
|
|
2247
2279
|
$xeGantt.refreshTaskView();
|
|
2248
2280
|
});
|
|
2281
|
+
watch(computeTaskLinkStyle, () => {
|
|
2282
|
+
if ($xeGantt.handleUpdateTaskLinkData) {
|
|
2283
|
+
$xeGantt.handleUpdateTaskLinkData();
|
|
2284
|
+
}
|
|
2285
|
+
});
|
|
2249
2286
|
hooks.forEach((options) => {
|
|
2250
2287
|
const { setupGantt } = options;
|
|
2251
2288
|
if (setupGantt) {
|
|
@@ -2255,15 +2292,15 @@ export default defineVxeComponent({
|
|
|
2255
2292
|
}
|
|
2256
2293
|
}
|
|
2257
2294
|
});
|
|
2258
|
-
if ($xeGantt.
|
|
2295
|
+
if ($xeGantt.handleTaskLoadLinks) {
|
|
2259
2296
|
if (props.links) {
|
|
2260
|
-
$xeGantt.
|
|
2297
|
+
$xeGantt.handleTaskLoadLinks(props.links);
|
|
2261
2298
|
}
|
|
2262
2299
|
}
|
|
2263
2300
|
handleTaskScaleConfig();
|
|
2264
2301
|
initPages();
|
|
2265
2302
|
onMounted(() => {
|
|
2266
|
-
if (!$xeGantt.
|
|
2303
|
+
if (!$xeGantt.handleUpdateTaskLinkData) {
|
|
2267
2304
|
if (props.links) {
|
|
2268
2305
|
warnLog('vxe.error.notProp', ['links']);
|
|
2269
2306
|
}
|
|
@@ -2314,6 +2351,9 @@ export default defineVxeComponent({
|
|
|
2314
2351
|
initGanttView();
|
|
2315
2352
|
globalEvents.on($xeGantt, 'keydown', handleGlobalKeydownEvent);
|
|
2316
2353
|
});
|
|
2354
|
+
onBeforeUnmount(() => {
|
|
2355
|
+
XEUtils.assign(reactData, createReactData());
|
|
2356
|
+
});
|
|
2317
2357
|
onUnmounted(() => {
|
|
2318
2358
|
globalEvents.off($xeGantt, 'keydown');
|
|
2319
2359
|
XEUtils.assign(internalData, createInternalData());
|
package/es/gantt/src/util.js
CHANGED
|
@@ -33,9 +33,6 @@ export function getTaskBarLeft(chartRest, viewCellWidth) {
|
|
|
33
33
|
export function getTaskBarWidth(chartRest, viewCellWidth) {
|
|
34
34
|
return Math.max(1, chartRest ? (Math.floor(viewCellWidth * chartRest.oWidthSize) - 1) : 0);
|
|
35
35
|
}
|
|
36
|
-
export function getTaskLinkKey(from, to) {
|
|
37
|
-
return `${from}_${to}`;
|
|
38
|
-
}
|
|
39
36
|
const taskTypeMaps = {
|
|
40
37
|
milestone: true
|
|
41
38
|
};
|
package/es/gantt/style.css
CHANGED
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar, .vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-custom-bar {
|
|
15
15
|
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
16
16
|
}
|
|
17
|
+
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar .vxe-gantt-view--chart-bar-content-wrapper,
|
|
18
|
+
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper, .vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,
|
|
19
|
+
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper {
|
|
20
|
+
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
21
|
+
}
|
|
17
22
|
.vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-bar:hover::after, .vxe-gantt-view--chart-row.is--round > .vxe-gantt-view--chart-custom-bar:hover::after {
|
|
18
23
|
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
19
24
|
}
|
|
@@ -26,7 +31,6 @@
|
|
|
26
31
|
top: 50%;
|
|
27
32
|
left: 0;
|
|
28
33
|
transform: translateY(-50%);
|
|
29
|
-
overflow: hidden;
|
|
30
34
|
pointer-events: all;
|
|
31
35
|
}
|
|
32
36
|
.vxe-gantt-view--chart-bar.is--default,
|
|
@@ -35,8 +39,18 @@
|
|
|
35
39
|
background-color: var(--vxe-ui-gantt-view-task-bar-background-color);
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
.vxe-gantt-view--chart-
|
|
42
|
+
.vxe-gantt-view--chart-bar-content-wrapper,
|
|
43
|
+
.vxe-gantt-view--chart-custom-bar-content-wrapper {
|
|
39
44
|
width: 100%;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.vxe-gantt-view--chart-bar-content-wrapper {
|
|
49
|
+
width: 100%;
|
|
50
|
+
height: 100%;
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: row;
|
|
53
|
+
align-items: center;
|
|
40
54
|
}
|
|
41
55
|
|
|
42
56
|
.vxe-gantt-view--chart-bar {
|
package/es/gantt/style.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.vxe-gantt-view--chart-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-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,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-custom-bar-content{width:100%}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar.is--default: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-bar.is--milestone{white-space:nowrap}.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-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em;color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;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)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.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-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{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:3}.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:5;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;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{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-left-btn i,.vxe-gantt--view-split-bar-right-btn i{font-size:.5em}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;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--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.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:scroll;overflow-x:scroll}.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--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--body-column.is--now::before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background-color:var(--vxe-ui-font-primary-color)}.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--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.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-task-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative;width:100%;height:0}.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar{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-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-bar .vxe-gantt-view--chart-custom-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar .vxe-gantt-view--chart-custom-bar-content-wrapper{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,.vxe-gantt-view--chart-row.is--round>.vxe-gantt-view--chart-custom-bar:hover::after{border-radius:var(--vxe-ui-gantt-view-task-bar-border-radius)}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-custom-bar{display:flex;flex-direction:row;position:absolute;top:50%;left:0;transform:translateY(-50%);pointer-events:all}.vxe-gantt-view--chart-bar.is--default,.vxe-gantt-view--chart-custom-bar.is--default{color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color)}.vxe-gantt-view--chart-bar-content-wrapper,.vxe-gantt-view--chart-custom-bar-content-wrapper{width:100%;overflow:hidden}.vxe-gantt-view--chart-bar-content-wrapper{width:100%;height:100%;display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.vxe-gantt-view--chart-bar.is--default: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-bar.is--milestone{white-space:nowrap}.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-view--chart-milestone-wrapper{display:flex;flex-direction:row;align-items:center}.vxe-gantt-view--chart-milestone-icon{flex-shrink:0;padding:0 .3em;color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--primary{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-milestone-icon.theme--success{color:var(--vxe-ui-status-success-color)}.vxe-gantt-view--chart-milestone-icon.theme--info{color:var(--vxe-ui-status-info-color)}.vxe-gantt-view--chart-milestone-icon.theme--warning{color:var(--vxe-ui-status-warning-color)}.vxe-gantt-view--chart-milestone-icon.theme--danger{color:var(--vxe-ui-status-danger-color)}.vxe-gantt-view--chart-milestone-icon.theme--error{color:var(--vxe-ui-status-error-color)}.vxe-gantt-view--chart-milestone-icon i{display:inline-block}.vxe-gantt-view--chart-milestone-content{flex-grow:1}.vxe-gantt-view--chart-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--chart-row.row--drag-origin{opacity:.3}.vxe-gantt{position:relative;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)}.vxe-gantt .vxe-gantt--view-split-bar.is--resize{cursor:col-resize}.vxe-gantt .vxe-gantt--view-split-bar-handle{background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt .vxe-gantt--view-split-bar-handle:active,.vxe-gantt .vxe-gantt--view-split-bar-handle:hover{background-color:var(--vxe-ui-gantt-view-split-bar-hover-background-color)}.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-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-handle-appearance{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-handle-appearance,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-handle-appearance{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-handle-appearance,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-handle-appearance{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:3}.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:5;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;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{color:#fff;background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-left-btn i,.vxe-gantt--view-split-bar-right-btn i{font-size:.5em}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:7;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--body-table{-webkit-user-select:none;-moz-user-select:none;user-select:none}.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:scroll;overflow-x:scroll}.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--body-inner-wrapper::-webkit-scrollbar,.vxe-gantt-view--header-inner-wrapper::-webkit-scrollbar{display:none}.vxe-gantt-view--header-column{text-align:center;font-size:1em;height:var(--vxe-ui-gantt-view-cell-height,var(--vxe-ui-table-row-line-height))}.vxe-gantt-view--header-column.is--now{color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--body-column.is--now::before{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background-color:var(--vxe-ui-font-primary-color)}.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--body-row.row--drag-move{transition:transform .5s ease}.vxe-gantt-view--body-row.row--drag-origin>.vxe-gantt-view--body-column{opacity:.3}.vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{position:absolute;left:0;bottom:-.4em;height:.8em;width:100%;text-align:center;z-index:1;cursor:row-resize}.vxe-gantt-view--body-row:last-child .vxe-gantt-view--body-column .vxe-gantt-view-cell--row-resizable{height:.4em;bottom:0}.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)}
|