vxe-table 3.7.0-beta.15 → 3.7.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/lib/edit/src/mixin.js +6 -4
  3. package/lib/edit/src/mixin.min.js +1 -1
  4. package/lib/export/src/mixin.js +4 -1
  5. package/lib/export/src/mixin.min.js +1 -1
  6. package/lib/icon/style/style.css +1 -1
  7. package/lib/icon/style/style.min.css +1 -1
  8. package/lib/index.css +1 -1
  9. package/lib/index.umd.js +663 -428
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/input/src/input.js +24 -1
  12. package/lib/input/src/input.min.js +1 -1
  13. package/lib/input/style/style.css +21 -0
  14. package/lib/input/style/style.min.css +1 -1
  15. package/lib/keyboard/src/mixin.js +4 -1
  16. package/lib/keyboard/src/mixin.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/style.min.css +1 -1
  19. package/lib/table/src/body.js +10 -8
  20. package/lib/table/src/body.min.js +1 -1
  21. package/lib/table/src/cell.js +20 -16
  22. package/lib/table/src/cell.min.js +1 -1
  23. package/lib/table/src/methods.js +573 -379
  24. package/lib/table/src/methods.min.js +1 -1
  25. package/lib/table/src/table.js +15 -13
  26. package/lib/table/src/table.min.js +1 -1
  27. package/lib/table/style/style.css +2 -2
  28. package/lib/table/style/style.min.css +1 -1
  29. package/lib/tools/log.js +1 -1
  30. package/lib/tools/log.min.js +1 -1
  31. package/lib/v-x-e-table/index.js +1 -1
  32. package/lib/v-x-e-table/index.min.js +1 -1
  33. package/lib/validator/src/mixin.js +4 -1
  34. package/lib/validator/src/mixin.min.js +1 -1
  35. package/package.json +4 -9
  36. package/packages/edit/src/mixin.js +7 -5
  37. package/packages/export/src/mixin.js +2 -1
  38. package/packages/input/src/input.js +24 -1
  39. package/packages/keyboard/src/mixin.js +2 -1
  40. package/packages/table/src/body.js +10 -8
  41. package/packages/table/src/cell.js +18 -14
  42. package/packages/table/src/methods.js +408 -202
  43. package/packages/table/src/table.js +15 -13
  44. package/packages/validator/src/mixin.js +2 -1
  45. package/styles/css-variable.scss +3 -3
  46. package/styles/input.scss +25 -0
  47. package/styles/table.scss +6 -2
  48. package/styles/textarea.scss +3 -3
  49. package/styles/variable.scss +3 -3
  50. package/types/v-x-e-table/index.d.ts +1 -1
  51. /package/lib/icon/style/{iconfont.1692577739980.ttf → iconfont.1693628087676.ttf} +0 -0
  52. /package/lib/icon/style/{iconfont.1692577739980.woff → iconfont.1693628087676.woff} +0 -0
  53. /package/lib/icon/style/{iconfont.1692577739980.woff2 → iconfont.1693628087676.woff2} +0 -0
  54. /package/lib/{iconfont.1692577739980.ttf → iconfont.1693628087676.ttf} +0 -0
  55. /package/lib/{iconfont.1692577739980.woff → iconfont.1693628087676.woff} +0 -0
  56. /package/lib/{iconfont.1692577739980.woff2 → iconfont.1693628087676.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -11045,7 +11045,7 @@ var es_array_concat = __webpack_require__(2222);
11045
11045
 
11046
11046
 
11047
11047
  function getLog(message, params) {
11048
- return "[vxe-table v".concat("3.7.0-beta.13", "] ").concat(conf.i18n(message, params));
11048
+ return "[vxe-table v".concat("3.7.0-beta.16", "] ").concat(conf.i18n(message, params));
11049
11049
  }
11050
11050
  function outLog(type) {
11051
11051
  return function (message, params) {
@@ -11235,6 +11235,7 @@ function getDom() {
11235
11235
  if (!storeEl) {
11236
11236
  storeEl = document.createElement('div');
11237
11237
  storeEl.id = storeId;
11238
+ storeEl.style.display = 'none';
11238
11239
  document.body.appendChild(storeEl);
11239
11240
  setCurrent(storeData.m);
11240
11241
  setSubCurrent(storeData.s);
@@ -12481,7 +12482,7 @@ function _t(key, args) {
12481
12482
  var v = 'v3';
12482
12483
  var VXETable = {
12483
12484
  v: v,
12484
- version: "3.7.0-beta.13",
12485
+ version: "3.7.0-beta.16",
12485
12486
  reg: reg,
12486
12487
  use: use,
12487
12488
  setup: setup,
@@ -13274,7 +13275,6 @@ function getSlotVNs(vns) {
13274
13275
 
13275
13276
 
13276
13277
 
13277
-
13278
13278
 
13279
13279
 
13280
13280
  var renderType = 'body';
@@ -13572,9 +13572,9 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13572
13572
  treeOpts = $xetable.treeOpts,
13573
13573
  expandOpts = $xetable.expandOpts,
13574
13574
  editOpts = $xetable.editOpts,
13575
- treeExpandeds = $xetable.treeExpandeds,
13575
+ treeExpandedMaps = $xetable.treeExpandedMaps,
13576
13576
  scrollYLoad = $xetable.scrollYLoad,
13577
- rowExpandeds = $xetable.rowExpandeds,
13577
+ rowExpandedMaps = $xetable.rowExpandedMaps,
13578
13578
  radioOpts = $xetable.radioOpts,
13579
13579
  checkboxOpts = $xetable.checkboxOpts,
13580
13580
  expandColumn = $xetable.expandColumn,
@@ -13623,7 +13623,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13623
13623
  $rowIndex: $rowIndex
13624
13624
  };
13625
13625
  // 行是否被展开
13626
- var isExpandRow = expandColumn && rowExpandeds.length && rowExpandeds.indexOf(row) > -1;
13626
+ var isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
13627
13627
  // 树节点是否被展开
13628
13628
  var isExpandTree = false;
13629
13629
  var rowChildren = [];
@@ -13632,9 +13632,9 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13632
13632
  if (editConfig) {
13633
13633
  isNewRow = $xetable.isInsertByRow(row);
13634
13634
  }
13635
- if (treeConfig && !scrollYLoad && !treeOpts.transform && treeExpandeds.length) {
13635
+ if (treeConfig && !scrollYLoad && !treeOpts.transform) {
13636
13636
  rowChildren = row[childrenField];
13637
- isExpandTree = rowChildren && rowChildren.length && treeExpandeds.indexOf(row) > -1;
13637
+ isExpandTree = rowChildren && rowChildren.length && !!treeExpandedMaps[rowid];
13638
13638
  }
13639
13639
  rows.push(h('tr', {
13640
13640
  "class": ['vxe-body--row', treeConfig ? "row--level-".concat(rowLevel) : '', {
@@ -13643,7 +13643,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13643
13643
  'is--expand-row': isExpandRow,
13644
13644
  'is--expand-tree': isExpandTree,
13645
13645
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
13646
- 'row--radio': radioOpts.highlight && $xetable.selectRow === row,
13646
+ 'row--radio': radioOpts.highlight && $xetable.selectRadioRow === row,
13647
13647
  'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
13648
13648
  }, rowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''],
13649
13649
  attrs: {
@@ -13783,8 +13783,10 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
13783
13783
  },
13784
13784
  beforeDestroy: function beforeDestroy() {
13785
13785
  clearTimeout(this.wheelTime);
13786
- this.$el._onscroll = null;
13787
- this.$el.onscroll = null;
13786
+ if (this.$el) {
13787
+ this.$el._onscroll = null;
13788
+ this.$el.onscroll = null;
13789
+ }
13788
13790
  },
13789
13791
  destroyed: function destroyed() {
13790
13792
  var $xetable = this.$parent,
@@ -15063,8 +15065,8 @@ var Cell = {
15063
15065
  var $table = params.$table,
15064
15066
  isHidden = params.isHidden;
15065
15067
  var treeOpts = $table.treeOpts,
15066
- treeExpandeds = $table.treeExpandeds,
15067
- treeLazyLoadeds = $table.treeLazyLoadeds;
15068
+ treeExpandedMaps = $table.treeExpandedMaps,
15069
+ treeExpandLazyLoadedMaps = $table.treeExpandLazyLoadedMaps;
15068
15070
  var row = params.row,
15069
15071
  column = params.column,
15070
15072
  level = params.level;
@@ -15087,9 +15089,10 @@ var Cell = {
15087
15089
  return $table.callSlot(slots.icon, params, h, cellVNodes);
15088
15090
  }
15089
15091
  if (!isHidden) {
15090
- isAceived = $table.findRowIndexOf(treeExpandeds, row) > -1;
15092
+ var rowid = getRowid($table, row);
15093
+ isAceived = !!treeExpandedMaps[rowid];
15091
15094
  if (lazy) {
15092
- isLazyLoaded = $table.findRowIndexOf(treeLazyLoadeds, row) > -1;
15095
+ isLazyLoaded = !!treeExpandLazyLoadedMaps[rowid];
15093
15096
  hasLazyChilds = row[hasChildField];
15094
15097
  }
15095
15098
  }
@@ -15158,7 +15161,7 @@ var Cell = {
15158
15161
  column = params.column,
15159
15162
  isHidden = params.isHidden;
15160
15163
  var radioOpts = $table.radioOpts,
15161
- selectRow = $table.selectRow;
15164
+ selectRadioRow = $table.selectRadioRow;
15162
15165
  var slots = column.slots;
15163
15166
  var labelField = radioOpts.labelField,
15164
15167
  checkMethod = radioOpts.checkMethod,
@@ -15166,7 +15169,7 @@ var Cell = {
15166
15169
  var row = params.row;
15167
15170
  var defaultSlot = slots ? slots["default"] : null;
15168
15171
  var radioSlot = slots ? slots.radio : null;
15169
- var isChecked = row === selectRow;
15172
+ var isChecked = row === selectRadioRow;
15170
15173
  var isVisible = !visibleMethod || visibleMethod({
15171
15174
  row: row
15172
15175
  });
@@ -15278,8 +15281,8 @@ var Cell = {
15278
15281
  column = params.column,
15279
15282
  isHidden = params.isHidden;
15280
15283
  var treeConfig = $table.treeConfig,
15281
- treeIndeterminates = $table.treeIndeterminates,
15282
- selectCheckboxRows = $table.selectCheckboxRows;
15284
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15285
+ selectCheckboxMaps = $table.selectCheckboxMaps;
15283
15286
  var _$table$checkboxOpts = $table.checkboxOpts,
15284
15287
  labelField = _$table$checkboxOpts.labelField,
15285
15288
  checkMethod = _$table$checkboxOpts.checkMethod,
@@ -15295,7 +15298,8 @@ var Cell = {
15295
15298
  var isDisabled = !!checkMethod;
15296
15299
  var on;
15297
15300
  if (!isHidden) {
15298
- isChecked = $table.findRowIndexOf(selectCheckboxRows, row) > -1;
15301
+ var rowid = getRowid($table, row);
15302
+ isChecked = !!selectCheckboxMaps[rowid];
15299
15303
  on = {
15300
15304
  click: function click(evnt) {
15301
15305
  if (!isDisabled && isVisible) {
@@ -15310,7 +15314,7 @@ var Cell = {
15310
15314
  });
15311
15315
  }
15312
15316
  if (treeConfig) {
15313
- indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15317
+ indeterminate = !!treeIndeterminateMaps[rowid];
15314
15318
  }
15315
15319
  }
15316
15320
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
@@ -15351,7 +15355,7 @@ var Cell = {
15351
15355
  column = params.column,
15352
15356
  isHidden = params.isHidden;
15353
15357
  var treeConfig = $table.treeConfig,
15354
- treeIndeterminates = $table.treeIndeterminates,
15358
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15355
15359
  checkboxOpts = $table.checkboxOpts;
15356
15360
  var labelField = checkboxOpts.labelField,
15357
15361
  checkField = checkboxOpts.checkField,
@@ -15369,6 +15373,7 @@ var Cell = {
15369
15373
  var isDisabled = !!checkMethod;
15370
15374
  var on;
15371
15375
  if (!isHidden) {
15376
+ var rowid = getRowid($table, row);
15372
15377
  isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
15373
15378
  on = {
15374
15379
  click: function click(evnt) {
@@ -15384,7 +15389,7 @@ var Cell = {
15384
15389
  });
15385
15390
  }
15386
15391
  if (treeConfig) {
15387
- isIndeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15392
+ isIndeterminate = !!treeIndeterminateMaps[rowid];
15388
15393
  }
15389
15394
  }
15390
15395
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
@@ -15428,8 +15433,8 @@ var Cell = {
15428
15433
  row = params.row,
15429
15434
  column = params.column;
15430
15435
  var expandOpts = $table.expandOpts,
15431
- rowExpandeds = $table.rowExpandeds,
15432
- expandLazyLoadeds = $table.expandLazyLoadeds;
15436
+ rowExpandedMaps = $table.rowExpandedMaps,
15437
+ rowExpandLazyLoadedMaps = $table.rowExpandLazyLoadedMaps;
15433
15438
  var lazy = expandOpts.lazy,
15434
15439
  labelField = expandOpts.labelField,
15435
15440
  iconLoaded = expandOpts.iconLoaded,
@@ -15445,9 +15450,10 @@ var Cell = {
15445
15450
  return $table.callSlot(slots.icon, params, h);
15446
15451
  }
15447
15452
  if (!isHidden) {
15448
- isAceived = $table.findRowIndexOf(rowExpandeds, params.row) > -1;
15453
+ var rowid = getRowid($table, row);
15454
+ isAceived = !!rowExpandedMaps[rowid];
15449
15455
  if (lazy) {
15450
- isLazyLoaded = $table.findRowIndexOf(expandLazyLoadeds, row) > -1;
15456
+ isLazyLoaded = !!rowExpandLazyLoadedMaps[rowid];
15451
15457
  }
15452
15458
  }
15453
15459
  return [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
@@ -15706,7 +15712,6 @@ var Cell = {
15706
15712
 
15707
15713
 
15708
15714
 
15709
-
15710
15715
 
15711
15716
 
15712
15717
  var setCellValue = utils.setCellValue,
@@ -15755,12 +15760,16 @@ function getCustomStorageMap(key) {
15755
15760
  _v: version
15756
15761
  };
15757
15762
  }
15758
- function getRecoverRow(_vm, list) {
15759
- var fullAllDataRowMap = _vm.fullAllDataRowMap;
15760
- return list.filter(function (row) {
15761
- return fullAllDataRowMap.has(row);
15763
+ var getRecoverRowMaps = function getRecoverRowMaps(_vm, keyMaps) {
15764
+ var fullAllDataRowIdData = _vm.fullAllDataRowIdData;
15765
+ var restKeys = {};
15766
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps, function (row, rowid) {
15767
+ if (fullAllDataRowIdData[rowid]) {
15768
+ restKeys[rowid] = row;
15769
+ }
15762
15770
  });
15763
- }
15771
+ return restKeys;
15772
+ };
15764
15773
  function handleReserveRow(_vm, reserveRowMap) {
15765
15774
  var fullDataRowIdData = _vm.fullDataRowIdData;
15766
15775
  var reserveList = [];
@@ -16371,7 +16380,9 @@ var Methods = {
16371
16380
  fullAllDataRowIdData = this.fullAllDataRowIdData = {};
16372
16381
  fullAllDataRowMap.clear();
16373
16382
  if (treeConfig) {
16374
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, treeOpts);
16383
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, {
16384
+ children: childrenField
16385
+ });
16375
16386
  } else {
16376
16387
  tableFullData.forEach(handleCache);
16377
16388
  }
@@ -16397,7 +16408,10 @@ var Methods = {
16397
16408
  };
16398
16409
  // 源数据缓存
16399
16410
  if (treeConfig && !treeOpts.transform) {
16400
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, treeOpts);
16411
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16412
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, {
16413
+ children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
16414
+ });
16401
16415
  } else {
16402
16416
  sourceData.forEach(handleSourceRow);
16403
16417
  }
@@ -16411,7 +16425,8 @@ var Methods = {
16411
16425
  fullDataRowIdData = this.fullDataRowIdData,
16412
16426
  fullDataRowMap = this.fullDataRowMap,
16413
16427
  fullAllDataRowMap = this.fullAllDataRowMap,
16414
- fullAllDataRowIdData = this.fullAllDataRowIdData;
16428
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
16429
+ sourceDataRowIdData = this.sourceDataRowIdData;
16415
16430
  var transform = treeOpts.transform,
16416
16431
  mapChildrenField = treeOpts.mapChildrenField;
16417
16432
  var childrenField = treeOpts.children || treeOpts.childrenField;
@@ -16422,10 +16437,16 @@ var Methods = {
16422
16437
  var rowid = getRowid(_this12, row);
16423
16438
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData, function (item) {
16424
16439
  return rowid === getRowid(_this12, item);
16425
- }, treeOpts);
16440
+ }, {
16441
+ children: childrenField
16442
+ });
16426
16443
  if (matchObj) {
16427
16444
  matchObj.item[childrenField] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16428
16445
  }
16446
+ rows.forEach(function (childRow) {
16447
+ var rowid = getRowid(_this12, childRow);
16448
+ sourceDataRowIdData[rowid] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(childRow, true);
16449
+ });
16429
16450
  }
16430
16451
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, function (childRow, index, items, path, parent, nodes) {
16431
16452
  var rowid = getRowid(_this12, childRow);
@@ -16444,7 +16465,9 @@ var Methods = {
16444
16465
  fullDataRowMap.set(childRow, rest);
16445
16466
  fullAllDataRowIdData[rowid] = rest;
16446
16467
  fullAllDataRowMap.set(childRow, rest);
16447
- }, treeOpts);
16468
+ }, {
16469
+ children: childrenField
16470
+ });
16448
16471
  row[childrenField] = rows;
16449
16472
  if (transform) {
16450
16473
  row[mapChildrenField] = rows;
@@ -16912,14 +16935,14 @@ var Methods = {
16912
16935
  * 用于多选行,获取已选中的数据
16913
16936
  */
16914
16937
  getCheckboxRecords: function getCheckboxRecords(isFull) {
16915
- var _this17 = this;
16916
16938
  var tableFullData = this.tableFullData,
16917
16939
  afterFullData = this.afterFullData,
16918
16940
  treeConfig = this.treeConfig,
16919
16941
  treeOpts = this.treeOpts,
16920
16942
  checkboxOpts = this.checkboxOpts,
16921
16943
  tableFullTreeData = this.tableFullTreeData,
16922
- afterTreeFullData = this.afterTreeFullData;
16944
+ afterTreeFullData = this.afterTreeFullData,
16945
+ afterFullRowMaps = this.afterFullRowMaps;
16923
16946
  var transform = treeOpts.transform,
16924
16947
  mapChildrenField = treeOpts.mapChildrenField;
16925
16948
  var checkField = checkboxOpts.checkField;
@@ -16939,18 +16962,13 @@ var Methods = {
16939
16962
  });
16940
16963
  }
16941
16964
  } else {
16942
- var selectCheckboxRows = this.selectCheckboxRows;
16943
- if (treeConfig) {
16944
- rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, function (row) {
16945
- return _this17.findRowIndexOf(selectCheckboxRows, row) > -1;
16946
- }, {
16947
- children: transform ? mapChildrenField : childrenField
16948
- });
16949
- } else {
16950
- rowList = currTableData.filter(function (row) {
16951
- return _this17.findRowIndexOf(selectCheckboxRows, row) > -1;
16952
- });
16953
- }
16965
+ var selectCheckboxMaps = this.selectCheckboxMaps,
16966
+ fullDataRowIdData = this.fullDataRowIdData;
16967
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
16968
+ if (isFull ? fullDataRowIdData[rowid] : afterFullRowMaps[rowid]) {
16969
+ rowList.push(row);
16970
+ }
16971
+ });
16954
16972
  }
16955
16973
  return rowList;
16956
16974
  },
@@ -16959,17 +16977,20 @@ var Methods = {
16959
16977
  * @returns
16960
16978
  */
16961
16979
  handleVirtualTreeToList: function handleVirtualTreeToList() {
16980
+ var _this17 = this;
16962
16981
  var treeOpts = this.treeOpts,
16963
16982
  treeConfig = this.treeConfig,
16964
- treeExpandeds = this.treeExpandeds,
16983
+ treeExpandedMaps = this.treeExpandedMaps,
16965
16984
  afterTreeFullData = this.afterTreeFullData,
16966
16985
  afterFullData = this.afterFullData;
16967
16986
  if (treeConfig && treeOpts.transform) {
16968
16987
  var fullData = [];
16969
- var expandMaps = new Map();
16988
+ var expandMaps = {};
16970
16989
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, function (row, index, items, path, parent) {
16971
- if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
16972
- expandMaps.set(row, 1);
16990
+ var rowid = getRowid(_this17, row);
16991
+ var parentRowid = getRowid(_this17, parent);
16992
+ if (!parent || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
16993
+ expandMaps[rowid] = 1;
16973
16994
  fullData.push(row);
16974
16995
  }
16975
16996
  }, {
@@ -17199,6 +17220,7 @@ var Methods = {
17199
17220
  afterTreeFullData = this.afterTreeFullData,
17200
17221
  treeOpts = this.treeOpts;
17201
17222
  var childrenField = treeOpts.children || treeOpts.childrenField;
17223
+ var fullMaps = {};
17202
17224
  if (treeConfig) {
17203
17225
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, function (row, index, items, path) {
17204
17226
  var rowid = getRowid(_this19, row);
@@ -17224,6 +17246,7 @@ var Methods = {
17224
17246
  fullAllDataRowIdData[rowid] = rest;
17225
17247
  fullDataRowIdData[rowid] = rest;
17226
17248
  }
17249
+ fullMaps[rowid] = row;
17227
17250
  }, {
17228
17251
  children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
17229
17252
  });
@@ -17250,8 +17273,10 @@ var Methods = {
17250
17273
  fullAllDataRowIdData[rowid] = rest;
17251
17274
  fullDataRowIdData[rowid] = rest;
17252
17275
  }
17276
+ fullMaps[rowid] = row;
17253
17277
  });
17254
17278
  }
17279
+ this.afterFullRowMaps = fullMaps;
17255
17280
  },
17256
17281
  /**
17257
17282
  * 只对 tree-config 有效,获取行的父级
@@ -18540,6 +18565,7 @@ var Methods = {
18540
18565
  var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
18541
18566
  var operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
18542
18567
  var isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
18568
+ var childrenField = treeOpts.children || treeOpts.childrenField;
18543
18569
  var params;
18544
18570
  if (filterStore.visible) {
18545
18571
  if (isEsc) {
@@ -18614,7 +18640,7 @@ var Methods = {
18614
18640
  }
18615
18641
  } else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
18616
18642
  // 如果是树形表格当前行回车移动到子节点
18617
- var childrens = currentRow[treeOpts.children];
18643
+ var childrens = currentRow[childrenField];
18618
18644
  if (childrens && childrens.length) {
18619
18645
  evnt.preventDefault();
18620
18646
  var targetRow = childrens[0];
@@ -18684,7 +18710,9 @@ var Methods = {
18684
18710
  // 如果树形表格回退键关闭当前行返回父节点
18685
18711
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(_this29.afterFullData, function (item) {
18686
18712
  return item === currentRow;
18687
- }, treeOpts),
18713
+ }, {
18714
+ children: childrenField
18715
+ }),
18688
18716
  parentRow = _XEUtils$findTree.parent;
18689
18717
  if (parentRow) {
18690
18718
  evnt.preventDefault();
@@ -18990,15 +19018,24 @@ var Methods = {
18990
19018
  * 获取复选框半选状态的行数据
18991
19019
  */
18992
19020
  getCheckboxIndeterminateRecords: function getCheckboxIndeterminateRecords(isFull) {
18993
- var _this31 = this;
18994
19021
  var treeConfig = this.treeConfig,
18995
- treeIndeterminates = this.treeIndeterminates,
19022
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
18996
19023
  fullDataRowIdData = this.fullDataRowIdData;
18997
19024
  if (treeConfig) {
18998
- return isFull ? treeIndeterminates.slice(0) : treeIndeterminates.filter(function (row) {
18999
- var rowid = getRowid(_this31, row);
19000
- return fullDataRowIdData[rowid];
19025
+ var fullRest = [];
19026
+ var defRest = [];
19027
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeIndeterminateMaps, function (item, rowid) {
19028
+ if (item) {
19029
+ fullRest.push(item);
19030
+ if (fullDataRowIdData[rowid]) {
19031
+ defRest.push(item);
19032
+ }
19033
+ }
19001
19034
  });
19035
+ if (isFull) {
19036
+ return fullRest;
19037
+ }
19038
+ return defRest;
19002
19039
  }
19003
19040
  return [];
19004
19041
  },
@@ -19023,12 +19060,12 @@ var Methods = {
19023
19060
  }
19024
19061
  },
19025
19062
  handleCheckedCheckboxRow: function handleCheckedCheckboxRow(rows, value, isForce) {
19026
- var _this32 = this;
19063
+ var _this31 = this;
19027
19064
  if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
19028
19065
  rows = [rows];
19029
19066
  }
19030
19067
  rows.forEach(function (row) {
19031
- return _this32.handleSelectRow({
19068
+ return _this31.handleSelectRow({
19032
19069
  row: row
19033
19070
  }, !!value, isForce);
19034
19071
  });
@@ -19043,78 +19080,108 @@ var Methods = {
19043
19080
  return this.handleCheckedCheckboxRow(rows, value, true);
19044
19081
  },
19045
19082
  isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {
19046
- var selectCheckboxRows = this.selectCheckboxRows;
19083
+ var selectCheckboxMaps = this.selectCheckboxMaps;
19047
19084
  var checkField = this.checkboxOpts.checkField;
19048
19085
  if (checkField) {
19049
19086
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
19050
19087
  }
19051
- return this.findRowIndexOf(selectCheckboxRows, row) > -1;
19088
+ return !!selectCheckboxMaps[getRowid(this, row)];
19052
19089
  },
19053
19090
  isIndeterminateByCheckboxRow: function isIndeterminateByCheckboxRow(row) {
19054
- var treeIndeterminates = this.treeIndeterminates;
19055
- return this.findRowIndexOf(treeIndeterminates, row) > -1 && !this.isCheckedByCheckboxRow(row);
19091
+ var treeIndeterminateMaps = this.treeIndeterminateMaps;
19092
+ return !!treeIndeterminateMaps[getRowid(this, row)] && !this.isCheckedByCheckboxRow(row);
19056
19093
  },
19057
19094
  /**
19058
19095
  * 多选,行选中事件
19059
19096
  * value 选中true 不选false 半选-1
19060
19097
  */
19061
19098
  handleSelectRow: function handleSelectRow(_ref6, value, isForce) {
19062
- var _this33 = this;
19099
+ var _this32 = this;
19063
19100
  var row = _ref6.row;
19064
- var selectCheckboxRows = this.selectCheckboxRows,
19101
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19065
19102
  afterFullData = this.afterFullData,
19066
19103
  treeConfig = this.treeConfig,
19067
19104
  treeOpts = this.treeOpts,
19068
- treeIndeterminates = this.treeIndeterminates,
19105
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
19069
19106
  checkboxOpts = this.checkboxOpts;
19070
19107
  var checkField = checkboxOpts.checkField,
19071
19108
  checkStrictly = checkboxOpts.checkStrictly,
19072
19109
  checkMethod = checkboxOpts.checkMethod;
19110
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
19111
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19112
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19113
+ var rowid = getRowid(this, row);
19073
19114
  if (checkField) {
19074
19115
  if (treeConfig && !checkStrictly) {
19075
19116
  if (value === -1) {
19076
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
19077
- treeIndeterminates.push(row);
19117
+ if (!treeIndeterminateMaps[rowid]) {
19118
+ if (indeterminateField) {
19119
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19120
+ }
19121
+ treeIndeterminateMaps[rowid] = row;
19078
19122
  }
19079
19123
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, false);
19080
19124
  } else {
19081
19125
  // 更新子节点状态
19082
19126
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], function (item) {
19083
- if (_this33.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19127
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19084
19128
  row: item
19085
19129
  })) {
19086
19130
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, value);
19087
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeIndeterminates, function (half) {
19088
- return _this33.eqRow(half, item);
19089
- });
19090
- _this33.handleCheckboxReserveRow(row, value);
19131
+ if (indeterminateField) {
19132
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19133
+ }
19134
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19135
+ _this32.handleCheckboxReserveRow(row, value);
19091
19136
  }
19092
- }, treeOpts);
19137
+ }, {
19138
+ children: childrenField
19139
+ });
19093
19140
  }
19094
19141
  // 如果存在父节点,更新父节点状态
19095
19142
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
19096
- return _this33.eqRow(item, row);
19097
- }, treeOpts);
19143
+ return _this32.eqRow(item, row);
19144
+ }, {
19145
+ children: childrenField
19146
+ });
19098
19147
  if (matchObj && matchObj.parent) {
19099
19148
  var parentStatus;
19100
- var vItems = !isForce && checkMethod ? matchObj.items.filter(function (item) {
19101
- return checkMethod({
19102
- row: item
19149
+ var vItems = [];
19150
+ var vItemMaps = {};
19151
+ if (!isForce && checkMethod) {
19152
+ matchObj.items.forEach(function (item) {
19153
+ if (checkMethod({
19154
+ row: item
19155
+ })) {
19156
+ var itemRid = getRowid(_this32, item);
19157
+ vItemMaps[itemRid] = item;
19158
+ vItems.push(item);
19159
+ }
19160
+ });
19161
+ } else {
19162
+ matchObj.items.forEach(function (item) {
19163
+ var itemRid = getRowid(_this32, item);
19164
+ vItemMaps[itemRid] = item;
19165
+ vItems.push(item);
19103
19166
  });
19104
- }) : matchObj.items;
19167
+ }
19105
19168
  var indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(matchObj.items, function (item) {
19106
- return _this33.findRowIndexOf(treeIndeterminates, item) > -1;
19169
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19107
19170
  });
19108
19171
  if (indeterminatesItem) {
19109
19172
  parentStatus = -1;
19110
19173
  } else {
19111
- var selectItems = matchObj.items.filter(function (item) {
19112
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField);
19174
+ var selectItems = [];
19175
+ matchObj.items.forEach(function (item) {
19176
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField)) {
19177
+ selectItems.push(item);
19178
+ }
19113
19179
  });
19114
19180
  parentStatus = selectItems.filter(function (item) {
19115
- return _this33.findRowIndexOf(vItems, item) > -1;
19181
+ return vItemMaps[getRowid(_this32, item)];
19116
19182
  }).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
19117
19183
  }
19184
+ this.selectCheckboxMaps = selectRowMaps;
19118
19185
  return this.handleSelectRow({
19119
19186
  row: matchObj.parent
19120
19187
  }, parentStatus, isForce);
@@ -19130,56 +19197,84 @@ var Methods = {
19130
19197
  } else {
19131
19198
  if (treeConfig && !checkStrictly) {
19132
19199
  if (value === -1) {
19133
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
19134
- treeIndeterminates.push(row);
19200
+ if (!treeIndeterminateMaps[rowid]) {
19201
+ if (indeterminateField) {
19202
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19203
+ }
19204
+ treeIndeterminateMaps[rowid] = row;
19205
+ }
19206
+ if (selectRowMaps[rowid]) {
19207
+ delete selectRowMaps[rowid];
19135
19208
  }
19136
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (item) {
19137
- return _this33.eqRow(item, row);
19138
- });
19139
19209
  } else {
19140
19210
  // 更新子节点状态
19141
19211
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], function (item) {
19142
- if (_this33.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19212
+ var itemRid = getRowid(_this32, item);
19213
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19143
19214
  row: item
19144
19215
  })) {
19145
19216
  if (value) {
19146
- selectCheckboxRows.push(item);
19217
+ selectRowMaps[itemRid] = item;
19147
19218
  } else {
19148
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (select) {
19149
- return _this33.eqRow(select, item);
19150
- });
19219
+ if (selectRowMaps[itemRid]) {
19220
+ delete selectRowMaps[itemRid];
19221
+ }
19151
19222
  }
19152
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeIndeterminates, function (half) {
19153
- return _this33.eqRow(half, item);
19154
- });
19155
- _this33.handleCheckboxReserveRow(row, value);
19223
+ if (indeterminateField) {
19224
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19225
+ }
19226
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19227
+ _this32.handleCheckboxReserveRow(row, value);
19156
19228
  }
19157
- }, treeOpts);
19229
+ }, {
19230
+ children: childrenField
19231
+ });
19158
19232
  }
19159
19233
  // 如果存在父节点,更新父节点状态
19160
19234
  var _matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
19161
- return _this33.eqRow(item, row);
19162
- }, treeOpts);
19235
+ return _this32.eqRow(item, row);
19236
+ }, {
19237
+ children: childrenField
19238
+ });
19163
19239
  if (_matchObj && _matchObj.parent) {
19164
19240
  var _parentStatus;
19165
- var _vItems = !isForce && checkMethod ? _matchObj.items.filter(function (item) {
19166
- return checkMethod({
19167
- row: item
19241
+ var _vItems = [];
19242
+ var _vItemMaps = {};
19243
+ if (!isForce && checkMethod) {
19244
+ _matchObj.items.forEach(function (item) {
19245
+ if (checkMethod({
19246
+ row: item
19247
+ })) {
19248
+ var itemRid = getRowid(_this32, item);
19249
+ _vItemMaps[itemRid] = item;
19250
+ _vItems.push(item);
19251
+ }
19252
+ });
19253
+ } else {
19254
+ _matchObj.items.forEach(function (item) {
19255
+ var itemRid = getRowid(_this32, item);
19256
+ _vItemMaps[itemRid] = item;
19257
+ _vItems.push(item);
19168
19258
  });
19169
- }) : _matchObj.items;
19259
+ }
19170
19260
  var _indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(_matchObj.items, function (item) {
19171
- return _this33.findRowIndexOf(treeIndeterminates, item) > -1;
19261
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19172
19262
  });
19173
19263
  if (_indeterminatesItem) {
19174
19264
  _parentStatus = -1;
19175
19265
  } else {
19176
- var _selectItems = _matchObj.items.filter(function (item) {
19177
- return _this33.findRowIndexOf(selectCheckboxRows, item) > -1;
19266
+ var _selectItems = [];
19267
+ _matchObj.items.forEach(function (item) {
19268
+ var itemRid = getRowid(_this32, item);
19269
+ if (selectRowMaps[itemRid]) {
19270
+ _selectItems.push(item);
19271
+ }
19178
19272
  });
19179
19273
  _parentStatus = _selectItems.filter(function (item) {
19180
- return _this33.findRowIndexOf(_vItems, item) > -1;
19274
+ return _vItemMaps[getRowid(_this32, item)];
19181
19275
  }).length === _vItems.length ? true : _selectItems.length || value === -1 ? -1 : false;
19182
19276
  }
19277
+ this.selectCheckboxMaps = selectRowMaps;
19183
19278
  return this.handleSelectRow({
19184
19279
  row: _matchObj.parent
19185
19280
  }, _parentStatus, isForce);
@@ -19189,26 +19284,32 @@ var Methods = {
19189
19284
  row: row
19190
19285
  })) {
19191
19286
  if (value) {
19192
- if (this.findRowIndexOf(selectCheckboxRows, row) === -1) {
19193
- selectCheckboxRows.push(row);
19287
+ if (!selectRowMaps[rowid]) {
19288
+ selectRowMaps[rowid] = row;
19194
19289
  }
19195
19290
  } else {
19196
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (item) {
19197
- return _this33.eqRow(item, row);
19198
- });
19291
+ if (selectRowMaps[rowid]) {
19292
+ delete selectRowMaps[rowid];
19293
+ }
19199
19294
  }
19200
19295
  this.handleCheckboxReserveRow(row, value);
19201
19296
  }
19202
19297
  }
19203
19298
  }
19299
+ this.selectCheckboxMaps = selectRowMaps;
19204
19300
  this.checkSelectionStatus();
19205
19301
  },
