vxe-gantt 4.0.24 → 4.0.26

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.
@@ -32,7 +32,7 @@ export default defineVxeComponent({
32
32
  const progressField = computeProgressField.value;
33
33
  const taskBarOpts = computeTaskBarOpts.value;
34
34
  const barParams = { $gantt: $xeGantt, row };
35
- const { showProgress, showContent, contentMethod, barStyle } = taskBarOpts;
35
+ const { showProgress, showContent, contentMethod, barStyle, drag } = taskBarOpts;
36
36
  const isBarRowStyle = XEUtils.isFunction(barStyle);
37
37
  const barStyObj = (barStyle ? (isBarRowStyle ? barStyle(barParams) : barStyle) : {}) || {};
38
38
  const { round } = barStyObj;
@@ -64,6 +64,7 @@ export default defineVxeComponent({
64
64
  rowid,
65
65
  class: ['vxe-gantt-view--chart-row', {
66
66
  'is--round': round,
67
+ 'is--drag': drag,
67
68
  'col--rs-height': isRsHeight
68
69
  }],
69
70
  style: {
@@ -17,6 +17,7 @@ const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadDat
17
17
  const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
18
18
  function createInternalData() {
19
19
  return {
20
+ uFoot: false,
20
21
  resizeTableWidth: 0
21
22
  };
22
23
  }
@@ -37,7 +38,7 @@ function getViewTypeLevel(type) {
37
38
  export default defineVxeComponent({
38
39
  name: 'VxeGantt',
39
40
  mixins: [],
40
- props: Object.assign(Object.assign({}, tableProps), { columns: Array, pagerConfig: Object, proxyConfig: Object, toolbarConfig: Object, formConfig: Object, zoomConfig: Object, layouts: Array, taskConfig: Object, taskViewScaleConfs: Object, taskViewConfig: Object, taskBarConfig: Object, taskSplitConfig: Object, taskResizeConfig: Object, taskDragConfig: Object, size: {
41
+ props: Object.assign(Object.assign({}, tableProps), { columns: Array, pagerConfig: Object, proxyConfig: Object, toolbarConfig: Object, formConfig: Object, zoomConfig: Object, layouts: Array, taskConfig: Object, taskViewScaleConfs: Object, taskViewConfig: Object, taskBarConfig: Object, taskSplitConfig: Object, taskBarResizeConfig: Object, taskBarDragConfig: Object, size: {
41
42
  type: String,
42
43
  default: () => getConfig().gantt.size || getConfig().size
43
44
  } }),
@@ -60,6 +61,7 @@ export default defineVxeComponent({
60
61
  filterData: [],
61
62
  formData: {},
62
63
  sortData: [],
64
+ footerData: [],
63
65
  tZindex: 0,
64
66
  tablePage: {
65
67
  total: 0,
@@ -144,6 +146,12 @@ export default defineVxeComponent({
144
146
  const computeTaskBarOpts = computed(() => {
145
147
  return Object.assign({}, getConfig().gantt.taskBarConfig, props.taskBarConfig);
146
148
  });
149
+ const computeTaskBarDragOpts = computed(() => {
150
+ return Object.assign({}, getConfig().gantt.taskBarDragConfig, props.taskBarDragConfig);
151
+ });
152
+ const computeTaskBarResizeOpts = computed(() => {
153
+ return Object.assign({}, getConfig().gantt.taskBarResizeConfig, props.taskBarResizeConfig);
154
+ });
147
155
  const computeTaskSplitOpts = computed(() => {
148
156
  return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
149
157
  });
@@ -217,14 +225,17 @@ export default defineVxeComponent({
217
225
  });
218
226
  const computeTableExtendProps = computed(() => {
219
227
  const rest = {};
228
+ const ganttProps = props;
220
229
  tableComponentPropKeys.forEach((key) => {
221
- rest[key] = props[key];
230
+ if (ganttProps[key] !== undefined) {
231
+ rest[key] = ganttProps[key];
232
+ }
222
233
  });
223
234
  return rest;
224
235
  });
225
236
  const computeTableProps = computed(() => {
226
- const { seqConfig, pagerConfig, editConfig, proxyConfig } = props;
227
- const { isZMax, tablePage } = reactData;
237
+ const { showFooter, seqConfig, pagerConfig, editConfig, proxyConfig } = props;
238
+ const { isZMax, tablePage, footerData } = reactData;
228
239
  const taskViewOpts = computeTaskViewOpts.value;
229
240
  const { tableStyle } = taskViewOpts;
230
241
  const tableExtendProps = computeTableExtendProps.value;
@@ -243,8 +254,16 @@ export default defineVxeComponent({
243
254
  tProps.border = border;
244
255
  }
245
256
  }
257
+ if (showFooter && !tProps.footerData) {
258
+ // 如果未设置自己的标位数据,则使用代理的
259
+ tProps.footerData = footerData;
260
+ }
261
+ else if (proxyOpts.footer && footerData.length) {
262
+ // 如果代理标为数据,且未请求到数据,则用自己的
263
+ tProps.footerData = footerData;
264
+ }
246
265
  if (isZMax) {
247
- if (tableExtendProps.maxHeight) {
266
+ if (tProps.maxHeight) {
248
267
  tProps.maxHeight = '100%';
249
268
  }
250
269
  else {
@@ -350,6 +369,8 @@ export default defineVxeComponent({
350
369
  computeTaskViewScaleMapsOpts,
351
370
  computeTaskViewOpts,
352
371
  computeTaskBarOpts,
372
+ computeTaskBarDragOpts,
373
+ computeTaskBarResizeOpts,
353
374
  computeTaskSplitOpts,
354
375
  computeTaskScaleConfs,
355
376
  computeTitleField,
@@ -558,9 +579,12 @@ export default defineVxeComponent({
558
579
  reactData.filterData = params.filterList;
559
580
  if (proxyConfig && isEnableConf(proxyOpts)) {
560
581
  reactData.tablePage.currentPage = 1;
582
+ internalData.uFoot = true;
561
583
  $xeGantt.commitProxy('query').then((rest) => {
562
584
  $xeGantt.dispatchEvent('proxy-query', rest, params.$event);
563
585
  });
586
+ internalData.uFoot = false;
587
+ updateQueryFooter();
564
588
  }
565
589
  }
566
590
  };
@@ -579,9 +603,12 @@ export default defineVxeComponent({
579
603
  return;
580
604
  }
581
605
  if (proxyConfig && isEnableConf(proxyOpts)) {
606
+ internalData.uFoot = true;
582
607
  $xeGantt.commitProxy('reload').then((rest) => {
583
608
  $xeGantt.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isReload: true }), params.$event);
584
609
  });
610
+ internalData.uFoot = false;
611
+ updateQueryFooter();
585
612
  }
586
613
  $xeGantt.dispatchEvent('form-submit', params, params.$event);
587
614
  };
@@ -594,9 +621,12 @@ export default defineVxeComponent({
594
621
  if ($xeTable) {
595
622
  $xeTable.clearScroll();
596
623
  }
624
+ internalData.uFoot = true;
597
625
  $xeGantt.commitProxy('reload').then((rest) => {
598
626
  $xeGantt.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isReload: true }), $event);
599
627
  });
628
+ internalData.uFoot = false;
629
+ updateQueryFooter();
600
630
  }
601
631
  $xeGantt.dispatchEvent('form-reset', params, $event);
602
632
  };
@@ -754,13 +784,17 @@ export default defineVxeComponent({
754
784
  if (field) {
755
785
  let itemValue = null;
756
786
  if (itemRender) {
757
- const { defaultValue } = itemRender;
787
+ const { startField, endField, defaultValue } = itemRender;
758
788
  if (XEUtils.isFunction(defaultValue)) {
759
789
  itemValue = defaultValue({ item });
760
790
  }
761
791
  else if (!XEUtils.isUndefined(defaultValue)) {
762
792
  itemValue = defaultValue;
763
793
  }
794
+ if (startField && endField) {
795
+ XEUtils.set(fData, startField, null);
796
+ XEUtils.set(fData, endField, null);
797
+ }
764
798
  }
765
799
  fData[field] = itemValue;
766
800
  }
@@ -781,13 +815,26 @@ export default defineVxeComponent({
781
815
  if (!proxyInited) {
782
816
  reactData.proxyInited = true;
783
817
  if (proxyOpts.autoLoad !== false) {
784
- nextTick().then(() => $xeGantt.commitProxy('initial')).then((rest) => {
818
+ nextTick().then(() => {
819
+ internalData.uFoot = true;
820
+ const rest = $xeGantt.commitProxy('initial');
821
+ internalData.uFoot = false;
822
+ updateQueryFooter();
823
+ return rest;
824
+ }).then((rest) => {
785
825
  dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), { isInited: true }), new Event('initial'));
786
826
  });
787
827
  }
788
828
  }
789
829
  }
790
830
  };
831
+ const updateQueryFooter = () => {
832
+ const proxyOpts = computeProxyOpts.value;
833
+ const { ajax } = proxyOpts;
834
+ if (ajax && ajax.queryFooter) {
835
+ return $xeGantt.commitProxy('queryFooter');
836
+ }
837
+ };
791
838
  const handleGlobalKeydownEvent = (evnt) => {
792
839
  const zoomOpts = computeZoomOpts.value;
793
840
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
@@ -808,15 +855,15 @@ export default defineVxeComponent({
808
855
  * @param {String/Object} code 字符串或对象
809
856
  */
810
857
  commitProxy(proxyTarget, ...args) {
811
- const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props;
858
+ const { showFooter, proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props;
812
859
  const { tablePage } = reactData;
813
860
  const isActiveMsg = computeIsActiveMsg.value;
814
861
  const isRespMsg = computeIsRespMsg.value;
815
862
  const proxyOpts = computeProxyOpts.value;
816
863
  const pagerOpts = computePagerOpts.value;
817
864
  const toolbarOpts = computeToolbarOpts.value;
818
- const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts;
819
- const resConfigs = proxyOpts.response || proxyOpts.props || {};
865
+ const { beforeQuery, afterQuery, beforeQueryFooter, afterQueryFooter, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts;
866
+ const resConfigs = (proxyOpts.response || proxyOpts.props || {});
820
867
  const $xeTable = refTable.value;
821
868
  if (!$xeTable) {
822
869
  return nextTick();
@@ -866,15 +913,16 @@ export default defineVxeComponent({
866
913
  case 'initial':
867
914
  case 'reload':
868
915
  case 'query': {
869
- const ajaxMethods = ajax.query;
870
- const querySuccessMethods = ajax.querySuccess;
871
- const queryErrorMethods = ajax.queryError;
872
- if (ajaxMethods) {
916
+ const qMethods = ajax.query;
917
+ const qsMethods = ajax.querySuccess;
918
+ const qeMethods = ajax.queryError;
919
+ if (qMethods) {
873
920
  const isInited = code === 'initial';
874
921
  const isReload = code === 'reload';
875
922
  if (!isInited && reactData.tableLoading) {
876
923
  return nextTick();
877
924
  }
925
+ let operPromise = null;
878
926
  let sortList = [];
879
927
  let filterList = [];
880
928
  let pageParams = {};
@@ -929,7 +977,7 @@ export default defineVxeComponent({
929
977
  else {
930
978
  if ($xeTable) {
931
979
  if (isReload) {
932
- $xeTable.clearAll();
980
+ operPromise = $xeTable.clearAll();
933
981
  }
934
982
  else {
935
983
  sortList = $xeTable.getSortColumns();
@@ -950,22 +998,25 @@ export default defineVxeComponent({
950
998
  sorts: sortList,
951
999
  filters: filterList,
952
1000
  form: formData,
953
- options: ajaxMethods
1001
+ options: qMethods
954
1002
  };
955
1003
  reactData.sortData = sortList;
956
1004
  reactData.filterData = filterList;
957
1005
  reactData.tableLoading = true;
958
- return Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args))
959
- .then(rest => {
1006
+ return Promise.all([
1007
+ Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)),
1008
+ operPromise
1009
+ ]).then(([rest]) => {
960
1010
  let tableData = [];
961
1011
  reactData.tableLoading = false;
962
1012
  if (rest) {
1013
+ const reParams = { data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt };
963
1014
  if (pagerConfig && isEnableConf(pagerOpts)) {
964
1015
  const totalProp = resConfigs.total;
965
- const total = (XEUtils.isFunction(totalProp) ? totalProp({ data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt }) : XEUtils.get(rest, totalProp || 'page.total')) || 0;
1016
+ const total = (XEUtils.isFunction(totalProp) ? totalProp(reParams) : XEUtils.get(rest, totalProp || 'page.total')) || 0;
966
1017
  tablePage.total = XEUtils.toNumber(total);
967
1018
  const resultProp = resConfigs.result;
968
- tableData = (XEUtils.isFunction(resultProp) ? resultProp({ data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt }) : XEUtils.get(rest, resultProp || 'result')) || [];
1019
+ tableData = (XEUtils.isFunction(resultProp) ? resultProp(reParams) : XEUtils.get(rest, resultProp || 'result')) || [];
969
1020
  // 检验当前页码,不能超出当前最大页数
970
1021
  const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
971
1022
  if (tablePage.currentPage > pageCount) {
@@ -974,7 +1025,19 @@ export default defineVxeComponent({
974
1025
  }
975
1026
  else {
976
1027
  const listProp = resConfigs.list;
977
- tableData = (listProp ? (XEUtils.isFunction(listProp) ? listProp({ data: rest, $table: $xeTable, $grid: null, $gantt: $xeGantt }) : XEUtils.get(rest, listProp)) : rest) || [];
1028
+ if (XEUtils.isArray(rest)) {
1029
+ tableData = rest;
1030
+ }
1031
+ else if (listProp) {
1032
+ tableData = (XEUtils.isFunction(listProp) ? listProp(reParams) : XEUtils.get(rest, listProp)) || [];
1033
+ }
1034
+ }
1035
+ if (showFooter) {
1036
+ const fdProp = resConfigs.footerData;
1037
+ const footerList = fdProp ? (XEUtils.isFunction(fdProp) ? fdProp(reParams) : XEUtils.get(rest, fdProp)) : [];
1038
+ if (XEUtils.isArray(footerList)) {
1039
+ reactData.footerData = footerList;
1040
+ }
978
1041
  }
979
1042
  }
980
1043
  if ($xeTable) {
@@ -982,6 +1045,7 @@ export default defineVxeComponent({
982
1045
  }
983
1046
  else {
984
1047
  nextTick(() => {
1048
+ const $xeTable = refTable.value;
985
1049
  if ($xeTable) {
986
1050
  $xeTable.loadData(tableData);
987
1051
  }
@@ -990,28 +1054,68 @@ export default defineVxeComponent({
990
1054
  if (afterQuery) {
991
1055
  afterQuery(commitParams, ...args);
992
1056
  }
993
- if (querySuccessMethods) {
994
- querySuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
1057
+ if (qsMethods) {
1058
+ qsMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
995
1059
  }
996
1060
  return { status: true };
997
1061
  }).catch((rest) => {
998
1062
  reactData.tableLoading = false;
999
- if (queryErrorMethods) {
1000
- queryErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
1063
+ if (qeMethods) {
1064
+ qeMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
1001
1065
  }
1002
1066
  return { status: false };
1003
1067
  });
1004
1068
  }
1005
1069
  else {
1006
- errLog('vxe.error.notFunc', ['proxy-config.ajax.query']);
1070
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.query']);
1071
+ }
1072
+ break;
1073
+ }
1074
+ case 'queryFooter': {
1075
+ const qfMethods = ajax.queryFooter;
1076
+ const qfSuccessMethods = ajax.queryFooterSuccess;
1077
+ const qfErrorMethods = ajax.queryFooterError;
1078
+ if (qfMethods) {
1079
+ let filterList = [];
1080
+ if ($xeTable) {
1081
+ filterList = $xeTable.getCheckedFilters();
1082
+ }
1083
+ const commitParams = {
1084
+ $table: $xeTable,
1085
+ $grid: null,
1086
+ $gantt: $xeGantt,
1087
+ code,
1088
+ button,
1089
+ filters: filterList,
1090
+ form: formData,
1091
+ options: qfMethods
1092
+ };
1093
+ return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
1094
+ reactData.footerData = XEUtils.isArray(rest) ? rest : [];
1095
+ if (afterQueryFooter) {
1096
+ afterQueryFooter(commitParams, ...args);
1097
+ }
1098
+ if (qfSuccessMethods) {
1099
+ qfSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
1100
+ }
1101
+ return { status: true };
1102
+ }).catch((rest) => {
1103
+ if (qfErrorMethods) {
1104
+ qfErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
1105
+ }
1106
+ return { status: false };
1107
+ });
1108
+ }
1109
+ else {
1110
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.queryFooter']);
1007
1111
  }
1008
1112
  break;
1009
1113
  }
1010
1114
  case 'delete': {
1011
- const ajaxMethods = ajax.delete;
1115
+ const dMethods = ajax.delete;
1012
1116
  const deleteSuccessMethods = ajax.deleteSuccess;
1013
1117
  const deleteErrorMethods = ajax.deleteError;
1014
- if (ajaxMethods) {
1118
+ if (dMethods) {
1015
1119
  const selectRecords = $xeGantt.getCheckboxRecords();
1016
1120
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
1017
1121
  const body = { removeRecords };
@@ -1023,7 +1127,7 @@ export default defineVxeComponent({
1023
1127
  button,
1024
1128
  body,
1025
1129
  form: formData,
1026
- options: ajaxMethods
1130
+ options: dMethods
1027
1131
  };
1028
1132
  if (selectRecords.length) {
1029
1133
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
@@ -1031,7 +1135,7 @@ export default defineVxeComponent({
1031
1135
  return $xeTable.remove(selectRecords);
1032
1136
  }
1033
1137
  reactData.tableLoading = true;
1034
- return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args))
1138
+ return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args))
1035
1139
  .then(rest => {
1036
1140
  reactData.tableLoading = false;
1037
1141
  $xeTable.setPendingRow(removeRecords, false);
@@ -1044,7 +1148,10 @@ export default defineVxeComponent({
1044
1148
  afterDelete(commitParams, ...args);
1045
1149
  }
1046
1150
  else {
1151
+ internalData.uFoot = true;
1047
1152
  $xeGantt.commitProxy('query');
1153
+ internalData.uFoot = false;
1154
+ updateQueryFooter();
1048
1155
  }
1049
1156
  if (deleteSuccessMethods) {
1050
1157
  deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
@@ -1074,7 +1181,7 @@ export default defineVxeComponent({
1074
1181
  }
1075
1182
  }
1076
1183
  else {
1077
- errLog('vxe.error.notFunc', ['proxy-config.ajax.delete']);
1184
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.delete']);
1078
1185
  }
1079
1186
  break;
1080
1187
  }
@@ -1128,7 +1235,10 @@ export default defineVxeComponent({
1128
1235
  afterSave(commitParams, ...args);
1129
1236
  }
1130
1237
  else {
1238
+ internalData.uFoot = true;
1131
1239
  $xeGantt.commitProxy('query');
1240
+ internalData.uFoot = false;
1241
+ updateQueryFooter();
1132
1242
  }
1133
1243
  if (saveSuccessMethods) {
1134
1244
  saveSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest }));
@@ -1158,7 +1268,7 @@ export default defineVxeComponent({
1158
1268
  });
1159
1269
  }
1160
1270
  else {
1161
- errLog('vxe.error.notFunc', ['proxy-config.ajax.save']);
1271
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.save']);
1162
1272
  }
1163
1273
  break;
1164
1274
  }
@@ -1170,7 +1280,7 @@ export default defineVxeComponent({
1170
1280
  tCommandMethod({ code, button, $table: $xeTable, $grid: null, $gantt: $xeGantt }, ...args);
1171
1281
  }
1172
1282
  else {
1173
- errLog('vxe.error.notCommands', [code]);
1283
+ errLog('vxe.error.notCommands', [`[grid] ${code}`]);
1174
1284
  }
1175
1285
  }
1176
1286
  }
@@ -1369,6 +1479,7 @@ export default defineVxeComponent({
1369
1479
  * 获取需要排除的高度
1370
1480
  */
1371
1481
  getExcludeHeight() {
1482
+ const { height } = props;
1372
1483
  const { isZMax } = reactData;
1373
1484
  const el = refElem.value;
1374
1485
  if (el) {
@@ -1378,7 +1489,10 @@ export default defineVxeComponent({
1378
1489
  const bottomWrapper = refBottomWrapper.value;
1379
1490
  const pagerWrapper = refPagerWrapper.value;
1380
1491
  const parentEl = el.parentElement;
1381
- const parentPaddingSize = isZMax ? 0 : (parentEl ? getPaddingTopBottomSize(parentEl) : 0);
1492
+ let parentPaddingSize = 0;
1493
+ if (parentEl && (height === '100%' || height === 'auto')) {
1494
+ parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(parentEl);
1495
+ }
1382
1496
  return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
1383
1497
  }
1384
1498
  return 0;
@@ -1393,11 +1507,23 @@ export default defineVxeComponent({
1393
1507
  },
1394
1508
  triggerToolbarCommitEvent(params, evnt) {
1395
1509
  const { code } = params;
1396
- return $xeGantt.commitProxy(params, evnt).then((rest) => {
1397
- if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1398
- $xeGantt.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), { isReload: code === 'reload' }), evnt);
1510
+ if (code) {
1511
+ const isUf = ['reload', 'delete', 'save'].includes(code);
1512
+ if (isUf) {
1513
+ internalData.uFoot = true;
1399
1514
  }
1400
- });
1515
+ const rest = $xeGantt.commitProxy(params, evnt).then((rest) => {
1516
+ if (rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1517
+ $xeGantt.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), { isReload: code === 'reload' }), evnt);
1518
+ }
1519
+ });
1520
+ internalData.uFoot = false;
1521
+ if (isUf) {
1522
+ updateQueryFooter();
1523
+ }
1524
+ return rest;
1525
+ }
1526
+ return nextTick();
1401
1527
  },
1402
1528
  triggerToolbarBtnEvent(button, evnt) {
1403
1529
  $xeGantt.triggerToolbarCommitEvent(button, evnt);
@@ -17,6 +17,11 @@
17
17
  .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
18
  border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
19
19
  }
20
+ .vxe-gantt-view--chart-row.is--drag > .vxe-gantt-view--chart-bar, .vxe-gantt-view--chart-row.is--drag > .vxe-gantt-view--chart-custom-bar {
21
+ -webkit-user-select: none;
22
+ -moz-user-select: none;
23
+ user-select: none;
24
+ }
20
25
 
21
26
  .vxe-gantt-view--chart-bar,
22
27
  .vxe-gantt-view--chart-custom-bar {
@@ -588,6 +593,12 @@
588
593
  width: var(--vxe-ui-gantt-view-default-cell-width);
589
594
  }
590
595
 
596
+ .vxe-gantt-view--body-table {
597
+ -webkit-user-select: none;
598
+ -moz-user-select: none;
599
+ user-select: none;
600
+ }
601
+
591
602
  .vxe-gantt-view--header-wrapper {
592
603
  background-color: var(--vxe-ui-table-header-background-color);
593
604
  }
@@ -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;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%);color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.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-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--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-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-row.is--drag>.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-row.is--drag>.vxe-gantt-view--chart-custom-bar{-webkit-user-select:none;-moz-user-select:none;user-select:none}.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%);color:#fff;background-color:var(--vxe-ui-gantt-view-task-bar-background-color);overflow:hidden;pointer-events:all}.vxe-gantt-view--chart-bar{align-items:center;height:var(--vxe-ui-gantt-view-chart-bar-height)}.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-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)}