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.
package/lib/index.umd.js CHANGED
@@ -2780,7 +2780,7 @@ var core_ = __webpack_require__(4345);
2780
2780
  const {
2781
2781
  log
2782
2782
  } = core_.VxeUI;
2783
- const version = `gantt v${"4.0.24"}`;
2783
+ const version = `gantt v${"4.0.26"}`;
2784
2784
  const warnLog = log.create('warn', version);
2785
2785
  const errLog = log.create('error', version);
2786
2786
  ;// ./packages/ui/index.ts
@@ -2791,7 +2791,7 @@ const {
2791
2791
  setIcon,
2792
2792
  checkVersion
2793
2793
  } = core_.VxeUI;
2794
- core_.VxeUI.ganttVersion = "4.0.24";
2794
+ core_.VxeUI.ganttVersion = "4.0.26";
2795
2795
  setConfig({
2796
2796
  gantt: {
2797
2797
  // size: null,
@@ -3531,7 +3531,8 @@ const gantt_chart_viewType = 'chart';
3531
3531
  showProgress,
3532
3532
  showContent,
3533
3533
  contentMethod,
3534
- barStyle
3534
+ barStyle,
3535
+ drag
3535
3536
  } = taskBarOpts;
3536
3537
  const isBarRowStyle = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(barStyle);
3537
3538
  const barStyObj = (barStyle ? isBarRowStyle ? barStyle(barParams) : barStyle : {}) || {};
@@ -3579,6 +3580,7 @@ const gantt_chart_viewType = 'chart';
3579
3580
  rowid,
3580
3581
  class: ['vxe-gantt-view--chart-row', {
3581
3582
  'is--round': round,
3583
+ 'is--drag': drag,
3582
3584
  'col--rs-height': isRsHeight
3583
3585
  }],
3584
3586
  style: {
@@ -5459,6 +5461,7 @@ const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadDat
5459
5461
  const defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
5460
5462
  function gantt_createInternalData() {
5461
5463
  return {
5464
+ uFoot: false,
5462
5465
  resizeTableWidth: 0
5463
5466
  };
5464
5467
  }
@@ -5493,8 +5496,8 @@ function getViewTypeLevel(type) {
5493
5496
  taskViewConfig: Object,
5494
5497
  taskBarConfig: Object,
5495
5498
  taskSplitConfig: Object,
5496
- taskResizeConfig: Object,
5497
- taskDragConfig: Object,
5499
+ taskBarResizeConfig: Object,
5500
+ taskBarDragConfig: Object,
5498
5501
  size: {
5499
5502
  type: String,
5500
5503
  default: () => getConfig().gantt.size || getConfig().size
@@ -5523,6 +5526,7 @@ function getViewTypeLevel(type) {
5523
5526
  filterData: [],
5524
5527
  formData: {},
5525
5528
  sortData: [],
5529
+ footerData: [],
5526
5530
  tZindex: 0,
5527
5531
  tablePage: {
5528
5532
  total: 0,
@@ -5607,6 +5611,12 @@ function getViewTypeLevel(type) {
5607
5611
  const computeTaskBarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5608
5612
  return Object.assign({}, getConfig().gantt.taskBarConfig, props.taskBarConfig);
5609
5613
  });
5614
+ const computeTaskBarDragOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5615
+ return Object.assign({}, getConfig().gantt.taskBarDragConfig, props.taskBarDragConfig);
5616
+ });
5617
+ const computeTaskBarResizeOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5618
+ return Object.assign({}, getConfig().gantt.taskBarResizeConfig, props.taskBarResizeConfig);
5619
+ });
5610
5620
  const computeTaskSplitOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5611
5621
  return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
5612
5622
  });
@@ -5696,13 +5706,17 @@ function getViewTypeLevel(type) {
5696
5706
  });
5697
5707
  const computeTableExtendProps = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5698
5708
  const rest = {};
5709
+ const ganttProps = props;
5699
5710
  tableComponentPropKeys.forEach(key => {
5700
- rest[key] = props[key];
5711
+ if (ganttProps[key] !== undefined) {
5712
+ rest[key] = ganttProps[key];
5713
+ }
5701
5714
  });