19206
19302
  handleToggleCheckRowEvent: function handleToggleCheckRowEvent(evnt, params) {
19207
- var selectCheckboxRows = this.selectCheckboxRows,
19303
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19208
19304
  checkboxOpts = this.checkboxOpts;
19209
19305
  var checkField = checkboxOpts.checkField;
19210
19306
  var row = params.row;
19211
- var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : this.findRowIndexOf(selectCheckboxRows, row) === -1;
19307
+ var value = false;
19308
+ if (checkField) {
19309
+ value = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
19310
+ } else {
19311
+ value = !selectCheckboxMaps[getRowid(this, row)];
19312
+ }
19212
19313
  if (evnt) {
19213
19314
  this.triggerCheckRowEvent(evnt, params, value);
19214
19315
  } else {
@@ -19253,32 +19354,42 @@ var Methods = {
19253
19354
  * 多选,切换某一行的选中状态
19254
19355
  */
19255
19356
  toggleCheckboxRow: function toggleCheckboxRow(row) {
19256
- var selectCheckboxRows = this.selectCheckboxRows,
19357
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19257
19358
  checkboxOpts = this.checkboxOpts;
19258
19359
  var checkField = checkboxOpts.checkField;
19259
- var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : this.findRowIndexOf(selectCheckboxRows, row) === -1;
19360
+ var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : !selectCheckboxMaps[getRowid(this, row)];
19260
19361
  this.handleSelectRow({
19261
19362
  row: row
19262
19363
  }, value, true);
19263
19364
  return this.$nextTick();
19264
19365
  },
19265
19366
  handleCheckedAllCheckboxRow: function handleCheckedAllCheckboxRow(value, isForce) {
19266
- var _this34 = this;
19367
+ var _this33 = this;
19267
19368
  var afterFullData = this.afterFullData,
19268
19369
  treeConfig = this.treeConfig,
19269
19370
  treeOpts = this.treeOpts,
19270
- selectCheckboxRows = this.selectCheckboxRows,
19371
+ selectCheckboxMaps = this.selectCheckboxMaps,
19271
19372
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19272
- checkboxOpts = this.checkboxOpts;
19373
+ checkboxOpts = this.checkboxOpts,
19374
+ afterFullRowMaps = this.afterFullRowMaps;
19273
19375
  var checkField = checkboxOpts.checkField,
19274
19376
  reserve = checkboxOpts.reserve,
19275
19377
  checkStrictly = checkboxOpts.checkStrictly,
19276
19378
  checkMethod = checkboxOpts.checkMethod;
19277
19379
  var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19278
- var selectRows = [];
19279
- var beforeSelection = treeConfig ? [] : selectCheckboxRows.filter(function (row) {
19280
- return _this34.findRowIndexOf(afterFullData, row) === -1;
19281
- });
19380
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19381
+ var selectRowMaps = {};
19382
+
19383
+ // 疑惑!
19384
+ if (!treeConfig) {
19385
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
19386
+ if (!afterFullRowMaps[rowid]) {
19387
+ selectRowMaps[rowid] = row;
19388
+ }
19389
+ });
19390
+ }
19391
+ // 疑惑!
19392
+
19282
19393
  if (checkStrictly) {
19283
19394
  this.isAllSelected = value;
19284
19395
  } else {
@@ -19292,7 +19403,7 @@ var Methods = {
19292
19403
  row: row
19293
19404
  })) {
19294
19405
  if (value) {
19295
- selectRows.push(row);
19406
+ selectRowMaps[getRowid(_this33, row)] = row;
19296
19407
  }
19297
19408
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, value);
19298
19409
  }
