vxe-table 3.7.0-beta.9 → 3.7.1

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 (103) hide show
  1. package/README.md +4 -4
  2. package/helper/vetur/attributes.json +26 -2
  3. package/helper/vetur/tags.json +6 -0
  4. package/lib/button/style/style.css +2 -3
  5. package/lib/button/style/style.min.css +1 -1
  6. package/lib/edit/src/mixin.js +265 -214
  7. package/lib/edit/src/mixin.min.js +1 -1
  8. package/lib/export/src/mixin.js +11 -7
  9. package/lib/export/src/mixin.min.js +1 -1
  10. package/lib/form/src/form-config-item.js +5 -1
  11. package/lib/form/src/form-config-item.min.js +1 -1
  12. package/lib/form/src/form-item.js +9 -1
  13. package/lib/form/src/form-item.min.js +1 -1
  14. package/lib/form/src/form.js +4 -0
  15. package/lib/form/src/form.min.js +1 -1
  16. package/lib/form/style/style.css +12 -0
  17. package/lib/form/style/style.min.css +1 -1
  18. package/lib/icon/style/style.css +1 -1
  19. package/lib/icon/style/style.min.css +1 -1
  20. package/lib/index.css +1 -1
  21. package/lib/index.umd.js +1154 -717
  22. package/lib/index.umd.min.js +1 -1
  23. package/lib/input/src/input.js +24 -1
  24. package/lib/input/src/input.min.js +1 -1
  25. package/lib/input/style/style.css +21 -0
  26. package/lib/input/style/style.min.css +1 -1
  27. package/lib/keyboard/src/mixin.js +4 -1
  28. package/lib/keyboard/src/mixin.min.js +1 -1
  29. package/lib/style.css +1 -1
  30. package/lib/style.min.css +1 -1
  31. package/lib/table/src/body.js +17 -14
  32. package/lib/table/src/body.min.js +1 -1
  33. package/lib/table/src/cell.js +38 -34
  34. package/lib/table/src/cell.min.js +1 -1
  35. package/lib/table/src/methods.js +641 -421
  36. package/lib/table/src/methods.min.js +1 -1
  37. package/lib/table/src/table.js +27 -19
  38. package/lib/table/src/table.min.js +1 -1
  39. package/lib/table/src/util.js +4 -2
  40. package/lib/table/src/util.min.js +1 -1
  41. package/lib/table/style/style.css +2 -2
  42. package/lib/table/style/style.min.css +1 -1
  43. package/lib/tools/log.js +1 -1
  44. package/lib/tools/log.min.js +1 -1
  45. package/lib/tools/utils.js +3 -5
  46. package/lib/tools/utils.min.js +1 -1
  47. package/lib/v-x-e-table/index.js +18 -13
  48. package/lib/v-x-e-table/index.min.js +1 -1
  49. package/lib/v-x-e-table/src/commands.js +7 -7
  50. package/lib/v-x-e-table/src/commands.min.js +1 -1
  51. package/lib/v-x-e-table/src/conf.js +2 -2
  52. package/lib/v-x-e-table/src/conf.min.js +1 -1
  53. package/lib/v-x-e-table/src/{setup.js → config.js} +3 -3
  54. package/lib/v-x-e-table/src/config.min.js +1 -0
  55. package/lib/v-x-e-table/src/formats.js +7 -7
  56. package/lib/v-x-e-table/src/formats.min.js +1 -1
  57. package/lib/v-x-e-table/src/menus.js +7 -7
  58. package/lib/v-x-e-table/src/menus.min.js +1 -1
  59. package/lib/v-x-e-table/src/renderer.js +4 -4
  60. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  61. package/lib/validator/src/mixin.js +4 -1
  62. package/lib/validator/src/mixin.min.js +1 -1
  63. package/package.json +7 -8
  64. package/packages/edit/src/mixin.js +185 -142
  65. package/packages/export/src/mixin.js +9 -7
  66. package/packages/form/src/form-config-item.js +4 -2
  67. package/packages/form/src/form-item.js +8 -2
  68. package/packages/form/src/form.js +4 -0
  69. package/packages/input/src/input.js +24 -1
  70. package/packages/keyboard/src/mixin.js +2 -1
  71. package/packages/table/src/body.js +17 -14
  72. package/packages/table/src/cell.js +32 -23
  73. package/packages/table/src/methods.js +476 -230
  74. package/packages/table/src/table.js +25 -17
  75. package/packages/table/src/util.js +4 -2
  76. package/packages/tools/utils.js +3 -6
  77. package/packages/v-x-e-table/index.js +11 -5
  78. package/packages/v-x-e-table/src/commands.js +6 -6
  79. package/packages/v-x-e-table/src/conf.js +2 -2
  80. package/packages/v-x-e-table/src/{setup.js → config.js} +2 -2
  81. package/packages/v-x-e-table/src/formats.js +6 -6
  82. package/packages/v-x-e-table/src/menus.js +6 -6
  83. package/packages/v-x-e-table/src/renderer.js +4 -4
  84. package/packages/validator/src/mixin.js +2 -1
  85. package/styles/button.scss +5 -3
  86. package/styles/css-variable.scss +3 -3
  87. package/styles/form.scss +14 -0
  88. package/styles/input.scss +25 -0
  89. package/styles/table.scss +6 -2
  90. package/styles/textarea.scss +3 -3
  91. package/styles/variable.scss +3 -3
  92. package/types/form-item.d.ts +1 -0
  93. package/types/form.d.ts +1 -0
  94. package/types/table.d.ts +16 -1
  95. package/types/v-x-e-table/index.d.ts +22 -10
  96. package/lib/v-x-e-table/src/setup.min.js +0 -1
  97. /package/lib/icon/style/{iconfont.1690761747506.ttf → iconfont.1694852365070.ttf} +0 -0
  98. /package/lib/icon/style/{iconfont.1690761747506.woff → iconfont.1694852365070.woff} +0 -0
  99. /package/lib/icon/style/{iconfont.1690761747506.woff2 → iconfont.1694852365070.woff2} +0 -0
  100. /package/lib/{iconfont.1690761747506.ttf → iconfont.1694852365070.ttf} +0 -0
  101. /package/lib/{iconfont.1690761747506.woff → iconfont.1694852365070.woff} +0 -0
  102. /package/lib/{iconfont.1690761747506.woff2 → iconfont.1694852365070.woff2} +0 -0
  103. /package/types/v-x-e-table/{setup.d.ts → config.d.ts} +0 -0