5702
5715
  return rest;
5703
5716
  });
5704
5717
  const computeTableProps = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
5705
5718
  const {
5719
+ showFooter,
5706
5720
  seqConfig,
5707
5721
  pagerConfig,
5708
5722
  editConfig,
@@ -5710,7 +5724,8 @@ function getViewTypeLevel(type) {
5710
5724
  } = props;
5711
5725
  const {
5712
5726
  isZMax,
5713
- tablePage
5727
+ tablePage,
5728
+ footerData
5714
5729
  } = reactData;
5715
5730
  const taskViewOpts = computeTaskViewOpts.value;
5716
5731
  const {
@@ -5734,8 +5749,15 @@ function getViewTypeLevel(type) {
5734
5749
  tProps.border = border;
5735
5750
  }
5736
5751
  }
5752
+ if (showFooter && !tProps.footerData) {
5753
+ // 如果未设置自己的标位数据,则使用代理的
5754
+ tProps.footerData = footerData;
5755
+ } else if (proxyOpts.footer && footerData.length) {
5756
+ // 如果代理标为数据,且未请求到数据,则用自己的
5757
+ tProps.footerData = footerData;
5758
+ }
5737
5759
  if (isZMax) {
5738
- if (tableExtendProps.maxHeight) {
5760
+ if (tProps.maxHeight) {
5739
5761
  tProps.maxHeight = '100%';
5740
5762
  } else {
5741
5763
  tProps.height = '100%';
@@ -5855,6 +5877,8 @@ function getViewTypeLevel(type) {
5855
5877
  computeTaskViewScaleMapsOpts,
5856
5878
  computeTaskViewOpts,
5857
5879
  computeTaskBarOpts,
5880
+ computeTaskBarDragOpts,
5881
+ computeTaskBarResizeOpts,
5858
5882
  computeTaskSplitOpts,
5859
5883
  computeTaskScaleConfs,
5860
5884
  computeTitleField,
@@ -6117,9 +6141,12 @@ function getViewTypeLevel(type) {
6117
6141
  reactData.filterData = params.filterList;
6118
6142
  if (proxyConfig && isEnableConf(proxyOpts)) {
6119
6143
  reactData.tablePage.currentPage = 1;
6144
+ internalData.uFoot = true;
6120
6145
  $xeGantt.commitProxy('query').then(rest => {
6121
6146
  $xeGantt.dispatchEvent('proxy-query', rest, params.$event);
6122
6147
  });
6148
+ internalData.uFoot = false;
6149
+ updateQueryFooter();
6123
6150
  }
6124
6151
  }
6125
6152
  };
@@ -6140,12 +6167,15 @@ function getViewTypeLevel(type) {
6140
6167
  return;
6141
6168
  }
6142
6169
  if (proxyConfig && isEnableConf(proxyOpts)) {
6170
+ internalData.uFoot = true;
6143
6171
  $xeGantt.commitProxy('reload').then(rest => {
6144
6172
  $xeGantt.dispatchEvent('proxy-query', {
6145
6173
  ...rest,
6146
6174
  isReload: true
6147
6175
  }, params.$event);
6148
6176
  });
6177
+ internalData.uFoot = false;
6178
+ updateQueryFooter();
6149
6179
  }
6150
6180
  $xeGantt.dispatchEvent('form-submit', params, params.$event);
6151
6181
  };
@@ -6162,12 +6192,15 @@ function getViewTypeLevel(type) {
6162
6192
  if ($xeTable) {
6163
6193
  $xeTable.clearScroll();
6164
6194
  }
6195
+ internalData.uFoot = true;
6165
6196
  $xeGantt.commitProxy('reload').then(rest => {
6166
6197
  $xeGantt.dispatchEvent('proxy-query', {
6167
6198
  ...rest,
6168
6199
  isReload: true
6169
6200
  }, $event);
6170
6201
  });
6202
+ internalData.uFoot = false;
6203
+ updateQueryFooter();
6171
6204
  }
6172
6205
  $xeGantt.dispatchEvent('form-reset', params, $event);
6173
6206
  };
@@ -6325,6 +6358,8 @@ function getViewTypeLevel(type) {
6325
6358
  let itemValue = null;
6326
6359
  if (itemRender) {
6327
6360
  const {
6361
+ startField,
6362
+ endField,
6328
6363
  defaultValue
6329
6364
  } = itemRender;
6330
6365
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)) {
@@ -6334,6 +6369,10 @@ function getViewTypeLevel(type) {
6334
6369
  } else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)) {
6335
6370
  itemValue = defaultValue;
6336
6371
  }
6372
+ if (startField && endField) {
6373
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, startField, null);
6374
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(fData, endField, null);
6375
+ }
6337
6376
  }