@@ -19303,7 +19414,9 @@ var Methods = {
19303
19414
  // 如果存在选中方法
19304
19415
  // 如果方法成立,则更新值,否则忽略该数据
19305
19416
  if (treeConfig) {
19306
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, treeOpts);
19417
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, {
19418
+ children: childrenField
19419
+ });
19307
19420
  } else {
19308
19421
  afterFullData.forEach(checkValFn);
19309
19422
  }
@@ -19322,9 +19435,11 @@ var Methods = {
19322
19435
  if (isForce || !checkMethod || checkMethod({
19323
19436
  row: row
19324
19437
  })) {
19325
- selectRows.push(row);
19438
+ selectRowMaps[getRowid(_this33, row)] = row;
19326
19439
  }
19327
- }, treeOpts);
19440
+ }, {
19441
+ children: childrenField
19442
+ });
19328
19443
  } else {
19329
19444
  /**
19330
19445
  * 如果是树取消
@@ -19332,12 +19447,15 @@ var Methods = {
19332
19447
  */
19333
19448
  if (!isForce && checkMethod) {
19334
19449
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, function (row) {
19450
+ var rowid = getRowid(_this33, row);
19335
19451
  if (checkMethod({
19336
19452
  row: row
19337
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1) {
19338
- selectRows.push(row);
19453
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19454
+ selectRowMaps[rowid] = row;
19339
19455
  }
19340
- }, treeOpts);
19456
+ }, {
19457
+ children: childrenField
19458
+ });
19341
19459
  }
19342
19460
  }