package/lib/index.umd.js CHANGED
@@ -10526,6 +10526,7 @@ __webpack_require__.d(__webpack_exports__, {
10526
10526
  "config": () => (/* reexport */ config),
10527
10527
  "default": () => (/* binding */ entry_lib),
10528
10528
  "formats": () => (/* reexport */ formats),
10529
+ "globalConfs": () => (/* reexport */ globalConfs),
10529
10530
  "install": () => (/* reexport */ install),
10530
10531
  "interceptor": () => (/* reexport */ interceptor),
10531
10532
  "menus": () => (/* reexport */ menus),
@@ -10583,6 +10584,7 @@ __webpack_require__.d(all_namespaceObject, {
10583
10584
  "commands": () => (commands),
10584
10585
  "config": () => (config),
10585
10586
  "formats": () => (formats),
10587
+ "globalConfs": () => (globalConfs),
10586
10588
  "install": () => (install),
10587
10589
  "interceptor": () => (interceptor),
10588
10590
  "menus": () => (menus),
@@ -10783,13 +10785,13 @@ var iconPrefix = 'vxe-icon-';
10783
10785
  isReplace: true
10784
10786
  },
10785
10787
  scrollX: {
10786
- enabled: true,
10788
+ // enabled: false,
10787
10789
  gt: 60
10788
10790
  // oSize: 0
10789
10791
  },
10790
10792
 
10791
10793
  scrollY: {
10792
- enabled: true,
10794
+ // enabled: false,
10793
10795
  gt: 100
10794
10796
  // oSize: 0
10795
10797
  }
@@ -11045,7 +11047,7 @@ var es_array_concat = __webpack_require__(2222);
11045
11047
 
11046
11048
 
11047
11049
  function getLog(message, params) {
11048
- return "[vxe-table v".concat("3.7.0-beta.8", "] ").concat(conf.i18n(message, params));
11050
+ return "[vxe-table v".concat("3.7.1", "] ").concat(conf.i18n(message, params));
11049
11051
  }
11050
11052
  function outLog(type) {
11051
11053
  return function (message, params) {
@@ -11219,6 +11221,89 @@ var es_array_splice = __webpack_require__(561);
11219
11221
  var es_array_last_index_of = __webpack_require__(4986);
11220
11222
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.parse-float.js
11221
11223
  var es_parse_float = __webpack_require__(4678);
11224
+ ;// CONCATENATED MODULE: ./node_modules/dom-zindex/es/index.esm.js
11225
+ var storeEl = null;
11226
+ var storeId = 'z-index-manage';
11227
+ var storeMainKey = 'm';
11228
+ var storeSubKey = 's';
11229
+ var storeData = {
11230
+ m: 1000,
11231
+ s: 1000
11232
+ };
11233
+ function getDom() {
11234
+ if (!storeEl) {
11235
+ if (typeof document !== 'undefined') {
11236
+ storeEl = document.getElementById(storeId);
11237
+ if (!storeEl) {
11238
+ storeEl = document.createElement('div');
11239
+ storeEl.id = storeId;
11240
+ storeEl.style.display = 'none';
11241
+ document.body.appendChild(storeEl);
11242
+ setCurrent(storeData.m);
11243
+ setSubCurrent(storeData.s);
11244
+ }
11245
+ }
11246
+ }
11247
+ return storeEl;
11248
+ }
11249
+ function createSetHandle(key) {
11250
+ return function (value) {
11251
+ if (value) {
11252
+ value = Number(value);
11253
+ storeData[key] = value;
11254
+ var doc = getDom();
11255
+ if (doc) {
11256
+ if (doc.dataset) {
11257
+ doc.dataset[key] = value + '';
11258
+ }
11259
+ else {
11260
+ doc.setAttribute('data-' + key, value + '');
11261
+ }
11262
+ }
11263
+ }
11264
+ return storeData[key];
11265
+ };
11266
+ }
11267
+ var setCurrent = createSetHandle(storeMainKey);
11268
+ function createGetHandle(key) {
11269
+ return function getCurrent() {
11270
+ var zIndex;
11271
+ var doc = getDom();
11272
+ if (doc) {
11273
+ zIndex = doc.dataset ? doc.dataset[key] : doc.getAttribute('data-' + key);
11274
+ }
11275
+ if (zIndex) {
11276
+ return Number(zIndex);
11277
+ }
11278
+ return storeData[key];
11279
+ };
11280
+ }
11281
+ var getCurrent = createGetHandle(storeMainKey);
11282
+ function getNext() {
11283
+ return setCurrent(getCurrent() + 1);
11284
+ }
11285
+ var setSubCurrent = createSetHandle(storeSubKey);
11286
+ var _getSubCurrent = createGetHandle(storeSubKey);
11287
+ function getSubCurrent() {
11288
+ return getCurrent() + _getSubCurrent();
11289
+ }
11290
+ function getSubNext() {
11291
+ setSubCurrent(_getSubCurrent() + 1);
11292
+ return getSubCurrent();
11293
+ }
11294
+ /**
11295
+ * Web common z-index style management
11296
+ */
11297
+ var DomZIndex = {
11298
+ setCurrent: setCurrent,
11299
+ getCurrent: getCurrent,
11300
+ getNext: getNext,
11301
+ setSubCurrent: setSubCurrent,
11302
+ getSubCurrent: getSubCurrent,
11303
+ getSubNext: getSubNext
11304
+ };
11305
+ /* harmony default export */ const index_esm = (DomZIndex);
11306
+
11222
11307
  ;// CONCATENATED MODULE: ./packages/tools/utils.js
11223
11308
 
11224
11309
 
@@ -11233,8 +11318,7 @@ var es_parse_float = __webpack_require__(4678);
11233
11318
 
11234
11319
 
11235
11320
 
11236
- var zindexIndex = 0;
11237
- var lastZindex = 1;
11321
+
11238
11322
  function isEnableConf(conf) {
11239
11323
  return conf && conf.enabled !== false;
11240
11324
  }
@@ -11259,11 +11343,10 @@ function getColumnList(columns) {
11259
11343
  }
11260
11344
  var UtilTools = {
11261
11345
  nextZIndex: function nextZIndex() {
11262
- lastZindex = conf.zIndex + zindexIndex++;
11263
- return lastZindex;
11346
+ return index_esm.getNext();
11264
11347
  },
11265
11348
  getLastZIndex: function getLastZIndex() {
11266
- return lastZindex;
11349
+ return index_esm.getCurrent();
11267
11350
  },
11268
11351
  getColumnList: getColumnList,
11269
11352
  getClass: function getClass(property, params) {
@@ -12096,7 +12179,14 @@ var VXECommandsStore = /*#__PURE__*/function () {
12096
12179
  value: function add(name, render) {
12097
12180
  var conf = this.store[name];
12098
12181
  // 兼容
12099
- if (false) {}
12182
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(render)) {
12183
+ // if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
12184
+ // warnLog('vxe.error.delProp', ['commands -> callback', 'commandMethod'])
12185
+ // }
12186
+ render = {
12187
+ commandMethod: render
12188
+ };
12189
+ }
12100
12190
 
12101
12191
  // 检测是否覆盖
12102
12192
  if (false) { var confKeys; }
@@ -12149,7 +12239,14 @@ var VXEMenusStore = /*#__PURE__*/function () {
12149
12239
  value: function add(name, render) {
12150
12240
  var conf = this.store[name];
12151
12241
  // 兼容
12152
- if (false) {}
12242
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(render)) {
12243
+ // if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
12244
+ // warnLog('vxe.error.delProp', ['menus -> callback', 'menuMethod'])
12245
+ // }
12246
+ render = {
12247
+ menuMethod: render
12248
+ };
12249
+ }
12153
12250
 
12154
12251
  // 检测是否覆盖
12155
12252
  if (false) { var confKeys; }
@@ -12202,7 +12299,14 @@ var VXEFormatsStore = /*#__PURE__*/function () {
12202
12299
  value: function add(name, render) {
12203
12300
  var conf = this.store[name];
12204
12301
  // 兼容
12205
- if (false) {}
12302
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(render)) {
12303
+ // if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
12304
+ // warnLog('vxe.error.delProp', ['formats -> callback', 'cellFormatMethod'])
12305
+ // }
12306
+ render = {
12307
+ cellFormatMethod: render
12308
+ };
12309
+ }
12206
12310
 
12207
12311
  // 检测是否覆盖
12208
12312
  if (false) { var confKeys; }
@@ -12277,14 +12381,14 @@ var Store = /*#__PURE__*/function () {
12277
12381
 
12278
12382
  var validators = new store();
12279
12383
  if (false) {}
12280
- ;// CONCATENATED MODULE: ./packages/v-x-e-table/src/setup.js
12384
+ ;// CONCATENATED MODULE: ./packages/v-x-e-table/src/config.js
12281
12385
 
12282
12386
 
12283
12387
 
12284
12388
  /**
12285
12389
  * 全局参数设置
12286
12390
  */
12287
- function setup(options) {
12391
+ function config(options) {
12288
12392
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().merge(conf, options);
12289
12393
  }
12290
12394
  ;// CONCATENATED MODULE: ./packages/v-x-e-table/index.js
@@ -12375,8 +12479,8 @@ var VXETableConfig = /*#__PURE__*/function () {
12375
12479
  }
12376
12480
  }]);
12377
12481
  return VXETableConfig;
12378
- }();
12379
- var config = new VXETableConfig();
12482
+ }(); // 已废弃
12483
+ var globalConfs = new VXETableConfig();
12380
12484
  function t(key, args) {
12381
12485
  return conf.i18n(key, args);
12382
12486
  }
@@ -12384,9 +12488,10 @@ function _t(key, args) {
12384
12488
  return key ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(conf.translate ? conf.translate(key, args) : key) : '';
12385
12489
  }
12386
12490
  var v = 'v3';
12491
+ var setup = config;
12387
12492
  var VXETable = {
12388
12493
  v: v,
12389
- version: "3.7.0-beta.8",
12494
+ version: "3.7.1",
12390
12495
  reg: reg,
12391
12496
  use: use,
12392
12497
  setup: setup,
@@ -12396,9 +12501,11 @@ var VXETable = {
12396
12501
  formats: formats,
12397
12502
  menus: menus,
12398
12503
  validators: validators,
12399
- config: config,
12400
12504
  t: t,
12401
- _t: _t
12505
+ _t: _t,
12506
+ // 已废弃
12507
+ config: config,
12508
+ globalConfs: globalConfs
12402
12509
  };
12403
12510
 
12404
12511
 
@@ -13009,8 +13116,10 @@ function countTreeExpand(prevRow, params) {
13009
13116
  return count;
13010
13117
  }
13011
13118
  var $table = params.$table;
13012
- var rowChildren = prevRow[$table.treeOpts.childrenField || $table.treeOpts.children];
13013
- if ($table.isTreeExpandByRow(prevRow)) {
13119
+ var treeOpts = $table.treeOpts;
13120
+ var childrenField = treeOpts.children || treeOpts.childrenField;
13121
+ var rowChildren = prevRow[childrenField];
13122
+ if (rowChildren && $table.isTreeExpandByRow(prevRow)) {
13014
13123
  for (var index = 0; index < rowChildren.length; index++) {
13015
13124
  count += countTreeExpand(rowChildren[index], params);
13016
13125
  }
@@ -13177,13 +13286,12 @@ function getSlotVNs(vns) {
13177
13286
 
13178
13287
 
13179
13288
 
13180
-
13181
13289
 
13182
13290
 
13183
13291
  var renderType = 'body';
13184
13292
 
13185
13293
  // 滚动、拖动过程中不需要触发
13186
- function isOperateMouse($xetable) {
13294
+ function isVMScrollProcess($xetable) {
13187
13295
  return $xetable._isResize || $xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover;
13188
13296
  }
13189
13297
  function renderLine(h, _vm, $xetable, params) {
@@ -13322,7 +13430,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
13322
13430
  // hover 进入事件
13323
13431
  if (showTitle || showTooltip || showAllTip || bindMouseenter || tooltipConfig) {
13324
13432
  tdOns.mouseenter = function (evnt) {
13325
- if (isOperateMouse($xetable)) {
13433
+ if (isVMScrollProcess($xetable)) {
13326
13434
  return;
13327
13435
  }
13328
13436
  if (showTitle) {
@@ -13341,7 +13449,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
13341
13449
  // hover 退出事件
13342
13450
  if (showTooltip || showAllTip || bindMouseleave || tooltipConfig) {
13343
13451
  tdOns.mouseleave = function (evnt) {
13344
- if (isOperateMouse($xetable)) {
13452
+ if (isVMScrollProcess($xetable)) {
13345
13453
  return;
13346
13454
  }
13347
13455
  if (showTooltip || showAllTip) {
@@ -13475,15 +13583,16 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13475
13583
  treeOpts = $xetable.treeOpts,
13476
13584
  expandOpts = $xetable.expandOpts,
13477
13585
  editOpts = $xetable.editOpts,
13478
- treeExpandeds = $xetable.treeExpandeds,
13586
+ treeExpandedMaps = $xetable.treeExpandedMaps,
13479
13587
  scrollYLoad = $xetable.scrollYLoad,
13480
- rowExpandeds = $xetable.rowExpandeds,
13588
+ rowExpandedMaps = $xetable.rowExpandedMaps,
13481
13589
  radioOpts = $xetable.radioOpts,
13482
13590
  checkboxOpts = $xetable.checkboxOpts,
13483
13591
  expandColumn = $xetable.expandColumn,
13484
13592
  hasFixedColumn = $xetable.hasFixedColumn,
13485
13593
  fullAllDataRowIdData = $xetable.fullAllDataRowIdData,
13486
13594
  rowOpts = $xetable.rowOpts;
13595
+ var childrenField = treeOpts.children || treeOpts.childrenField;
13487
13596
  var rows = [];
13488
13597
  tableData.forEach(function (row, $rowIndex) {
13489
13598
  var trOn = {};
@@ -13494,7 +13603,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13494
13603
  // 事件绑定
13495
13604
  if (rowOpts.isHover || highlightHoverRow) {
13496
13605
  trOn.mouseenter = function (evnt) {
13497
- if (isOperateMouse($xetable)) {
13606
+ if (isVMScrollProcess($xetable)) {
13498
13607
  return;
13499
13608
  }
13500
13609
  $xetable.triggerHoverEvent(evnt, {
@@ -13503,7 +13612,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13503
13612
  });
13504
13613
  };
13505
13614
  trOn.mouseleave = function () {
13506
- if (isOperateMouse($xetable)) {
13615
+ if (isVMScrollProcess($xetable)) {
13507
13616
  return;
13508
13617
  }
13509
13618
  $xetable.clearHoverRow();
@@ -13525,7 +13634,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13525
13634
  $rowIndex: $rowIndex
13526
13635
  };
13527
13636
  // 行是否被展开
13528
- var isExpandRow = expandColumn && rowExpandeds.length && rowExpandeds.indexOf(row) > -1;
13637
+ var isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
13529
13638
  // 树节点是否被展开
13530
13639
  var isExpandTree = false;
13531
13640
  var rowChildren = [];
@@ -13534,9 +13643,9 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13534
13643
  if (editConfig) {
13535
13644
  isNewRow = $xetable.isInsertByRow(row);
13536
13645
  }
13537
- if (treeConfig && !scrollYLoad && !treeOpts.transform && treeExpandeds.length) {
13538
- rowChildren = row[treeOpts.childrenField || treeOpts.children];
13539
- isExpandTree = rowChildren && rowChildren.length && treeExpandeds.indexOf(row) > -1;
13646
+ if (treeConfig && !scrollYLoad && !treeOpts.transform) {
13647
+ rowChildren = row[childrenField];
13648
+ isExpandTree = rowChildren && rowChildren.length && !!treeExpandedMaps[rowid];
13540
13649
  }
13541
13650
  rows.push(h('tr', {
13542
13651
  "class": ['vxe-body--row', treeConfig ? "row--level-".concat(rowLevel) : '', {
@@ -13545,7 +13654,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13545
13654
  'is--expand-row': isExpandRow,
13546
13655
  'is--expand-tree': isExpandTree,
13547
13656
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
13548
- 'row--radio': radioOpts.highlight && $xetable.selectRow === row,
13657
+ 'row--radio': radioOpts.highlight && $xetable.selectRadioRow === row,
13549
13658
  'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
13550
13659
  }, rowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''],
13551
13660
  attrs: {
@@ -13685,8 +13794,10 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
13685
13794
  },
13686
13795
  beforeDestroy: function beforeDestroy() {
13687
13796
  clearTimeout(this.wheelTime);
13688
- this.$el._onscroll = null;
13689
- this.$el.onscroll = null;
13797
+ if (this.$el) {
13798
+ this.$el._onscroll = null;
13799
+ this.$el.onscroll = null;
13800
+ }
13690
13801
  },
13691
13802
  destroyed: function destroyed() {
13692
13803
  var $xetable = this.$parent,
@@ -14965,24 +15076,22 @@ var Cell = {
14965
15076
  var $table = params.$table,
14966
15077
  isHidden = params.isHidden;
14967
15078
  var treeOpts = $table.treeOpts,
14968
- treeExpandeds = $table.treeExpandeds,
14969
- treeLazyLoadeds = $table.treeLazyLoadeds;
15079
+ treeExpandedMaps = $table.treeExpandedMaps,
15080
+ treeExpandLazyLoadedMaps = $table.treeExpandLazyLoadedMaps;
14970
15081
  var row = params.row,
14971
15082
  column = params.column,
14972
15083
  level = params.level;
14973
15084
  var slots = column.slots;
14974
- var childrenField = treeOpts.childrenField,
14975
- children = treeOpts.children,
14976
- hasChildField = treeOpts.hasChildField,
14977
- hasChild = treeOpts.hasChild,
14978
- indent = treeOpts.indent,
15085
+ var indent = treeOpts.indent,
14979
15086
  lazy = treeOpts.lazy,
14980
15087
  trigger = treeOpts.trigger,
14981
15088
  iconLoaded = treeOpts.iconLoaded,
14982
15089
  showIcon = treeOpts.showIcon,
14983
15090
  iconOpen = treeOpts.iconOpen,
14984
15091
  iconClose = treeOpts.iconClose;
14985
- var rowChilds = row[childrenField || children];
15092
+ var childrenField = treeOpts.children || treeOpts.childrenField;
15093
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
15094
+ var rowChilds = row[childrenField];
14986
15095
  var hasLazyChilds = false;
14987
15096
  var isAceived = false;
14988
15097
  var isLazyLoaded = false;
@@ -14991,10 +15100,11 @@ var Cell = {
14991
15100
  return $table.callSlot(slots.icon, params, h, cellVNodes);
14992
15101
  }
14993
15102
  if (!isHidden) {
14994
- isAceived = $table.findRowIndexOf(treeExpandeds, row) > -1;
15103
+ var rowid = getRowid($table, row);
15104
+ isAceived = !!treeExpandedMaps[rowid];
14995
15105
  if (lazy) {
14996
- isLazyLoaded = $table.findRowIndexOf(treeLazyLoadeds, row) > -1;
14997
- hasLazyChilds = row[hasChildField || hasChild];
15106
+ isLazyLoaded = !!treeExpandLazyLoadedMaps[rowid];
15107
+ hasLazyChilds = row[hasChildField];
14998
15108
  }
14999
15109
  }
15000
15110
  if (!trigger || trigger === 'default') {
@@ -15062,7 +15172,7 @@ var Cell = {
15062
15172
  column = params.column,
15063
15173
  isHidden = params.isHidden;
15064
15174
  var radioOpts = $table.radioOpts,
15065
- selectRow = $table.selectRow;
15175
+ selectRadioRow = $table.selectRadioRow;
15066
15176
  var slots = column.slots;
15067
15177
  var labelField = radioOpts.labelField,
15068
15178
  checkMethod = radioOpts.checkMethod,
@@ -15070,7 +15180,7 @@ var Cell = {
15070
15180
  var row = params.row;
15071
15181
  var defaultSlot = slots ? slots["default"] : null;
15072
15182
  var radioSlot = slots ? slots.radio : null;
15073
- var isChecked = row === selectRow;
15183
+ var isChecked = row === selectRadioRow;
15074
15184
  var isVisible = !visibleMethod || visibleMethod({
15075
15185
  row: row
15076
15186
  });
@@ -15182,8 +15292,8 @@ var Cell = {
15182
15292
  column = params.column,
15183
15293
  isHidden = params.isHidden;
15184
15294
  var treeConfig = $table.treeConfig,
15185
- treeIndeterminates = $table.treeIndeterminates,
15186
- selectCheckboxRows = $table.selectCheckboxRows;
15295
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15296
+ selectCheckboxMaps = $table.selectCheckboxMaps;
15187
15297
  var _$table$checkboxOpts = $table.checkboxOpts,
15188
15298
  labelField = _$table$checkboxOpts.labelField,
15189
15299
  checkMethod = _$table$checkboxOpts.checkMethod,
@@ -15199,7 +15309,8 @@ var Cell = {
15199
15309
  var isDisabled = !!checkMethod;
15200
15310
  var on;
15201
15311
  if (!isHidden) {
15202
- isChecked = $table.findRowIndexOf(selectCheckboxRows, row) > -1;
15312
+ var rowid = getRowid($table, row);
15313
+ isChecked = !!selectCheckboxMaps[rowid];
15203
15314
  on = {
15204
15315
  click: function click(evnt) {
15205
15316
  if (!isDisabled && isVisible) {
@@ -15214,7 +15325,7 @@ var Cell = {
15214
15325
  });
15215
15326
  }
15216
15327
  if (treeConfig) {
15217
- indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15328
+ indeterminate = !!treeIndeterminateMaps[rowid];
15218
15329
  }
15219
15330
  }
15220
15331
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
@@ -15255,17 +15366,17 @@ var Cell = {
15255
15366
  column = params.column,
15256
15367
  isHidden = params.isHidden;
15257
15368
  var treeConfig = $table.treeConfig,
15258
- treeIndeterminates = $table.treeIndeterminates;
15259
- var _$table$checkboxOpts2 = $table.checkboxOpts,
15260
- labelField = _$table$checkboxOpts2.labelField,
15261
- checkField = _$table$checkboxOpts2.checkField,
15262
- halfField = _$table$checkboxOpts2.halfField,
15263
- checkMethod = _$table$checkboxOpts2.checkMethod,
15264
- visibleMethod = _$table$checkboxOpts2.visibleMethod;
15369
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15370
+ checkboxOpts = $table.checkboxOpts;
15371
+ var labelField = checkboxOpts.labelField,
15372
+ checkField = checkboxOpts.checkField,
15373
+ checkMethod = checkboxOpts.checkMethod,
15374
+ visibleMethod = checkboxOpts.visibleMethod;
15375
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
15265
15376
  var slots = column.slots;
15266
15377
  var defaultSlot = slots ? slots["default"] : null;
15267
15378
  var checkboxSlot = slots ? slots.checkbox : null;
15268
- var indeterminate = false;
15379
+ var isIndeterminate = false;
15269
15380
  var isChecked = false;
15270
15381
  var isVisible = !visibleMethod || visibleMethod({
15271
15382
  row: row
@@ -15273,6 +15384,7 @@ var Cell = {
15273
15384
  var isDisabled = !!checkMethod;
15274
15385
  var on;
15275
15386
  if (!isHidden) {
15387
+ var rowid = getRowid($table, row);
15276
15388
  isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
15277
15389
  on = {
15278
15390
  click: function click(evnt) {
@@ -15288,14 +15400,14 @@ var Cell = {
15288
15400
  });
15289
15401
  }
15290
15402
  if (treeConfig) {
15291
- indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15403
+ isIndeterminate = !!treeIndeterminateMaps[rowid];
15292
15404
  }
15293
15405
  }
15294
15406
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
15295
15407
  checked: isChecked,
15296
15408
  disabled: isDisabled,
15297
15409
  visible: isVisible,
15298
- indeterminate: indeterminate
15410
+ indeterminate: isIndeterminate
15299
15411
  });
15300
15412
  if (checkboxSlot) {
15301
15413
  return $table.callSlot(checkboxSlot, checkboxParams, h);
@@ -15303,7 +15415,7 @@ var Cell = {
15303
15415
  var checkVNs = [];
15304
15416
  if (isVisible) {
15305
15417
  checkVNs.push(h('span', {
15306
- "class": ['vxe-checkbox--icon', indeterminate ? conf.icon.TABLE_CHECKBOX_INDETERMINATE : isChecked ? conf.icon.TABLE_CHECKBOX_CHECKED : conf.icon.TABLE_CHECKBOX_UNCHECKED]
15418
+ "class": ['vxe-checkbox--icon', isIndeterminate ? conf.icon.TABLE_CHECKBOX_INDETERMINATE : isChecked ? conf.icon.TABLE_CHECKBOX_CHECKED : conf.icon.TABLE_CHECKBOX_UNCHECKED]
15307
15419
  }));
15308
15420
  }
15309
15421
  if (defaultSlot || labelField) {
@@ -15315,7 +15427,7 @@ var Cell = {
15315
15427
  "class": ['vxe-cell--checkbox', {
15316
15428
  'is--checked': isChecked,
15317
15429
  'is--disabled': isDisabled,
15318
- 'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate
15430
+ 'is--indeterminate': indeterminateField && !isChecked ? row[indeterminateField] : isIndeterminate
15319
15431
  }],
15320
15432
  on: on
15321
15433
  }, checkVNs)];
@@ -15332,8 +15444,8 @@ var Cell = {
15332
15444
  row = params.row,
15333
15445
  column = params.column;
15334
15446
  var expandOpts = $table.expandOpts,
15335
- rowExpandeds = $table.rowExpandeds,
15336
- expandLazyLoadeds = $table.expandLazyLoadeds;
15447
+ rowExpandedMaps = $table.rowExpandedMaps,
15448
+ rowExpandLazyLoadedMaps = $table.rowExpandLazyLoadedMaps;
15337
15449
  var lazy = expandOpts.lazy,
15338
15450
  labelField = expandOpts.labelField,
15339
15451
  iconLoaded = expandOpts.iconLoaded,
@@ -15349,9 +15461,10 @@ var Cell = {
15349
15461
  return $table.callSlot(slots.icon, params, h);
15350
15462
  }
15351
15463
  if (!isHidden) {
15352
- isAceived = $table.findRowIndexOf(rowExpandeds, params.row) > -1;
15464
+ var rowid = getRowid($table, row);
15465
+ isAceived = !!rowExpandedMaps[rowid];
15353
15466
  if (lazy) {
15354
- isLazyLoaded = $table.findRowIndexOf(expandLazyLoadeds, row) > -1;
15467
+ isLazyLoaded = !!rowExpandLazyLoadedMaps[rowid];
15355
15468
  }
15356
15469
  }
15357
15470
  return [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
@@ -15481,7 +15594,9 @@ var Cell = {
15481
15594
  },
15482
15595
  on: {
15483
15596
  click: function click(evnt) {
15484
- $table.triggerFilterEvent(evnt, params.column, params);
15597
+ if ($table.triggerFilterEvent) {
15598
+ $table.triggerFilterEvent(evnt, params.column, params);
15599
+ }
15485
15600
  }
15486
15601
  }
15487
15602
  })])] : [];
@@ -15610,7 +15725,6 @@ var Cell = {
15610
15725
 
15611
15726
 
15612
15727
 
15613
-
15614
15728
 
15615
15729
 
15616
15730
  var setCellValue = utils.setCellValue,
@@ -15659,12 +15773,16 @@ function getCustomStorageMap(key) {
15659
15773
  _v: version
15660
15774
  };
15661
15775
  }
15662
- function getRecoverRow(_vm, list) {
15663
- var fullAllDataRowMap = _vm.fullAllDataRowMap;
15664
- return list.filter(function (row) {
15665
- return fullAllDataRowMap.has(row);
15776
+ var getRecoverRowMaps = function getRecoverRowMaps(_vm, keyMaps) {
15777
+ var fullAllDataRowIdData = _vm.fullAllDataRowIdData;
15778
+ var restKeys = {};
15779
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps, function (row, rowid) {
15780
+ if (fullAllDataRowIdData[rowid]) {
15781
+ restKeys[rowid] = row;
15782
+ }
15666
15783
  });
15667
- }
15784
+ return restKeys;
15785
+ };
15668
15786
  function handleReserveRow(_vm, reserveRowMap) {
15669
15787
  var fullDataRowIdData = _vm.fullDataRowIdData;
15670
15788
  var reserveList = [];
@@ -16016,6 +16134,7 @@ var Methods = {
16016
16134
  oldScrollYLoad = this.scrollYLoad,
16017
16135
  sXOpts = this.sXOpts,
16018
16136
  sYOpts = this.sYOpts;
16137
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16019
16138
  var treeData = [];
16020
16139
  var fullData = datas ? datas.slice(0) : [];
16021
16140
  if (treeConfig) {
@@ -16025,7 +16144,7 @@ var Methods = {
16025
16144
  treeData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(fullData, {
16026
16145
  key: treeOpts.rowField,
16027
16146
  parentKey: treeOpts.parentField,
16028
- children: treeOpts.childrenField || treeOpts.children,
16147
+ children: childrenField,
16029
16148
  mapChildren: treeOpts.mapChildrenField
16030
16149
  });
16031
16150
  fullData = treeData.slice(0);
@@ -16234,6 +16353,8 @@ var Methods = {
16234
16353
  tableFullTreeData = this.tableFullTreeData;
16235
16354
  var fullDataRowIdData = this.fullDataRowIdData,
16236
16355
  fullAllDataRowIdData = this.fullAllDataRowIdData;
16356
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16357
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
16237
16358
  var rowkey = getRowkey(this);
16238
16359
  var isLazy = treeConfig && treeOpts.lazy;
16239
16360
  var handleCache = function handleCache(row, index, items, path, parent, nodes) {
@@ -16244,8 +16365,8 @@ var Methods = {
16244
16365
  rowid = getRowUniqueId();
16245
16366
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, rowkey, rowid);
16246
16367
  }
16247
- if (isLazy && row[treeOpts.hasChildField || treeOpts.hasChild] && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(row[treeOpts.childrenField || treeOpts.children])) {
16248
- row[treeOpts.childrenField || treeOpts.children] = null;
16368
+ if (isLazy && row[hasChildField] && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(row[childrenField])) {
16369
+ row[childrenField] = null;
16249
16370
  }
16250
16371
  var rest = {
16251
16372
  row: row,
@@ -16272,7 +16393,9 @@ var Methods = {
16272
16393
  fullAllDataRowIdData = this.fullAllDataRowIdData = {};
16273
16394
  fullAllDataRowMap.clear();
16274
16395
  if (treeConfig) {
16275
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, treeOpts);
16396
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, {
16397
+ children: childrenField
16398
+ });
16276
16399
  } else {
16277
16400
  tableFullData.forEach(handleCache);
16278
16401
  }
@@ -16298,7 +16421,10 @@ var Methods = {
16298
16421
  };
16299
16422
  // 源数据缓存
16300
16423
  if (treeConfig && !treeOpts.transform) {
16301
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, treeOpts);
16424
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16425
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, {
16426
+ children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
16427
+ });
16302
16428
  } else {
16303
16429
  sourceData.forEach(handleSourceRow);
16304
16430
  }
@@ -16312,11 +16438,11 @@ var Methods = {
16312
16438
  fullDataRowIdData = this.fullDataRowIdData,
16313
16439
  fullDataRowMap = this.fullDataRowMap,
16314
16440
  fullAllDataRowMap = this.fullAllDataRowMap,
16315
- fullAllDataRowIdData = this.fullAllDataRowIdData;
16441
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
16442
+ sourceDataRowIdData = this.sourceDataRowIdData;
16316
16443
  var transform = treeOpts.transform,
16317
- childrenField = treeOpts.childrenField,
16318
- children = treeOpts.children,
16319
16444
  mapChildrenField = treeOpts.mapChildrenField;
16445
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16320
16446
  var rest = fullAllDataRowIdData[getRowid(this, row)];
16321
16447
  var parentLevel = rest ? rest.level : 0;
16322
16448
  return this.createData(childRecords).then(function (rows) {
@@ -16324,10 +16450,16 @@ var Methods = {
16324
16450
  var rowid = getRowid(_this12, row);
16325
16451
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData, function (item) {
16326
16452
  return rowid === getRowid(_this12, item);
16327
- }, treeOpts);
16453
+ }, {
16454
+ children: childrenField
16455
+ });
16328
16456
  if (matchObj) {
16329
- matchObj.item[childrenField || children] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16457
+ matchObj.item[childrenField] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16330
16458
  }
16459
+ rows.forEach(function (childRow) {
16460
+ var rowid = getRowid(_this12, childRow);
16461
+ sourceDataRowIdData[rowid] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(childRow, true);
16462
+ });
16331
16463
  }
16332
16464
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, function (childRow, index, items, path, parent, nodes) {
16333
16465
  var rowid = getRowid(_this12, childRow);
@@ -16346,8 +16478,10 @@ var Methods = {
16346
16478
  fullDataRowMap.set(childRow, rest);
16347
16479
  fullAllDataRowIdData[rowid] = rest;
16348
16480
  fullAllDataRowMap.set(childRow, rest);
16349
- }, treeOpts);
16350
- row[childrenField || children] = rows;
16481
+ }, {
16482
+ children: childrenField
16483
+ });
16484
+ row[childrenField] = rows;
16351
16485
  if (transform) {
16352
16486
  row[mapChildrenField] = rows;
16353
16487
  }
@@ -16575,6 +16709,7 @@ var Methods = {
16575
16709
  treeConfig = this.treeConfig,
16576
16710
  treeOpts = this.treeOpts,
16577
16711
  expandOpts = this.expandOpts;
16712
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16578
16713
  var rowkey = getRowkey(this);
16579
16714
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
16580
16715
  records = [records || {}];
@@ -16604,8 +16739,8 @@ var Methods = {
16604
16739
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record, key, null);
16605
16740
  }
16606
16741
  });
16607
- if (treeConfig && treeOpts.lazy && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[treeOpts.childrenField || treeOpts.children])) {
16608
- record[treeOpts.childrenField || treeOpts.children] = null;
16742
+ if (treeConfig && treeOpts.lazy && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[childrenField])) {
16743
+ record[childrenField] = null;
16609
16744
  }
16610
16745
  // 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
16611
16746
  if (eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record, rowkey))) {
@@ -16813,19 +16948,18 @@ var Methods = {
16813
16948
  * 用于多选行,获取已选中的数据
16814
16949
  */
16815
16950
  getCheckboxRecords: function getCheckboxRecords(isFull) {
16816
- var _this17 = this;
16817
16951
  var tableFullData = this.tableFullData,
16818
16952
  afterFullData = this.afterFullData,
16819
16953
  treeConfig = this.treeConfig,
16820
16954
  treeOpts = this.treeOpts,
16821
16955
  checkboxOpts = this.checkboxOpts,
16822
16956
  tableFullTreeData = this.tableFullTreeData,
16823
- afterTreeFullData = this.afterTreeFullData;
16957
+ afterTreeFullData = this.afterTreeFullData,
16958
+ afterFullRowMaps = this.afterFullRowMaps;
16824
16959
  var transform = treeOpts.transform,
16825
- childrenField = treeOpts.childrenField,
16826
- children = treeOpts.children,
16827
16960
  mapChildrenField = treeOpts.mapChildrenField;
16828
16961
  var checkField = checkboxOpts.checkField;
16962
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16829
16963
  var currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
16830
16964
  var rowList = [];
16831
16965
  if (checkField) {
@@ -16833,7 +16967,7 @@ var Methods = {
16833
16967
  rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, function (row) {
16834
16968
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
16835
16969
  }, {
16836
- children: transform ? mapChildrenField : childrenField || children
16970
+ children: transform ? mapChildrenField : childrenField
16837
16971
  });
16838
16972
  } else {
16839
16973
  rowList = currTableData.filter(function (row) {
@@ -16841,18 +16975,13 @@ var Methods = {
16841
16975
  });
16842
16976
  }
16843
16977
  } else {
16844
- var selectCheckboxRows = this.selectCheckboxRows;
16845
- if (treeConfig) {
16846
- rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, function (row) {
16847
- return _this17.findRowIndexOf(selectCheckboxRows, row) > -1;
16848
- }, {
16849
- children: transform ? mapChildrenField : childrenField || children
16850
- });
16851
- } else {
16852
- rowList = currTableData.filter(function (row) {
16853
- return _this17.findRowIndexOf(selectCheckboxRows, row) > -1;
16854
- });
16855
- }
16978
+ var selectCheckboxMaps = this.selectCheckboxMaps,
16979
+ fullDataRowIdData = this.fullDataRowIdData;
16980
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
16981
+ if (isFull ? fullDataRowIdData[rowid] : afterFullRowMaps[rowid]) {
16982
+ rowList.push(row);
16983
+ }
16984
+ });
16856
16985
  }
16857
16986
  return rowList;
16858
16987
  },
@@ -16861,17 +16990,20 @@ var Methods = {
16861
16990
  * @returns
16862
16991
  */
16863
16992
  handleVirtualTreeToList: function handleVirtualTreeToList() {
16993
+ var _this17 = this;
16864
16994
  var treeOpts = this.treeOpts,
16865
16995
  treeConfig = this.treeConfig,
16866
- treeExpandeds = this.treeExpandeds,
16996
+ treeExpandedMaps = this.treeExpandedMaps,
16867
16997
  afterTreeFullData = this.afterTreeFullData,
16868
16998
  afterFullData = this.afterFullData;
16869
16999
  if (treeConfig && treeOpts.transform) {
16870
17000
  var fullData = [];
16871
- var expandMaps = new Map();
17001
+ var expandMaps = {};
16872
17002
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, function (row, index, items, path, parent) {
16873
- if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
16874
- expandMaps.set(row, 1);
17003
+ var rowid = getRowid(_this17, row);
17004
+ var parentRowid = getRowid(_this17, parent);
17005
+ if (!parent || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
17006
+ expandMaps[rowid] = 1;
16875
17007
  fullData.push(row);
16876
17008
  }
16877
17009
  }, {
@@ -17100,6 +17232,8 @@ var Methods = {
17100
17232
  fullAllDataRowIdData = this.fullAllDataRowIdData,
17101
17233
  afterTreeFullData = this.afterTreeFullData,
17102
17234
  treeOpts = this.treeOpts;
17235
+ var childrenField = treeOpts.children || treeOpts.childrenField;
17236
+ var fullMaps = {};
17103
17237
  if (treeConfig) {
17104
17238
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, function (row, index, items, path) {
17105
17239
  var rowid = getRowid(_this19, row);
@@ -17125,8 +17259,9 @@ var Methods = {
17125
17259
  fullAllDataRowIdData[rowid] = rest;
17126
17260
  fullDataRowIdData[rowid] = rest;
17127
17261
  }
17262
+ fullMaps[rowid] = row;
17128
17263
  }, {
17129
- children: treeOpts.transform ? treeOpts.mapChildrenField : treeOpts.childrenField || treeOpts.children
17264
+ children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
17130
17265
  });
17131
17266
  } else {
17132
17267
  afterFullData.forEach(function (row, index) {
@@ -17151,8 +17286,10 @@ var Methods = {
17151
17286
  fullAllDataRowIdData[rowid] = rest;
17152
17287
  fullDataRowIdData[rowid] = rest;
17153
17288
  }
17289
+ fullMaps[rowid] = row;
17154
17290
  });
17155
17291
  }
17292
+ this.afterFullRowMaps = fullMaps;
17156
17293
  },
17157
17294
  /**
17158
17295
  * 只对 tree-config 有效,获取行的父级
@@ -17291,7 +17428,7 @@ var Methods = {
17291
17428
  */
17292
17429
  showColumn: function showColumn(fieldOrColumn) {
17293
17430
  var column = handleFieldOrColumn(this, fieldOrColumn);
17294
- if (column && column.visible) {
17431
+ if (column && !column.visible) {
17295
17432
  column.visible = true;
17296
17433
  return this.handleCustom();
17297
17434
  }
@@ -18441,6 +18578,7 @@ var Methods = {
18441
18578
  var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
18442
18579
  var operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
18443
18580
  var isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
18581
+ var childrenField = treeOpts.children || treeOpts.childrenField;
18444
18582
  var params;
18445
18583
  if (filterStore.visible) {
18446
18584
  if (isEsc) {
@@ -18515,7 +18653,7 @@ var Methods = {
18515
18653
  }
18516
18654
  } else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
18517
18655
  // 如果是树形表格当前行回车移动到子节点
18518
- var childrens = currentRow[treeOpts.children];
18656
+ var childrens = currentRow[childrenField];
18519
18657
  if (childrens && childrens.length) {
18520
18658
  evnt.preventDefault();
18521
18659
  var targetRow = childrens[0];
@@ -18585,7 +18723,9 @@ var Methods = {
18585
18723
  // 如果树形表格回退键关闭当前行返回父节点
18586
18724
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(_this29.afterFullData, function (item) {
18587
18725
  return item === currentRow;
18588
- }, treeOpts),
18726
+ }, {
18727
+ children: childrenField
18728
+ }),
18589
18729
  parentRow = _XEUtils$findTree.parent;
18590
18730
  if (parentRow) {
18591
18731
  evnt.preventDefault();
@@ -18891,15 +19031,24 @@ var Methods = {
18891
19031
  * 获取复选框半选状态的行数据
18892
19032
  */
18893
19033
  getCheckboxIndeterminateRecords: function getCheckboxIndeterminateRecords(isFull) {
18894
- var _this31 = this;
18895
19034
  var treeConfig = this.treeConfig,
18896
- treeIndeterminates = this.treeIndeterminates,
19035
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
18897
19036
  fullDataRowIdData = this.fullDataRowIdData;
18898
19037
  if (treeConfig) {
18899
- return isFull ? treeIndeterminates.slice(0) : treeIndeterminates.filter(function (row) {
18900
- var rowid = getRowid(_this31, row);
18901
- return fullDataRowIdData[rowid];
19038
+ var fullRest = [];
19039
+ var defRest = [];
19040
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeIndeterminateMaps, function (item, rowid) {
19041
+ if (item) {
19042
+ fullRest.push(item);
19043
+ if (fullDataRowIdData[rowid]) {
19044
+ defRest.push(item);
19045
+ }
19046
+ }
18902
19047
  });
19048
+ if (isFull) {
19049
+ return fullRest;
19050
+ }
19051
+ return defRest;
18903
19052
  }
18904
19053
  return [];
18905
19054
  },
@@ -18924,12 +19073,12 @@ var Methods = {
18924
19073
  }
18925
19074
  },
18926
19075
  handleCheckedCheckboxRow: function handleCheckedCheckboxRow(rows, value, isForce) {
18927
- var _this32 = this;
19076
+ var _this31 = this;
18928
19077
  if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
18929
19078
  rows = [rows];
18930
19079
  }
18931
19080
  rows.forEach(function (row) {
18932
- return _this32.handleSelectRow({
19081
+ return _this31.handleSelectRow({
18933
19082
  row: row
18934
19083
  }, !!value, isForce);
18935
19084
  });
@@ -18944,78 +19093,108 @@ var Methods = {
18944
19093
  return this.handleCheckedCheckboxRow(rows, value, true);
18945
19094
  },
18946
19095
  isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {
18947
- var selectCheckboxRows = this.selectCheckboxRows;
19096
+ var selectCheckboxMaps = this.selectCheckboxMaps;
18948
19097
  var checkField = this.checkboxOpts.checkField;
18949
19098
  if (checkField) {
18950
19099
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
18951
19100
  }
18952
- return this.findRowIndexOf(selectCheckboxRows, row) > -1;
19101
+ return !!selectCheckboxMaps[getRowid(this, row)];
18953
19102
  },
18954
19103
  isIndeterminateByCheckboxRow: function isIndeterminateByCheckboxRow(row) {
18955
- var treeIndeterminates = this.treeIndeterminates;
18956
- return this.findRowIndexOf(treeIndeterminates, row) > -1 && !this.isCheckedByCheckboxRow(row);
19104
+ var treeIndeterminateMaps = this.treeIndeterminateMaps;
19105
+ return !!treeIndeterminateMaps[getRowid(this, row)] && !this.isCheckedByCheckboxRow(row);
18957
19106
  },
18958
19107
  /**
18959
19108
  * 多选,行选中事件
18960
19109
  * value 选中true 不选false 半选-1
18961
19110
  */
18962
19111
  handleSelectRow: function handleSelectRow(_ref6, value, isForce) {
18963
- var _this33 = this;
19112
+ var _this32 = this;
18964
19113
  var row = _ref6.row;
18965
- var selectCheckboxRows = this.selectCheckboxRows,
19114
+ var selectCheckboxMaps = this.selectCheckboxMaps,
18966
19115
  afterFullData = this.afterFullData,
18967
19116
  treeConfig = this.treeConfig,
18968
19117
  treeOpts = this.treeOpts,
18969
- treeIndeterminates = this.treeIndeterminates,
19118
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
18970
19119
  checkboxOpts = this.checkboxOpts;
18971
19120
  var checkField = checkboxOpts.checkField,
18972
19121
  checkStrictly = checkboxOpts.checkStrictly,
18973
19122
  checkMethod = checkboxOpts.checkMethod;
19123
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
19124
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19125
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19126
+ var rowid = getRowid(this, row);
18974
19127
  if (checkField) {
18975
19128
  if (treeConfig && !checkStrictly) {
18976
19129
  if (value === -1) {
18977
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
18978
- treeIndeterminates.push(row);
19130
+ if (!treeIndeterminateMaps[rowid]) {
19131
+ if (indeterminateField) {
19132
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19133
+ }
19134
+ treeIndeterminateMaps[rowid] = row;
18979
19135
  }
18980
19136
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, false);
18981
19137
  } else {
18982
19138
  // 更新子节点状态
18983
19139
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], function (item) {
18984
- if (_this33.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19140
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
18985
19141
  row: item
18986
19142
  })) {
18987
19143
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, value);
18988
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeIndeterminates, function (half) {
18989
- return _this33.eqRow(half, item);
18990
- });
18991
- _this33.handleCheckboxReserveRow(row, value);
19144
+ if (indeterminateField) {
19145
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19146
+ }
19147
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19148
+ _this32.handleCheckboxReserveRow(row, value);
18992
19149
  }
18993
- }, treeOpts);
19150
+ }, {
19151
+ children: childrenField
19152
+ });
18994
19153
  }
18995
19154
  // 如果存在父节点,更新父节点状态
18996
19155
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
18997
- return _this33.eqRow(item, row);
18998
- }, treeOpts);
19156
+ return _this32.eqRow(item, row);
19157
+ }, {
19158
+ children: childrenField
19159
+ });
18999
19160
  if (matchObj && matchObj.parent) {
19000
19161
  var parentStatus;
19001
- var vItems = !isForce && checkMethod ? matchObj.items.filter(function (item) {
19002
- return checkMethod({
19003
- row: item
19162
+ var vItems = [];
19163
+ var vItemMaps = {};
19164
+ if (!isForce && checkMethod) {
19165
+ matchObj.items.forEach(function (item) {
19166
+ if (checkMethod({
19167
+ row: item
19168
+ })) {
19169
+ var itemRid = getRowid(_this32, item);
19170
+ vItemMaps[itemRid] = item;
19171
+ vItems.push(item);
19172
+ }
19173
+ });
19174
+ } else {
19175
+ matchObj.items.forEach(function (item) {
19176
+ var itemRid = getRowid(_this32, item);
19177
+ vItemMaps[itemRid] = item;
19178
+ vItems.push(item);
19004
19179
  });
19005
- }) : matchObj.items;
19180
+ }
19006
19181
  var indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(matchObj.items, function (item) {
19007
- return _this33.findRowIndexOf(treeIndeterminates, item) > -1;
19182
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19008
19183
  });
19009
19184
  if (indeterminatesItem) {
19010
19185
  parentStatus = -1;
19011
19186
  } else {
19012
- var selectItems = matchObj.items.filter(function (item) {
19013
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField);
19187
+ var selectItems = [];
19188
+ matchObj.items.forEach(function (item) {
19189
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField)) {
19190
+ selectItems.push(item);
19191
+ }
19014
19192
  });
19015
19193
  parentStatus = selectItems.filter(function (item) {
19016
- return _this33.findRowIndexOf(vItems, item) > -1;
19194
+ return vItemMaps[getRowid(_this32, item)];
19017
19195
  }).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
19018
19196
  }
19197
+ this.selectCheckboxMaps = selectRowMaps;
19019
19198
  return this.handleSelectRow({
19020
19199
  row: matchObj.parent
19021
19200
  }, parentStatus, isForce);
@@ -19031,56 +19210,84 @@ var Methods = {
19031
19210
  } else {
19032
19211
  if (treeConfig && !checkStrictly) {
19033
19212
  if (value === -1) {
19034
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
19035
- treeIndeterminates.push(row);
19213
+ if (!treeIndeterminateMaps[rowid]) {
19214
+ if (indeterminateField) {
19215
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19216
+ }
19217
+ treeIndeterminateMaps[rowid] = row;
19218
+ }
19219
+ if (selectRowMaps[rowid]) {
19220
+ delete selectRowMaps[rowid];
19036
19221
  }
19037
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (item) {
19038
- return _this33.eqRow(item, row);
19039
- });
19040
19222
  } else {
19041
19223
  // 更新子节点状态
19042
19224
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([row], function (item) {
19043
- if (_this33.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19225
+ var itemRid = getRowid(_this32, item);
19226
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19044
19227
  row: item
19045
19228
  })) {
19046
19229
  if (value) {
19047
- selectCheckboxRows.push(item);
19230
+ selectRowMaps[itemRid] = item;
19048
19231
  } else {
19049
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (select) {
19050
- return _this33.eqRow(select, item);
19051
- });
19232
+ if (selectRowMaps[itemRid]) {
19233
+ delete selectRowMaps[itemRid];
19234
+ }
19052
19235
  }
19053
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeIndeterminates, function (half) {
19054
- return _this33.eqRow(half, item);
19055
- });
19056
- _this33.handleCheckboxReserveRow(row, value);
19236
+ if (indeterminateField) {
19237
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19238
+ }
19239
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19240
+ _this32.handleCheckboxReserveRow(row, value);
19057
19241
  }
19058
- }, treeOpts);
19242
+ }, {
19243
+ children: childrenField
19244
+ });
19059
19245
  }
19060
19246
  // 如果存在父节点,更新父节点状态
19061
19247
  var _matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
19062
- return _this33.eqRow(item, row);
19063
- }, treeOpts);
19248
+ return _this32.eqRow(item, row);
19249
+ }, {
19250
+ children: childrenField
19251
+ });
19064
19252
  if (_matchObj && _matchObj.parent) {
19065
19253
  var _parentStatus;
19066
- var _vItems = !isForce && checkMethod ? _matchObj.items.filter(function (item) {
19067
- return checkMethod({
19068
- row: item
19254
+ var _vItems = [];
19255
+ var _vItemMaps = {};
19256
+ if (!isForce && checkMethod) {
19257
+ _matchObj.items.forEach(function (item) {
19258
+ if (checkMethod({
19259
+ row: item
19260
+ })) {
19261
+ var itemRid = getRowid(_this32, item);
19262
+ _vItemMaps[itemRid] = item;
19263
+ _vItems.push(item);
19264
+ }
19265
+ });
19266
+ } else {
19267
+ _matchObj.items.forEach(function (item) {
19268
+ var itemRid = getRowid(_this32, item);
19269
+ _vItemMaps[itemRid] = item;
19270
+ _vItems.push(item);
19069
19271
  });
19070
- }) : _matchObj.items;
19272
+ }
19071
19273
  var _indeterminatesItem = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(_matchObj.items, function (item) {
19072
- return _this33.findRowIndexOf(treeIndeterminates, item) > -1;
19274
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19073
19275
  });
19074
19276
  if (_indeterminatesItem) {
19075
19277
  _parentStatus = -1;
19076
19278
  } else {
19077
- var _selectItems = _matchObj.items.filter(function (item) {
19078
- return _this33.findRowIndexOf(selectCheckboxRows, item) > -1;
19279
+ var _selectItems = [];
19280
+ _matchObj.items.forEach(function (item) {
19281
+ var itemRid = getRowid(_this32, item);
19282
+ if (selectRowMaps[itemRid]) {
19283
+ _selectItems.push(item);
19284
+ }
19079
19285
  });
19080
19286
  _parentStatus = _selectItems.filter(function (item) {
19081
- return _this33.findRowIndexOf(_vItems, item) > -1;
19287
+ return _vItemMaps[getRowid(_this32, item)];
19082
19288
  }).length === _vItems.length ? true : _selectItems.length || value === -1 ? -1 : false;
19083
19289
  }
19290
+ this.selectCheckboxMaps = selectRowMaps;
19084
19291
  return this.handleSelectRow({
19085
19292
  row: _matchObj.parent
19086
19293
  }, _parentStatus, isForce);
@@ -19090,26 +19297,32 @@ var Methods = {
19090
19297
  row: row
19091
19298
  })) {
19092
19299
  if (value) {
19093
- if (this.findRowIndexOf(selectCheckboxRows, row) === -1) {
19094
- selectCheckboxRows.push(row);
19300
+ if (!selectRowMaps[rowid]) {
19301
+ selectRowMaps[rowid] = row;
19095
19302
  }
19096
19303
  } else {
19097
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(selectCheckboxRows, function (item) {
19098
- return _this33.eqRow(item, row);
19099
- });
19304
+ if (selectRowMaps[rowid]) {
19305
+ delete selectRowMaps[rowid];
19306
+ }
19100
19307
  }
19101
19308
  this.handleCheckboxReserveRow(row, value);
19102
19309
  }
19103
19310
  }
19104
19311
  }
19312
+ this.selectCheckboxMaps = selectRowMaps;
19105
19313
  this.checkSelectionStatus();
19106
19314
  },
19107
19315
  handleToggleCheckRowEvent: function handleToggleCheckRowEvent(evnt, params) {
19108
- var selectCheckboxRows = this.selectCheckboxRows,
19316
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19109
19317
  checkboxOpts = this.checkboxOpts;
19110
19318
  var checkField = checkboxOpts.checkField;
19111
19319
  var row = params.row;
19112
- var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : this.findRowIndexOf(selectCheckboxRows, row) === -1;
19320
+ var value = false;
19321
+ if (checkField) {
19322
+ value = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
19323
+ } else {
19324
+ value = !selectCheckboxMaps[getRowid(this, row)];
19325
+ }
19113
19326
  if (evnt) {
19114
19327
  this.triggerCheckRowEvent(evnt, params, value);
19115
19328
  } else {
@@ -19117,9 +19330,29 @@ var Methods = {
19117
19330
  }
19118
19331
  },
19119
19332
  triggerCheckRowEvent: function triggerCheckRowEvent(evnt, params, value) {
19120
- var checkMethod = this.checkboxOpts.checkMethod;
19333
+ var checkboxOpts = this.checkboxOpts,
19334
+ afterFullData = this.afterFullData;
19335
+ var checkMethod = checkboxOpts.checkMethod;
19336
+ var row = params.row;
19337
+ if (checkboxOpts.isShiftKey && evnt.shiftKey && !this.treeConfig) {
19338
+ var checkboxRecords = this.getCheckboxRecords();
19339
+ if (checkboxRecords.length) {
19340
+ var firstRow = checkboxRecords[0];
19341
+ var _rowIndex = this.getVTRowIndex(row);
19342
+ var _firstRowIndex = this.getVTRowIndex(firstRow);
19343
+ if (_rowIndex !== _firstRowIndex) {
19344
+ this.setAllCheckboxRow(false);
19345
+ var rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
19346
+ this.handleCheckedCheckboxRow(rangeRows, true, false);
19347
+ this.emitEvent('checkbox-range-select', Object.assign({
19348
+ rangeRecords: rangeRows
19349
+ }, params), evnt);
19350
+ return;
19351
+ }
19352
+ }
19353
+ }
19121
19354
  if (!checkMethod || checkMethod({
19122
- row: params.row
19355
+ row: row
19123
19356
  })) {
19124
19357
  this.handleSelectRow(params, value);
19125
19358
  this.emitEvent('checkbox-change', Object.assign({
@@ -19134,31 +19367,42 @@ var Methods = {
19134
19367
  * 多选,切换某一行的选中状态
19135
19368
  */
19136
19369
  toggleCheckboxRow: function toggleCheckboxRow(row) {
19137
- var selectCheckboxRows = this.selectCheckboxRows,
19370
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19138
19371
  checkboxOpts = this.checkboxOpts;
19139
19372
  var checkField = checkboxOpts.checkField;
19140
- var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : this.findRowIndexOf(selectCheckboxRows, row) === -1;
19373
+ var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : !selectCheckboxMaps[getRowid(this, row)];
19141
19374
  this.handleSelectRow({
19142
19375
  row: row
19143
19376
  }, value, true);
19144
19377
  return this.$nextTick();
19145
19378
  },
19146
19379
  handleCheckedAllCheckboxRow: function handleCheckedAllCheckboxRow(value, isForce) {
19147
- var _this34 = this;
19380
+ var _this33 = this;
19148
19381
  var afterFullData = this.afterFullData,
19149
19382
  treeConfig = this.treeConfig,
19150
19383
  treeOpts = this.treeOpts,
19151
- selectCheckboxRows = this.selectCheckboxRows,
19384
+ selectCheckboxMaps = this.selectCheckboxMaps,
19152
19385
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19153
- checkboxOpts = this.checkboxOpts;
19386
+ checkboxOpts = this.checkboxOpts,
19387
+ afterFullRowMaps = this.afterFullRowMaps;
19154
19388
  var checkField = checkboxOpts.checkField,
19155
19389
  reserve = checkboxOpts.reserve,
19156
19390
  checkStrictly = checkboxOpts.checkStrictly,
19157
19391
  checkMethod = checkboxOpts.checkMethod;
19158
- var selectRows = [];
19159
- var beforeSelection = treeConfig ? [] : selectCheckboxRows.filter(function (row) {
19160
- return _this34.findRowIndexOf(afterFullData, row) === -1;
19161
- });
19392
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19393
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19394
+ var selectRowMaps = {};
19395
+
19396
+ // 疑惑!
19397
+ if (!treeConfig) {
19398
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
19399
+ if (!afterFullRowMaps[rowid]) {
19400
+ selectRowMaps[rowid] = row;
19401
+ }
19402
+ });
19403
+ }
19404
+ // 疑惑!
19405
+
19162
19406
  if (checkStrictly) {
19163
19407
  this.isAllSelected = value;
19164
19408
  } else {
@@ -19172,15 +19416,20 @@ var Methods = {
19172
19416
  row: row
19173
19417
  })) {
19174
19418
  if (value) {
19175
- selectRows.push(row);
19419
+ selectRowMaps[getRowid(_this33, row)] = row;
19176
19420
  }
19177
19421
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, value);
19178
19422
  }
19423
+ if (treeConfig && indeterminateField) {
19424
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19425
+ }
19179
19426
  };
19180
19427
  // 如果存在选中方法
19181
19428
  // 如果方法成立,则更新值,否则忽略该数据
19182
19429
  if (treeConfig) {
19183
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, treeOpts);
19430
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, {
19431
+ children: childrenField
19432
+ });
19184
19433
  } else {
19185
19434
  afterFullData.forEach(checkValFn);
19186
19435
  }
@@ -19199,9 +19448,11 @@ var Methods = {
19199
19448
  if (isForce || !checkMethod || checkMethod({
19200
19449
  row: row
19201
19450
  })) {
19202
- selectRows.push(row);
19451
+ selectRowMaps[getRowid(_this33, row)] = row;
19203
19452
  }
19204
- }, treeOpts);
19453
+ }, {
19454
+ children: childrenField
19455
+ });
19205
19456
  } else {
19206
19457
  /**
19207
19458
  * 如果是树取消
@@ -19209,12 +19460,15 @@ var Methods = {
19209
19460
  */
19210
19461
  if (!isForce && checkMethod) {
19211
19462
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, function (row) {
19463
+ var rowid = getRowid(_this33, row);
19212
19464
  if (checkMethod({
19213
19465
  row: row
19214
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1) {
19215
- selectRows.push(row);
19466
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19467
+ selectRowMaps[rowid] = row;
19216
19468
  }
19217
- }, treeOpts);
19469
+ }, {
19470
+ children: childrenField
19471
+ });
19218
19472
  }
19219
19473
  }
19220
19474
  } else {
@@ -19225,13 +19479,18 @@ var Methods = {
19225
19479
  * 如果不存在选中方法,则添加所有数据到临时集合中
19226
19480
  */
19227
19481
  if (!isForce && checkMethod) {
19228
- selectRows = afterFullData.filter(function (row) {
19229
- return _this34.findRowIndexOf(selectCheckboxRows, row) > -1 || checkMethod({
19482
+ afterFullData.forEach(function (row) {
19483
+ var rowid = getRowid(_this33, row);
19484
+ if (selectCheckboxMaps[rowid] || checkMethod({
19230
19485
  row: row
19231
- });
19486
+ })) {
19487
+ selectRowMaps[rowid] = row;
19488
+ }
19232
19489
  });
19233
19490
  } else {
19234
- selectRows = afterFullData.slice(0);
19491
+ afterFullData.forEach(function (row) {
19492
+ selectRowMaps[getRowid(_this33, row)] = row;
19493
+ });
19235
19494
  }
19236
19495
  } else {
19237
19496
  /**
@@ -19240,10 +19499,13 @@ var Methods = {
19240
19499
  * 如果不存在选中方法,无需处理,临时集合默认为空
19241
19500
  */
19242
19501
  if (!isForce && checkMethod) {
19243
- selectRows = afterFullData.filter(function (row) {
19244
- return checkMethod({
19502
+ afterFullData.forEach(function (row) {
19503
+ var rowid = getRowid(_this33, row);
19504
+ if (checkMethod({
19245
19505
  row: row
19246
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1;
19506
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19507
+ selectRowMaps[rowid] = row;
19508
+ }
19247
19509
  });
19248
19510
  }
19249
19511
  }
@@ -19251,18 +19513,19 @@ var Methods = {
19251
19513
  }
19252
19514
  if (reserve) {
19253
19515
  if (value) {
19254
- selectRows.forEach(function (row) {
19255
- checkboxReserveRowMap[getRowid(_this34, row)] = row;
19516
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, function (row, rowid) {
19517
+ checkboxReserveRowMap[rowid] = row;
19256
19518
  });
19257
19519
  } else {
19258
19520
  afterFullData.forEach(function (row) {
19259
- return _this34.handleCheckboxReserveRow(row, false);
19521
+ return _this33.handleCheckboxReserveRow(row, false);
19260
19522
  });
19261
19523
  }
19262
19524
  }
19263
- this.selectCheckboxRows = checkField ? [] : beforeSelection.concat(selectRows);
19525
+ this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
19264
19526
  }
19265
- this.treeIndeterminates = [];
19527
+ this.treeIndeterminateMaps = {};
19528
+ this.treeIndeterminateRowMaps = {};
19266
19529
  this.checkSelectionStatus();
19267
19530
  return this.$nextTick();
19268
19531
  },
@@ -19274,16 +19537,16 @@ var Methods = {
19274
19537
  return this.handleCheckedAllCheckboxRow(value, true);
19275
19538
  },
19276
19539
  checkSelectionStatus: function checkSelectionStatus() {
19277
- var _this35 = this;
19540
+ var _this34 = this;
19278
19541
  var afterFullData = this.afterFullData,
19279
- selectCheckboxRows = this.selectCheckboxRows,
19280
- treeIndeterminates = this.treeIndeterminates,
19542
+ selectCheckboxMaps = this.selectCheckboxMaps,
19543
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
19281
19544
  checkboxOpts = this.checkboxOpts,
19282
19545
  treeConfig = this.treeConfig;
19283
19546
  var checkField = checkboxOpts.checkField,
19284
- halfField = checkboxOpts.halfField,
19285
19547
  checkStrictly = checkboxOpts.checkStrictly,
19286
19548
  checkMethod = checkboxOpts.checkMethod;
19549
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19287
19550
  if (!checkStrictly) {
19288
19551
  var disableRows = [];
19289
19552
  var checkRows = [];
@@ -19308,19 +19571,19 @@ var Methods = {
19308
19571
  });
19309
19572
  isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
19310
19573
  if (treeConfig) {
19311
- if (halfField) {
19574
+ if (indeterminateField) {
19312
19575
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19313
- 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, halfField) || _this35.findRowIndexOf(treeIndeterminates, row) > -1;
19576
+ 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)];
19314
19577
  });
19315
19578
  } else {
19316
19579
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19317
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || _this35.findRowIndexOf(treeIndeterminates, row) > -1;
19580
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || !!treeIndeterminateMaps[getRowid(_this34, row)];
19318
19581
  });
19319
19582
  }
19320
19583
  } else {
19321
- if (halfField) {
19584
+ if (indeterminateField) {
19322
19585
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19323
- 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, halfField);
19586
+ 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);
19324
19587
  });
19325
19588
  } else {
19326
19589
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
@@ -19336,22 +19599,23 @@ var Methods = {
19336
19599
  disableRows.push(row);
19337
19600
  return true;
19338
19601
  }
19339
- if (_this35.findRowIndexOf(selectCheckboxRows, row) > -1) {
19602
+ if (selectCheckboxMaps[getRowid(_this34, row)]) {
19340
19603
  checkRows.push(row);
19341
19604
  return true;
19342
19605
  }
19343
19606
  return false;
19344
19607
  } : function (row) {
19345
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19608
+ return selectCheckboxMaps[getRowid(_this34, row)];
19346
19609
  });
19347
19610
  isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
19348
19611
  if (treeConfig) {
19349
19612
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19350
- return _this35.findRowIndexOf(treeIndeterminates, row) > -1 || _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19613
+ var itemRid = getRowid(_this34, row);
19614
+ return treeIndeterminateMaps[itemRid] || selectCheckboxMaps[itemRid];
19351
19615
  });
19352
19616
  } else {
19353
19617
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19354
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19618
+ return selectCheckboxMaps[getRowid(_this34, row)];
19355
19619
  });
19356
19620
  }
19357
19621
  }
@@ -19367,17 +19631,17 @@ var Methods = {
19367
19631
  fullDataRowIdData = this.fullDataRowIdData,
19368
19632
  fullAllDataRowMap = this.fullAllDataRowMap,
19369
19633
  currentRow = this.currentRow,
19370
- selectRow = this.selectRow,
19634
+ selectRadioRow = this.selectRadioRow,
19371
19635
  radioReserveRow = this.radioReserveRow,
19372
19636
  radioOpts = this.radioOpts,
19373
19637
  checkboxOpts = this.checkboxOpts,
19374
- selectCheckboxRows = this.selectCheckboxRows,
19375
- rowExpandeds = this.rowExpandeds,
19376
- treeExpandeds = this.treeExpandeds,
19638
+ selectCheckboxMaps = this.selectCheckboxMaps,
19639
+ rowExpandedMaps = this.rowExpandedMaps,
19640
+ treeExpandedMaps = this.treeExpandedMaps,
19377
19641
  expandOpts = this.expandOpts;
19378
19642
  // 单选框
19379
- if (selectRow && !fullAllDataRowMap.has(selectRow)) {
19380
- this.selectRow = null; // 刷新单选行状态
19643
+ if (selectRadioRow && !fullAllDataRowMap.has(selectRadioRow)) {
19644
+ this.selectRadioRow = null; // 刷新单选行状态
19381
19645
  }
19382
19646
  // 还原保留选中状态
19383
19647
  if (radioOpts.reserve && radioReserveRow) {
@@ -19387,7 +19651,7 @@ var Methods = {
19387
19651
  }
19388
19652
  }
19389
19653
  // 复选框
19390
- this.selectCheckboxRows = getRecoverRow(this, selectCheckboxRows); // 刷新多选行状态
19654
+ this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
19391
19655
  // 还原保留选中状态
19392
19656
  if (checkboxOpts.reserve) {
19393
19657
  this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
@@ -19396,13 +19660,13 @@ var Methods = {
19396
19660
  this.currentRow = null; // 刷新当前行状态
19397
19661
  }
19398
19662
  // 行展开
19399
- this.rowExpandeds = expandColumn ? getRecoverRow(this, rowExpandeds) : []; // 刷新行展开状态
19663
+ this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
19400
19664
  // 还原保留状态
19401
19665
  if (expandColumn && expandOpts.reserve) {
19402
19666
  this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
19403
19667
  }
19404
19668
  // 树展开
19405
- this.treeExpandeds = treeConfig ? getRecoverRow(this, treeExpandeds) : []; // 刷新树展开状态
19669
+ this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
19406
19670
  if (treeConfig && treeOpts.reserve) {
19407
19671
  this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
19408
19672
  }
@@ -19417,6 +19681,7 @@ var Methods = {
19417
19681
  afterFullData = this.afterFullData,
19418
19682
  treeConfig = this.treeConfig,
19419
19683
  treeOpts = this.treeOpts;
19684
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19420
19685
  if (radioOpts.reserve && radioReserveRow) {
19421
19686
  var rowid = getRowid(this, radioReserveRow);
19422
19687
  if (isFull) {
@@ -19428,7 +19693,9 @@ var Methods = {
19428
19693
  if (treeConfig) {
19429
19694
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (row) {
19430
19695
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowkey);
19431
- }, treeOpts);
19696
+ }, {
19697
+ children: childrenField
19698
+ });
19432
19699
  if (matchObj) {
19433
19700
  return radioReserveRow;
19434
19701
  }
@@ -19457,23 +19724,26 @@ var Methods = {
19457
19724
  * 获取复选框保留选中的行
19458
19725
  */
19459
19726
  getCheckboxReserveRecords: function getCheckboxReserveRecords(isFull) {
19460
- var _this36 = this;
19727
+ var _this35 = this;
19461
19728
  var fullDataRowIdData = this.fullDataRowIdData,
19462
19729
  afterFullData = this.afterFullData,
19463
19730
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19464
19731
  checkboxOpts = this.checkboxOpts,
19465
19732
  treeConfig = this.treeConfig,
19466
19733
  treeOpts = this.treeOpts;
19734
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19467
19735
  var reserveSelection = [];
19468
19736
  if (checkboxOpts.reserve) {
19469
19737
  var afterFullIdMaps = {};
19470
19738
  if (treeConfig) {
19471
19739
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, function (row) {
19472
- afterFullIdMaps[getRowid(_this36, row)] = 1;
19473
- }, treeOpts);
19740
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19741
+ }, {
19742
+ children: childrenField
19743
+ });
19474
19744
  } else {
19475
19745
  afterFullData.forEach(function (row) {
19476
- afterFullIdMaps[getRowid(_this36, row)] = 1;
19746
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19477
19747
  });
19478
19748
  }
19479
19749
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap, function (oldRow, oldRowid) {
@@ -19532,33 +19802,39 @@ var Methods = {
19532
19802
  * 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
19533
19803
  */
19534
19804
  clearCheckboxRow: function clearCheckboxRow() {
19535
- var _this37 = this;
19805
+ var _this36 = this;
19536
19806
  var tableFullData = this.tableFullData,
19537
19807
  treeConfig = this.treeConfig,
19538
19808
  treeOpts = this.treeOpts,
19539
19809
  checkboxOpts = this.checkboxOpts;
19540
19810
  var checkField = checkboxOpts.checkField,
19541
19811
  reserve = checkboxOpts.reserve;
19812
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19813
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19542
19814
  if (checkField) {
19815
+ var handleClearChecked = function handleClearChecked(item) {
19816
+ if (treeConfig && indeterminateField) {
19817
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, indeterminateField, false);
19818
+ }
19819
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, false);
19820
+ };
19543
19821
  if (treeConfig) {
19544
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, function (item) {
19545
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, false);
19546
- }, treeOpts);
19547
- } else {
19548
- tableFullData.forEach(function (item) {
19549
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, false);
19822
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, handleClearChecked, {
19823
+ children: childrenField
19550
19824
  });
19825
+ } else {
19826
+ tableFullData.forEach(handleClearChecked);
19551
19827
  }
19552
19828
  }
19553
19829
  if (reserve) {
19554
19830
  tableFullData.forEach(function (row) {
19555
- return _this37.handleCheckboxReserveRow(row, false);
19831
+ return _this36.handleCheckboxReserveRow(row, false);
19556
19832
  });
19557
19833
  }
19558
19834
  this.isAllSelected = false;
19559
19835
  this.isIndeterminate = false;
19560
- this.selectCheckboxRows = [];
19561
- this.treeIndeterminates = [];
19836
+ this.selectCheckboxMaps = {};
19837
+ this.treeIndeterminateMaps = {};
19562
19838
  return this.$nextTick();
19563
19839
  },
19564
19840
  /**
@@ -19583,7 +19859,7 @@ var Methods = {
19583
19859
  * 单选,行选中事件
19584
19860
  */
19585
19861
  triggerRadioRowEvent: function triggerRadioRowEvent(evnt, params) {
19586
- var oldValue = this.selectRow,
19862
+ var oldValue = this.selectRadioRow,
19587
19863
  radioOpts = this.radioOpts;
19588
19864
  var row = params.row;
19589
19865
  var newValue = row;
@@ -19636,7 +19912,7 @@ var Methods = {
19636
19912
  return this.$nextTick();
19637
19913
  },
19638
19914
  isCheckedByRadioRow: function isCheckedByRadioRow(row) {
19639
- return this.selectRow === row;
19915
+ return this.selectRadioRow === row;
19640
19916
  },
19641
19917
  handleCheckedRadioRow: function handleCheckedRadioRow(row, isForce) {
19642
19918
  var radioOpts = this.radioOpts;
@@ -19644,7 +19920,7 @@ var Methods = {
19644
19920
  if (row && (isForce || !checkMethod || checkMethod({
19645
19921
  row: row
19646
19922
  }))) {
19647
- this.selectRow = row;
19923
+ this.selectRadioRow = row;
19648
19924
  this.handleRadioReserveRow(row);
19649
19925
  }
19650
19926
  return this.$nextTick();
@@ -19674,7 +19950,7 @@ var Methods = {
19674
19950
  * 用于单选行,手动清空用户的选择
19675
19951
  */
19676
19952
  clearRadioRow: function clearRadioRow() {
19677
- this.selectRow = null;
19953
+ this.selectRadioRow = null;
19678
19954
  return this.$nextTick();
19679
19955
  },
19680
19956
  /**
@@ -19687,30 +19963,18 @@ var Methods = {
19687
19963
  * 用于单选行,获取当已选中的数据
19688
19964
  */
19689
19965
  getRadioRecord: function getRadioRecord(isFull) {
19690
- var treeConfig = this.treeConfig,
19691
- treeOpts = this.treeOpts,
19692
- selectRow = this.selectRow,
19966
+ var selectRadioRow = this.selectRadioRow,
19693
19967
  fullDataRowIdData = this.fullDataRowIdData,
19694
- afterFullData = this.afterFullData;
19695
- if (selectRow) {
19696
- var rowid = getRowid(this, selectRow);
19968
+ afterFullRowMaps = this.afterFullRowMaps;
19969
+ if (selectRadioRow) {
19970
+ var rowid = getRowid(this, selectRadioRow);
19697
19971
  if (isFull) {
19698
19972
  if (!fullDataRowIdData[rowid]) {
19699
- return selectRow;
19973
+ return selectRadioRow;
19700
19974
  }
19701
19975
  } else {
19702
- if (treeConfig) {
19703
- var rowkey = getRowkey(this);
19704
- var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (row) {
19705
- return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowkey);
19706
- }, treeOpts);
19707
- if (matchObj) {
19708
- return selectRow;
19709
- }
19710
- } else {
19711
- if (afterFullData.indexOf(selectRow) > -1) {
19712
- return selectRow;
19713
- }
19976
+ if (afterFullRowMaps[rowid]) {
19977
+ return selectRadioRow;
19714
19978
  }
19715
19979
  }
19716
19980
  }
@@ -19804,12 +20068,12 @@ var Methods = {
19804
20068
  * 如果存在规则,则校验
19805
20069
  */
19806
20070
  handleChangeCell: function handleChangeCell(evnt, params) {
19807
- var _this38 = this;
20071
+ var _this37 = this;
19808
20072
  this.checkValidate('blur')["catch"](function (e) {
19809
20073
  return e;
19810
20074
  }).then(function () {
19811
- _this38.handleActived(params, evnt).then(function () {
19812
- return _this38.checkValidate('change');
20075
+ _this37.handleActived(params, evnt).then(function () {
20076
+ return _this37.checkValidate('change');
19813
20077
  })["catch"](function (e) {
19814
20078
  return e;
19815
20079
  });
@@ -19903,7 +20167,7 @@ var Methods = {
19903
20167
  * 如果是双击模式,则激活为编辑状态
19904
20168
  */
19905
20169
  triggerCellDblclickEvent: function triggerCellDblclickEvent(evnt, params) {
19906
- var _this39 = this;
20170
+ var _this38 = this;
19907
20171
  var editStore = this.editStore,
19908
20172
  editConfig = this.editConfig,
19909
20173
  editOpts = this.editOpts;
@@ -19916,15 +20180,15 @@ var Methods = {
19916
20180
  this.checkValidate('blur')["catch"](function (e) {
19917
20181
  return e;
19918
20182
  }).then(function () {
19919
- _this39.handleActived(params, evnt).then(function () {
19920
- return _this39.checkValidate('change');
20183
+ _this38.handleActived(params, evnt).then(function () {
20184
+ return _this38.checkValidate('change');
19921
20185
  })["catch"](function (e) {
19922
20186
  return e;
19923
20187
  });
19924
20188
  });
19925
20189
  } else if (editOpts.mode === 'cell') {
19926
20190
  this.handleActived(params, evnt).then(function () {
19927
- return _this39.checkValidate('change');
20191
+ return _this38.checkValidate('change');
19928
20192
  })["catch"](function (e) {
19929
20193
  return e;
19930
20194
  });
@@ -19934,7 +20198,7 @@ var Methods = {
19934
20198
  this.emitEvent('cell-dblclick', params, evnt);
19935
20199
  },
19936
20200
  handleDefaultSort: function handleDefaultSort() {
19937
- var _this40 = this;
20201
+ var _this39 = this;
19938
20202
  var sortConfig = this.sortConfig,
19939
20203
  sortOpts = this.sortOpts;
19940
20204
  var defaultSort = sortOpts.defaultSort;
@@ -19947,7 +20211,7 @@ var Methods = {
19947
20211
  var field = item.field,
19948
20212
  order = item.order;
19949
20213
  if (field && order) {
19950
- var column = _this40.getColumnByField(field);
20214
+ var column = _this39.getColumnByField(field);
19951
20215
  if (column && column.sortable) {
19952
20216
  column.order = order;
19953
20217
  column.sortTime = Date.now() + index;
@@ -19994,7 +20258,7 @@ var Methods = {
19994
20258
  }
19995
20259
  },
19996
20260
  sort: function sort(sortConfs, sortOrder) {
19997
- var _this41 = this;
20261
+ var _this40 = this;
19998
20262
  var sortOpts = this.sortOpts;
19999
20263
  var multiple = sortOpts.multiple,
20000
20264
  remote = sortOpts.remote,
@@ -20020,14 +20284,14 @@ var Methods = {
20020
20284
  order = confs.order;
20021
20285
  var column = field;
20022
20286
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)) {
20023
- column = _this41.getColumnByField(field);
20287
+ column = _this40.getColumnByField(field);
20024
20288
  }
20025
20289
  if (column && (column.sortable || column.remoteSort)) {
20026
20290
  if (!firstSortColumn) {
20027
20291
  firstSortColumn = column;
20028
20292
  }
20029
20293
  if (orders.indexOf(order) === -1) {
20030
- order = getNextSortOrder(_this41, column);
20294
+ order = getNextSortOrder(_this40, column);
20031
20295
  }
20032
20296
  if (column.order !== order) {
20033
20297
  column.order = order;
@@ -20040,8 +20304,8 @@ var Methods = {
20040
20304
  this.handleTableData(true);
20041
20305
  }
20042
20306
  return this.$nextTick().then(function () {
20043
- _this41.updateCellAreas();
20044
- return _this41.updateStyle();
20307
+ _this40.updateCellAreas();
20308
+ return _this40.updateStyle();
20045
20309
  });
20046
20310
  }
20047
20311
  return this.$nextTick();
@@ -20154,17 +20418,19 @@ var Methods = {
20154
20418
  return rest && rest.expandLoaded;
20155
20419
  },
20156
20420
  clearRowExpandLoaded: function clearRowExpandLoaded(row) {
20157
- var _this42 = this;
20158
20421
  var expandOpts = this.expandOpts,
20159
- expandLazyLoadeds = this.expandLazyLoadeds,
20422
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20160
20423
  fullAllDataRowMap = this.fullAllDataRowMap;
20161
20424
  var lazy = expandOpts.lazy;
20425
+ var rowid = getRowid(this, row);
20162
20426
  var rest = fullAllDataRowMap.get(row);
20163
20427
  if (lazy && rest) {
20164
20428
  rest.expandLoaded = false;
20165
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(expandLazyLoadeds, function (item) {
20166
- return _this42.eqRow(item, row);
20167
- });
20429
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20430
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20431
+ delete rowTempExpandLazyLoadedMaps[rowid];
20432
+ }
20433
+ this.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20168
20434
  }
20169
20435
  return this.$nextTick();
20170
20436
  },
@@ -20173,13 +20439,14 @@ var Methods = {
20173
20439
  * @param {Row} row 行对象
20174
20440
  */
20175
20441
  reloadRowExpand: function reloadRowExpand(row) {
20176
- var _this43 = this;
20442
+ var _this41 = this;
20177
20443
  var expandOpts = this.expandOpts,
20178
- expandLazyLoadeds = this.expandLazyLoadeds;
20444
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps;
20179
20445
  var lazy = expandOpts.lazy;
20180
- if (lazy && this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20446
+ var rowid = getRowid(this, row);
20447
+ if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
20181
20448
  this.clearRowExpandLoaded(row).then(function () {
20182
- return _this43.handleAsyncRowExpand(row);
20449
+ return _this41.handleAsyncRowExpand(row);
20183
20450
  });
20184
20451
  }
20185
20452
  return this.$nextTick();
@@ -20194,11 +20461,12 @@ var Methods = {
20194
20461
  */
20195
20462
  triggerRowExpandEvent: function triggerRowExpandEvent(evnt, params) {
20196
20463
  var expandOpts = this.expandOpts,
20197
- expandLazyLoadeds = this.expandLazyLoadeds,
20464
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20198
20465
  column = this.expandColumn;
20199
20466
  var row = params.row;
20200
20467
  var lazy = expandOpts.lazy;
20201
- if (!lazy || this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20468
+ var rowid = getRowid(this, row);
20469
+ if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
20202
20470
  var expanded = !this.isExpandByRow(row);
20203
20471
  var columnIndex = this.getColumnIndex(column);
20204
20472
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20249,37 +20517,57 @@ var Methods = {
20249
20517
  treeOpts = this.treeOpts,
20250
20518
  tableFullData = this.tableFullData,
20251
20519
  tableFullTreeData = this.tableFullTreeData;
20520
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20252
20521
  var expandedRows = [];
20253
20522
  if (treeConfig) {
20254
20523
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, function (row) {
20255
20524
  expandedRows.push(row);
20256
- }, treeOpts);
20525
+ }, {
20526
+ children: childrenField
20527
+ });
20257
20528
  } else {
20258
20529
  expandedRows = tableFullData;
20259
20530
  }
20260
20531
  return this.setRowExpand(expandedRows, expanded);
20261
20532
  },
20262
20533
  handleAsyncRowExpand: function handleAsyncRowExpand(row) {
20263
- var _this44 = this;
20264
- var rest = this.fullAllDataRowMap.get(row);
20534
+ var _this42 = this;
20535
+ var fullAllDataRowMap = this.fullAllDataRowMap,
20536
+ expandOpts = this.expandOpts;
20537
+ var rest = fullAllDataRowMap.get(row);
20265
20538
  return new Promise(function (resolve) {
20266
- _this44.expandLazyLoadeds.push(row);
20267
- _this44.expandOpts.loadMethod({
20268
- $table: _this44,
20269
- row: row,
20270
- rowIndex: _this44.getRowIndex(row),
20271
- $rowIndex: _this44.getVMRowIndex(row)
20272
- }).then(function () {
20273
- rest.expandLoaded = true;
20274
- _this44.rowExpandeds.push(row);
20275
- })["catch"](function () {
20276
- rest.expandLoaded = false;
20277
- })["finally"](function () {
20278
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(_this44.expandLazyLoadeds, function (item) {
20279
- return _this44.eqRow(item, row);
20539
+ var loadMethod = expandOpts.loadMethod;
20540
+ if (loadMethod) {
20541
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20542
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20543
+ var rowid = getRowid(_this42, row);
20544
+ rowTempExpandLazyLoadedMaps[rowid] = row;
20545
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20546
+ loadMethod({
20547
+ $table: _this42,
20548
+ row: row,
20549
+ rowIndex: _this42.getRowIndex(row),
20550
+ $rowIndex: _this42.getVMRowIndex(row)
20551
+ }).then(function () {
20552
+ rest.expandLoaded = true;
20553
+ var rowExpandedMaps = _this42.rowExpandedMaps;
20554
+ var rowTempExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20555
+ rowTempExpandedMaps[rowid] = row;
20556
+ _this42.rowExpandedMaps = rowTempExpandedMaps;
20557
+ })["catch"](function () {
20558
+ rest.expandLoaded = false;
20559
+ })["finally"](function () {
20560
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20561
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20562
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20563
+ delete rowTempExpandLazyLoadedMaps[rowid];
20564
+ }
20565
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20566
+ resolve(_this42.$nextTick().then(_this42.recalculate));
20280
20567
  });
20281
- resolve(_this44.$nextTick().then(_this44.recalculate));
20282
- });
20568
+ } else {
20569
+ resolve();
20570
+ }
20283
20571
  });
20284
20572
  },
20285
20573
  /**
@@ -20290,12 +20578,13 @@ var Methods = {
20290
20578
  * @param {Boolean} expanded 是否展开
20291
20579
  */
20292
20580
  setRowExpand: function setRowExpand(rows, expanded) {
20293
- var _this45 = this;
20294
- var fullAllDataRowMap = this.fullAllDataRowMap,
20295
- expandLazyLoadeds = this.expandLazyLoadeds,
20581
+ var _this43 = this;
20582
+ var rowExpandedMaps = this.rowExpandedMaps,
20583
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
20584
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20296
20585
  expandOpts = this.expandOpts,
20297
20586
  column = this.expandColumn;
20298
- var rowExpandeds = this.rowExpandeds;
20587
+ var rExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20299
20588
  var reserve = expandOpts.reserve,
20300
20589
  lazy = expandOpts.lazy,
20301
20590
  accordion = expandOpts.accordion,
@@ -20309,7 +20598,7 @@ var Methods = {
20309
20598
  }
20310
20599
  if (accordion) {
20311
20600
  // 只能同时展开一个
20312
- rowExpandeds = [];
20601
+ rExpandedMaps = {};
20313
20602
  rows = rows.slice(rows.length - 1, rows.length);
20314
20603
  }
20315
20604
  var validRows = toggleMethod ? rows.filter(function (row) {
@@ -20319,34 +20608,38 @@ var Methods = {
20319
20608
  columnIndex: columnIndex,
20320
20609
  $columnIndex: $columnIndex,
20321
20610
  row: row,
20322
- rowIndex: _this45.getRowIndex(row),
20323
- $rowIndex: _this45.getVMRowIndex(row)
20611
+ rowIndex: _this43.getRowIndex(row),
20612
+ $rowIndex: _this43.getVMRowIndex(row)
20324
20613
  });
20325
20614
  }) : rows;
20326
20615
  if (expanded) {
20327
20616
  validRows.forEach(function (row) {
20328
- if (_this45.findRowIndexOf(rowExpandeds, row) === -1) {
20329
- var rest = fullAllDataRowMap.get(row);
20330
- var isLoad = lazy && !rest.expandLoaded && _this45.findRowIndexOf(expandLazyLoadeds, row) === -1;
20617
+ var rowid = getRowid(_this43, row);
20618
+ if (!rExpandedMaps[rowid]) {
20619
+ var rest = fullAllDataRowIdData[rowid];
20620
+ var isLoad = lazy && !rest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
20331
20621
  if (isLoad) {
20332
- lazyRests.push(_this45.handleAsyncRowExpand(row));
20622
+ lazyRests.push(_this43.handleAsyncRowExpand(row));
20333
20623
  } else {
20334
- rowExpandeds.push(row);
20624
+ rExpandedMaps[rowid] = row;
20335
20625
  }
20336
20626
  }
20337
20627
  });
20338
20628
  } else {
20339
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(rowExpandeds, function (row) {
20340
- return _this45.findRowIndexOf(validRows, row) > -1;
20629
+ validRows.forEach(function (item) {
20630
+ var rowid = getRowid(_this43, item);
20631
+ if (rExpandedMaps[rowid]) {
20632
+ delete rExpandedMaps[rowid];
20633
+ }
20341
20634
  });
20342
20635
  }
20343
20636
  if (reserve) {
20344
20637
  validRows.forEach(function (row) {
20345
- return _this45.handleRowExpandReserve(row, expanded);
20638
+ return _this43.handleRowExpandReserve(row, expanded);
20346
20639
  });
20347
20640
  }
20348
20641
  }
20349
- this.rowExpandeds = rowExpandeds;
20642
+ this.rowExpandedMaps = rExpandedMaps;
20350
20643
  return Promise.all(lazyRests).then(this.recalculate);
20351
20644
  },
20352
20645
  /**
@@ -20354,28 +20647,28 @@ var Methods = {
20354
20647
  * @param {Row} row 行对象
20355
20648
  */
20356
20649
  isExpandByRow: function isExpandByRow(row) {
20357
- var rowExpandeds = this.rowExpandeds;
20358
- return this.findRowIndexOf(rowExpandeds, row) > -1;
20650
+ var rowExpandedMaps = this.rowExpandedMaps;
20651
+ var rowid = getRowid(this, row);
20652
+ return !!rowExpandedMaps[rowid];
20359
20653
  },
20360
20654
  /**
20361
20655
  * 手动清空展开行状态,数据会恢复成未展开的状态
20362
20656
  */
20363
20657
  clearRowExpand: function clearRowExpand() {
20364
- var _this46 = this;
20658
+ var _this44 = this;
20365
20659
  var expandOpts = this.expandOpts,
20366
- rowExpandeds = this.rowExpandeds,
20367
20660
  tableFullData = this.tableFullData;
20368
20661
  var reserve = expandOpts.reserve;
20369
- var isExists = rowExpandeds.length;
20370
- this.rowExpandeds = [];
20662
+ var expList = this.getRowExpandRecords();
20663
+ this.rowExpandedMaps = {};
20371
20664
  if (reserve) {
20372
20665
  tableFullData.forEach(function (row) {
20373
- return _this46.handleRowExpandReserve(row, false);
20666
+ return _this44.handleRowExpandReserve(row, false);
20374
20667
  });
20375
20668
  }
20376
20669
  return this.$nextTick().then(function () {
20377
- if (isExists) {
20378
- _this46.recalculate();
20670
+ if (expList.length) {
20671
+ _this44.recalculate();
20379
20672
  }
20380
20673
  });
20381
20674
  },
@@ -20396,13 +20689,25 @@ var Methods = {
20396
20689
  }
20397
20690
  },
20398
20691
  getRowExpandRecords: function getRowExpandRecords() {
20399
- return this.rowExpandeds.slice(0);
20692
+ var rest = [];
20693
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.rowExpandedMaps, function (item) {
20694
+ if (item) {
20695
+ rest.push(item);
20696
+ }
20697
+ });
20698
+ return rest;
20400
20699
  },
20401
20700
  getTreeExpandRecords: function getTreeExpandRecords() {
20402
- return this.treeExpandeds.slice(0);
20701
+ var rest = [];
20702
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.treeExpandedMaps, function (item) {
20703
+ if (item) {
20704
+ rest.push(item);
20705
+ }
20706
+ });
20707
+ return rest;
20403
20708
  },
20404
20709
  /**
20405
- * 获取数表格状态
20710
+ * 获取树表格状态
20406
20711
  */
20407
20712
  getTreeStatus: function getTreeStatus() {
20408
20713
  if (this.treeConfig) {
@@ -20423,16 +20728,17 @@ var Methods = {
20423
20728
  },
20424
20729
  clearTreeExpandLoaded: function clearTreeExpandLoaded(row) {
20425
20730
  var treeOpts = this.treeOpts,
20426
- treeExpandeds = this.treeExpandeds,
20731
+ treeExpandedMaps = this.treeExpandedMaps,
20427
20732
  fullAllDataRowMap = this.fullAllDataRowMap;
20428
20733
  var transform = treeOpts.transform,
20429
20734
  lazy = treeOpts.lazy;
20735
+ var rowid = getRowid(this, row);
20430
20736
  var rest = fullAllDataRowMap.get(row);
20431
20737
  if (lazy && rest) {
20432
20738
  rest.treeLoaded = false;
20433
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (item) {
20434
- return row === item;
20435
- });
20739
+ if (treeExpandedMaps[rowid]) {
20740
+ delete treeExpandedMaps[rowid];
20741
+ }
20436
20742
  }
20437
20743
  if (transform) {
20438
20744
  this.handleVirtualTreeToList();
@@ -20445,23 +20751,23 @@ var Methods = {
20445
20751
  * @param {Row} row 行对象
20446
20752
  */
20447
20753
  reloadTreeExpand: function reloadTreeExpand(row) {
20448
- var _this47 = this;
20754
+ var _this45 = this;
20449
20755
  var treeOpts = this.treeOpts,
20450
- treeLazyLoadeds = this.treeLazyLoadeds;
20756
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20451
20757
  var transform = treeOpts.transform,
20452
- lazy = treeOpts.lazy,
20453
- hasChildField = treeOpts.hasChildField,
20454
- hasChild = treeOpts.hasChild;
20455
- if (lazy && row[hasChildField || hasChild] && treeLazyLoadeds.indexOf(row) === -1) {
20758
+ lazy = treeOpts.lazy;
20759
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20760
+ var rowid = getRowid(this, row);
20761
+ if (lazy && row[hasChildField] && !treeExpandLazyLoadedMaps[rowid]) {
20456
20762
  this.clearTreeExpandLoaded(row).then(function () {
20457
- return _this47.handleAsyncTreeExpandChilds(row);
20763
+ return _this45.handleAsyncTreeExpandChilds(row);
20458
20764
  }).then(function () {
20459
20765
  if (transform) {
20460
- _this47.handleVirtualTreeToList();
20461
- return _this47.handleTableData();
20766
+ _this45.handleVirtualTreeToList();
20767
+ return _this45.handleTableData();
20462
20768
  }
20463
20769
  }).then(function () {
20464
- return _this47.recalculate();
20770
+ return _this45.recalculate();
20465
20771
  });
20466
20772
  }
20467
20773
  return this.$nextTick();
@@ -20476,11 +20782,12 @@ var Methods = {
20476
20782
  */
20477
20783
  triggerTreeExpandEvent: function triggerTreeExpandEvent(evnt, params) {
20478
20784
  var treeOpts = this.treeOpts,
20479
- treeLazyLoadeds = this.treeLazyLoadeds;
20785
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20480
20786
  var row = params.row,
20481
20787
  column = params.column;
20482
20788
  var lazy = treeOpts.lazy;
20483
- if (!lazy || treeLazyLoadeds.indexOf(row) === -1) {
20789
+ var rowid = getRowid(this, row);
20790
+ if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
20484
20791
  var expanded = !this.isTreeExpandByRow(row);
20485
20792
  var columnIndex = this.getColumnIndex(column);
20486
20793
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20510,6 +20817,7 @@ var Methods = {
20510
20817
  if (treeConfig) {
20511
20818
  var expandAll = treeOpts.expandAll,
20512
20819
  expandRowKeys = treeOpts.expandRowKeys;
20820
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20513
20821
  if (expandAll) {
20514
20822
  this.setAllTreeExpand(true);
20515
20823
  } else if (expandRowKeys) {
@@ -20518,7 +20826,9 @@ var Methods = {
20518
20826
  expandRowKeys.forEach(function (rowid) {
20519
20827
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20520
20828
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, rowkey);
20521
- }, treeOpts);
20829
+ }, {
20830
+ children: childrenField
20831
+ });
20522
20832
  if (matchObj) {
20523
20833
  defExpandeds.push(matchObj.item);
20524
20834
  }
@@ -20528,59 +20838,67 @@ var Methods = {
20528
20838
  }
20529
20839
  },
20530
20840
  handleAsyncTreeExpandChilds: function handleAsyncTreeExpandChilds(row) {
20531
- var _this48 = this;
20532
- var fullAllDataRowMap = this.fullAllDataRowMap,
20533
- treeExpandeds = this.treeExpandeds,
20534
- treeOpts = this.treeOpts,
20535
- treeLazyLoadeds = this.treeLazyLoadeds,
20841
+ var _this46 = this;
20842
+ var treeOpts = this.treeOpts,
20536
20843
  checkboxOpts = this.checkboxOpts;
20537
20844
  var transform = treeOpts.transform,
20538
20845
  loadMethod = treeOpts.loadMethod;
20539
20846
  var checkStrictly = checkboxOpts.checkStrictly;
20540
- var rest = fullAllDataRowMap.get(row);
20541
20847
  return new Promise(function (resolve) {
20542
- treeLazyLoadeds.push(row);
20543
- loadMethod({
20544
- $table: _this48,
20545
- row: row
20546
- }).then(function (childRecords) {
20547
- // 响应成功后则展开行,并将子节点挂载到该节点下
20548
- rest.treeLoaded = true;
20549
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeLazyLoadeds, function (item) {
20550
- return item === row;
20551
- });
20552
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)) {
20553
- childRecords = [];
20554
- }
20555
- if (childRecords) {
20556
- return _this48.loadTreeChildren(row, childRecords).then(function (childRows) {
20557
- if (childRows.length && treeExpandeds.indexOf(row) === -1) {
20558
- treeExpandeds.push(row);
20559
- }
20560
- // 如果当前节点已选中,则展开后子节点也被选中
20561
- if (!checkStrictly && _this48.isCheckedByCheckboxRow(row)) {
20562
- _this48.handleCheckedCheckboxRow(childRows, true, true);
20563
- }
20564
- return _this48.$nextTick().then(function () {
20565
- if (transform) {
20566
- return _this48.handleTableData();
20848
+ if (loadMethod) {
20849
+ var fullAllDataRowMap = _this46.fullAllDataRowMap,
20850
+ treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20851
+ var rowid = getRowid(_this46, row);
20852
+ var rest = fullAllDataRowMap.get(row);
20853
+ treeExpandLazyLoadedMaps[rowid] = row;
20854
+ loadMethod({
20855
+ $table: _this46,
20856
+ row: row
20857
+ }).then(function (childRecords) {
20858
+ // 响应成功后则展开行,并将子节点挂载到该节点下
20859
+ rest.treeLoaded = true;
20860
+ if (treeExpandLazyLoadedMaps[rowid]) {
20861
+ treeExpandLazyLoadedMaps[rowid] = null;
20862
+ }
20863
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)) {
20864
+ childRecords = [];
20865
+ }
20866
+ if (childRecords) {
20867
+ return _this46.loadTreeChildren(row, childRecords).then(function (childRows) {
20868
+ var treeExpandedMaps = _this46.treeExpandedMaps;
20869
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20870
+ if (childRows.length && !treeTempExpandedMaps[rowid]) {
20871
+ treeTempExpandedMaps[rowid] = row;
20872
+ _this46.treeExpandedMaps = treeTempExpandedMaps;
20567
20873
  }
20874
+ // 如果当前节点已选中,则展开后子节点也被选中
20875
+ if (!checkStrictly && _this46.isCheckedByCheckboxRow(row)) {
20876
+ _this46.handleCheckedCheckboxRow(childRows, true, true);
20877
+ }
20878
+ return _this46.$nextTick().then(function () {
20879
+ if (transform) {
20880
+ return _this46.handleTableData();
20881
+ }
20882
+ });
20568
20883
  });
20884
+ }
20885
+ })["catch"](function () {
20886
+ // 如果响应异常,则不展开,再次点击后将重新触发懒加载
20887
+ rest.treeLoaded = false;
20888
+ var treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20889
+ if (treeExpandLazyLoadedMaps[rowid]) {
20890
+ treeExpandLazyLoadedMaps[rowid] = null;
20891
+ }
20892
+ })["finally"](function () {
20893
+ _this46.$nextTick().then(function () {
20894
+ return _this46.recalculate();
20895
+ }).then(function () {
20896
+ return resolve();
20569
20897
  });
20570
- }
20571
- })["catch"](function () {
20572
- // 如果响应异常,则不展开,再次点击后将重新触发懒加载
20573
- rest.treeLoaded = false;
20574
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeLazyLoadeds, function (item) {
20575
- return item === row;
20576
20898
  });
20577
- })["finally"](function () {
20578
- _this48.$nextTick().then(function () {
20579
- return _this48.recalculate();
20580
- }).then(function () {
20581
- return resolve();
20582
- });
20583
- });
20899
+ } else {
20900
+ resolve();
20901
+ }
20584
20902
  });
20585
20903
  },
20586
20904
  /**
@@ -20590,16 +20908,17 @@ var Methods = {
20590
20908
  setAllTreeExpand: function setAllTreeExpand(expanded) {
20591
20909
  var tableFullData = this.tableFullData,
20592
20910
  treeOpts = this.treeOpts;
20593
- var lazy = treeOpts.lazy,
20594
- childrenField = treeOpts.childrenField,
20595
- children = treeOpts.children;
20911
+ var lazy = treeOpts.lazy;
20912
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20596
20913
  var expandeds = [];
20597
20914
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, function (row) {
20598
- var rowChildren = row[childrenField || children];
20915
+ var rowChildren = row[childrenField];
20599
20916
  if (lazy || rowChildren && rowChildren.length) {
20600
20917
  expandeds.push(row);
20601
20918
  }
20602
- }, treeOpts);
20919
+ }, {
20920
+ children: childrenField
20921
+ });
20603
20922
  return this.setTreeExpand(expandeds, expanded);
20604
20923
  },
20605
20924
  /**
@@ -20609,21 +20928,20 @@ var Methods = {
20609
20928
  * @returns
20610
20929
  */
20611
20930
  handleBaseTreeExpand: function handleBaseTreeExpand(rows, expanded) {
20612
- var _this49 = this;
20931
+ var _this47 = this;
20613
20932
  var fullAllDataRowMap = this.fullAllDataRowMap,
20614
20933
  tableFullData = this.tableFullData,
20615
- treeExpandeds = this.treeExpandeds,
20934
+ treeExpandedMaps = this.treeExpandedMaps,
20616
20935
  treeOpts = this.treeOpts,
20617
- treeLazyLoadeds = this.treeLazyLoadeds,
20936
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps,
20618
20937
  treeNodeColumn = this.treeNodeColumn;
20619
20938
  var reserve = treeOpts.reserve,
20620
20939
  lazy = treeOpts.lazy,
20621
- hasChildField = treeOpts.hasChildField,
20622
- hasChild = treeOpts.hasChild,
20623
- childrenField = treeOpts.childrenField,
20624
- children = treeOpts.children,
20625
20940
  accordion = treeOpts.accordion,
20626
20941
  toggleMethod = treeOpts.toggleMethod;
20942
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20943
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20944
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20627
20945
  var result = [];
20628
20946
  var columnIndex = this.getColumnIndex(treeNodeColumn);
20629
20947
  var $columnIndex = this.getVMColumnIndex(treeNodeColumn);
@@ -20641,38 +20959,48 @@ var Methods = {
20641
20959
  // 同一级只能展开一个
20642
20960
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20643
20961
  return item === validRows[0];
20644
- }, treeOpts);
20962
+ }, {
20963
+ children: childrenField
20964
+ });
20645
20965
  if (matchObj) {
20646
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (item) {
20647
- return matchObj.items.indexOf(item) > -1;
20966
+ matchObj.items.forEach(function (item) {
20967
+ var rowid = getRowid(_this47, item);
20968
+ if (treeTempExpandedMaps[rowid]) {
20969
+ delete treeTempExpandedMaps[rowid];
20970
+ }
20648
20971
  });
20649
20972
  }
20650
20973
  }
20651
20974
  if (expanded) {
20652
20975
  validRows.forEach(function (row) {
20653
- if (treeExpandeds.indexOf(row) === -1) {
20976
+ var rowid = getRowid(_this47, row);
20977
+ if (!treeTempExpandedMaps[rowid]) {
20654
20978
  var rest = fullAllDataRowMap.get(row);
20655
- var isLoad = lazy && row[hasChildField || hasChild] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1;
20979
+ var isLoad = lazy && row[hasChildField] && !rest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
20656
20980
  // 是否使用懒加载
20657
20981
  if (isLoad) {
20658
- result.push(_this49.handleAsyncTreeExpandChilds(row));
20982
+ result.push(_this47.handleAsyncTreeExpandChilds(row));
20659
20983
  } else {
20660
- if (row[childrenField || children] && row[childrenField || children].length) {
20661
- treeExpandeds.push(row);
20984
+ if (row[childrenField] && row[childrenField].length) {
20985
+ treeTempExpandedMaps[rowid] = row;
20662
20986
  }
20663
20987
  }
20664
20988
  }
20665
20989
  });
20666
20990
  } else {
20667
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().remove(treeExpandeds, function (row) {
20668
- return validRows.indexOf(row) > -1;
20991
+ validRows.forEach(function (item) {
20992
+ var rowid = getRowid(_this47, item);
20993
+ if (treeTempExpandedMaps[rowid]) {
20994
+ delete treeTempExpandedMaps[rowid];
20995
+ }
20669
20996
  });
20670
20997
  }
20671
20998
  if (reserve) {
20672
20999
  validRows.forEach(function (row) {
20673
- return _this49.handleTreeExpandReserve(row, expanded);
21000
+ return _this47.handleTreeExpandReserve(row, expanded);
20674
21001
  });
20675
21002
  }
21003
+ this.treeExpandedMaps = treeTempExpandedMaps;
20676
21004
  return Promise.all(result).then(this.recalculate);
20677
21005
  },
20678
21006
  /**
@@ -20682,12 +21010,12 @@ var Methods = {
20682
21010
  * @returns
20683
21011
  */
20684
21012
  handleVirtualTreeExpand: function handleVirtualTreeExpand(rows, expanded) {
20685
- var _this50 = this;
21013
+ var _this48 = this;
20686
21014
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
20687
- _this50.handleVirtualTreeToList();
20688
- return _this50.handleTableData();
21015
+ _this48.handleVirtualTreeToList();
21016
+ return _this48.handleTableData();
20689
21017
  }).then(function () {
20690
- return _this50.recalculate();
21018
+ return _this48.recalculate();
20691
21019
  });
20692
21020
  },
20693
21021
  /**
@@ -20720,33 +21048,36 @@ var Methods = {
20720
21048
  * @param {Row} row 行对象
20721
21049
  */
20722
21050
  isTreeExpandByRow: function isTreeExpandByRow(row) {
20723
- return this.treeExpandeds.indexOf(row) > -1;
21051
+ var treeExpandedMaps = this.treeExpandedMaps;
21052
+ return !!treeExpandedMaps[getRowid(this, row)];
20724
21053
  },
20725
21054
  /**
20726
21055
  * 手动清空树形节点的展开状态,数据会恢复成未展开的状态
20727
21056
  */
20728
21057
  clearTreeExpand: function clearTreeExpand() {
20729
- var _this51 = this;
21058
+ var _this49 = this;
20730
21059
  var treeOpts = this.treeOpts,
20731
- treeExpandeds = this.treeExpandeds,
20732
21060
  tableFullData = this.tableFullData;
20733
21061
  var transform = treeOpts.transform,
20734
21062
  reserve = treeOpts.reserve;
20735
- var isExists = treeExpandeds.length;
20736
- this.treeExpandeds = [];
21063
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21064
+ var expList = this.getTreeExpandRecords();
21065
+ this.treeExpandedMaps = {};
20737
21066
  if (reserve) {
20738
21067
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, function (row) {
20739
- return _this51.handleTreeExpandReserve(row, false);
20740
- }, treeOpts);
21068
+ return _this49.handleTreeExpandReserve(row, false);
21069
+ }, {
21070
+ children: childrenField
21071
+ });
20741
21072
  }
20742
21073
  return this.handleTableData().then(function () {
20743
21074
  if (transform) {
20744
- _this51.handleVirtualTreeToList();
20745
- return _this51.handleTableData();
21075
+ _this49.handleVirtualTreeToList();
21076
+ return _this49.handleTableData();
20746
21077
  }
20747
21078
  }).then(function () {
20748
- if (isExists) {
20749
- _this51.recalculate();
21079
+ if (expList.length) {
21080
+ _this49.recalculate();
20750
21081
  }
20751
21082
  });
20752
21083
  },
@@ -20865,28 +21196,28 @@ var Methods = {
20865
21196
  },
20866
21197
  // 计算可视渲染相关数据
20867
21198
  computeScrollLoad: function computeScrollLoad() {
20868
- var _this52 = this;
21199
+ var _this50 = this;
20869
21200
  return this.$nextTick().then(function () {
20870
- var sYOpts = _this52.sYOpts,
20871
- sXOpts = _this52.sXOpts,
20872
- scrollXLoad = _this52.scrollXLoad,
20873
- scrollYLoad = _this52.scrollYLoad,
20874
- scrollXStore = _this52.scrollXStore,
20875
- scrollYStore = _this52.scrollYStore;
21201
+ var sYOpts = _this50.sYOpts,
21202
+ sXOpts = _this50.sXOpts,
21203
+ scrollXLoad = _this50.scrollXLoad,
21204
+ scrollYLoad = _this50.scrollYLoad,
21205
+ scrollXStore = _this50.scrollXStore,
21206
+ scrollYStore = _this50.scrollYStore;
20876
21207
  // 计算 X 逻辑
20877
21208
  if (scrollXLoad) {
20878
- var _computeVirtualX3 = computeVirtualX(_this52),
21209
+ var _computeVirtualX3 = computeVirtualX(_this50),
20879
21210
  visibleXSize = _computeVirtualX3.visibleSize;
20880
21211
  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;
20881
21212
  scrollXStore.offsetSize = offsetXSize;
20882
21213
  scrollXStore.visibleSize = visibleXSize;
20883
21214
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
20884
- _this52.updateScrollXData();
21215
+ _this50.updateScrollXData();
20885
21216
  } else {
20886
- _this52.updateScrollXSpace();
21217
+ _this50.updateScrollXSpace();
20887
21218
  }
20888
21219
  // 计算 Y 逻辑
20889
- var _computeVirtualY = computeVirtualY(_this52),
21220
+ var _computeVirtualY = computeVirtualY(_this50),
20890
21221
  rowHeight = _computeVirtualY.rowHeight,
20891
21222
  visibleYSize = _computeVirtualY.visibleSize;
20892
21223
  scrollYStore.rowHeight = rowHeight;
@@ -20895,12 +21226,12 @@ var Methods = {
20895
21226
  scrollYStore.offsetSize = offsetYSize;
20896
21227
  scrollYStore.visibleSize = visibleYSize;
20897
21228
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
20898
- _this52.updateScrollYData();
21229
+ _this50.updateScrollYData();
20899
21230
  } else {
20900
- _this52.updateScrollYSpace();
21231
+ _this50.updateScrollYSpace();
20901
21232
  }
20902
- _this52.rowHeight = rowHeight;
20903
- _this52.$nextTick(_this52.updateStyle);
21233
+ _this50.rowHeight = rowHeight;
21234
+ _this50.$nextTick(_this50.updateStyle);
20904
21235
  });
20905
21236
  },
20906
21237
  handleTableColumn: function handleTableColumn() {
@@ -20910,11 +21241,11 @@ var Methods = {
20910
21241
  this.tableColumn = scrollXLoad ? visibleColumn.slice(scrollXStore.startIndex, scrollXStore.endIndex) : visibleColumn.slice(0);
20911
21242
  },
20912
21243
  updateScrollXData: function updateScrollXData() {
20913
- var _this53 = this;
21244
+ var _this51 = this;
20914
21245
  // this.tableColumn = []
20915
21246
  this.$nextTick(function () {
20916
- _this53.handleTableColumn();
20917
- _this53.updateScrollXSpace();
21247
+ _this51.handleTableColumn();
21248
+ _this51.updateScrollXSpace();
20918
21249
  });
20919
21250
  },
20920
21251
  // 更新横向 X 可视渲染上下剩余空间大小
@@ -20965,11 +21296,11 @@ var Methods = {
20965
21296
  }
20966
21297
  },
20967
21298
  updateScrollYData: function updateScrollYData() {
20968
- var _this54 = this;
21299
+ var _this52 = this;
20969
21300
  // this.tableData = []
20970
21301
  this.$nextTick(function () {
20971
- _this54.handleTableData();
20972
- _this54.updateScrollYSpace();
21302
+ _this52.handleTableData();
21303
+ _this52.updateScrollYSpace();
20973
21304
  });
20974
21305
  },
20975
21306
  // 更新纵向 Y 可视渲染上下剩余空间大小
@@ -21010,7 +21341,7 @@ var Methods = {
21010
21341
  * @param {Number} scrollTop 上距离
21011
21342
  */
21012
21343
  scrollTo: function scrollTo(scrollLeft, scrollTop) {
21013
- var _this55 = this;
21344
+ var _this53 = this;
21014
21345
  var $refs = this.$refs;
21015
21346
  var tableBody = $refs.tableBody,
21016
21347
  rightBody = $refs.rightBody,
@@ -21027,7 +21358,7 @@ var Methods = {
21027
21358
  if (this.scrollXLoad || this.scrollYLoad) {
21028
21359
  return new Promise(function (resolve) {
21029
21360
  return setTimeout(function () {
21030
- return resolve(_this55.$nextTick());
21361
+ return resolve(_this53.$nextTick());
21031
21362
  }, 50);
21032
21363
  });
21033
21364
  }
@@ -21069,26 +21400,29 @@ var Methods = {
21069
21400
  * @param {Row} row 行对象
21070
21401
  */
21071
21402
  scrollToTreeRow: function scrollToTreeRow(row) {
21072
- var _this56 = this;
21403
+ var _this54 = this;
21073
21404
  var tableFullData = this.tableFullData,
21074
21405
  treeConfig = this.treeConfig,
21075
21406
  treeOpts = this.treeOpts;
21407
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21076
21408
  var rests = [];
21077
21409
  if (treeConfig) {
21078
21410
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
21079
21411
  return item === row;
21080
- }, treeOpts);
21412
+ }, {
21413
+ children: childrenField
21414
+ });
21081
21415
  if (matchObj) {
21082
21416
  var nodes = matchObj.nodes;
21083
21417
  nodes.forEach(function (row, index) {
21084
- if (index < nodes.length - 1 && !_this56.isTreeExpandByRow(row)) {
21085
- rests.push(_this56.setTreeExpand(row, true));
21418
+ if (index < nodes.length - 1 && !_this54.isTreeExpandByRow(row)) {
21419
+ rests.push(_this54.setTreeExpand(row, true));
21086
21420
  }
21087
21421
  });
21088
21422
  }
21089
21423
  }
21090
21424
  return Promise.all(rests).then(function () {
21091
- return rowToVisible(_this56, row);
21425
+ return rowToVisible(_this54, row);
21092
21426
  });
21093
21427
  },
21094
21428
  /**
@@ -21143,30 +21477,30 @@ var Methods = {
21143
21477
  * 如果单元格配置了校验规则,则会进行校验
21144
21478
  */
21145
21479
  updateStatus: function updateStatus(slotParams, cellValue) {
21146
- var _this57 = this;
21480
+ var _this55 = this;
21147
21481
  var customVal = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);
21148
21482
  return this.$nextTick().then(function () {
21149
- var $refs = _this57.$refs,
21150
- editRules = _this57.editRules,
21151
- validStore = _this57.validStore;
21483
+ var $refs = _this55.$refs,
21484
+ editRules = _this55.editRules,
21485
+ validStore = _this55.validStore;
21152
21486
  if (slotParams && $refs.tableBody && editRules) {
21153
21487
  var row = slotParams.row,
21154
21488
  column = slotParams.column;
21155
21489
  var type = 'change';
21156
- if (_this57.hasCellRules(type, row, column)) {
21157
- var cell = _this57.getCell(row, column);
21490
+ if (_this55.hasCellRules(type, row, column)) {
21491
+ var cell = _this55.getCell(row, column);
21158
21492
  if (cell) {
21159
- return _this57.validCellRules(type, row, column, cellValue).then(function () {
21493
+ return _this55.validCellRules(type, row, column, cellValue).then(function () {
21160
21494
  if (customVal && validStore.visible) {
21161
21495
  setCellValue(row, column, cellValue);
21162
21496
  }
21163
- _this57.clearValidate();
21497
+ _this55.clearValidate();
21164
21498
  })["catch"](function (_ref8) {
21165
21499
  var rule = _ref8.rule;
21166
21500
  if (customVal) {
21167
21501
  setCellValue(row, column, cellValue);
21168
21502
  }
21169
- _this57.showValidTooltip({
21503
+ _this55.showValidTooltip({
21170
21504
  rule: rule,
21171
21505
  row: row,
21172
21506
  column: column,
@@ -21186,13 +21520,13 @@ var Methods = {
21186
21520
  * @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
21187
21521
  */
21188
21522
  setMergeCells: function setMergeCells(merges) {
21189
- var _this58 = this;
21523
+ var _this56 = this;
21190
21524
  if (this.spanMethod) {
21191
21525
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21192
21526
  }
21193
21527
  setMerges(this, merges, this.mergeList, this.afterFullData);
21194
21528
  return this.$nextTick().then(function () {
21195
- return _this58.updateCellAreas();
21529
+ return _this56.updateCellAreas();
21196
21530
  });
21197
21531
  },
21198
21532
  /**
@@ -21200,13 +21534,13 @@ var Methods = {
21200
21534
  * @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
21201
21535
  */
21202
21536
  removeMergeCells: function removeMergeCells(merges) {
21203
- var _this59 = this;
21537
+ var _this57 = this;
21204
21538
  if (this.spanMethod) {
21205
21539
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21206
21540
  }
21207
21541
  var rest = removeMerges(this, merges, this.mergeList, this.afterFullData);
21208
21542
  return this.$nextTick().then(function () {
21209
- _this59.updateCellAreas();
21543
+ _this57.updateCellAreas();
21210
21544
  return rest;
21211
21545
  });
21212
21546
  },
@@ -21227,23 +21561,23 @@ var Methods = {
21227
21561
  this.setMergeFooterItems(this.mergeFooterItems);
21228
21562
  },
21229
21563
  setMergeFooterItems: function setMergeFooterItems(merges) {
21230
- var _this60 = this;
21564
+ var _this58 = this;
21231
21565
  if (this.footerSpanMethod) {
21232
21566
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21233
21567
  }
21234
21568
  setMerges(this, merges, this.mergeFooterList, null);
21235
21569
  return this.$nextTick().then(function () {
21236
- return _this60.updateCellAreas();
21570
+ return _this58.updateCellAreas();
21237
21571
  });
21238
21572
  },
21239
21573
  removeMergeFooterItems: function removeMergeFooterItems(merges) {
21240
- var _this61 = this;
21574
+ var _this59 = this;
21241
21575
  if (this.footerSpanMethod) {
21242
21576
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21243
21577
  }
21244
21578
  var rest = removeMerges(this, merges, this.mergeFooterList, null);
21245
21579
  return this.$nextTick().then(function () {
21246
- _this61.updateCellAreas();
21580
+ _this59.updateCellAreas();
21247
21581
  return rest;
21248
21582
  });
21249
21583
  },
@@ -21360,9 +21694,9 @@ var Methods = {
21360
21694
  return cellLabel;
21361
21695
  },
21362
21696
  findRowIndexOf: function findRowIndexOf(list, row) {
21363
- var _this62 = this;
21697
+ var _this60 = this;
21364
21698
  return row ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list, function (item) {
21365
- return _this62.eqRow(item, row);
21699
+ return _this60.eqRow(item, row);
21366
21700
  }) : -1;
21367
21701
  },
21368
21702
  eqRow: function eqRow(row1, row2) {
@@ -21383,7 +21717,7 @@ var Methods = {
21383
21717
  };
21384
21718
 
21385
21719
  // Module methods
21386
- var funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',');
21720
+ var funcs = 'setFilter,openFilter,clearFilter,getCheckedFilters,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',');
21387
21721
  funcs.forEach(function (name) {
21388
21722
  Methods[name] = function () {
21389
21723
  if (false) {}
@@ -21892,14 +22226,14 @@ function handleUupdateResize(_vm) {
21892
22226
  isAllSelected: false,
21893
22227
  // 复选框属性,有选中且非全选状态
21894
22228
  isIndeterminate: false,
21895
- // 复选框属性,已选中的行
21896
- selectCheckboxRows: [],
22229
+ // 复选框属性,已选中的行集合
22230
+ selectCheckboxMaps: {},
21897
22231
  // 当前行
21898
22232
  currentRow: null,
21899
22233
  // 单选框属性,选中列
21900
22234
  currentColumn: null,
21901
22235
  // 单选框属性,选中行
21902
- selectRow: null,
22236
+ selectRadioRow: null,
21903
22237
  // 表尾合计数据
21904
22238
  footerTableData: [],
21905
22239
  // 展开列信息
@@ -21907,16 +22241,16 @@ function handleUupdateResize(_vm) {
21907
22241
  hasFixedColumn: false,
21908
22242
  // 树节点列信息
21909
22243
  treeNodeColumn: null,
21910
- // 已展开的行
21911
- rowExpandeds: [],
21912
- // 懒加载中的展开行的列表
21913
- expandLazyLoadeds: [],
21914
- // 已展开树节点
21915
- treeExpandeds: [],
21916
- // 懒加载中的树节点的列表
21917
- treeLazyLoadeds: [],
21918
- // 树节点不确定状态的列表
21919
- treeIndeterminates: [],
22244
+ // 已展开的行集合
22245
+ rowExpandedMaps: {},
22246
+ // 懒加载中的展开行的集合
22247
+ rowExpandLazyLoadedMaps: {},
22248
+ // 已展开树节点集合
22249
+ treeExpandedMaps: {},
22250
+ // 懒加载中的树节点的集合
22251
+ treeExpandLazyLoadedMaps: {},
22252
+ // 树节点不确定状态的集合
22253
+ treeIndeterminateMaps: {},
21920
22254
  // 合并单元格的对象集
21921
22255
  mergeList: [],
21922
22256
  // 合并表尾数据的对象集
@@ -22379,6 +22713,8 @@ function handleUupdateResize(_vm) {
22379
22713
  // 完整数据、条件处理后
22380
22714
  tableFullData: [],
22381
22715
  afterFullData: [],
22716
+ // 列表条件处理后数据集合
22717
+ afterFullRowMaps: {},
22382
22718
  // 收集的列配置(带分组)
22383
22719
  collectColumn: [],
22384
22720
  // 完整所有列(不带分组)
@@ -23743,6 +24079,7 @@ var es_array_unshift = __webpack_require__(541);
23743
24079
 
23744
24080
 
23745
24081
 
24082
+
23746
24083
 
23747
24084
 
23748
24085
  function insertTreeRow(_vm, newRecords, isAppend) {
@@ -23753,9 +24090,8 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23753
24090
  treeOpts = _vm.treeOpts;
23754
24091
  var rowField = treeOpts.rowField,
23755
24092
  parentField = treeOpts.parentField,
23756
- childrenField = treeOpts.childrenField,
23757
- children = treeOpts.children,
23758
24093
  mapChildrenField = treeOpts.mapChildrenField;
24094
+ var childrenField = treeOpts.children || treeOpts.childrenField;
23759
24095
  var funcName = isAppend ? 'push' : 'unshift';
23760
24096
  newRecords.forEach(function (item) {
23761
24097
  var parentRowId = item[parentField];
@@ -23769,11 +24105,16 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23769
24105
  var parentRow = matchObj.item;
23770
24106
  var parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)];
23771
24107
  var parentLevel = parentRest ? parentRest.level : 0;
23772
- var parentChilds = parentRow[childrenField || children];
24108
+ var parentChilds = parentRow[childrenField];
24109
+ var mapChilds = parentRow[mapChildrenField];
23773
24110
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(parentChilds)) {
23774
- parentChilds = parentRow[childrenField || children] = [];
24111
+ parentChilds = parentRow[childrenField] = [];
24112
+ }
24113
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(mapChilds)) {
24114
+ mapChilds = parentRow[childrenField] = [];
23775
24115
  }
23776
24116
  parentChilds[funcName](item);
24117
+ mapChilds[funcName](item);
23777
24118
  var rest = {
23778
24119
  row: item,
23779
24120
  rowid: rowid,
@@ -23807,6 +24148,181 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23807
24148
  }
23808
24149
  });
23809
24150
  }
24151
+ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
24152
+ var tableFullTreeData = _vm.tableFullTreeData,
24153
+ mergeList = _vm.mergeList,
24154
+ afterFullData = _vm.afterFullData,
24155
+ editStore = _vm.editStore,
24156
+ tableFullData = _vm.tableFullData,
24157
+ treeConfig = _vm.treeConfig,
24158
+ fullDataRowIdData = _vm.fullDataRowIdData,
24159
+ fullAllDataRowIdData = _vm.fullAllDataRowIdData,
24160
+ treeOpts = _vm.treeOpts;
24161
+ var transform = treeOpts.transform,
24162
+ rowField = treeOpts.rowField,
24163
+ mapChildrenField = treeOpts.mapChildrenField;
24164
+ var childrenField = treeOpts.children || treeOpts.childrenField;
24165
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
24166
+ records = [records];
24167
+ }
24168
+ var newRecords = _vm.defineField(records.map(function (record) {
24169
+ var _ref;
24170
+ return Object.assign(treeConfig && transform ? (_ref = {}, _defineProperty(_ref, mapChildrenField, []), _defineProperty(_ref, childrenField, []), _ref) : {}, record);
24171
+ }));
24172
+ if (!row) {
24173
+ // 如果为虚拟树
24174
+ if (treeConfig && transform) {
24175
+ insertTreeRow(_vm, newRecords, false);
24176
+ } else {
24177
+ afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords));
24178
+ tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords));
24179
+ // 刷新单元格合并
24180
+ mergeList.forEach(function (mergeItem) {
24181
+ var mergeRowIndex = mergeItem.row;
24182
+ if (mergeRowIndex > 0) {
24183
+ mergeItem.row = mergeRowIndex + newRecords.length;
24184
+ }
24185
+ });
24186
+ }
24187
+ } else {
24188
+ if (row === -1) {
24189
+ // 如果为虚拟树
24190
+ if (treeConfig && transform) {
24191
+ insertTreeRow(_vm, newRecords, true);
24192
+ } else {
24193
+ afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords));
24194
+ tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords));
24195
+ // 刷新单元格合并
24196
+ mergeList.forEach(function (mergeItem) {
24197
+ var mergeRowIndex = mergeItem.row,
24198
+ mergeRowspan = mergeItem.rowspan;
24199
+ if (mergeRowIndex + mergeRowspan > afterFullData.length) {
24200
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
24201
+ }
24202
+ });
24203
+ }
24204
+ } else {
24205
+ // 如果为虚拟树
24206
+ if (treeConfig && transform) {
24207
+ var matchMapObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24208
+ return row[rowField] === item[rowField];
24209
+ }, {
24210
+ children: mapChildrenField
24211
+ });
24212
+ if (matchMapObj) {
24213
+ var parentRow = matchMapObj.parent;
24214
+ var parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData;
24215
+ var parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)];
24216
+ var parentLevel = parentRest ? parentRest.level : 0;
24217
+ newRecords.forEach(function (item, i) {
24218
+ var rowid = getRowid(_vm, item);
24219
+ if (false) {}
24220
+ if (parentRow) {
24221
+ item[treeOpts.parentField] = parentRow[rowField];
24222
+ }
24223
+ var targetIndex = matchMapObj.index + i;
24224
+ if (isInsertNextRow) {
24225
+ targetIndex = targetIndex + 1;
24226
+ }
24227
+ parentMapChilds.splice(targetIndex, 0, item);
24228
+ var rest = {
24229
+ row: item,
24230
+ rowid: rowid,
24231
+ seq: -1,
24232
+ index: -1,
24233
+ _index: -1,
24234
+ $index: -1,
24235
+ items: parentMapChilds,
24236
+ parent: parentRow,
24237
+ level: parentLevel + 1
24238
+ };
24239
+ fullDataRowIdData[rowid] = rest;
24240
+ fullAllDataRowIdData[rowid] = rest;
24241
+ });
24242
+
24243
+ // 源
24244
+ if (parentRow) {
24245
+ var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24246
+ return row[rowField] === item[rowField];
24247
+ }, {
24248
+ children: childrenField
24249
+ });
24250
+ if (matchObj) {
24251
+ var parentChilds = matchObj.items;
24252
+ var targetIndex = matchObj.index;
24253
+ if (isInsertNextRow) {
24254
+ targetIndex = targetIndex + 1;
24255
+ }
24256
+ parentChilds.splice.apply(parentChilds, [targetIndex, 0].concat(_toConsumableArray(newRecords)));
24257
+ }
24258
+ }
24259
+ } else {
24260
+ if (false) {}
24261
+ insertTreeRow(_vm, newRecords, true);
24262
+ }
24263
+ } else {
24264
+ if (treeConfig) {
24265
+ throw new Error(getLog('vxe.error.noTree', ['insert']));
24266
+ }
24267
+ var afIndex = -1;
24268
+ // 如果是可视索引
24269
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)) {
24270
+ if (row < afterFullData.length) {
24271
+ afIndex = row;
24272
+ }
24273
+ } else {
24274
+ afIndex = _vm.findRowIndexOf(afterFullData, row);
24275
+ }
24276
+ // 如果是插入指定行的下一行
24277
+ if (isInsertNextRow) {
24278
+ afIndex = Math.max(afterFullData.length, afIndex + 1);
24279
+ }
24280
+ if (afIndex === -1) {
24281
+ throw new Error(errLog('vxe.error.unableInsert'));
24282
+ }
24283
+ afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords)));
24284
+ tableFullData.splice.apply(tableFullData, [_vm.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords)));
24285
+ // 刷新单元格合并
24286
+ mergeList.forEach(function (mergeItem) {
24287
+ var mergeRowIndex = mergeItem.row,
24288
+ mergeRowspan = mergeItem.rowspan;
24289
+ if (mergeRowIndex > afIndex) {
24290
+ mergeItem.row = mergeRowIndex + newRecords.length;
24291
+ } else if (mergeRowIndex + mergeRowspan > afIndex) {
24292
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
24293
+ }
24294
+ });
24295
+ }
24296
+ }
24297
+ }
24298
+ var insertList = editStore.insertList,
24299
+ insertMaps = editStore.insertMaps;
24300
+ newRecords.forEach(function (newRow) {
24301
+ var rowid = getRowid(_vm, newRow);
24302
+ insertMaps[rowid] = newRow;
24303
+ });
24304
+ insertList.unshift.apply(insertList, _toConsumableArray(newRecords));
24305
+ _vm.cacheRowMap();
24306
+ _vm.updateScrollYStatus();
24307
+ _vm.handleTableData(treeConfig && transform);
24308
+ if (!(treeConfig && transform)) {
24309
+ _vm.updateAfterDataIndex();
24310
+ }
24311
+ _vm.updateFooter();
24312
+ _vm.checkSelectionStatus();
24313
+ if (_vm.scrollYLoad) {
24314
+ _vm.updateScrollYSpace();
24315
+ }
24316
+ return _vm.$nextTick().then(function () {
24317
+ _vm.updateCellAreas();
24318
+ return _vm.recalculate();
24319
+ }).then(function () {
24320
+ return {
24321
+ row: newRecords.length ? newRecords[newRecords.length - 1] : null,
24322
+ rows: newRecords
24323
+ };
24324
+ });
24325
+ }
23810
24326
  /* harmony default export */ const edit_src_mixin = ({
23811
24327
  methods: {
23812
24328
  /**
@@ -23815,7 +24331,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23815
24331
  * @param {*} records
23816
24332
  */
23817
24333
  _insert: function _insert(records) {
23818
- return this.insertAt(records);
24334
+ return handleInsertRowAt(this, records, null);
23819
24335
  },
23820
24336
  /**
23821
24337
  * 往表格指定行中插入临时数据
@@ -23824,155 +24340,13 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23824
24340
  * 如果 row 为有效行则插入到该行的位置
23825
24341
  * @param {Object/Array} records 新的数据
23826
24342
  * @param {Row} row 指定行
24343
+ * @returns
23827
24344
  */
23828
24345
  _insertAt: function _insertAt(records, row) {
23829
- var _this = this;
23830
- var tableFullTreeData = this.tableFullTreeData,
23831
- mergeList = this.mergeList,
23832
- afterFullData = this.afterFullData,
23833
- editStore = this.editStore,
23834
- tableFullData = this.tableFullData,
23835
- treeConfig = this.treeConfig,
23836
- fullDataRowIdData = this.fullDataRowIdData,
23837
- fullAllDataRowIdData = this.fullAllDataRowIdData,
23838
- treeOpts = this.treeOpts;
23839
- var transform = treeOpts.transform,
23840
- rowField = treeOpts.rowField,
23841
- mapChildrenField = treeOpts.mapChildrenField;
23842
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
23843
- records = [records];
23844
- }
23845
- var newRecords = this.defineField(records.map(function (record) {
23846
- return Object.assign({}, record);
23847
- }));
23848
- if (!row) {
23849
- // 如果为虚拟树
23850
- if (treeConfig && transform) {
23851
- insertTreeRow(this, newRecords, false);
23852
- } else {
23853
- afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords));
23854
- tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords));
23855
- // 刷新单元格合并
23856
- mergeList.forEach(function (mergeItem) {
23857
- var mergeRowIndex = mergeItem.row;
23858
- if (mergeRowIndex > 0) {
23859
- mergeItem.row = mergeRowIndex + newRecords.length;
23860
- }
23861
- });
23862
- }
23863
- } else {
23864
- if (row === -1) {
23865
- // 如果为虚拟树
23866
- if (treeConfig && transform) {
23867
- insertTreeRow(this, newRecords, true);
23868
- } else {
23869
- afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords));
23870
- tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords));
23871
- // 刷新单元格合并
23872
- mergeList.forEach(function (mergeItem) {
23873
- var mergeRowIndex = mergeItem.row,
23874
- mergeRowspan = mergeItem.rowspan;
23875
- if (mergeRowIndex + mergeRowspan > afterFullData.length) {
23876
- mergeItem.rowspan = mergeRowspan + newRecords.length;
23877
- }
23878
- });
23879
- }
23880
- } else {
23881
- // 如果为虚拟树
23882
- if (treeConfig && transform) {
23883
- var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
23884
- return row[rowField] === item[rowField];
23885
- }, {
23886
- children: mapChildrenField
23887
- });
23888
- if (matchObj) {
23889
- var parentRow = matchObj.parent;
23890
- var parentChilds = matchObj.items;
23891
- var parentRest = fullAllDataRowIdData[getRowid(this, parentRow)];
23892
- var parentLevel = parentRest ? parentRest.level : 0;
23893
- newRecords.forEach(function (item, i) {
23894
- var rowid = getRowid(_this, item);
23895
- if (false) {}
23896
- if (parentRow) {
23897
- item[treeOpts.parentField] = parentRow[rowField];
23898
- }
23899
- parentChilds.splice(matchObj.index + i, 0, item);
23900
- var rest = {
23901
- row: item,
23902
- rowid: rowid,
23903
- seq: -1,
23904
- index: -1,
23905
- _index: -1,
23906
- $index: -1,
23907
- items: parentChilds,
23908
- parent: parentRow,
23909
- level: parentLevel + 1
23910
- };
23911
- fullDataRowIdData[rowid] = rest;
23912
- fullAllDataRowIdData[rowid] = rest;
23913
- });
23914
- } else {
23915
- if (false) {}
23916
- insertTreeRow(this, newRecords, true);
23917
- }
23918
- } else {
23919
- if (treeConfig) {
23920
- throw new Error(getLog('vxe.error.noTree', ['insert']));
23921
- }
23922
- var afIndex = -1;
23923
- // 如果是可视索引
23924
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)) {
23925
- if (row < afterFullData.length) {
23926
- afIndex = row;
23927
- }
23928
- } else {
23929
- afIndex = this.findRowIndexOf(afterFullData, row);
23930
- }
23931
- if (afIndex === -1) {
23932
- throw new Error(errLog('vxe.error.unableInsert'));
23933
- }
23934
- afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords)));
23935
- tableFullData.splice.apply(tableFullData, [this.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords)));
23936
- // 刷新单元格合并
23937
- mergeList.forEach(function (mergeItem) {
23938
- var mergeRowIndex = mergeItem.row,
23939
- mergeRowspan = mergeItem.rowspan;
23940
- if (mergeRowIndex > afIndex) {
23941
- mergeItem.row = mergeRowIndex + newRecords.length;
23942
- } else if (mergeRowIndex + mergeRowspan > afIndex) {
23943
- mergeItem.rowspan = mergeRowspan + newRecords.length;
23944
- }
23945
- });
23946
- }
23947
- }
23948
- }
23949
- var insertList = editStore.insertList,
23950
- insertMaps = editStore.insertMaps;
23951
- newRecords.forEach(function (newRow) {
23952
- var rowid = getRowid(_this, newRow);
23953
- insertMaps[rowid] = newRow;
23954
- });
23955
- insertList.unshift.apply(insertList, _toConsumableArray(newRecords));
23956
- this.cacheRowMap();
23957
- this.updateScrollYStatus();
23958
- this.handleTableData(treeConfig && transform);
23959
- if (!(treeConfig && transform)) {
23960
- this.updateAfterDataIndex();
23961
- }
23962
- this.updateFooter();
23963
- this.checkSelectionStatus();
23964
- if (this.scrollYLoad) {
23965
- this.updateScrollYSpace();
23966
- }
23967
- return this.$nextTick().then(function () {
23968
- _this.updateCellAreas();
23969
- return _this.recalculate();
23970
- }).then(function () {
23971
- return {
23972
- row: newRecords.length ? newRecords[newRecords.length - 1] : null,
23973
- rows: newRecords
23974
- };
23975
- });
24346
+ return handleInsertRowAt(this, records, row);
24347
+ },
24348
+ _insertNextAt: function _insertNextAt(records, row) {
24349
+ return handleInsertRowAt(this, records, row, true);
23976
24350
  },
23977
24351
  /**
23978
24352
  * 删除指定行数据
@@ -23981,7 +24355,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23981
24355
  * 如果为空则删除所有
23982
24356
  */
23983
24357
  _remove: function _remove(rows) {
23984
- var _this2 = this;
24358
+ var _this = this;
23985
24359
  var afterFullData = this.afterFullData,
23986
24360
  tableFullData = this.tableFullData,
23987
24361
  tableFullTreeData = this.tableFullTreeData,
@@ -23989,16 +24363,18 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23989
24363
  mergeList = this.mergeList,
23990
24364
  editStore = this.editStore,
23991
24365
  checkboxOpts = this.checkboxOpts,
23992
- selectCheckboxRows = this.selectCheckboxRows,
24366
+ selectCheckboxMaps = this.selectCheckboxMaps,
23993
24367
  isInsertByRow = this.isInsertByRow,
23994
24368
  treeOpts = this.treeOpts;
23995
- var transform = treeOpts.transform;
24369
+ var transform = treeOpts.transform,
24370
+ mapChildrenField = treeOpts.mapChildrenField;
24371
+ var childrenField = treeOpts.children || treeOpts.childrenField;
23996
24372
  var actived = editStore.actived,
23997
24373
  removeList = editStore.removeList,
23998
24374
  insertList = editStore.insertList,
23999
24375
  insertMaps = editStore.insertMaps;
24000
24376
  var checkField = checkboxOpts.checkField;
24001
- var rest = [];
24377
+ var delList = [];
24002
24378
  if (!rows) {
24003
24379
  rows = tableFullData;
24004
24380
  } else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
@@ -24012,16 +24388,18 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24012
24388
  });
24013
24389
  // 如果绑定了多选属性,则更新状态
24014
24390
  if (!checkField) {
24391
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
24015
24392
  rows.forEach(function (row) {
24016
- var sIndex = _this2.findRowIndexOf(selectCheckboxRows, row);
24017
- if (sIndex > -1) {
24018
- selectCheckboxRows.splice(sIndex, 1);
24393
+ var rowid = getRowid(_this, row);
24394
+ if (selectRowMaps[rowid]) {
24395
+ delete selectRowMaps[rowid];
24019
24396
  }
24020
24397
  });
24398
+ this.selectCheckboxMaps = selectRowMaps;
24021
24399
  }
24022
24400
  // 从数据源中移除
24023
24401
  if (tableFullData === rows) {
24024
- rows = rest = tableFullData.slice(0);
24402
+ rows = delList = tableFullData.slice(0);
24025
24403
  this.tableFullData = [];
24026
24404
  this.afterFullData = [];
24027
24405
  this.clearMergeCells();
@@ -24029,27 +24407,37 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24029
24407
  // 如果为虚拟树
24030
24408
  if (treeConfig && transform) {
24031
24409
  rows.forEach(function (row) {
24032
- var rowid = getRowid(_this2, row);
24410
+ var rowid = getRowid(_this, row);
24411
+ var matchMapObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24412
+ return rowid === getRowid(_this, item);
24413
+ }, {
24414
+ children: mapChildrenField
24415
+ });
24416
+ if (matchMapObj) {
24417
+ var rItems = matchMapObj.items.splice(matchMapObj.index, 1);
24418
+ delList.push(rItems[0]);
24419
+ }
24033
24420
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24034
- return rowid === getRowid(_this2, item);
24035
- }, treeOpts);
24421
+ return rowid === getRowid(_this, item);
24422
+ }, {
24423
+ children: childrenField
24424
+ });
24036
24425
  if (matchObj) {
24037
- var rItems = matchObj.items.splice(matchObj.index, 1);
24038
- rest.push(rItems[0]);
24426
+ matchObj.items.splice(matchObj.index, 1);
24039
24427
  }
24040
- var afIndex = _this2.findRowIndexOf(afterFullData, row);
24428
+ var afIndex = _this.findRowIndexOf(afterFullData, row);
24041
24429
  if (afIndex > -1) {
24042
24430
  afterFullData.splice(afIndex, 1);
24043
24431
  }
24044
24432
  });
24045
24433
  } else {
24046
24434
  rows.forEach(function (row) {
24047
- var tfIndex = _this2.findRowIndexOf(tableFullData, row);
24435
+ var tfIndex = _this.findRowIndexOf(tableFullData, row);
24048
24436
  if (tfIndex > -1) {
24049
24437
  var rItems = tableFullData.splice(tfIndex, 1);
24050
- rest.push(rItems[0]);
24438
+ delList.push(rItems[0]);
24051
24439
  }
24052
- var afIndex = _this2.findRowIndexOf(afterFullData, row);
24440
+ var afIndex = _this.findRowIndexOf(afterFullData, row);
24053
24441
  if (afIndex > -1) {
24054
24442
  // 刷新单元格合并
24055
24443
  mergeList.forEach(function (mergeItem) {
@@ -24072,8 +24460,8 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24072
24460
  }
24073
24461
  // 从新增中移除已删除的数据
24074
24462
  rows.forEach(function (row) {
24075
- var rowid = getRowid(_this2, row);
24076
- var iIndex = _this2.findRowIndexOf(insertList, row);
24463
+ var rowid = getRowid(_this, row);
24464
+ var iIndex = _this.findRowIndexOf(insertList, row);
24077
24465
  if (iIndex > -1) {
24078
24466
  insertList.splice(iIndex, 1);
24079
24467
  }
@@ -24090,12 +24478,12 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24090
24478
  this.updateScrollYSpace();
24091
24479
  }
24092
24480
  return this.$nextTick().then(function () {
24093
- _this2.updateCellAreas();
24094
- return _this2.recalculate();
24481
+ _this.updateCellAreas();
24482
+ return _this.recalculate();
24095
24483
  }).then(function () {
24096
24484
  return {
24097
- row: rest.length ? rest[rest.length - 1] : null,
24098
- rows: rest
24485
+ row: delList.length ? delList[delList.length - 1] : null,
24486
+ rows: delList
24099
24487
  };
24100
24488
  });
24101
24489
  },
@@ -24103,9 +24491,9 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24103
24491
  * 删除复选框选中的数据
24104
24492
  */
24105
24493
  _removeCheckboxRow: function _removeCheckboxRow() {
24106
- var _this3 = this;
24494
+ var _this2 = this;
24107
24495
  return this.remove(this.getCheckboxRecords()).then(function (params) {
24108
- _this3.clearCheckboxRow();
24496
+ _this2.clearCheckboxRow();
24109
24497
  return params;
24110
24498
  });
24111
24499
  },
@@ -24113,10 +24501,10 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24113
24501
  * 删除单选框选中的数据
24114
24502
  */
24115
24503
  _removeRadioRow: function _removeRadioRow() {
24116
- var _this4 = this;
24504
+ var _this3 = this;
24117
24505
  var radioRecord = this.getRadioRecord();
24118
24506
  return this.remove(radioRecord || []).then(function (params) {
24119
- _this4.clearRadioRow();
24507
+ _this3.clearRadioRow();
24120
24508
  return params;
24121
24509
  });
24122
24510
  },
@@ -24124,10 +24512,10 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24124
24512
  * 删除当前行选中的数据
24125
24513
  */
24126
24514
  _removeCurrentRow: function _removeCurrentRow() {
24127
- var _this5 = this;
24515
+ var _this4 = this;
24128
24516
  var currentRecord = this.getCurrentRecord();
24129
24517
  return this.remove(currentRecord || []).then(function (params) {
24130
- _this5.clearCurrentRow();
24518
+ _this4.clearCurrentRow();
24131
24519
  return params;
24132
24520
  });
24133
24521
  },
@@ -24145,12 +24533,12 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24145
24533
  * 获取新增的临时数据
24146
24534
  */
24147
24535
  _getInsertRecords: function _getInsertRecords() {
24148
- var _this6 = this;
24536
+ var _this5 = this;
24149
24537
  var fullAllDataRowIdData = this.fullAllDataRowIdData;
24150
24538
  var insertList = this.editStore.insertList;
24151
24539
  var insertRecords = [];
24152
24540
  insertList.forEach(function (row) {
24153
- var rowid = getRowid(_this6, row);
24541
+ var rowid = getRowid(_this5, row);
24154
24542
  if (fullAllDataRowIdData[rowid]) {
24155
24543
  insertRecords.push(row);
24156
24544
  }
@@ -24197,7 +24585,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24197
24585
  * 处理激活编辑
24198
24586
  */
24199
24587
  handleActived: function handleActived(params, evnt) {
24200
- var _this7 = this;
24588
+ var _this6 = this;
24201
24589
  var editStore = this.editStore,
24202
24590
  editOpts = this.editOpts,
24203
24591
  tableColumn = this.tableColumn,
@@ -24233,13 +24621,13 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24233
24621
  actived.column = column;
24234
24622
  if (mode === 'row') {
24235
24623
  tableColumn.forEach(function (column) {
24236
- return _this7._getColumnModel(row, column);
24624
+ return _this6._getColumnModel(row, column);
24237
24625
  });
24238
24626
  } else {
24239
24627
  this._getColumnModel(row, column);
24240
24628
  }
24241
24629
  this.$nextTick(function () {
24242
- _this7.handleFocus(params, evnt);
24630
+ _this6.handleFocus(params, evnt);
24243
24631
  });
24244
24632
  }
24245
24633
  this.emitEvent(type, {
@@ -24268,7 +24656,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24268
24656
  actived.args = params;
24269
24657
  actived.column = column;
24270
24658
  setTimeout(function () {
24271
- _this7.handleFocus(params, evnt);
24659
+ _this6.handleFocus(params, evnt);
24272
24660
  });
24273
24661
  }
24274
24662
  this.focus();
@@ -24293,7 +24681,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24293
24681
  }
24294
24682
  },
24295
24683
  _syncActivedCell: function _syncActivedCell() {
24296
- var _this8 = this;
24684
+ var _this7 = this;
24297
24685
  var tableColumn = this.tableColumn,
24298
24686
  editStore = this.editStore,
24299
24687
  editOpts = this.editOpts;
@@ -24303,7 +24691,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24303
24691
  if (row || column) {
24304
24692
  if (editOpts.mode === 'row') {
24305
24693
  tableColumn.forEach(function (column) {
24306
- return _this8._setColumnModel(row, column);
24694
+ return _this7._setColumnModel(row, column);
24307
24695
  });
24308
24696
  } else {
24309
24697
  this._setColumnModel(row, column);
@@ -24446,22 +24834,22 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24446
24834
  * 激活单元格编辑
24447
24835
  */
24448
24836
  _setEditCell: function _setEditCell(row, fieldOrColumn) {
24449
- var _this9 = this;
24837
+ var _this8 = this;
24450
24838
  var editConfig = this.editConfig;
24451
24839
  var column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
24452
24840
  if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
24453
24841
  return this.scrollToRow(row, true).then(function () {
24454
- var cell = _this9.getCell(row, column);
24842
+ var cell = _this8.getCell(row, column);
24455
24843
  if (cell) {
24456
- _this9.handleActived({
24844
+ _this8.handleActived({
24457
24845
  row: row,
24458
- rowIndex: _this9.getRowIndex(row),
24846
+ rowIndex: _this8.getRowIndex(row),
24459
24847
  column: column,
24460
- columnIndex: _this9.getColumnIndex(column),
24848
+ columnIndex: _this8.getColumnIndex(column),
24461
24849
  cell: cell,
24462
- $table: _this9
24850
+ $table: _this8
24463
24851
  });
24464
- _this9.lastCallTime = Date.now();
24852
+ _this8.lastCallTime = Date.now();
24465
24853
  }
24466
24854
  });
24467
24855
  }
@@ -24495,7 +24883,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24495
24883
  * 处理选中源
24496
24884
  */
24497
24885
  handleSelected: function handleSelected(params, evnt) {
24498
- var _this10 = this;
24886
+ var _this9 = this;
24499
24887
  var mouseConfig = this.mouseConfig,
24500
24888
  mouseOpts = this.mouseOpts,
24501
24889
  editOpts = this.editOpts,
@@ -24508,23 +24896,23 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24508
24896
  var selectMethod = function selectMethod() {
24509
24897
  if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
24510
24898
  if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
24511
- _this10.clearActived(evnt);
24512
- _this10.clearSelected(evnt);
24513
- _this10.clearCellAreas(evnt);
24514
- _this10.clearCopyCellArea(evnt);
24899
+ _this9.clearActived(evnt);
24900
+ _this9.clearSelected(evnt);
24901
+ _this9.clearCellAreas(evnt);
24902
+ _this9.clearCopyCellArea(evnt);
24515
24903
  selected.args = params;
24516
24904
  selected.row = row;
24517
24905
  selected.column = column;
24518
24906
  if (isMouseSelected) {
24519
- _this10.addColSdCls();
24907
+ _this9.addColSdCls();
24520
24908
  }
24521
- _this10.focus();
24909
+ _this9.focus();
24522
24910
  if (evnt) {
24523
- _this10.emitEvent('cell-selected', params, evnt);
24911
+ _this9.emitEvent('cell-selected', params, evnt);
24524
24912
  }
24525
24913
  }
24526
24914
  }
24527
- return _this10.$nextTick();
24915
+ return _this9.$nextTick();
24528
24916
  };
24529
24917
  return selectMethod();
24530
24918
  },
@@ -26422,6 +26810,9 @@ function renderExtraSuffixIcon(h, _vm) {
26422
26810
  }
26423
26811
  },
26424
26812
  multiple: Boolean,
26813
+ // text
26814
+ showWordCount: Boolean,
26815
+ countMethod: Function,
26425
26816
  // number、integer、float
26426
26817
  min: {
26427
26818
  type: [String, Number],
@@ -26564,6 +26955,12 @@ function renderExtraSuffixIcon(h, _vm) {
26564
26955
  isSearch: function isSearch() {
26565
26956
  return this.type === 'search';
26566
26957
  },
26958
+ inputCount: function inputCount() {
26959
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getSize(this.inputValue);
26960
+ },
26961
+ isCountError: function isCountError() {
26962
+ return this.maxlength && this.inputCount > external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(this.maxlength);
26963
+ },
26567
26964
  stepValue: function stepValue() {
26568
26965
  var type = this.type,
26569
26966
  step = this.step;
@@ -27028,6 +27425,8 @@ function renderExtraSuffixIcon(h, _vm) {
27028
27425
  inpReadonly = this.inpReadonly,
27029
27426
  className = this.className,
27030
27427
  controls = this.controls,
27428
+ showWordCount = this.showWordCount,
27429
+ countMethod = this.countMethod,
27031
27430
  inputValue = this.inputValue,
27032
27431
  isDatePickerType = this.isDatePickerType,
27033
27432
  visiblePanel = this.visiblePanel,
@@ -27083,8 +27482,20 @@ function renderExtraSuffixIcon(h, _vm) {
27083
27482
  if (isDatePickerType) {
27084
27483
  childs.push(renderPanel(h, this));
27085
27484
  }
27485
+ var isWordCount = false;
27486
+ // 统计字数
27487
+ if (showWordCount && ['text', 'search'].includes(type)) {
27488
+ isWordCount = true;
27489
+ childs.push(h('span', {
27490
+ "class": ['vxe-input--count', {
27491
+ 'is--error': this.isCountError
27492
+ }]
27493
+ }, countMethod ? "".concat(countMethod({
27494
+ value: inputValue
27495
+ })) : "".concat(this.inputCount).concat(inpMaxlength ? "/".concat(inpMaxlength) : '')));
27496
+ }
27086
27497
  return h('div', {
27087
- "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)]
27498
+ "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)]
27088
27499
  }, childs);
27089
27500
  },
27090
27501
  methods: {
@@ -30306,7 +30717,8 @@ function getExportBlobByContent(content, options) {
30306
30717
  }
30307
30718
  function hasTreeChildren($xetable, row) {
30308
30719
  var treeOpts = $xetable.treeOpts;
30309
- return row[treeOpts.childrenField || treeOpts.children] && row[treeOpts.childrenField || treeOpts.children].length > 0;
30720
+ var childrenField = treeOpts.children || treeOpts.childrenField;
30721
+ return row[childrenField] && row[childrenField].length > 0;
30310
30722
  }
30311
30723
  function getSeq($xetable, row, $rowIndex, column, $columnIndex) {
30312
30724
  var seqOpts = $xetable.seqOpts;
@@ -30346,6 +30758,7 @@ function getLabelData($xetable, opts, columns, datas) {
30346
30758
  radioOpts = $xetable.radioOpts,
30347
30759
  checkboxOpts = $xetable.checkboxOpts,
30348
30760
  columnOpts = $xetable.columnOpts;
30761
+ var childrenField = treeOpts.children || treeOpts.childrenField;
30349
30762
  if (!htmlCellElem) {
30350
30763
  htmlCellElem = document.createElement('div');
30351
30764
  }
@@ -30427,7 +30840,9 @@ function getLabelData($xetable, opts, columns, datas) {
30427
30840
  expandMaps.set(row, 1);
30428
30841
  rest.push(Object.assign(_item, row));
30429
30842
  }
30430
- }, treeOpts);
30843
+ }, {
30844
+ children: childrenField
30845
+ });
30431
30846
  return rest;
30432
30847
  }
30433
30848
  return datas.map(function (row, $rowIndex) {
@@ -31202,7 +31617,7 @@ function handleFileImport($xetable, file, opts) {
31202
31617
  filename = _UtilTools$parseFile.filename;
31203
31618
 
31204
31619
  // 检查类型,如果为自定义导出,则不需要校验类型
31205
- if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.config.importTypes, type)) {
31620
+ if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.globalConfs.importTypes, type)) {
31206
31621
  if (opts.message !== false) {
31207
31622
  // 检测弹窗模块
31208
31623
  if (false) {}
@@ -31434,7 +31849,7 @@ function handleExportAndPrint($xetable, options, isPrint) {
31434
31849
  message: true,
31435
31850
  isHeader: true
31436
31851
  }, options);
31437
- var types = defOpts.types || v_x_e_table.config.exportTypes;
31852
+ var types = defOpts.types || v_x_e_table.globalConfs.exportTypes;
31438
31853
  var modes = defOpts.modes;
31439
31854
  var checkMethod = customOpts.checkMethod;
31440
31855
  var exportColumns = collectColumn.slice(0);
@@ -31694,7 +32109,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31694
32109
  }
31695
32110
 
31696
32111
  // 检查类型,如果为自定义导出,则不需要校验类型
31697
- if (!opts.exportMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.config.exportTypes, type)) {
32112
+ if (!opts.exportMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.globalConfs.exportTypes, type)) {
31698
32113
  if (false) {}
31699
32114
  var params = {
31700
32115
  status: false
@@ -31774,7 +32189,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31774
32189
  _importData: function _importData(options) {
31775
32190
  var _this2 = this;
31776
32191
  var opts = Object.assign({
31777
- types: v_x_e_table.config.importTypes
32192
+ types: v_x_e_table.globalConfs.importTypes
31778
32193
  // beforeImportMethod: null,
31779
32194
  // afterImportMethod: null
31780
32195
  }, this.importOpts, options);
@@ -31835,7 +32250,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31835
32250
  var defOpts = Object.assign({
31836
32251
  mode: 'insert',
31837
32252
  message: true,
31838
- types: v_x_e_table.config.importTypes
32253
+ types: v_x_e_table.globalConfs.importTypes
31839
32254
  }, options, this.importOpts);
31840
32255
  var types = defOpts.types;
31841
32256
  var isTree = !!this.getTreeStatus();
@@ -32063,13 +32478,16 @@ function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
32063
32478
  treeConfig = this.treeConfig,
32064
32479
  treeOpts = this.treeOpts,
32065
32480
  afterFullData = this.afterFullData;
32481
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32066
32482
  var targetRow;
32067
32483
  evnt.preventDefault();
32068
32484
  if (currentRow) {
32069
32485
  if (treeConfig) {
32070
32486
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
32071
32487
  return item === currentRow;
32072
- }, treeOpts),
32488
+ }, {
32489
+ children: childrenField
32490
+ }),
32073
32491
  index = _XEUtils$findTree.index,
32074
32492
  items = _XEUtils$findTree.items;
32075
32493
  if (isUpArrow && index > 0) {
@@ -32496,6 +32914,7 @@ function validErrorRuleValue(rule, val) {
32496
32914
  afterFullData = this.afterFullData,
32497
32915
  treeConfig = this.treeConfig,
32498
32916
  treeOpts = this.treeOpts;
32917
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32499
32918
  var vaildDatas;
32500
32919
  if (rows === true) {
32501
32920
  vaildDatas = afterFullData;
@@ -32548,7 +32967,9 @@ function validErrorRuleValue(rule, val) {
32548
32967
  }
32549
32968
  };
32550
32969
  if (treeConfig) {
32551
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, treeOpts);
32970
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, {
32971
+ children: childrenField
32972
+ });
32552
32973
  } else {
32553
32974
  vaildDatas.forEach(handleVaild);
32554
32975
  }
@@ -37590,7 +38011,8 @@ var VxeFormConfigItem = {
37590
38011
  allTitleWidth = $xeform.titleWidth,
37591
38012
  allTitleColon = $xeform.titleColon,
37592
38013
  allTitleAsterisk = $xeform.titleAsterisk,
37593
- allTitleOverflow = $xeform.titleOverflow;
38014
+ allTitleOverflow = $xeform.titleOverflow,
38015
+ allVertical = $xeform.vertical;
37594
38016
  var slots = item.slots,
37595
38017
  title = item.title,
37596
38018
  folding = item.folding,
@@ -37602,6 +38024,7 @@ var VxeFormConfigItem = {
37602
38024
  errRule = item.errRule,
37603
38025
  className = item.className,
37604
38026
  titleOverflow = item.titleOverflow,
38027
+ vertical = item.vertical,
37605
38028
  children = item.children,
37606
38029
  showTitle = item.showTitle,
37607
38030
  contentClassName = item.contentClassName,
@@ -37622,6 +38045,7 @@ var VxeFormConfigItem = {
37622
38045
  var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleColon) ? allTitleColon : item.titleColon;
37623
38046
  var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
37624
38047
  var itemOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(titleOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(titleOverflow) ? allTitleOverflow : titleOverflow;
38048
+ var itemVertical = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(vertical) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(vertical) ? allVertical : vertical;
37625
38049
  var ovEllipsis = itemOverflow === 'ellipsis';
37626
38050
  var ovTitle = itemOverflow === 'title';
37627
38051
  var ovTooltip = itemOverflow === true || itemOverflow === 'tooltip';
@@ -37681,6 +38105,7 @@ var VxeFormConfigItem = {
37681
38105
  "class": ['vxe-form--item', item.id, span ? "vxe-col--".concat(span, " is--span") : null, className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className(params) : className : '', itemClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(itemClassName) ? itemClassName(params) : itemClassName : '', {
37682
38106
  'is--title': title,
37683
38107
  'is--colon': titleColon,
38108
+ 'is--vertical': itemVertical,
37684
38109
  'is--asterisk': titleAsterisk,
37685
38110
  'is--required': isRequired,
37686
38111
  'is--hidden': folding && collapseAll,
@@ -37872,6 +38297,10 @@ function getResetValue(value, resetValue) {
37872
38297
  type: [Boolean, String],
37873
38298
  "default": null
37874
38299
  },
38300
+ vertical: {
38301
+ type: Boolean,
38302
+ "default": null
38303
+ },
37875
38304
  className: [String, Function],
37876
38305
  readonly: Boolean,
37877
38306
  items: Array,
@@ -38503,6 +38932,10 @@ var form_item_props = {
38503
38932
  type: Boolean,
38504
38933
  "default": true
38505
38934
  },
38935
+ vertical: {
38936
+ type: Boolean,
38937
+ "default": null
38938
+ },
38506
38939
  className: [String, Function],
38507
38940
  contentClassName: [String, Function],
38508
38941
  contentStyle: [Object, Function],
@@ -38542,7 +38975,8 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38542
38975
  allTitleWidth = _vm.titleWidth,
38543
38976
  allTitleColon = _vm.titleColon,
38544
38977
  allTitleAsterisk = _vm.titleAsterisk,
38545
- allTitleOverflow = _vm.titleOverflow;
38978
+ allTitleOverflow = _vm.titleOverflow,
38979
+ allVertical = _vm.vertical;
38546
38980
  var title = item.title,
38547
38981
  folding = item.folding,
38548
38982
  visible = item.visible,
@@ -38553,6 +38987,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38553
38987
  errRule = item.errRule,
38554
38988
  className = item.className,
38555
38989
  titleOverflow = item.titleOverflow,
38990
+ vertical = item.vertical,
38556
38991
  showTitle = item.showTitle,
38557
38992
  contentClassName = item.contentClassName,
38558
38993
  contentStyle = item.contentStyle,
@@ -38572,6 +39007,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38572
39007
  var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleColon) ? allTitleColon : item.titleColon;
38573
39008
  var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
38574
39009
  var itemOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(titleOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(titleOverflow) ? allTitleOverflow : titleOverflow;
39010
+ var itemVertical = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(vertical) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNull(vertical) ? allVertical : vertical;
38575
39011
  var ovEllipsis = itemOverflow === 'ellipsis';
38576
39012
  var ovTitle = itemOverflow === 'title';
38577
39013
  var ovTooltip = itemOverflow === true || itemOverflow === 'tooltip';
@@ -38616,6 +39052,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38616
39052
  "class": ['vxe-form--item', item.id, span ? "vxe-col--".concat(span, " is--span") : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className(params) : className : '', itemClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(itemClassName) ? itemClassName(params) : itemClassName : '', {
38617
39053
  'is--title': title,
38618
39054
  'is--colon': titleColon,
39055
+ 'is--vertical': itemVertical,
38619
39056
  'is--asterisk': titleAsterisk,
38620
39057
  'is--required': isRequired,
38621
39058
  'is--hidden': folding && collapseAll,