6338
6377
  fData[field] = itemValue;
6339
6378
  }
@@ -6359,7 +6398,13 @@ function getViewTypeLevel(type) {
6359
6398
  if (!proxyInited) {
6360
6399
  reactData.proxyInited = true;
6361
6400
  if (proxyOpts.autoLoad !== false) {
6362
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => $xeGantt.commitProxy('initial')).then(rest => {
6401
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
6402
+ internalData.uFoot = true;
6403
+ const rest = $xeGantt.commitProxy('initial');
6404
+ internalData.uFoot = false;
6405
+ updateQueryFooter();
6406
+ return rest;
6407
+ }).then(rest => {
6363
6408
  dispatchEvent('proxy-query', {
6364
6409
  ...rest,
6365
6410
  isInited: true
@@ -6369,6 +6414,15 @@ function getViewTypeLevel(type) {
6369
6414
  }
6370
6415
  }
6371
6416
  };
6417
+ const updateQueryFooter = () => {
6418
+ const proxyOpts = computeProxyOpts.value;
6419
+ const {
6420
+ ajax
6421
+ } = proxyOpts;
6422
+ if (ajax && ajax.queryFooter) {
6423
+ return $xeGantt.commitProxy('queryFooter');
6424
+ }
6425
+ };
6372
6426
  const handleGlobalKeydownEvent = evnt => {
6373
6427
  const zoomOpts = computeZoomOpts.value;
6374
6428
  const isEsc = gantt_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
@@ -6393,6 +6447,7 @@ function getViewTypeLevel(type) {
6393
6447
  */
6394
6448
  commitProxy(proxyTarget, ...args) {
6395
6449
  const {
6450
+ showFooter,
6396
6451
  proxyConfig,
6397
6452
  toolbarConfig,
6398
6453
  pagerConfig,
@@ -6410,6 +6465,8 @@ function getViewTypeLevel(type) {
6410
6465
  const {
6411
6466
  beforeQuery,
6412
6467
  afterQuery,
6468
+ beforeQueryFooter,
6469
+ afterQueryFooter,
6413
6470
  beforeDelete,
6414
6471
  afterDelete,
6415
6472
  beforeSave,
@@ -6474,15 +6531,16 @@ function getViewTypeLevel(type) {
6474
6531
  case 'reload':
6475
6532
  case 'query':
6476
6533
  {
6477
- const ajaxMethods = ajax.query;
6478
- const querySuccessMethods = ajax.querySuccess;
6479
- const queryErrorMethods = ajax.queryError;
6480
- if (ajaxMethods) {
6534
+ const qMethods = ajax.query;
6535
+ const qsMethods = ajax.querySuccess;
6536
+ const qeMethods = ajax.queryError;
6537
+ if (qMethods) {
6481
6538
  const isInited = code === 'initial';
6482
6539
  const isReload = code === 'reload';
6483
6540
  if (!isInited && reactData.tableLoading) {
6484
6541
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
6485
6542
  }
6543
+ let operPromise = null;
6486
6544
  let sortList = [];
6487
6545
  let filterList = [];
6488
6546
  let pageParams = {};
@@ -6546,7 +6604,7 @@ function getViewTypeLevel(type) {
6546
6604
  } else {
6547
6605
  if ($xeTable) {
6548
6606
  if (isReload) {
6549
- $xeTable.clearAll();
6607
+ operPromise = $xeTable.clearAll();
6550
6608
  } else {
6551
6609
  sortList = $xeTable.getSortColumns();
6552
6610
  filterList = $xeTable.getCheckedFilters();
@@ -6566,31 +6624,27 @@ function getViewTypeLevel(type) {
6566
6624
  sorts: sortList,
6567
6625
  filters: filterList,
6568
6626
  form: formData,
6569
- options: ajaxMethods
6627
+ options: qMethods
6570
6628
  };
6571
6629
  reactData.sortData = sortList;
6572
6630
  reactData.filterData = filterList;
6573
6631
  reactData.tableLoading = true;
6574
- return Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)).then(rest => {
6632
+ return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
6575
6633
  let tableData = [];
6576
6634
  reactData.tableLoading = false;
6577
6635
  if (rest) {
6636
+ const reParams = {
6637
+ data: rest,
6638
+ $table: $xeTable,
6639
+ $grid: null,
6640
+ $gantt: $xeGantt
6641
+ };
6578
6642
  if (pagerConfig && isEnableConf(pagerOpts)) {
6579
6643
  const totalProp = resConfigs.total;
6580
- const total = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(totalProp) ? totalProp({
6581
- data: rest,
6582
- $table: $xeTable,
6583
- $grid: null,
6584
- $gantt: $xeGantt
6585
- }) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, totalProp || 'page.total')) || 0;
6644
+ const total = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(totalProp) ? totalProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, totalProp || 'page.total')) || 0;
6586
6645
  tablePage.total = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(total);
6587
6646
  const resultProp = resConfigs.result;
6588
- tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(resultProp) ? resultProp({
6589
- data: rest,
6590
- $table: $xeTable,
6591
- $grid: null,
6592
- $gantt: $xeGantt
6593
- }) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, resultProp || 'result')) || [];
6647
+ tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(resultProp) ? resultProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, resultProp || 'result')) || [];
6594
6648
  // 检验当前页码,不能超出当前最大页数
6595
6649
  const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
6596
6650
  if (tablePage.currentPage > pageCount) {
@@ -6598,18 +6652,25 @@ function getViewTypeLevel(type) {
6598
6652
  }
6599
6653
  } else {
6600
6654
  const listProp = resConfigs.list;
6601
- tableData = (listProp ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp) ? listProp({
6602
- data: rest,
6603
- $table: $xeTable,
6604
- $grid: null,
6605
- $gantt: $xeGantt
6606
- }) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp) : rest) || [];
6655
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
6656
+ tableData = rest;
6657
+ } else if (listProp) {
6658
+ tableData = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp) ? listProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp)) || [];
6659
+ }
6660
+ }
6661
+ if (showFooter) {
6662
+ const fdProp = resConfigs.footerData;
6663
+ const footerList = fdProp ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(fdProp) ? fdProp(reParams) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, fdProp) : [];
6664
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerList)) {
6665
+ reactData.footerData = footerList;
6666
+ }
6607
6667
  }
6608
6668
  }
6609
6669
  if ($xeTable) {
6610
6670
  $xeTable.loadData(tableData);
6611
6671
  } else {
6612
6672
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
6673
+ const $xeTable = refTable.value;
6613
6674
  if ($xeTable) {
6614
6675
  $xeTable.loadData(tableData);
6615
6676
  }
@@ -6618,8 +6679,8 @@ function getViewTypeLevel(type) {
6618
6679
  if (afterQuery) {
6619
6680
  afterQuery(commitParams, ...args);
6620
6681
  }
6621
- if (querySuccessMethods) {
6622
- querySuccessMethods({
6682
+ if (qsMethods) {
6683
+ qsMethods({
6623
6684
  ...commitParams,
6624
6685
  response: rest
6625
6686
  });
@@ -6629,8 +6690,8 @@ function getViewTypeLevel(type) {
6629
6690
  };
6630
6691
  }).catch(rest => {
6631
6692
  reactData.tableLoading = false;
6632
- if (queryErrorMethods) {
6633
- queryErrorMethods({
6693
+ if (qeMethods) {
6694
+ qeMethods({
6634
6695
  ...commitParams,
6635
6696
  response: rest
6636
6697
  });
@@ -6640,16 +6701,66 @@ function getViewTypeLevel(type) {
6640
6701
  };
6641
6702
  });
6642
6703
  } else {
6643
- errLog('vxe.error.notFunc', ['proxy-config.ajax.query']);
6704
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.query']);
6705
+ }
6706
+ break;
6707
+ }
6708
+ case 'queryFooter':
6709
+ {
6710
+ const qfMethods = ajax.queryFooter;
6711
+ const qfSuccessMethods = ajax.queryFooterSuccess;
6712
+ const qfErrorMethods = ajax.queryFooterError;
6713
+ if (qfMethods) {
6714
+ let filterList = [];
6715
+ if ($xeTable) {
6716
+ filterList = $xeTable.getCheckedFilters();
6717
+ }
6718
+ const commitParams = {
6719
+ $table: $xeTable,
6720
+ $grid: null,
6721
+ $gantt: $xeGantt,
6722
+ code,
6723
+ button,
6724
+ filters: filterList,
6725
+ form: formData,
6726
+ options: qfMethods
6727
+ };
6728
+ return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
6729
+ reactData.footerData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : [];
6730
+ if (afterQueryFooter) {
6731
+ afterQueryFooter(commitParams, ...args);
6732
+ }
6733
+ if (qfSuccessMethods) {
6734
+ qfSuccessMethods({
6735
+ ...commitParams,
6736
+ response: rest
6737
+ });
6738
+ }
6739
+ return {
6740
+ status: true
6741
+ };
6742
+ }).catch(rest => {
6743
+ if (qfErrorMethods) {
6744
+ qfErrorMethods({
6745
+ ...commitParams,
6746
+ response: rest
6747
+ });
6748
+ }
6749
+ return {
6750
+ status: false
6751
+ };
6752
+ });
6753
+ } else {
6754
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.queryFooter']);
6644
6755
  }
6645
6756
  break;
6646
6757
  }
6647
6758
  case 'delete':
6648
6759
  {
6649
- const ajaxMethods = ajax.delete;
6760
+ const dMethods = ajax.delete;
6650
6761
  const deleteSuccessMethods = ajax.deleteSuccess;
6651
6762
  const deleteErrorMethods = ajax.deleteError;
6652
- if (ajaxMethods) {
6763
+ if (dMethods) {
6653
6764
  const selectRecords = $xeGantt.getCheckboxRecords();
6654
6765
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
6655
6766
  const body = {
@@ -6663,7 +6774,7 @@ function getViewTypeLevel(type) {
6663
6774
  button,
6664
6775
  body,
6665
6776
  form: formData,
6666
- options: ajaxMethods
6777
+ options: dMethods
6667
6778
  };
6668
6779
  if (selectRecords.length) {
6669
6780
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
@@ -6671,7 +6782,7 @@ function getViewTypeLevel(type) {
6671
6782
  return $xeTable.remove(selectRecords);
6672
6783
  }
6673
6784
  reactData.tableLoading = true;
6674
- return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then(rest => {
6785
+ return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args)).then(rest => {
6675
6786
  reactData.tableLoading = false;
6676
6787
  $xeTable.setPendingRow(removeRecords, false);
6677
6788
  if (isRespMsg) {
@@ -6685,7 +6796,10 @@ function getViewTypeLevel(type) {
6685
6796
  if (afterDelete) {
6686
6797
  afterDelete(commitParams, ...args);
6687
6798
  } else {
6799
+ internalData.uFoot = true;
6688
6800
  $xeGantt.commitProxy('query');
6801
+ internalData.uFoot = false;
6802
+ updateQueryFooter();
6689
6803
  }
6690
6804
  if (deleteSuccessMethods) {
6691
6805
  deleteSuccessMethods({
@@ -6730,7 +6844,7 @@ function getViewTypeLevel(type) {
6730
6844
  }
6731
6845
  }
6732
6846
  } else {
6733
- errLog('vxe.error.notFunc', ['proxy-config.ajax.delete']);
6847
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.delete']);
6734
6848
  }
6735
6849
  break;
6736
6850
  }
@@ -6791,7 +6905,10 @@ function getViewTypeLevel(type) {
6791
6905
  if (afterSave) {
6792
6906
  afterSave(commitParams, ...args);
6793
6907
  } else {
6908
+ internalData.uFoot = true;
6794
6909
  $xeGantt.commitProxy('query');
6910
+ internalData.uFoot = false;
6911
+ updateQueryFooter();
6795
6912
  }
6796
6913
  if (saveSuccessMethods) {
6797
6914
  saveSuccessMethods({
@@ -6836,7 +6953,7 @@ function getViewTypeLevel(type) {
6836
6953
  }
6837
6954
  });
6838
6955
  } else {
6839
- errLog('vxe.error.notFunc', ['proxy-config.ajax.save']);
6956
+ errLog('vxe.error.notFunc', ['[gantt] proxy-config.ajax.save']);
6840
6957
  }
6841
6958
  break;
6842
6959
  }
@@ -6854,7 +6971,7 @@ function getViewTypeLevel(type) {
6854
6971
  $gantt: $xeGantt
6855
6972
  }, ...args);
6856
6973
  } else {
6857
- errLog('vxe.error.notCommands', [code]);
6974
+ errLog('vxe.error.notCommands', [`[grid] ${code}`]);
6858
6975
  }
6859
6976
  }
6860
6977
  }
@@ -7073,6 +7190,9 @@ function getViewTypeLevel(type) {
7073
7190
  * 获取需要排除的高度
7074
7191
  */
7075
7192
  getExcludeHeight() {
7193
+ const {
7194
+ height
7195
+ } = props;
7076
7196
  const {
7077
7197
  isZMax
7078
7198
  } = reactData;
@@ -7084,7 +7204,10 @@ function getViewTypeLevel(type) {
7084
7204
  const bottomWrapper = refBottomWrapper.value;
7085
7205
  const pagerWrapper = refPagerWrapper.value;
7086
7206
  const parentEl = el.parentElement;
7087
- const parentPaddingSize = isZMax ? 0 : parentEl ? getPaddingTopBottomSize(parentEl) : 0;
7207
+ let parentPaddingSize = 0;
7208
+ if (parentEl && (height === '100%' || height === 'auto')) {
7209
+ parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(parentEl);
7210
+ }
7088
7211
  return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
7089
7212
  }
7090
7213
  return 0;
@@ -7101,14 +7224,26 @@ function getViewTypeLevel(type) {
7101
7224
  const {
7102
7225
  code
7103
7226
  } = params;
7104
- return $xeGantt.commitProxy(params, evnt).then(rest => {
7105
- if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
7106
- $xeGantt.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', {
7107
- ...rest,
7108
- isReload: code === 'reload'
7109
- }, evnt);
7227
+ if (code) {
7228
+ const isUf = ['reload', 'delete', 'save'].includes(code);
7229
+ if (isUf) {
7230
+ internalData.uFoot = true;
7110
7231
  }
7111
- });
7232
+ const rest = $xeGantt.commitProxy(params, evnt).then(rest => {
7233
+ if (rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
7234
+ $xeGantt.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', {
7235
+ ...rest,
7236
+ isReload: code === 'reload'
7237
+ }, evnt);
7238
+ }
7239
+ });
7240
+ internalData.uFoot = false;
7241
+ if (isUf) {
7242
+ updateQueryFooter();
7243
+ }
7244
+ return rest;
7245
+ }
7246
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
7112
7247
  },
7113
7248
  triggerToolbarBtnEvent(button, evnt) {
7114
7249
  $xeGantt.triggerToolbarCommitEvent(button, evnt);