19343
19461
  } else {
@@ -19348,13 +19466,18 @@ var Methods = {
19348
19466
  * 如果不存在选中方法,则添加所有数据到临时集合中
19349
19467
  */
19350
19468
  if (!isForce && checkMethod) {
19351
- selectRows = afterFullData.filter(function (row) {
19352
- return _this34.findRowIndexOf(selectCheckboxRows, row) > -1 || checkMethod({
19469
+ afterFullData.forEach(function (row) {
19470
+ var rowid = getRowid(_this33, row);
19471
+ if (selectCheckboxMaps[rowid] || checkMethod({
19353
19472
  row: row
19354
- });
19473
+ })) {
19474
+ selectRowMaps[rowid] = row;
19475
+ }
19355
19476
  });
19356
19477
  } else {
19357
- selectRows = afterFullData.slice(0);
19478
+ afterFullData.forEach(function (row) {
19479
+ selectRowMaps[getRowid(_this33, row)] = row;
19480
+ });
19358
19481
  }
19359
19482
  } else {
19360
19483
  /**
@@ -19363,10 +19486,13 @@ var Methods = {
19363
19486
  * 如果不存在选中方法,无需处理,临时集合默认为空
19364
19487
  */
19365
19488
  if (!isForce && checkMethod) {
19366
- selectRows = afterFullData.filter(function (row) {
19367
- return checkMethod({
19489
+ afterFullData.forEach(function (row) {
19490
+ var rowid = getRowid(_this33, row);
19491
+ if (checkMethod({
19368
19492
  row: row
19369
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1;
19493
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19494
+ selectRowMaps[rowid] = row;
19495
+ }
19370
19496
  });
19371
19497
  }
19372
19498
  }
@@ -19374,18 +19500,19 @@ var Methods = {
19374
19500
  }
19375
19501
  if (reserve) {
19376
19502
  if (value) {
19377
- selectRows.forEach(function (row) {
19378
- checkboxReserveRowMap[getRowid(_this34, row)] = row;
19503
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, function (row, rowid) {
19504
+ checkboxReserveRowMap[rowid] = row;
19379
19505
  });
19380
19506
  } else {
19381
19507
  afterFullData.forEach(function (row) {
19382
- return _this34.handleCheckboxReserveRow(row, false);
19508
+ return _this33.handleCheckboxReserveRow(row, false);
19383
19509
  });
19384
19510
  }
19385
19511
  }
19386
- this.selectCheckboxRows = checkField ? [] : beforeSelection.concat(selectRows);
19512
+ this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
19387
19513
  }
19388
- this.treeIndeterminates = [];
19514
+ this.treeIndeterminateMaps = {};
19515
+ this.treeIndeterminateRowMaps = {};
19389
19516
  this.checkSelectionStatus();
19390
19517
  return this.$nextTick();
19391
19518
  },
@@ -19397,10 +19524,10 @@ var Methods = {
19397
19524
  return this.handleCheckedAllCheckboxRow(value, true);
19398
19525
  },
19399
19526
  checkSelectionStatus: function checkSelectionStatus() {
19400
- var _this35 = this;
19527
+ var _this34 = this;
19401
19528
  var afterFullData = this.afterFullData,
19402
- selectCheckboxRows = this.selectCheckboxRows,
19403
- treeIndeterminates = this.treeIndeterminates,
19529
+ selectCheckboxMaps = this.selectCheckboxMaps,
19530
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
19404
19531
  checkboxOpts = this.checkboxOpts,
19405
19532
  treeConfig = this.treeConfig;
19406
19533
  var checkField = checkboxOpts.checkField,
@@ -19433,11 +19560,11 @@ var Methods = {
19433
19560
  if (treeConfig) {
19434
19561
  if (indeterminateField) {
19435
19562
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19436
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, indeterminateField) || _this35.findRowIndexOf(treeIndeterminates, row) > -1;
19563
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, indeterminateField) || !!treeIndeterminateMaps[getRowid(_this34, row)];
19437
19564
  });
19438
19565
  } else {
19439
19566
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19440
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || _this35.findRowIndexOf(treeIndeterminates, row) > -1;
19567
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || !!treeIndeterminateMaps[getRowid(_this34, row)];
19441
19568
  });
19442
19569
  }
19443
19570
  } else {
@@ -19459,22 +19586,23 @@ var Methods = {
19459
19586
  disableRows.push(row);
19460
19587
  return true;
19461
19588
  }
19462
- if (_this35.findRowIndexOf(selectCheckboxRows, row) > -1) {
19589
+ if (selectCheckboxMaps[getRowid(_this34, row)]) {
19463
19590
  checkRows.push(row);
19464
19591
  return true;
19465
19592
  }
19466
19593
  return false;
19467
19594
  } : function (row) {
19468
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19595
+ return selectCheckboxMaps[getRowid(_this34, row)];
19469
19596
  });
19470
19597
  isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
19471
19598
  if (treeConfig) {
19472
19599
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19473
- return _this35.findRowIndexOf(treeIndeterminates, row) > -1 || _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19600
+ var itemRid = getRowid(_this34, row);
19601
+ return treeIndeterminateMaps[itemRid] || selectCheckboxMaps[itemRid];
19474
19602
  });
19475
19603
  } else {
19476
19604
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19477
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19605
+ return selectCheckboxMaps[getRowid(_this34, row)];
19478
19606
  });
19479
19607
  }
19480
19608
  }
@@ -19490,17 +19618,17 @@ var Methods = {
19490
19618
  fullDataRowIdData = this.fullDataRowIdData,
19491
19619
  fullAllDataRowMap = this.fullAllDataRowMap,
19492
19620
  currentRow = this.currentRow,
19493
- selectRow = this.selectRow,
19621
+ selectRadioRow = this.selectRadioRow,
19494
19622
  radioReserveRow = this.radioReserveRow,
19495
19623
  radioOpts = this.radioOpts,
19496
19624
  checkboxOpts = this.checkboxOpts,
19497
- selectCheckboxRows = this.selectCheckboxRows,
19498
- rowExpandeds = this.rowExpandeds,
19499
- treeExpandeds = this.treeExpandeds,
19625
+ selectCheckboxMaps = this.selectCheckboxMaps,
19626
+ rowExpandedMaps = this.rowExpandedMaps,
19627
+ treeExpandedMaps = this.treeExpandedMaps,
19500
19628
  expandOpts = this.expandOpts;
19501
19629
  // 单选框
19502
- if (selectRow && !fullAllDataRowMap.has(selectRow)) {
19503
- this.selectRow = null; // 刷新单选行状态
19630
+ if (selectRadioRow && !fullAllDataRowMap.has(selectRadioRow)) {
19631
+ this.selectRadioRow = null; // 刷新单选行状态
19504
19632
  }
19505
19633
  // 还原保留选中状态
19506
19634
  if (radioOpts.reserve && radioReserveRow) {
@@ -19510,7 +19638,7 @@ var Methods = {
19510
19638
  }
19511
19639
  }
19512
19640
  // 复选框
19513
- this.selectCheckboxRows = getRecoverRow(this, selectCheckboxRows); // 刷新多选行状态
19641
+ this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
19514
19642
  // 还原保留选中状态
19515
19643
  if (checkboxOpts.reserve) {
19516
19644
  this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
@@ -19519,13 +19647,13 @@ var Methods = {
19519
19647
  this.currentRow = null; // 刷新当前行状态
19520
19648
  }
19521
19649
  // 行展开
19522
- this.rowExpandeds = expandColumn ? getRecoverRow(this, rowExpandeds) : []; // 刷新行展开状态
19650
+ this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
19523
19651
  // 还原保留状态
19524
19652
  if (expandColumn && expandOpts.reserve) {
19525
19653
  this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
19526
19654
  }
19527
19655
  // 树展开
19528
- this.treeExpandeds = treeConfig ? getRecoverRow(this, treeExpandeds) : []; // 刷新树展开状态
19656
+ this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
19529
19657
  if (treeConfig && treeOpts.reserve) {
19530
19658
  this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
19531
19659
  }
@@ -19540,6 +19668,7 @@ var Methods = {
19540
19668
  afterFullData = this.afterFullData,
19541
19669
  treeConfig = this.treeConfig,
19542
19670
  treeOpts = this.treeOpts;
19671
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19543
19672
  if (radioOpts.reserve && radioReserveRow) {
19544
19673
  var rowid = getRowid(this, radioReserveRow);
19545
19674
  if (isFull) {
@@ -19551,7 +19680,9 @@ var Methods = {
19551
19680
  if (treeConfig) {
19552
19681
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (row) {
19553
19682
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowkey);
19554
- }, treeOpts);
19683
+ }, {
19684
+ children: childrenField
19685
+ });
19555
19686
  if (matchObj) {
19556
19687
  return radioReserveRow;
19557
19688
  }
@@ -19580,23 +19711,26 @@ var Methods = {
19580
19711
  * 获取复选框保留选中的行
19581
19712
  */
19582
19713
  getCheckboxReserveRecords: function getCheckboxReserveRecords(isFull) {
19583
- var _this36 = this;
19714
+ var _this35 = this;
19584
19715
  var fullDataRowIdData = this.fullDataRowIdData,
19585
19716
  afterFullData = this.afterFullData,
19586
19717
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19587
19718
  checkboxOpts = this.checkboxOpts,
19588
19719
  treeConfig = this.treeConfig,
19589
19720
  treeOpts = this.treeOpts;
19721
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19590
19722
  var reserveSelection = [];
19591
19723
  if (checkboxOpts.reserve) {
19592
19724
  var afterFullIdMaps = {};
19593
19725
  if (treeConfig) {
19594
19726
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, function (row) {
19595
- afterFullIdMaps[getRowid(_this36, row)] = 1;
19596
- }, treeOpts);
19727
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19728
+ }, {
19729
+ children: childrenField
19730
+ });
19597
19731
  } else {
19598
19732
  afterFullData.forEach(function (row) {
19599
- afterFullIdMaps[getRowid(_this36, row)] = 1;
19733
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19600
19734
  });
19601
19735
  }
19602
19736
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap, function (oldRow, oldRowid) {
@@ -19655,13 +19789,14 @@ var Methods = {
19655
19789
  * 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
19656
19790
  */
19657
19791
  clearCheckboxRow: function clearCheckboxRow() {
19658
- var _this37 = this;
19792
+ var _this36 = this;
19659
19793
  var tableFullData = this.tableFullData,
19660
19794
  treeConfig = this.treeConfig,
19661
19795
  treeOpts = this.treeOpts,
19662
19796
  checkboxOpts = this.checkboxOpts;
19663
19797
  var checkField = checkboxOpts.checkField,
19664
19798
  reserve = checkboxOpts.reserve;
19799
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19665
19800
  var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19666
19801
  if (checkField) {
19667
19802
  var handleClearChecked = function handleClearChecked(item) {
@@ -19671,20 +19806,22 @@ var Methods = {
19671
19806
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, false);
19672
19807
  };
19673
19808
  if (treeConfig) {
19674
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, handleClearChecked, treeOpts);
19809
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, handleClearChecked, {
19810
+ children: childrenField
19811
+ });
19675
19812
  } else {
19676
19813
  tableFullData.forEach(handleClearChecked);
19677
19814
  }
19678
19815
  }
19679
19816
  if (reserve) {
19680
19817
  tableFullData.forEach(function (row) {
19681
- return _this37.handleCheckboxReserveRow(row, false);
19818
+ return _this36.handleCheckboxReserveRow(row, false);
19682
19819
  });
19683
19820
  }
19684
19821
  this.isAllSelected = false;
19685
19822
  this.isIndeterminate = false;
19686
- this.selectCheckboxRows = [];
19687
- this.treeIndeterminates = [];
19823
+ this.selectCheckboxMaps = {};
19824
+ this.treeIndeterminateMaps = {};
19688
19825
  return this.$nextTick();
19689
19826
  },
19690
19827
  /**
@@ -19709,7 +19846,7 @@ var Methods = {
19709
19846
  * 单选,行选中事件
19710
19847
  */
19711
19848
  triggerRadioRowEvent: function triggerRadioRowEvent(evnt, params) {
19712
- var oldValue = this.selectRow,
19849
+ var oldValue = this.selectRadioRow,
19713
19850
  radioOpts = this.radioOpts;
19714
19851
  var row = params.row;
19715
19852
  var newValue = row;
@@ -19762,7 +19899,7 @@ var Methods = {
19762
19899
  return this.$nextTick();
19763
19900
  },
19764
19901
  isCheckedByRadioRow: function isCheckedByRadioRow(row) {
19765
- return this.selectRow === row;
19902
+ return this.selectRadioRow === row;
19766
19903
  },
19767
19904
  handleCheckedRadioRow: function handleCheckedRadioRow(row, isForce) {
19768
19905
  var radioOpts = this.radioOpts;
@@ -19770,7 +19907,7 @@ var Methods = {
19770
19907
  if (row && (isForce || !checkMethod || checkMethod({
19771
19908
  row: row
19772
19909
  }))) {
19773
- this.selectRow = row;
19910
+ this.selectRadioRow = row;
19774
19911
  this.handleRadioReserveRow(row);
19775
19912
  }
19776
19913
  return this.$nextTick();
@@ -19800,7 +19937,7 @@ var Methods = {
19800
19937
  * 用于单选行,手动清空用户的选择
19801
19938
  */
19802
19939
  clearRadioRow: function clearRadioRow() {
19803
- this.selectRow = null;
19940
+ this.selectRadioRow = null;
19804
19941
  return this.$nextTick();
19805
19942
  },
19806
19943
  /**
@@ -19813,30 +19950,18 @@ var Methods = {
19813
19950
  * 用于单选行,获取当已选中的数据
19814
19951
  */
19815
19952
  getRadioRecord: function getRadioRecord(isFull) {
19816
- var treeConfig = this.treeConfig,
19817
- treeOpts = this.treeOpts,
19818
- selectRow = this.selectRow,
19953
+ var selectRadioRow = this.selectRadioRow,
19819
19954
  fullDataRowIdData = this.fullDataRowIdData,
19820
- afterFullData = this.afterFullData;
19821
- if (selectRow) {
19822
- var rowid = getRowid(this, selectRow);
19955
+ afterFullRowMaps = this.afterFullRowMaps;
19956
+ if (selectRadioRow) {
19957
+ var rowid = getRowid(this, selectRadioRow);
19823
19958
  if (isFull) {
19824
19959
  if (!fullDataRowIdData[rowid]) {
19825
- return selectRow;
19960
+ return selectRadioRow;
19826
19961
  }
19827
19962
  } else {
19828
- if (treeConfig) {
19829
- var rowkey = getRowkey(this);
19830
- var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (row) {
19831
- return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowkey);
19832
- }, treeOpts);
19833
- if (matchObj) {
19834
- return selectRow;
19835
- }
19836
- } else {
19837
- if (afterFullData.indexOf(selectRow) > -1) {
19838
- return selectRow;
19839
- }
19963
+ if (afterFullRowMaps[rowid]) {
19964
+ return selectRadioRow;
19840
19965
  }
19841
19966
  }
19842
19967
  }
@@ -19930,12 +20055,12 @@ var Methods = {
19930
20055
  * 如果存在规则,则校验
19931
20056
  */
19932
20057
  handleChangeCell: function handleChangeCell(evnt, params) {
19933
- var _this38 = this;
20058
+ var _this37 = this;
19934
20059
  this.checkValidate('blur')["catch"](function (e) {
19935
20060
  return e;
19936
20061
  }).then(function () {
19937
- _this38.handleActived(params, evnt).then(function () {
19938
- return _this38.checkValidate('change');
20062
+ _this37.handleActived(params, evnt).then(function () {
20063
+ return _this37.checkValidate('change');
19939
20064
  })["catch"](function (e) {
19940
20065
  return e;
19941
20066
  });
@@ -20029,7 +20154,7 @@ var Methods = {
20029
20154
  * 如果是双击模式,则激活为编辑状态
20030
20155
  */
20031
20156
  triggerCellDblclickEvent: function triggerCellDblclickEvent(evnt, params) {
20032
- var _this39 = this;
20157
+ var _this38 = this;
20033
20158
  var editStore = this.editStore,
20034
20159
  editConfig = this.editConfig,
20035
20160
  editOpts = this.editOpts;
@@ -20042,15 +20167,15 @@ var Methods = {
20042
20167
  this.checkValidate('blur')["catch"](function (e) {
20043
20168
  return e;
20044
20169
  }).then(function () {
20045
- _this39.handleActived(params, evnt).then(function () {
20046
- return _this39.checkValidate('change');
20170
+ _this38.handleActived(params, evnt).then(function () {
20171
+ return _this38.checkValidate('change');
20047
20172
  })["catch"](function (e) {
20048
20173
  return e;
20049
20174
  });
20050
20175
  });
20051
20176
  } else if (editOpts.mode === 'cell') {
20052
20177
  this.handleActived(params, evnt).then(function () {
20053
- return _this39.checkValidate('change');
20178
+ return _this38.checkValidate('change');
20054
20179
  })["catch"](function (e) {
20055
20180
  return e;
20056
20181
  });
@@ -20060,7 +20185,7 @@ var Methods = {
20060
20185
  this.emitEvent('cell-dblclick', params, evnt);
20061
20186
  },
20062
20187
  handleDefaultSort: function handleDefaultSort() {
20063
- var _this40 = this;
20188
+ var _this39 = this;
20064
20189
  var sortConfig = this.sortConfig,
20065
20190
  sortOpts = this.sortOpts;
20066
20191
  var defaultSort = sortOpts.defaultSort;
@@ -20073,7 +20198,7 @@ var Methods = {
20073
20198
  var field = item.field,
20074
20199
  order = item.order;
20075
20200
  if (field && order) {
20076
- var column = _this40.getColumnByField(field);
20201
+ var column = _this39.getColumnByField(field);
20077
20202
  if (column && column.sortable) {
20078
20203
  column.order = order;
20079
20204
  column.sortTime = Date.now() + index;
@@ -20120,7 +20245,7 @@ var Methods = {
20120
20245
  }
20121
20246
  },
20122
20247
  sort: function sort(sortConfs, sortOrder) {
20123
- var _this41 = this;
20248
+ var _this40 = this;
20124
20249
  var sortOpts = this.sortOpts;
20125
20250
  var multiple = sortOpts.multiple,
20126
20251
  remote = sortOpts.remote,
@@ -20146,14 +20271,14 @@ var Methods = {
20146
20271
  order = confs.order;
20147
20272
  var column = field;
20148
20273
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)) {
20149
- column = _this41.getColumnByField(field);
20274
+ column = _this40.getColumnByField(field);
20150
20275
  }
20151
20276
  if (column && (column.sortable || column.remoteSort)) {
20152
20277
  if (!firstSortColumn) {
20153
20278
  firstSortColumn = column;
20154
20279
  }
20155
20280
  if (orders.indexOf(order) === -1) {
20156
- order = getNextSortOrder(_this41, column);
20281
+ order = getNextSortOrder(_this40, column);
20157
20282
  }
20158
20283
  if (column.order !== order) {
20159
20284
  column.order = order;
@@ -20166,8 +20291,8 @@ var Methods = {
20166
20291
  this.handleTableData(true);
20167
20292
  }
20168
20293
  return this.$nextTick().then(function () {
20169
- _this41.updateCellAreas();
20170
- return _this41.updateStyle();
20294
+ _this40.updateCellAreas();
20295
+ return _this40.updateStyle();
20171
20296
  });
20172
20297
  }
20173
20298
  return this.$nextTick();
@@ -20280,17 +20405,19 @@ var Methods = {
20280
20405
  return rest && rest.expandLoaded;
20281
20406
  },
20282
20407
  clearRowExpandLoaded: function clearRowExpandLoaded(row) {
20283
- var _this42 = this;
20284
20408
  var expandOpts = this.expandOpts,
20285
- expandLazyLoadeds = this.expandLazyLoadeds,
20409
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20286
20410
  fullAllDataRowMap = this.fullAllDataRowMap;
20287
20411
  var lazy = expandOpts.lazy;
20412
+ var rowid = getRowid(this, row);
20288
20413
  var rest = fullAllDataRowMap.get(row);
20289
20414
  if (lazy && rest) {
20290
20415
  rest.expandLoaded = false;
20291
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(expandLazyLoadeds, function (item) {
20292
- return _this42.eqRow(item, row);
20293
- });
20416
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20417
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20418
+ delete rowTempExpandLazyLoadedMaps[rowid];
20419
+ }
20420
+ this.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20294
20421
  }
20295
20422
  return this.$nextTick();
20296
20423
  },
@@ -20299,13 +20426,14 @@ var Methods = {
20299
20426
  * @param {Row} row 行对象
20300
20427
  */
20301
20428
  reloadRowExpand: function reloadRowExpand(row) {
20302
- var _this43 = this;
20429
+ var _this41 = this;
20303
20430
  var expandOpts = this.expandOpts,
20304
- expandLazyLoadeds = this.expandLazyLoadeds;
20431
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps;
20305
20432
  var lazy = expandOpts.lazy;
20306
- if (lazy && this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20433
+ var rowid = getRowid(this, row);
20434
+ if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
20307
20435
  this.clearRowExpandLoaded(row).then(function () {
20308
- return _this43.handleAsyncRowExpand(row);
20436
+ return _this41.handleAsyncRowExpand(row);
20309
20437
  });
20310
20438
  }
20311
20439
  return this.$nextTick();
@@ -20320,11 +20448,12 @@ var Methods = {
20320
20448
  */
20321
20449
  triggerRowExpandEvent: function triggerRowExpandEvent(evnt, params) {
20322
20450
  var expandOpts = this.expandOpts,
20323
- expandLazyLoadeds = this.expandLazyLoadeds,
20451
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20324
20452
  column = this.expandColumn;
20325
20453
  var row = params.row;
20326
20454
  var lazy = expandOpts.lazy;
20327
- if (!lazy || this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20455
+ var rowid = getRowid(this, row);
20456
+ if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
20328
20457
  var expanded = !this.isExpandByRow(row);
20329
20458
  var columnIndex = this.getColumnIndex(column);
20330
20459
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20375,37 +20504,57 @@ var Methods = {
20375
20504
  treeOpts = this.treeOpts,
20376
20505
  tableFullData = this.tableFullData,
20377
20506
  tableFullTreeData = this.tableFullTreeData;
20507
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20378
20508
  var expandedRows = [];
20379
20509
  if (treeConfig) {
20380
20510
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, function (row) {
20381
20511
  expandedRows.push(row);
20382
- }, treeOpts);
20512
+ }, {
20513
+ children: childrenField
20514
+ });
20383
20515
  } else {
20384
20516
  expandedRows = tableFullData;
20385
20517
  }
20386
20518
  return this.setRowExpand(expandedRows, expanded);
20387
20519
  },
20388
20520
  handleAsyncRowExpand: function handleAsyncRowExpand(row) {
20389
- var _this44 = this;
20390
- var rest = this.fullAllDataRowMap.get(row);
20521
+ var _this42 = this;
20522
+ var fullAllDataRowMap = this.fullAllDataRowMap,
20523
+ expandOpts = this.expandOpts;
20524
+ var rest = fullAllDataRowMap.get(row);
20391
20525
  return new Promise(function (resolve) {
20392
- _this44.expandLazyLoadeds.push(row);
20393
- _this44.expandOpts.loadMethod({
20394
- $table: _this44,
20395
- row: row,
20396
- rowIndex: _this44.getRowIndex(row),
20397
- $rowIndex: _this44.getVMRowIndex(row)
20398
- }).then(function () {
20399
- rest.expandLoaded = true;
20400
- _this44.rowExpandeds.push(row);
20401
- })["catch"](function () {
20402
- rest.expandLoaded = false;
20403
- })["finally"](function () {
20404
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(_this44.expandLazyLoadeds, function (item) {
20405
- return _this44.eqRow(item, row);
20526
+ var loadMethod = expandOpts.loadMethod;
20527
+ if (loadMethod) {
20528
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20529
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20530
+ var rowid = getRowid(_this42, row);
20531
+ rowTempExpandLazyLoadedMaps[rowid] = row;
20532
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20533
+ loadMethod({
20534
+ $table: _this42,
20535
+ row: row,
20536
+ rowIndex: _this42.getRowIndex(row),
20537
+ $rowIndex: _this42.getVMRowIndex(row)
20538
+ }).then(function () {
20539
+ rest.expandLoaded = true;
20540
+ var rowExpandedMaps = _this42.rowExpandedMaps;
20541
+ var rowTempExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20542
+ rowTempExpandedMaps[rowid] = row;
20543
+ _this42.rowExpandedMaps = rowTempExpandedMaps;
20544
+ })["catch"](function () {
20545
+ rest.expandLoaded = false;
20546
+ })["finally"](function () {
20547
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20548
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20549
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20550
+ delete rowTempExpandLazyLoadedMaps[rowid];
20551
+ }
20552
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20553
+ resolve(_this42.$nextTick().then(_this42.recalculate));
20406
20554
  });
20407
- resolve(_this44.$nextTick().then(_this44.recalculate));
20408
- });
20555
+ } else {
20556
+ resolve();
20557
+ }
20409
20558
  });
20410
20559
  },
20411
20560
  /**
@@ -20416,12 +20565,13 @@ var Methods = {
20416
20565
  * @param {Boolean} expanded 是否展开
20417
20566
  */
20418
20567
  setRowExpand: function setRowExpand(rows, expanded) {
20419
- var _this45 = this;
20420
- var fullAllDataRowMap = this.fullAllDataRowMap,
20421
- expandLazyLoadeds = this.expandLazyLoadeds,
20568
+ var _this43 = this;
20569
+ var rowExpandedMaps = this.rowExpandedMaps,
20570
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
20571
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20422
20572
  expandOpts = this.expandOpts,
20423
20573
  column = this.expandColumn;
20424
- var rowExpandeds = this.rowExpandeds;
20574
+ var rExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20425
20575
  var reserve = expandOpts.reserve,
20426
20576
  lazy = expandOpts.lazy,
20427
20577
  accordion = expandOpts.accordion,
@@ -20435,7 +20585,7 @@ var Methods = {
20435
20585
  }
20436
20586
  if (accordion) {
20437
20587
  // 只能同时展开一个
20438
- rowExpandeds = [];
20588
+ rExpandedMaps = {};
20439
20589
  rows = rows.slice(rows.length - 1, rows.length);
20440
20590
  }
20441
20591
  var validRows = toggleMethod ? rows.filter(function (row) {
@@ -20445,34 +20595,38 @@ var Methods = {
20445
20595
  columnIndex: columnIndex,
20446
20596
  $columnIndex: $columnIndex,
20447
20597
  row: row,
20448
- rowIndex: _this45.getRowIndex(row),
20449
- $rowIndex: _this45.getVMRowIndex(row)
20598
+ rowIndex: _this43.getRowIndex(row),
20599
+ $rowIndex: _this43.getVMRowIndex(row)
20450
20600
  });
20451
20601
  }) : rows;
20452
20602
  if (expanded) {
20453
20603
  validRows.forEach(function (row) {
20454
- if (_this45.findRowIndexOf(rowExpandeds, row) === -1) {
20455
- var rest = fullAllDataRowMap.get(row);
20456
- var isLoad = lazy && !rest.expandLoaded && _this45.findRowIndexOf(expandLazyLoadeds, row) === -1;
20604
+ var rowid = getRowid(_this43, row);
20605
+ if (!rExpandedMaps[rowid]) {
20606
+ var rest = fullAllDataRowIdData[rowid];
20607
+ var isLoad = lazy && !rest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
20457
20608
  if (isLoad) {
20458
- lazyRests.push(_this45.handleAsyncRowExpand(row));
20609
+ lazyRests.push(_this43.handleAsyncRowExpand(row));
20459
20610
  } else {
20460
- rowExpandeds.push(row);
20611
+ rExpandedMaps[rowid] = row;
20461
20612
  }
20462
20613
  }
20463
20614
  });
20464
20615
  } else {
20465
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(rowExpandeds, function (row) {
20466
- return _this45.findRowIndexOf(validRows, row) > -1;
20616
+ validRows.forEach(function (item) {
20617
+ var rowid = getRowid(_this43, item);
20618
+ if (rExpandedMaps[rowid]) {
20619
+ delete rExpandedMaps[rowid];
20620
+ }
20467
20621
  });
20468
20622
  }
20469
20623
  if (reserve) {
20470
20624
  validRows.forEach(function (row) {
20471
- return _this45.handleRowExpandReserve(row, expanded);
20625
+ return _this43.handleRowExpandReserve(row, expanded);
20472
20626
  });
20473
20627
  }
20474
20628
  }
20475
- this.rowExpandeds = rowExpandeds;
20629
+ this.rowExpandedMaps = rExpandedMaps;
20476
20630
  return Promise.all(lazyRests).then(this.recalculate);
20477
20631
  },
20478
20632
  /**
@@ -20480,28 +20634,28 @@ var Methods = {
20480
20634
  * @param {Row} row 行对象
20481
20635
  */
20482
20636
  isExpandByRow: function isExpandByRow(row) {
20483
- var rowExpandeds = this.rowExpandeds;
20484
- return this.findRowIndexOf(rowExpandeds, row) > -1;
20637
+ var rowExpandedMaps = this.rowExpandedMaps;
20638
+ var rowid = getRowid(this, row);
20639
+ return !!rowExpandedMaps[rowid];
20485
20640
  },
20486
20641
  /**
20487
20642
  * 手动清空展开行状态,数据会恢复成未展开的状态
20488
20643
  */
20489
20644
  clearRowExpand: function clearRowExpand() {
20490
- var _this46 = this;
20645
+ var _this44 = this;
20491
20646
  var expandOpts = this.expandOpts,
20492
- rowExpandeds = this.rowExpandeds,
20493
20647
  tableFullData = this.tableFullData;
20494
20648
  var reserve = expandOpts.reserve;
20495
- var isExists = rowExpandeds.length;
20496
- this.rowExpandeds = [];
20649
+ var expList = this.getRowExpandRecords();
20650
+ this.rowExpandedMaps = {};
20497
20651
  if (reserve) {
20498
20652
  tableFullData.forEach(function (row) {
20499
- return _this46.handleRowExpandReserve(row, false);
20653
+ return _this44.handleRowExpandReserve(row, false);
20500
20654
  });
20501
20655
  }
20502
20656
  return this.$nextTick().then(function () {
20503
- if (isExists) {
20504
- _this46.recalculate();
20657
+ if (expList.length) {
20658
+ _this44.recalculate();
20505
20659
  }
20506
20660
  });
20507
20661
  },
@@ -20522,13 +20676,25 @@ var Methods = {
20522
20676
  }
20523
20677
  },
20524
20678
  getRowExpandRecords: function getRowExpandRecords() {
20525
- return this.rowExpandeds.slice(0);
20679
+ var rest = [];
20680
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.rowExpandedMaps, function (item) {
20681
+ if (item) {
20682
+ rest.push(item);
20683
+ }
20684
+ });
20685
+ return rest;
20526
20686
  },
20527
20687
  getTreeExpandRecords: function getTreeExpandRecords() {
20528
- return this.treeExpandeds.slice(0);
20688
+ var rest = [];
20689
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.treeExpandedMaps, function (item) {
20690
+ if (item) {
20691
+ rest.push(item);
20692
+ }
20693
+ });
20694
+ return rest;
20529
20695
  },
20530
20696
  /**
20531
- * 获取数表格状态
20697
+ * 获取树表格状态
20532
20698
  */
20533
20699
  getTreeStatus: function getTreeStatus() {
20534
20700
  if (this.treeConfig) {
@@ -20549,16 +20715,17 @@ var Methods = {
20549
20715
  },
20550
20716
  clearTreeExpandLoaded: function clearTreeExpandLoaded(row) {
20551
20717
  var treeOpts = this.treeOpts,
20552
- treeExpandeds = this.treeExpandeds,
20718
+ treeExpandedMaps = this.treeExpandedMaps,
20553
20719
  fullAllDataRowMap = this.fullAllDataRowMap;
20554
20720
  var transform = treeOpts.transform,
20555
20721
  lazy = treeOpts.lazy;
20722
+ var rowid = getRowid(this, row);
20556
20723
  var rest = fullAllDataRowMap.get(row);
20557
20724
  if (lazy && rest) {
20558
20725
  rest.treeLoaded = false;
20559
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (item) {
20560
- return row === item;
20561
- });
20726
+ if (treeExpandedMaps[rowid]) {
20727
+ delete treeExpandedMaps[rowid];
20728
+ }
20562
20729
  }
20563
20730
  if (transform) {
20564
20731
  this.handleVirtualTreeToList();
@@ -20571,22 +20738,23 @@ var Methods = {
20571
20738
  * @param {Row} row 行对象
20572
20739
  */
20573
20740
  reloadTreeExpand: function reloadTreeExpand(row) {
20574
- var _this47 = this;
20741
+ var _this45 = this;
20575
20742
  var treeOpts = this.treeOpts,
20576
- treeLazyLoadeds = this.treeLazyLoadeds;
20743
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20577
20744
  var transform = treeOpts.transform,
20578
20745
  lazy = treeOpts.lazy;
20579
20746
  var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20580
- if (lazy && row[hasChildField] && treeLazyLoadeds.indexOf(row) === -1) {
20747
+ var rowid = getRowid(this, row);
20748
+ if (lazy && row[hasChildField] && !treeExpandLazyLoadedMaps[rowid]) {
20581
20749
  this.clearTreeExpandLoaded(row).then(function () {
20582
- return _this47.handleAsyncTreeExpandChilds(row);
20750
+ return _this45.handleAsyncTreeExpandChilds(row);
20583
20751
  }).then(function () {
20584
20752
  if (transform) {
20585
- _this47.handleVirtualTreeToList();
20586
- return _this47.handleTableData();
20753
+ _this45.handleVirtualTreeToList();
20754
+ return _this45.handleTableData();
20587
20755
  }
20588
20756
  }).then(function () {
20589
- return _this47.recalculate();
20757
+ return _this45.recalculate();
20590
20758
  });
20591
20759
  }
20592
20760
  return this.$nextTick();
@@ -20601,11 +20769,12 @@ var Methods = {
20601
20769
  */
20602
20770
  triggerTreeExpandEvent: function triggerTreeExpandEvent(evnt, params) {
20603
20771
  var treeOpts = this.treeOpts,
20604
- treeLazyLoadeds = this.treeLazyLoadeds;
20772
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20605
20773
  var row = params.row,
20606
20774
  column = params.column;
20607
20775
  var lazy = treeOpts.lazy;
20608
- if (!lazy || treeLazyLoadeds.indexOf(row) === -1) {
20776
+ var rowid = getRowid(this, row);
20777
+ if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
20609
20778
  var expanded = !this.isTreeExpandByRow(row);
20610
20779
  var columnIndex = this.getColumnIndex(column);
20611
20780
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20635,6 +20804,7 @@ var Methods = {
20635
20804
  if (treeConfig) {
20636
20805
  var expandAll = treeOpts.expandAll,
20637
20806
  expandRowKeys = treeOpts.expandRowKeys;
20807
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20638
20808
  if (expandAll) {
20639
20809
  this.setAllTreeExpand(true);
20640
20810
  } else if (expandRowKeys) {
@@ -20643,7 +20813,9 @@ var Methods = {
20643
20813
  expandRowKeys.forEach(function (rowid) {
20644
20814
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20645
20815
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, rowkey);
20646
- }, treeOpts);
20816
+ }, {
20817
+ children: childrenField
20818
+ });
20647
20819
  if (matchObj) {
20648
20820
  defExpandeds.push(matchObj.item);
20649
20821
  }
@@ -20653,59 +20825,67 @@ var Methods = {
20653
20825
  }
20654
20826
  },
20655
20827
  handleAsyncTreeExpandChilds: function handleAsyncTreeExpandChilds(row) {
20656
- var _this48 = this;
20657
- var fullAllDataRowMap = this.fullAllDataRowMap,
20658
- treeExpandeds = this.treeExpandeds,
20659
- treeOpts = this.treeOpts,
20660
- treeLazyLoadeds = this.treeLazyLoadeds,
20828
+ var _this46 = this;
20829
+ var treeOpts = this.treeOpts,
20661
20830
  checkboxOpts = this.checkboxOpts;
20662
20831
  var transform = treeOpts.transform,
20663
20832
  loadMethod = treeOpts.loadMethod;
20664
20833
  var checkStrictly = checkboxOpts.checkStrictly;
20665
- var rest = fullAllDataRowMap.get(row);
20666
20834
  return new Promise(function (resolve) {
20667
- treeLazyLoadeds.push(row);
20668
- loadMethod({
20669
- $table: _this48,
20670
- row: row
20671
- }).then(function (childRecords) {
20672
- // 响应成功后则展开行,并将子节点挂载到该节点下
20673
- rest.treeLoaded = true;
20674
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeLazyLoadeds, function (item) {
20675
- return item === row;
20676
- });
20677
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)) {
20678
- childRecords = [];
20679
- }
20680
- if (childRecords) {
20681
- return _this48.loadTreeChildren(row, childRecords).then(function (childRows) {
20682
- if (childRows.length && treeExpandeds.indexOf(row) === -1) {
20683
- treeExpandeds.push(row);
20684
- }
20685
- // 如果当前节点已选中,则展开后子节点也被选中
20686
- if (!checkStrictly && _this48.isCheckedByCheckboxRow(row)) {
20687
- _this48.handleCheckedCheckboxRow(childRows, true, true);
20688
- }
20689
- return _this48.$nextTick().then(function () {
20690
- if (transform) {
20691
- return _this48.handleTableData();
20835
+ if (loadMethod) {
20836
+ var fullAllDataRowMap = _this46.fullAllDataRowMap,
20837
+ treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20838
+ var rowid = getRowid(_this46, row);
20839
+ var rest = fullAllDataRowMap.get(row);
20840
+ treeExpandLazyLoadedMaps[rowid] = row;
20841
+ loadMethod({
20842
+ $table: _this46,
20843
+ row: row
20844
+ }).then(function (childRecords) {
20845
+ // 响应成功后则展开行,并将子节点挂载到该节点下
20846
+ rest.treeLoaded = true;
20847
+ if (treeExpandLazyLoadedMaps[rowid]) {
20848
+ treeExpandLazyLoadedMaps[rowid] = null;
20849
+ }
20850
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)) {
20851
+ childRecords = [];
20852
+ }
20853
+ if (childRecords) {
20854
+ return _this46.loadTreeChildren(row, childRecords).then(function (childRows) {
20855
+ var treeExpandedMaps = _this46.treeExpandedMaps;
20856
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20857
+ if (childRows.length && !treeTempExpandedMaps[rowid]) {
20858
+ treeTempExpandedMaps[rowid] = row;
20859
+ _this46.treeExpandedMaps = treeTempExpandedMaps;
20692
20860
  }
20861
+ // 如果当前节点已选中,则展开后子节点也被选中
20862
+ if (!checkStrictly && _this46.isCheckedByCheckboxRow(row)) {
20863
+ _this46.handleCheckedCheckboxRow(childRows, true, true);
20864
+ }
20865
+ return _this46.$nextTick().then(function () {
20866
+ if (transform) {
20867
+ return _this46.handleTableData();
20868
+ }
20869
+ });
20693
20870
  });
20871
+ }
20872
+ })["catch"](function () {
20873
+ // 如果响应异常,则不展开,再次点击后将重新触发懒加载
20874
+ rest.treeLoaded = false;
20875
+ var treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20876
+ if (treeExpandLazyLoadedMaps[rowid]) {
20877
+ treeExpandLazyLoadedMaps[rowid] = null;
20878
+ }
20879
+ })["finally"](function () {
20880
+ _this46.$nextTick().then(function () {
20881
+ return _this46.recalculate();
20882
+ }).then(function () {
20883
+ return resolve();
20694
20884
  });
20695
- }
20696
- })["catch"](function () {
20697
- // 如果响应异常,则不展开,再次点击后将重新触发懒加载
20698
- rest.treeLoaded = false;
20699
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeLazyLoadeds, function (item) {
20700
- return item === row;
20701
20885
  });
20702
- })["finally"](function () {
20703
- _this48.$nextTick().then(function () {
20704
- return _this48.recalculate();
20705
- }).then(function () {
20706
- return resolve();
20707
- });
20708
- });
20886
+ } else {
20887
+ resolve();
20888
+ }
20709
20889
  });
20710
20890
  },
20711
20891
  /**
@@ -20723,7 +20903,9 @@ var Methods = {
20723
20903
  if (lazy || rowChildren && rowChildren.length) {
20724
20904
  expandeds.push(row);
20725
20905
  }
20726
- }, treeOpts);
20906
+ }, {
20907
+ children: childrenField
20908
+ });
20727
20909
  return this.setTreeExpand(expandeds, expanded);
20728
20910
  },
20729
20911
  /**
@@ -20733,17 +20915,18 @@ var Methods = {
20733
20915
  * @returns
20734
20916
  */
20735
20917
  handleBaseTreeExpand: function handleBaseTreeExpand(rows, expanded) {
20736
- var _this49 = this;
20918
+ var _this47 = this;
20737
20919
  var fullAllDataRowMap = this.fullAllDataRowMap,
20738
20920
  tableFullData = this.tableFullData,
20739
- treeExpandeds = this.treeExpandeds,
20921
+ treeExpandedMaps = this.treeExpandedMaps,
20740
20922
  treeOpts = this.treeOpts,
20741
- treeLazyLoadeds = this.treeLazyLoadeds,
20923
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps,
20742
20924
  treeNodeColumn = this.treeNodeColumn;
20743
20925
  var reserve = treeOpts.reserve,
20744
20926
  lazy = treeOpts.lazy,
20745
20927
  accordion = treeOpts.accordion,
20746
20928
  toggleMethod = treeOpts.toggleMethod;
20929
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20747
20930
  var childrenField = treeOpts.children || treeOpts.childrenField;
20748
20931
  var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20749
20932
  var result = [];
@@ -20763,38 +20946,48 @@ var Methods = {
20763
20946
  // 同一级只能展开一个
20764
20947
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20765
20948
  return item === validRows[0];
20766
- }, treeOpts);
20949
+ }, {
20950
+ children: childrenField
20951
+ });
20767
20952
  if (matchObj) {
20768
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (item) {
20769
- return matchObj.items.indexOf(item) > -1;
20953
+ matchObj.items.forEach(function (item) {
20954
+ var rowid = getRowid(_this47, item);
20955
+ if (treeTempExpandedMaps[rowid]) {
20956
+ delete treeTempExpandedMaps[rowid];
20957
+ }
20770
20958
  });
20771
20959
  }
20772
20960
  }
20773
20961
  if (expanded) {
20774
20962
  validRows.forEach(function (row) {
20775
- if (treeExpandeds.indexOf(row) === -1) {
20963
+ var rowid = getRowid(_this47, row);
20964
+ if (!treeTempExpandedMaps[rowid]) {
20776
20965
  var rest = fullAllDataRowMap.get(row);
20777
- var isLoad = lazy && row[hasChildField] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1;
20966
+ var isLoad = lazy && row[hasChildField] && !rest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
20778
20967
  // 是否使用懒加载
20779
20968
  if (isLoad) {
20780
- result.push(_this49.handleAsyncTreeExpandChilds(row));
20969
+ result.push(_this47.handleAsyncTreeExpandChilds(row));
20781
20970
  } else {
20782
20971
  if (row[childrenField] && row[childrenField].length) {
20783
- treeExpandeds.push(row);
20972
+ treeTempExpandedMaps[rowid] = row;
20784
20973
  }
20785
20974
  }
20786
20975
  }
20787
20976
  });
20788
20977
  } else {
20789
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (row) {
20790
- return validRows.indexOf(row) > -1;
20978
+ validRows.forEach(function (item) {
20979
+ var rowid = getRowid(_this47, item);
20980
+ if (treeTempExpandedMaps[rowid]) {
20981
+ delete treeTempExpandedMaps[rowid];
20982
+ }
20791
20983
  });
20792
20984
  }
20793
20985
  if (reserve) {
20794
20986
  validRows.forEach(function (row) {
20795
- return _this49.handleTreeExpandReserve(row, expanded);
20987
+ return _this47.handleTreeExpandReserve(row, expanded);
20796
20988
  });
20797
20989
  }
20990
+ this.treeExpandedMaps = treeTempExpandedMaps;
20798
20991
  return Promise.all(result).then(this.recalculate);
20799
20992
  },
20800
20993
  /**
@@ -20804,12 +20997,12 @@ var Methods = {
20804
20997
  * @returns
20805
20998
  */
20806
20999
  handleVirtualTreeExpand: function handleVirtualTreeExpand(rows, expanded) {
20807
- var _this50 = this;
21000
+ var _this48 = this;
20808
21001
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
20809
- _this50.handleVirtualTreeToList();
20810
- return _this50.handleTableData();
21002
+ _this48.handleVirtualTreeToList();
21003
+ return _this48.handleTableData();
20811
21004
  }).then(function () {
20812
- return _this50.recalculate();
21005
+ return _this48.recalculate();
20813
21006
  });
20814
21007
  },
20815
21008
  /**
@@ -20842,33 +21035,36 @@ var Methods = {
20842
21035
  * @param {Row} row 行对象
20843
21036
  */
20844
21037
  isTreeExpandByRow: function isTreeExpandByRow(row) {
20845
- return this.treeExpandeds.indexOf(row) > -1;
21038
+ var treeExpandedMaps = this.treeExpandedMaps;
21039
+ return !!treeExpandedMaps[getRowid(this, row)];
20846
21040
  },
20847
21041
  /**
20848
21042
  * 手动清空树形节点的展开状态,数据会恢复成未展开的状态
20849
21043
  */
20850
21044
  clearTreeExpand: function clearTreeExpand() {
20851
- var _this51 = this;
21045
+ var _this49 = this;
20852
21046
  var treeOpts = this.treeOpts,
20853
- treeExpandeds = this.treeExpandeds,
20854
21047
  tableFullData = this.tableFullData;
20855
21048
  var transform = treeOpts.transform,
20856
21049
  reserve = treeOpts.reserve;
20857
- var isExists = treeExpandeds.length;
20858
- this.treeExpandeds = [];
21050
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21051
+ var expList = this.getTreeExpandRecords();
21052
+ this.treeExpandedMaps = {};
20859
21053
  if (reserve) {
20860
21054
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, function (row) {
20861
- return _this51.handleTreeExpandReserve(row, false);
20862
- }, treeOpts);
21055
+ return _this49.handleTreeExpandReserve(row, false);
21056
+ }, {
21057
+ children: childrenField
21058
+ });
20863
21059
  }
20864
21060
  return this.handleTableData().then(function () {
20865
21061
  if (transform) {
20866
- _this51.handleVirtualTreeToList();
20867
- return _this51.handleTableData();
21062
+ _this49.handleVirtualTreeToList();
21063
+ return _this49.handleTableData();
20868
21064
  }
20869
21065
  }).then(function () {
20870
- if (isExists) {
20871
- _this51.recalculate();
21066
+ if (expList.length) {
21067
+ _this49.recalculate();
20872
21068
  }
20873
21069
  });
20874
21070
  },
@@ -20987,28 +21183,28 @@ var Methods = {
20987
21183
  },
20988
21184
  // 计算可视渲染相关数据
20989
21185
  computeScrollLoad: function computeScrollLoad() {
20990
- var _this52 = this;
21186
+ var _this50 = this;
20991
21187
  return this.$nextTick().then(function () {
20992
- var sYOpts = _this52.sYOpts,
20993
- sXOpts = _this52.sXOpts,
20994
- scrollXLoad = _this52.scrollXLoad,
20995
- scrollYLoad = _this52.scrollYLoad,
20996
- scrollXStore = _this52.scrollXStore,
20997
- scrollYStore = _this52.scrollYStore;
21188
+ var sYOpts = _this50.sYOpts,
21189
+ sXOpts = _this50.sXOpts,
21190
+ scrollXLoad = _this50.scrollXLoad,
21191
+ scrollYLoad = _this50.scrollYLoad,
21192
+ scrollXStore = _this50.scrollXStore,
21193
+ scrollYStore = _this50.scrollYStore;
20998
21194
  // 计算 X 逻辑
20999
21195
  if (scrollXLoad) {
21000
- var _computeVirtualX3 = computeVirtualX(_this52),
21196
+ var _computeVirtualX3 = computeVirtualX(_this50),
21001
21197
  visibleXSize = _computeVirtualX3.visibleSize;
21002
21198
  var offsetXSize = sXOpts.oSize ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(sXOpts.oSize) : browse.msie ? 10 : browse.edge ? 5 : 0;
21003
21199
  scrollXStore.offsetSize = offsetXSize;
21004
21200
  scrollXStore.visibleSize = visibleXSize;
21005
21201
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
21006
- _this52.updateScrollXData();
21202
+ _this50.updateScrollXData();
21007
21203
  } else {
21008
- _this52.updateScrollXSpace();
21204
+ _this50.updateScrollXSpace();
21009
21205
  }
21010
21206
  // 计算 Y 逻辑
21011
- var _computeVirtualY = computeVirtualY(_this52),
21207
+ var _computeVirtualY = computeVirtualY(_this50),
21012
21208
  rowHeight = _computeVirtualY.rowHeight,
21013
21209
  visibleYSize = _computeVirtualY.visibleSize;
21014
21210
  scrollYStore.rowHeight = rowHeight;
@@ -21017,12 +21213,12 @@ var Methods = {
21017
21213
  scrollYStore.offsetSize = offsetYSize;
21018
21214
  scrollYStore.visibleSize = visibleYSize;
21019
21215
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
21020
- _this52.updateScrollYData();
21216
+ _this50.updateScrollYData();
21021
21217
  } else {
21022
- _this52.updateScrollYSpace();
21218
+ _this50.updateScrollYSpace();
21023
21219
  }
21024
- _this52.rowHeight = rowHeight;
21025
- _this52.$nextTick(_this52.updateStyle);
21220
+ _this50.rowHeight = rowHeight;
21221
+ _this50.$nextTick(_this50.updateStyle);
21026
21222
  });
21027
21223
  },
21028
21224
  handleTableColumn: function handleTableColumn() {
@@ -21032,11 +21228,11 @@ var Methods = {
21032
21228
  this.tableColumn = scrollXLoad ? visibleColumn.slice(scrollXStore.startIndex, scrollXStore.endIndex) : visibleColumn.slice(0);
21033
21229
  },
21034
21230
  updateScrollXData: function updateScrollXData() {
21035
- var _this53 = this;
21231
+ var _this51 = this;
21036
21232
  // this.tableColumn = []
21037
21233
  this.$nextTick(function () {
21038
- _this53.handleTableColumn();
21039
- _this53.updateScrollXSpace();
21234
+ _this51.handleTableColumn();
21235
+ _this51.updateScrollXSpace();
21040
21236
  });
21041
21237
  },
21042
21238
  // 更新横向 X 可视渲染上下剩余空间大小
@@ -21087,11 +21283,11 @@ var Methods = {
21087
21283
  }
21088
21284
  },
21089
21285
  updateScrollYData: function updateScrollYData() {
21090
- var _this54 = this;
21286
+ var _this52 = this;
21091
21287
  // this.tableData = []
21092
21288
  this.$nextTick(function () {
21093
- _this54.handleTableData();
21094
- _this54.updateScrollYSpace();
21289
+ _this52.handleTableData();
21290
+ _this52.updateScrollYSpace();
21095
21291
  });
21096
21292
  },
21097
21293
  // 更新纵向 Y 可视渲染上下剩余空间大小
@@ -21132,7 +21328,7 @@ var Methods = {
21132
21328
  * @param {Number} scrollTop 上距离
21133
21329
  */
21134
21330
  scrollTo: function scrollTo(scrollLeft, scrollTop) {
21135
- var _this55 = this;
21331
+ var _this53 = this;
21136
21332
  var $refs = this.$refs;
21137
21333
  var tableBody = $refs.tableBody,
21138
21334
  rightBody = $refs.rightBody,
@@ -21149,7 +21345,7 @@ var Methods = {
21149
21345
  if (this.scrollXLoad || this.scrollYLoad) {
21150
21346
  return new Promise(function (resolve) {
21151
21347
  return setTimeout(function () {
21152
- return resolve(_this55.$nextTick());
21348
+ return resolve(_this53.$nextTick());
21153
21349
  }, 50);
21154
21350
  });
21155
21351
  }
@@ -21191,26 +21387,29 @@ var Methods = {
21191
21387
  * @param {Row} row 行对象
21192
21388
  */
21193
21389
  scrollToTreeRow: function scrollToTreeRow(row) {
21194
- var _this56 = this;
21390
+ var _this54 = this;
21195
21391
  var tableFullData = this.tableFullData,
21196
21392
  treeConfig = this.treeConfig,
21197
21393
  treeOpts = this.treeOpts;
21394
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21198
21395
  var rests = [];
21199
21396
  if (treeConfig) {
21200
21397
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
21201
21398
  return item === row;
21202
- }, treeOpts);
21399
+ }, {
21400
+ children: childrenField
21401
+ });
21203
21402
  if (matchObj) {
21204
21403
  var nodes = matchObj.nodes;
21205
21404
  nodes.forEach(function (row, index) {
21206
- if (index < nodes.length - 1 && !_this56.isTreeExpandByRow(row)) {
21207
- rests.push(_this56.setTreeExpand(row, true));
21405
+ if (index < nodes.length - 1 && !_this54.isTreeExpandByRow(row)) {
21406
+ rests.push(_this54.setTreeExpand(row, true));
21208
21407
  }
21209
21408
  });
21210
21409
  }
21211
21410
  }
21212
21411
  return Promise.all(rests).then(function () {
21213
- return rowToVisible(_this56, row);
21412
+ return rowToVisible(_this54, row);
21214
21413
  });
21215
21414
  },
21216
21415
  /**
@@ -21265,30 +21464,30 @@ var Methods = {
21265
21464
  * 如果单元格配置了校验规则,则会进行校验
21266
21465
  */
21267
21466
  updateStatus: function updateStatus(slotParams, cellValue) {
21268
- var _this57 = this;
21467
+ var _this55 = this;
21269
21468
  var customVal = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);
21270
21469
  return this.$nextTick().then(function () {
21271
- var $refs = _this57.$refs,
21272
- editRules = _this57.editRules,
21273
- validStore = _this57.validStore;
21470
+ var $refs = _this55.$refs,
21471
+ editRules = _this55.editRules,
21472
+ validStore = _this55.validStore;
21274
21473
  if (slotParams && $refs.tableBody && editRules) {
21275
21474
  var row = slotParams.row,
21276
21475
  column = slotParams.column;
21277
21476
  var type = 'change';
21278
- if (_this57.hasCellRules(type, row, column)) {
21279
- var cell = _this57.getCell(row, column);
21477
+ if (_this55.hasCellRules(type, row, column)) {
21478
+ var cell = _this55.getCell(row, column);
21280
21479
  if (cell) {
21281
- return _this57.validCellRules(type, row, column, cellValue).then(function () {
21480
+ return _this55.validCellRules(type, row, column, cellValue).then(function () {
21282
21481
  if (customVal && validStore.visible) {
21283
21482
  setCellValue(row, column, cellValue);
21284
21483
  }
21285
- _this57.clearValidate();
21484
+ _this55.clearValidate();
21286
21485
  })["catch"](function (_ref8) {
21287
21486
  var rule = _ref8.rule;
21288
21487
  if (customVal) {
21289
21488
  setCellValue(row, column, cellValue);
21290
21489
  }
21291
- _this57.showValidTooltip({
21490
+ _this55.showValidTooltip({
21292
21491
  rule: rule,
21293
21492
  row: row,
21294
21493
  column: column,
@@ -21308,13 +21507,13 @@ var Methods = {
21308
21507
  * @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
21309
21508
  */
21310
21509
  setMergeCells: function setMergeCells(merges) {
21311
- var _this58 = this;
21510
+ var _this56 = this;
21312
21511
  if (this.spanMethod) {
21313
21512
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21314
21513
  }
21315
21514
  setMerges(this, merges, this.mergeList, this.afterFullData);
21316
21515
  return this.$nextTick().then(function () {
21317
- return _this58.updateCellAreas();
21516
+ return _this56.updateCellAreas();
21318
21517
  });
21319
21518
  },
21320
21519
  /**
@@ -21322,13 +21521,13 @@ var Methods = {
21322
21521
  * @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
21323
21522
  */
21324
21523
  removeMergeCells: function removeMergeCells(merges) {
21325
- var _this59 = this;
21524
+ var _this57 = this;
21326
21525
  if (this.spanMethod) {
21327
21526
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21328
21527
  }
21329
21528
  var rest = removeMerges(this, merges, this.mergeList, this.afterFullData);
21330
21529
  return this.$nextTick().then(function () {
21331
- _this59.updateCellAreas();
21530
+ _this57.updateCellAreas();
21332
21531
  return rest;
21333
21532
  });
21334
21533
  },
@@ -21349,23 +21548,23 @@ var Methods = {
21349
21548
  this.setMergeFooterItems(this.mergeFooterItems);
21350
21549
  },
21351
21550
  setMergeFooterItems: function setMergeFooterItems(merges) {
21352
- var _this60 = this;
21551
+ var _this58 = this;
21353
21552
  if (this.footerSpanMethod) {
21354
21553
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21355
21554
  }
21356
21555
  setMerges(this, merges, this.mergeFooterList, null);
21357
21556
  return this.$nextTick().then(function () {
21358
- return _this60.updateCellAreas();
21557
+ return _this58.updateCellAreas();
21359
21558
  });
21360
21559
  },
21361
21560
  removeMergeFooterItems: function removeMergeFooterItems(merges) {
21362
- var _this61 = this;
21561
+ var _this59 = this;
21363
21562
  if (this.footerSpanMethod) {
21364
21563
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21365
21564
  }
21366
21565
  var rest = removeMerges(this, merges, this.mergeFooterList, null);
21367
21566
  return this.$nextTick().then(function () {
21368
- _this61.updateCellAreas();
21567
+ _this59.updateCellAreas();
21369
21568
  return rest;
21370
21569
  });
21371
21570
  },
@@ -21482,9 +21681,9 @@ var Methods = {
21482
21681
  return cellLabel;
21483
21682
  },
21484
21683
  findRowIndexOf: function findRowIndexOf(list, row) {
21485
- var _this62 = this;
21684
+ var _this60 = this;
21486
21685
  return row ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list, function (item) {
21487
- return _this62.eqRow(item, row);
21686
+ return _this60.eqRow(item, row);
21488
21687
  }) : -1;
21489
21688
  },
21490
21689
  eqRow: function eqRow(row1, row2) {
@@ -22014,14 +22213,14 @@ function handleUupdateResize(_vm) {
22014
22213
  isAllSelected: false,
22015
22214
  // 复选框属性,有选中且非全选状态
22016
22215
  isIndeterminate: false,
22017
- // 复选框属性,已选中的行
22018
- selectCheckboxRows: [],
22216
+ // 复选框属性,已选中的行集合
22217
+ selectCheckboxMaps: {},
22019
22218
  // 当前行
22020
22219
  currentRow: null,
22021
22220
  // 单选框属性,选中列
22022
22221
  currentColumn: null,
22023
22222
  // 单选框属性,选中行
22024
- selectRow: null,
22223
+ selectRadioRow: null,
22025
22224
  // 表尾合计数据
22026
22225
  footerTableData: [],
22027
22226
  // 展开列信息
@@ -22029,16 +22228,16 @@ function handleUupdateResize(_vm) {
22029
22228
  hasFixedColumn: false,
22030
22229
  // 树节点列信息
22031
22230
  treeNodeColumn: null,
22032
- // 已展开的行
22033
- rowExpandeds: [],
22034
- // 懒加载中的展开行的列表
22035
- expandLazyLoadeds: [],
22036
- // 已展开树节点
22037
- treeExpandeds: [],
22038
- // 懒加载中的树节点的列表
22039
- treeLazyLoadeds: [],
22040
- // 树节点不确定状态的列表
22041
- treeIndeterminates: [],
22231
+ // 已展开的行集合
22232
+ rowExpandedMaps: {},
22233
+ // 懒加载中的展开行的集合
22234
+ rowExpandLazyLoadedMaps: {},
22235
+ // 已展开树节点集合
22236
+ treeExpandedMaps: {},
22237
+ // 懒加载中的树节点的集合
22238
+ treeExpandLazyLoadedMaps: {},
22239
+ // 树节点不确定状态的集合
22240
+ treeIndeterminateMaps: {},
22042
22241
  // 合并单元格的对象集
22043
22242
  mergeList: [],
22044
22243
  // 合并表尾数据的对象集
@@ -22501,6 +22700,8 @@ function handleUupdateResize(_vm) {
22501
22700
  // 完整数据、条件处理后
22502
22701
  tableFullData: [],
22503
22702
  afterFullData: [],
22703
+ // 列表条件处理后数据集合
22704
+ afterFullRowMaps: {},
22504
22705
  // 收集的列配置(带分组)
22505
22706
  collectColumn: [],
22506
22707
  // 完整所有列(不带分组)
@@ -24149,7 +24350,7 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
24149
24350
  mergeList = this.mergeList,
24150
24351
  editStore = this.editStore,
24151
24352
  checkboxOpts = this.checkboxOpts,
24152
- selectCheckboxRows = this.selectCheckboxRows,
24353
+ selectCheckboxMaps = this.selectCheckboxMaps,
24153
24354
  isInsertByRow = this.isInsertByRow,
24154
24355
  treeOpts = this.treeOpts;
24155
24356
  var transform = treeOpts.transform,
@@ -24174,12 +24375,14 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
24174
24375
  });
24175
24376
  // 如果绑定了多选属性,则更新状态
24176
24377
  if (!checkField) {
24378
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
24177
24379
  rows.forEach(function (row) {
24178
- var sIndex = _this.findRowIndexOf(selectCheckboxRows, row);
24179
- if (sIndex > -1) {
24180
- selectCheckboxRows.splice(sIndex, 1);
24380
+ var rowid = getRowid(_this, row);
24381
+ if (selectRowMaps[rowid]) {
24382
+ delete selectRowMaps[rowid];
24181
24383
  }
24182
24384
  });
24385
+ this.selectCheckboxMaps = selectRowMaps;
24183
24386
  }
24184
24387
  // 从数据源中移除
24185
24388
  if (tableFullData === rows) {
@@ -26594,6 +26797,9 @@ function renderExtraSuffixIcon(h, _vm) {
26594
26797
  }
26595
26798
  },
26596
26799
  multiple: Boolean,
26800
+ // text
26801
+ showWordCount: Boolean,
26802
+ countMethod: Function,
26597
26803
  // number、integer、float
26598
26804
  min: {
26599
26805
  type: [String, Number],
@@ -26736,6 +26942,12 @@ function renderExtraSuffixIcon(h, _vm) {
26736
26942
  isSearch: function isSearch() {
26737
26943
  return this.type === 'search';
26738
26944
  },
26945
+ inputCount: function inputCount() {
26946
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getSize(this.inputValue);
26947
+ },
26948
+ isCountError: function isCountError() {
26949
+ return this.maxlength && this.inputCount > external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(this.maxlength);
26950
+ },
26739
26951
  stepValue: function stepValue() {
26740
26952
  var type = this.type,
26741
26953
  step = this.step;
@@ -27200,6 +27412,8 @@ function renderExtraSuffixIcon(h, _vm) {
27200
27412
  inpReadonly = this.inpReadonly,
27201
27413
  className = this.className,
27202
27414
  controls = this.controls,
27415
+ showWordCount = this.showWordCount,
27416
+ countMethod = this.countMethod,
27203
27417
  inputValue = this.inputValue,
27204
27418
  isDatePickerType = this.isDatePickerType,
27205
27419
  visiblePanel = this.visiblePanel,
@@ -27255,8 +27469,20 @@ function renderExtraSuffixIcon(h, _vm) {
27255
27469
  if (isDatePickerType) {
27256
27470
  childs.push(renderPanel(h, this));
27257
27471
  }
27472
+ var isWordCount = false;
27473
+ // 统计字数
27474
+ if (showWordCount && ['text', 'search'].includes(type)) {
27475
+ isWordCount = true;
27476
+ childs.push(h('span', {
27477
+ "class": ['vxe-input--count', {
27478
+ 'is--error': this.isCountError
27479
+ }]
27480
+ }, countMethod ? "".concat(countMethod({
27481
+ value: inputValue
27482
+ })) : "".concat(this.inputCount).concat(inpMaxlength ? "/".concat(inpMaxlength) : '')));
27483
+ }
27258
27484
  return h('div', {
27259
- "class": ['vxe-input', "type--".concat(type), className, (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "is--".concat(align), align), _defineProperty(_ref2, 'is--controls', controls), _defineProperty(_ref2, 'is--prefix', !!prefix), _defineProperty(_ref2, 'is--suffix', !!suffix), _defineProperty(_ref2, 'is--readonly', readonly), _defineProperty(_ref2, 'is--visivle', visiblePanel), _defineProperty(_ref2, 'is--disabled', disabled), _defineProperty(_ref2, 'is--active', isActivated), _ref2)]
27485
+ "class": ['vxe-input', "type--".concat(type), className, (_ref2 = {}, _defineProperty(_ref2, "size--".concat(vSize), vSize), _defineProperty(_ref2, "is--".concat(align), align), _defineProperty(_ref2, 'is--controls', controls), _defineProperty(_ref2, 'is--prefix', !!prefix), _defineProperty(_ref2, 'is--suffix', !!suffix), _defineProperty(_ref2, 'is--readonly', readonly), _defineProperty(_ref2, 'is--visivle', visiblePanel), _defineProperty(_ref2, 'is--count', isWordCount), _defineProperty(_ref2, 'is--disabled', disabled), _defineProperty(_ref2, 'is--active', isActivated), _ref2)]
27260
27486
  }, childs);
27261
27487
  },
27262
27488
  methods: {
@@ -30519,6 +30745,7 @@ function getLabelData($xetable, opts, columns, datas) {
30519
30745
  radioOpts = $xetable.radioOpts,
30520
30746
  checkboxOpts = $xetable.checkboxOpts,
30521
30747
  columnOpts = $xetable.columnOpts;
30748
+ var childrenField = treeOpts.children || treeOpts.childrenField;
30522
30749
  if (!htmlCellElem) {
30523
30750
  htmlCellElem = document.createElement('div');
30524
30751
  }
@@ -30600,7 +30827,9 @@ function getLabelData($xetable, opts, columns, datas) {
30600
30827
  expandMaps.set(row, 1);
30601
30828
  rest.push(Object.assign(_item, row));
30602
30829
  }
30603
- }, treeOpts);
30830
+ }, {
30831
+ children: childrenField
30832
+ });
30604
30833
  return rest;
30605
30834
  }
30606
30835
  return datas.map(function (row, $rowIndex) {
@@ -32236,13 +32465,16 @@ function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
32236
32465
  treeConfig = this.treeConfig,
32237
32466
  treeOpts = this.treeOpts,
32238
32467
  afterFullData = this.afterFullData;
32468
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32239
32469
  var targetRow;
32240
32470
  evnt.preventDefault();
32241
32471
  if (currentRow) {
32242
32472
  if (treeConfig) {
32243
32473
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
32244
32474
  return item === currentRow;
32245
- }, treeOpts),
32475
+ }, {
32476
+ children: childrenField
32477
+ }),
32246
32478
  index = _XEUtils$findTree.index,
32247
32479
  items = _XEUtils$findTree.items;
32248
32480
  if (isUpArrow && index > 0) {
@@ -32669,6 +32901,7 @@ function validErrorRuleValue(rule, val) {
32669
32901
  afterFullData = this.afterFullData,
32670
32902
  treeConfig = this.treeConfig,
32671
32903
  treeOpts = this.treeOpts;
32904
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32672
32905
  var vaildDatas;
32673
32906
  if (rows === true) {
32674
32907
  vaildDatas = afterFullData;
@@ -32721,7 +32954,9 @@ function validErrorRuleValue(rule, val) {
32721
32954
  }
32722
32955
  };
32723
32956
  if (treeConfig) {
32724
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, treeOpts);
32957
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, {
32958
+ children: childrenField
32959
+ });
32725
32960
  } else {
32726
32961
  vaildDatas.forEach(handleVaild);
32727
32962
  }