vxe-table 3.7.0-beta.9 → 3.7.0

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 +1 -1
  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 +1151 -716
  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 +15 -12
  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 +7 -4
  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.1694737793729.ttf} +0 -0
  98. /package/lib/icon/style/{iconfont.1690761747506.woff → iconfont.1694737793729.woff} +0 -0
  99. /package/lib/icon/style/{iconfont.1690761747506.woff2 → iconfont.1694737793729.woff2} +0 -0
  100. /package/lib/{iconfont.1690761747506.ttf → iconfont.1694737793729.ttf} +0 -0
  101. /package/lib/{iconfont.1690761747506.woff → iconfont.1694737793729.woff} +0 -0
  102. /package/lib/{iconfont.1690761747506.woff2 → iconfont.1694737793729.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.0", "] ").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,19 +12488,20 @@ 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.0",
12390
12495
  reg: reg,
12391
12496
  use: use,
12392
12497
  setup: setup,
12498
+ config: config,
12393
12499
  interceptor: interceptor,
12394
12500
  renderer: renderer,
12395
12501
  commands: commands,
12396
12502
  formats: formats,
12397
12503
  menus: menus,
12398
12504
  validators: validators,
12399
- config: config,
12400
12505
  t: t,
12401
12506
  _t: _t
12402
12507
  };
@@ -13009,8 +13114,10 @@ function countTreeExpand(prevRow, params) {
13009
13114
  return count;
13010
13115
  }
13011
13116
  var $table = params.$table;
13012
- var rowChildren = prevRow[$table.treeOpts.childrenField || $table.treeOpts.children];
13013
- if ($table.isTreeExpandByRow(prevRow)) {
13117
+ var treeOpts = $table.treeOpts;
13118
+ var childrenField = treeOpts.children || treeOpts.childrenField;
13119
+ var rowChildren = prevRow[childrenField];
13120
+ if (rowChildren && $table.isTreeExpandByRow(prevRow)) {
13014
13121
  for (var index = 0; index < rowChildren.length; index++) {
13015
13122
  count += countTreeExpand(rowChildren[index], params);
13016
13123
  }
@@ -13177,13 +13284,12 @@ function getSlotVNs(vns) {
13177
13284
 
13178
13285
 
13179
13286
 
13180
-
13181
13287
 
13182
13288
 
13183
13289
  var renderType = 'body';
13184
13290
 
13185
13291
  // 滚动、拖动过程中不需要触发
13186
- function isOperateMouse($xetable) {
13292
+ function isVMScrollProcess($xetable) {
13187
13293
  return $xetable._isResize || $xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover;
13188
13294
  }
13189
13295
  function renderLine(h, _vm, $xetable, params) {
@@ -13322,7 +13428,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
13322
13428
  // hover 进入事件
13323
13429
  if (showTitle || showTooltip || showAllTip || bindMouseenter || tooltipConfig) {
13324
13430
  tdOns.mouseenter = function (evnt) {
13325
- if (isOperateMouse($xetable)) {
13431
+ if (isVMScrollProcess($xetable)) {
13326
13432
  return;
13327
13433
  }
13328
13434
  if (showTitle) {
@@ -13341,7 +13447,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
13341
13447
  // hover 退出事件
13342
13448
  if (showTooltip || showAllTip || bindMouseleave || tooltipConfig) {
13343
13449
  tdOns.mouseleave = function (evnt) {
13344
- if (isOperateMouse($xetable)) {
13450
+ if (isVMScrollProcess($xetable)) {
13345
13451
  return;
13346
13452
  }
13347
13453
  if (showTooltip || showAllTip) {
@@ -13475,15 +13581,16 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13475
13581
  treeOpts = $xetable.treeOpts,
13476
13582
  expandOpts = $xetable.expandOpts,
13477
13583
  editOpts = $xetable.editOpts,
13478
- treeExpandeds = $xetable.treeExpandeds,
13584
+ treeExpandedMaps = $xetable.treeExpandedMaps,
13479
13585
  scrollYLoad = $xetable.scrollYLoad,
13480
- rowExpandeds = $xetable.rowExpandeds,
13586
+ rowExpandedMaps = $xetable.rowExpandedMaps,
13481
13587
  radioOpts = $xetable.radioOpts,
13482
13588
  checkboxOpts = $xetable.checkboxOpts,
13483
13589
  expandColumn = $xetable.expandColumn,
13484
13590
  hasFixedColumn = $xetable.hasFixedColumn,
13485
13591
  fullAllDataRowIdData = $xetable.fullAllDataRowIdData,
13486
13592
  rowOpts = $xetable.rowOpts;
13593
+ var childrenField = treeOpts.children || treeOpts.childrenField;
13487
13594
  var rows = [];
13488
13595
  tableData.forEach(function (row, $rowIndex) {
13489
13596
  var trOn = {};
@@ -13494,7 +13601,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13494
13601
  // 事件绑定
13495
13602
  if (rowOpts.isHover || highlightHoverRow) {
13496
13603
  trOn.mouseenter = function (evnt) {
13497
- if (isOperateMouse($xetable)) {
13604
+ if (isVMScrollProcess($xetable)) {
13498
13605
  return;
13499
13606
  }
13500
13607
  $xetable.triggerHoverEvent(evnt, {
@@ -13503,7 +13610,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13503
13610
  });
13504
13611
  };
13505
13612
  trOn.mouseleave = function () {
13506
- if (isOperateMouse($xetable)) {
13613
+ if (isVMScrollProcess($xetable)) {
13507
13614
  return;
13508
13615
  }
13509
13616
  $xetable.clearHoverRow();
@@ -13525,7 +13632,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13525
13632
  $rowIndex: $rowIndex
13526
13633
  };
13527
13634
  // 行是否被展开
13528
- var isExpandRow = expandColumn && rowExpandeds.length && rowExpandeds.indexOf(row) > -1;
13635
+ var isExpandRow = expandColumn && !!rowExpandedMaps[rowid];
13529
13636
  // 树节点是否被展开
13530
13637
  var isExpandTree = false;
13531
13638
  var rowChildren = [];
@@ -13534,9 +13641,9 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13534
13641
  if (editConfig) {
13535
13642
  isNewRow = $xetable.isInsertByRow(row);
13536
13643
  }
13537
- if (treeConfig && !scrollYLoad && !treeOpts.transform && treeExpandeds.length) {
13538
- rowChildren = row[treeOpts.childrenField || treeOpts.children];
13539
- isExpandTree = rowChildren && rowChildren.length && treeExpandeds.indexOf(row) > -1;
13644
+ if (treeConfig && !scrollYLoad && !treeOpts.transform) {
13645
+ rowChildren = row[childrenField];
13646
+ isExpandTree = rowChildren && rowChildren.length && !!treeExpandedMaps[rowid];
13540
13647
  }
13541
13648
  rows.push(h('tr', {
13542
13649
  "class": ['vxe-body--row', treeConfig ? "row--level-".concat(rowLevel) : '', {
@@ -13545,7 +13652,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
13545
13652
  'is--expand-row': isExpandRow,
13546
13653
  'is--expand-tree': isExpandTree,
13547
13654
  'row--new': isNewRow && (editOpts.showStatus || editOpts.showInsertStatus),
13548
- 'row--radio': radioOpts.highlight && $xetable.selectRow === row,
13655
+ 'row--radio': radioOpts.highlight && $xetable.selectRadioRow === row,
13549
13656
  'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
13550
13657
  }, rowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(rowClassName) ? rowClassName(params) : rowClassName : ''],
13551
13658
  attrs: {
@@ -13685,8 +13792,10 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
13685
13792
  },
13686
13793
  beforeDestroy: function beforeDestroy() {
13687
13794
  clearTimeout(this.wheelTime);
13688
- this.$el._onscroll = null;
13689
- this.$el.onscroll = null;
13795
+ if (this.$el) {
13796
+ this.$el._onscroll = null;
13797
+ this.$el.onscroll = null;
13798
+ }
13690
13799
  },
13691
13800
  destroyed: function destroyed() {
13692
13801
  var $xetable = this.$parent,
@@ -14965,24 +15074,22 @@ var Cell = {
14965
15074
  var $table = params.$table,
14966
15075
  isHidden = params.isHidden;
14967
15076
  var treeOpts = $table.treeOpts,
14968
- treeExpandeds = $table.treeExpandeds,
14969
- treeLazyLoadeds = $table.treeLazyLoadeds;
15077
+ treeExpandedMaps = $table.treeExpandedMaps,
15078
+ treeExpandLazyLoadedMaps = $table.treeExpandLazyLoadedMaps;
14970
15079
  var row = params.row,
14971
15080
  column = params.column,
14972
15081
  level = params.level;
14973
15082
  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,
15083
+ var indent = treeOpts.indent,
14979
15084
  lazy = treeOpts.lazy,
14980
15085
  trigger = treeOpts.trigger,
14981
15086
  iconLoaded = treeOpts.iconLoaded,
14982
15087
  showIcon = treeOpts.showIcon,
14983
15088
  iconOpen = treeOpts.iconOpen,
14984
15089
  iconClose = treeOpts.iconClose;
14985
- var rowChilds = row[childrenField || children];
15090
+ var childrenField = treeOpts.children || treeOpts.childrenField;
15091
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
15092
+ var rowChilds = row[childrenField];
14986
15093
  var hasLazyChilds = false;
14987
15094
  var isAceived = false;
14988
15095
  var isLazyLoaded = false;
@@ -14991,10 +15098,11 @@ var Cell = {
14991
15098
  return $table.callSlot(slots.icon, params, h, cellVNodes);
14992
15099
  }
14993
15100
  if (!isHidden) {
14994
- isAceived = $table.findRowIndexOf(treeExpandeds, row) > -1;
15101
+ var rowid = getRowid($table, row);
15102
+ isAceived = !!treeExpandedMaps[rowid];
14995
15103
  if (lazy) {
14996
- isLazyLoaded = $table.findRowIndexOf(treeLazyLoadeds, row) > -1;
14997
- hasLazyChilds = row[hasChildField || hasChild];
15104
+ isLazyLoaded = !!treeExpandLazyLoadedMaps[rowid];
15105
+ hasLazyChilds = row[hasChildField];
14998
15106
  }
14999
15107
  }
15000
15108
  if (!trigger || trigger === 'default') {
@@ -15062,7 +15170,7 @@ var Cell = {
15062
15170
  column = params.column,
15063
15171
  isHidden = params.isHidden;
15064
15172
  var radioOpts = $table.radioOpts,
15065
- selectRow = $table.selectRow;
15173
+ selectRadioRow = $table.selectRadioRow;
15066
15174
  var slots = column.slots;
15067
15175
  var labelField = radioOpts.labelField,
15068
15176
  checkMethod = radioOpts.checkMethod,
@@ -15070,7 +15178,7 @@ var Cell = {
15070
15178
  var row = params.row;
15071
15179
  var defaultSlot = slots ? slots["default"] : null;
15072
15180
  var radioSlot = slots ? slots.radio : null;
15073
- var isChecked = row === selectRow;
15181
+ var isChecked = row === selectRadioRow;
15074
15182
  var isVisible = !visibleMethod || visibleMethod({
15075
15183
  row: row
15076
15184
  });
@@ -15182,8 +15290,8 @@ var Cell = {
15182
15290
  column = params.column,
15183
15291
  isHidden = params.isHidden;
15184
15292
  var treeConfig = $table.treeConfig,
15185
- treeIndeterminates = $table.treeIndeterminates,
15186
- selectCheckboxRows = $table.selectCheckboxRows;
15293
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15294
+ selectCheckboxMaps = $table.selectCheckboxMaps;
15187
15295
  var _$table$checkboxOpts = $table.checkboxOpts,
15188
15296
  labelField = _$table$checkboxOpts.labelField,
15189
15297
  checkMethod = _$table$checkboxOpts.checkMethod,
@@ -15199,7 +15307,8 @@ var Cell = {
15199
15307
  var isDisabled = !!checkMethod;
15200
15308
  var on;
15201
15309
  if (!isHidden) {
15202
- isChecked = $table.findRowIndexOf(selectCheckboxRows, row) > -1;
15310
+ var rowid = getRowid($table, row);
15311
+ isChecked = !!selectCheckboxMaps[rowid];
15203
15312
  on = {
15204
15313
  click: function click(evnt) {
15205
15314
  if (!isDisabled && isVisible) {
@@ -15214,7 +15323,7 @@ var Cell = {
15214
15323
  });
15215
15324
  }
15216
15325
  if (treeConfig) {
15217
- indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15326
+ indeterminate = !!treeIndeterminateMaps[rowid];
15218
15327
  }
15219
15328
  }
15220
15329
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
@@ -15255,17 +15364,17 @@ var Cell = {
15255
15364
  column = params.column,
15256
15365
  isHidden = params.isHidden;
15257
15366
  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;
15367
+ treeIndeterminateMaps = $table.treeIndeterminateMaps,
15368
+ checkboxOpts = $table.checkboxOpts;
15369
+ var labelField = checkboxOpts.labelField,
15370
+ checkField = checkboxOpts.checkField,
15371
+ checkMethod = checkboxOpts.checkMethod,
15372
+ visibleMethod = checkboxOpts.visibleMethod;
15373
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
15265
15374
  var slots = column.slots;
15266
15375
  var defaultSlot = slots ? slots["default"] : null;
15267
15376
  var checkboxSlot = slots ? slots.checkbox : null;
15268
- var indeterminate = false;
15377
+ var isIndeterminate = false;
15269
15378
  var isChecked = false;
15270
15379
  var isVisible = !visibleMethod || visibleMethod({
15271
15380
  row: row
@@ -15273,6 +15382,7 @@ var Cell = {
15273
15382
  var isDisabled = !!checkMethod;
15274
15383
  var on;
15275
15384
  if (!isHidden) {
15385
+ var rowid = getRowid($table, row);
15276
15386
  isChecked = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
15277
15387
  on = {
15278
15388
  click: function click(evnt) {
@@ -15288,14 +15398,14 @@ var Cell = {
15288
15398
  });
15289
15399
  }
15290
15400
  if (treeConfig) {
15291
- indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
15401
+ isIndeterminate = !!treeIndeterminateMaps[rowid];
15292
15402
  }
15293
15403
  }
15294
15404
  var checkboxParams = _objectSpread2(_objectSpread2({}, params), {}, {
15295
15405
  checked: isChecked,
15296
15406
  disabled: isDisabled,
15297
15407
  visible: isVisible,
15298
- indeterminate: indeterminate
15408
+ indeterminate: isIndeterminate
15299
15409
  });
15300
15410
  if (checkboxSlot) {
15301
15411
  return $table.callSlot(checkboxSlot, checkboxParams, h);
@@ -15303,7 +15413,7 @@ var Cell = {
15303
15413
  var checkVNs = [];
15304
15414
  if (isVisible) {
15305
15415
  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]
15416
+ "class": ['vxe-checkbox--icon', isIndeterminate ? conf.icon.TABLE_CHECKBOX_INDETERMINATE : isChecked ? conf.icon.TABLE_CHECKBOX_CHECKED : conf.icon.TABLE_CHECKBOX_UNCHECKED]
15307
15417
  }));
15308
15418
  }
15309
15419
  if (defaultSlot || labelField) {
@@ -15315,7 +15425,7 @@ var Cell = {
15315
15425
  "class": ['vxe-cell--checkbox', {
15316
15426
  'is--checked': isChecked,
15317
15427
  'is--disabled': isDisabled,
15318
- 'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate
15428
+ 'is--indeterminate': indeterminateField && !isChecked ? row[indeterminateField] : isIndeterminate
15319
15429
  }],
15320
15430
  on: on
15321
15431
  }, checkVNs)];
@@ -15332,8 +15442,8 @@ var Cell = {
15332
15442
  row = params.row,
15333
15443
  column = params.column;
15334
15444
  var expandOpts = $table.expandOpts,
15335
- rowExpandeds = $table.rowExpandeds,
15336
- expandLazyLoadeds = $table.expandLazyLoadeds;
15445
+ rowExpandedMaps = $table.rowExpandedMaps,
15446
+ rowExpandLazyLoadedMaps = $table.rowExpandLazyLoadedMaps;
15337
15447
  var lazy = expandOpts.lazy,
15338
15448
  labelField = expandOpts.labelField,
15339
15449
  iconLoaded = expandOpts.iconLoaded,
@@ -15349,9 +15459,10 @@ var Cell = {
15349
15459
  return $table.callSlot(slots.icon, params, h);
15350
15460
  }
15351
15461
  if (!isHidden) {
15352
- isAceived = $table.findRowIndexOf(rowExpandeds, params.row) > -1;
15462
+ var rowid = getRowid($table, row);
15463
+ isAceived = !!rowExpandedMaps[rowid];
15353
15464
  if (lazy) {
15354
- isLazyLoaded = $table.findRowIndexOf(expandLazyLoadeds, row) > -1;
15465
+ isLazyLoaded = !!rowExpandLazyLoadedMaps[rowid];
15355
15466
  }
15356
15467
  }
15357
15468
  return [showIcon && (!visibleMethod || visibleMethod(params)) ? h('span', {
@@ -15481,7 +15592,9 @@ var Cell = {
15481
15592
  },
15482
15593
  on: {
15483
15594
  click: function click(evnt) {
15484
- $table.triggerFilterEvent(evnt, params.column, params);
15595
+ if ($table.triggerFilterEvent) {
15596
+ $table.triggerFilterEvent(evnt, params.column, params);
15597
+ }
15485
15598
  }
15486
15599
  }
15487
15600
  })])] : [];
@@ -15610,7 +15723,6 @@ var Cell = {
15610
15723
 
15611
15724
 
15612
15725
 
15613
-
15614
15726
 
15615
15727
 
15616
15728
  var setCellValue = utils.setCellValue,
@@ -15659,12 +15771,16 @@ function getCustomStorageMap(key) {
15659
15771
  _v: version
15660
15772
  };
15661
15773
  }
15662
- function getRecoverRow(_vm, list) {
15663
- var fullAllDataRowMap = _vm.fullAllDataRowMap;
15664
- return list.filter(function (row) {
15665
- return fullAllDataRowMap.has(row);
15774
+ var getRecoverRowMaps = function getRecoverRowMaps(_vm, keyMaps) {
15775
+ var fullAllDataRowIdData = _vm.fullAllDataRowIdData;
15776
+ var restKeys = {};
15777
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps, function (row, rowid) {
15778
+ if (fullAllDataRowIdData[rowid]) {
15779
+ restKeys[rowid] = row;
15780
+ }
15666
15781
  });
15667
- }
15782
+ return restKeys;
15783
+ };
15668
15784
  function handleReserveRow(_vm, reserveRowMap) {
15669
15785
  var fullDataRowIdData = _vm.fullDataRowIdData;
15670
15786
  var reserveList = [];
@@ -16016,6 +16132,7 @@ var Methods = {
16016
16132
  oldScrollYLoad = this.scrollYLoad,
16017
16133
  sXOpts = this.sXOpts,
16018
16134
  sYOpts = this.sYOpts;
16135
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16019
16136
  var treeData = [];
16020
16137
  var fullData = datas ? datas.slice(0) : [];
16021
16138
  if (treeConfig) {
@@ -16025,7 +16142,7 @@ var Methods = {
16025
16142
  treeData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(fullData, {
16026
16143
  key: treeOpts.rowField,
16027
16144
  parentKey: treeOpts.parentField,
16028
- children: treeOpts.childrenField || treeOpts.children,
16145
+ children: childrenField,
16029
16146
  mapChildren: treeOpts.mapChildrenField
16030
16147
  });
16031
16148
  fullData = treeData.slice(0);
@@ -16234,6 +16351,8 @@ var Methods = {
16234
16351
  tableFullTreeData = this.tableFullTreeData;
16235
16352
  var fullDataRowIdData = this.fullDataRowIdData,
16236
16353
  fullAllDataRowIdData = this.fullAllDataRowIdData;
16354
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16355
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
16237
16356
  var rowkey = getRowkey(this);
16238
16357
  var isLazy = treeConfig && treeOpts.lazy;
16239
16358
  var handleCache = function handleCache(row, index, items, path, parent, nodes) {
@@ -16244,8 +16363,8 @@ var Methods = {
16244
16363
  rowid = getRowUniqueId();
16245
16364
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, rowkey, rowid);
16246
16365
  }
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;
16366
+ if (isLazy && row[hasChildField] && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(row[childrenField])) {
16367
+ row[childrenField] = null;
16249
16368
  }
16250
16369
  var rest = {
16251
16370
  row: row,
@@ -16272,7 +16391,9 @@ var Methods = {
16272
16391
  fullAllDataRowIdData = this.fullAllDataRowIdData = {};
16273
16392
  fullAllDataRowMap.clear();
16274
16393
  if (treeConfig) {
16275
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, treeOpts);
16394
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleCache, {
16395
+ children: childrenField
16396
+ });
16276
16397
  } else {
16277
16398
  tableFullData.forEach(handleCache);
16278
16399
  }
@@ -16298,7 +16419,10 @@ var Methods = {
16298
16419
  };
16299
16420
  // 源数据缓存
16300
16421
  if (treeConfig && !treeOpts.transform) {
16301
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, treeOpts);
16422
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16423
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, {
16424
+ children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
16425
+ });
16302
16426
  } else {
16303
16427
  sourceData.forEach(handleSourceRow);
16304
16428
  }
@@ -16312,11 +16436,11 @@ var Methods = {
16312
16436
  fullDataRowIdData = this.fullDataRowIdData,
16313
16437
  fullDataRowMap = this.fullDataRowMap,
16314
16438
  fullAllDataRowMap = this.fullAllDataRowMap,
16315
- fullAllDataRowIdData = this.fullAllDataRowIdData;
16439
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
16440
+ sourceDataRowIdData = this.sourceDataRowIdData;
16316
16441
  var transform = treeOpts.transform,
16317
- childrenField = treeOpts.childrenField,
16318
- children = treeOpts.children,
16319
16442
  mapChildrenField = treeOpts.mapChildrenField;
16443
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16320
16444
  var rest = fullAllDataRowIdData[getRowid(this, row)];
16321
16445
  var parentLevel = rest ? rest.level : 0;
16322
16446
  return this.createData(childRecords).then(function (rows) {
@@ -16324,10 +16448,16 @@ var Methods = {
16324
16448
  var rowid = getRowid(_this12, row);
16325
16449
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData, function (item) {
16326
16450
  return rowid === getRowid(_this12, item);
16327
- }, treeOpts);
16451
+ }, {
16452
+ children: childrenField
16453
+ });
16328
16454
  if (matchObj) {
16329
- matchObj.item[childrenField || children] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16455
+ matchObj.item[childrenField] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16330
16456
  }
16457
+ rows.forEach(function (childRow) {
16458
+ var rowid = getRowid(_this12, childRow);
16459
+ sourceDataRowIdData[rowid] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(childRow, true);
16460
+ });
16331
16461
  }
16332
16462
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, function (childRow, index, items, path, parent, nodes) {
16333
16463
  var rowid = getRowid(_this12, childRow);
@@ -16346,8 +16476,10 @@ var Methods = {
16346
16476
  fullDataRowMap.set(childRow, rest);
16347
16477
  fullAllDataRowIdData[rowid] = rest;
16348
16478
  fullAllDataRowMap.set(childRow, rest);
16349
- }, treeOpts);
16350
- row[childrenField || children] = rows;
16479
+ }, {
16480
+ children: childrenField
16481
+ });
16482
+ row[childrenField] = rows;
16351
16483
  if (transform) {
16352
16484
  row[mapChildrenField] = rows;
16353
16485
  }
@@ -16575,6 +16707,7 @@ var Methods = {
16575
16707
  treeConfig = this.treeConfig,
16576
16708
  treeOpts = this.treeOpts,
16577
16709
  expandOpts = this.expandOpts;
16710
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16578
16711
  var rowkey = getRowkey(this);
16579
16712
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
16580
16713
  records = [records || {}];
@@ -16604,8 +16737,8 @@ var Methods = {
16604
16737
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record, key, null);
16605
16738
  }
16606
16739
  });
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;
16740
+ if (treeConfig && treeOpts.lazy && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[childrenField])) {
16741
+ record[childrenField] = null;
16609
16742
  }
16610
16743
  // 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
16611
16744
  if (eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record, rowkey))) {
@@ -16813,19 +16946,18 @@ var Methods = {
16813
16946
  * 用于多选行,获取已选中的数据
16814
16947
  */
16815
16948
  getCheckboxRecords: function getCheckboxRecords(isFull) {
16816
- var _this17 = this;
16817
16949
  var tableFullData = this.tableFullData,
16818
16950
  afterFullData = this.afterFullData,
16819
16951
  treeConfig = this.treeConfig,
16820
16952
  treeOpts = this.treeOpts,
16821
16953
  checkboxOpts = this.checkboxOpts,
16822
16954
  tableFullTreeData = this.tableFullTreeData,
16823
- afterTreeFullData = this.afterTreeFullData;
16955
+ afterTreeFullData = this.afterTreeFullData,
16956
+ afterFullRowMaps = this.afterFullRowMaps;
16824
16957
  var transform = treeOpts.transform,
16825
- childrenField = treeOpts.childrenField,
16826
- children = treeOpts.children,
16827
16958
  mapChildrenField = treeOpts.mapChildrenField;
16828
16959
  var checkField = checkboxOpts.checkField;
16960
+ var childrenField = treeOpts.children || treeOpts.childrenField;
16829
16961
  var currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
16830
16962
  var rowList = [];
16831
16963
  if (checkField) {
@@ -16833,7 +16965,7 @@ var Methods = {
16833
16965
  rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, function (row) {
16834
16966
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
16835
16967
  }, {
16836
- children: transform ? mapChildrenField : childrenField || children
16968
+ children: transform ? mapChildrenField : childrenField
16837
16969
  });
16838
16970
  } else {
16839
16971
  rowList = currTableData.filter(function (row) {
@@ -16841,18 +16973,13 @@ var Methods = {
16841
16973
  });
16842
16974
  }
16843
16975
  } 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
- }
16976
+ var selectCheckboxMaps = this.selectCheckboxMaps,
16977
+ fullDataRowIdData = this.fullDataRowIdData;
16978
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
16979
+ if (isFull ? fullDataRowIdData[rowid] : afterFullRowMaps[rowid]) {
16980
+ rowList.push(row);
16981
+ }
16982
+ });
16856
16983
  }
16857
16984
  return rowList;
16858
16985
  },
@@ -16861,17 +16988,20 @@ var Methods = {
16861
16988
  * @returns
16862
16989
  */
16863
16990
  handleVirtualTreeToList: function handleVirtualTreeToList() {
16991
+ var _this17 = this;
16864
16992
  var treeOpts = this.treeOpts,
16865
16993
  treeConfig = this.treeConfig,
16866
- treeExpandeds = this.treeExpandeds,
16994
+ treeExpandedMaps = this.treeExpandedMaps,
16867
16995
  afterTreeFullData = this.afterTreeFullData,
16868
16996
  afterFullData = this.afterFullData;
16869
16997
  if (treeConfig && treeOpts.transform) {
16870
16998
  var fullData = [];
16871
- var expandMaps = new Map();
16999
+ var expandMaps = {};
16872
17000
  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);
17001
+ var rowid = getRowid(_this17, row);
17002
+ var parentRowid = getRowid(_this17, parent);
17003
+ if (!parent || expandMaps[parentRowid] && treeExpandedMaps[parentRowid]) {
17004
+ expandMaps[rowid] = 1;
16875
17005
  fullData.push(row);
16876
17006
  }
16877
17007
  }, {
@@ -17100,6 +17230,8 @@ var Methods = {
17100
17230
  fullAllDataRowIdData = this.fullAllDataRowIdData,
17101
17231
  afterTreeFullData = this.afterTreeFullData,
17102
17232
  treeOpts = this.treeOpts;
17233
+ var childrenField = treeOpts.children || treeOpts.childrenField;
17234
+ var fullMaps = {};
17103
17235
  if (treeConfig) {
17104
17236
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData, function (row, index, items, path) {
17105
17237
  var rowid = getRowid(_this19, row);
@@ -17125,8 +17257,9 @@ var Methods = {
17125
17257
  fullAllDataRowIdData[rowid] = rest;
17126
17258
  fullDataRowIdData[rowid] = rest;
17127
17259
  }
17260
+ fullMaps[rowid] = row;
17128
17261
  }, {
17129
- children: treeOpts.transform ? treeOpts.mapChildrenField : treeOpts.childrenField || treeOpts.children
17262
+ children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField
17130
17263
  });
17131
17264
  } else {
17132
17265
  afterFullData.forEach(function (row, index) {
@@ -17151,8 +17284,10 @@ var Methods = {
17151
17284
  fullAllDataRowIdData[rowid] = rest;
17152
17285
  fullDataRowIdData[rowid] = rest;
17153
17286
  }
17287
+ fullMaps[rowid] = row;
17154
17288
  });
17155
17289
  }
17290
+ this.afterFullRowMaps = fullMaps;
17156
17291
  },
17157
17292
  /**
17158
17293
  * 只对 tree-config 有效,获取行的父级
@@ -17291,7 +17426,7 @@ var Methods = {
17291
17426
  */
17292
17427
  showColumn: function showColumn(fieldOrColumn) {
17293
17428
  var column = handleFieldOrColumn(this, fieldOrColumn);
17294
- if (column && column.visible) {
17429
+ if (column && !column.visible) {
17295
17430
  column.visible = true;
17296
17431
  return this.handleCustom();
17297
17432
  }
@@ -18441,6 +18576,7 @@ var Methods = {
18441
18576
  var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
18442
18577
  var operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
18443
18578
  var isEditStatus = isEnableConf(editConfig) && actived.column && actived.row;
18579
+ var childrenField = treeOpts.children || treeOpts.childrenField;
18444
18580
  var params;
18445
18581
  if (filterStore.visible) {
18446
18582
  if (isEsc) {
@@ -18515,7 +18651,7 @@ var Methods = {
18515
18651
  }
18516
18652
  } else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
18517
18653
  // 如果是树形表格当前行回车移动到子节点
18518
- var childrens = currentRow[treeOpts.children];
18654
+ var childrens = currentRow[childrenField];
18519
18655
  if (childrens && childrens.length) {
18520
18656
  evnt.preventDefault();
18521
18657
  var targetRow = childrens[0];
@@ -18585,7 +18721,9 @@ var Methods = {
18585
18721
  // 如果树形表格回退键关闭当前行返回父节点
18586
18722
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(_this29.afterFullData, function (item) {
18587
18723
  return item === currentRow;
18588
- }, treeOpts),
18724
+ }, {
18725
+ children: childrenField
18726
+ }),
18589
18727
  parentRow = _XEUtils$findTree.parent;
18590
18728
  if (parentRow) {
18591
18729
  evnt.preventDefault();
@@ -18891,15 +19029,24 @@ var Methods = {
18891
19029
  * 获取复选框半选状态的行数据
18892
19030
  */
18893
19031
  getCheckboxIndeterminateRecords: function getCheckboxIndeterminateRecords(isFull) {
18894
- var _this31 = this;
18895
19032
  var treeConfig = this.treeConfig,
18896
- treeIndeterminates = this.treeIndeterminates,
19033
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
18897
19034
  fullDataRowIdData = this.fullDataRowIdData;
18898
19035
  if (treeConfig) {
18899
- return isFull ? treeIndeterminates.slice(0) : treeIndeterminates.filter(function (row) {
18900
- var rowid = getRowid(_this31, row);
18901
- return fullDataRowIdData[rowid];
19036
+ var fullRest = [];
19037
+ var defRest = [];
19038
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeIndeterminateMaps, function (item, rowid) {
19039
+ if (item) {
19040
+ fullRest.push(item);
19041
+ if (fullDataRowIdData[rowid]) {
19042
+ defRest.push(item);
19043
+ }
19044
+ }
18902
19045
  });
19046
+ if (isFull) {
19047
+ return fullRest;
19048
+ }
19049
+ return defRest;
18903
19050
  }
18904
19051
  return [];
18905
19052
  },
@@ -18924,12 +19071,12 @@ var Methods = {
18924
19071
  }
18925
19072
  },
18926
19073
  handleCheckedCheckboxRow: function handleCheckedCheckboxRow(rows, value, isForce) {
18927
- var _this32 = this;
19074
+ var _this31 = this;
18928
19075
  if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
18929
19076
  rows = [rows];
18930
19077
  }
18931
19078
  rows.forEach(function (row) {
18932
- return _this32.handleSelectRow({
19079
+ return _this31.handleSelectRow({
18933
19080
  row: row
18934
19081
  }, !!value, isForce);
18935
19082
  });
@@ -18944,78 +19091,108 @@ var Methods = {
18944
19091
  return this.handleCheckedCheckboxRow(rows, value, true);
18945
19092
  },
18946
19093
  isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {
18947
- var selectCheckboxRows = this.selectCheckboxRows;
19094
+ var selectCheckboxMaps = this.selectCheckboxMaps;
18948
19095
  var checkField = this.checkboxOpts.checkField;
18949
19096
  if (checkField) {
18950
19097
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
18951
19098
  }
18952
- return this.findRowIndexOf(selectCheckboxRows, row) > -1;
19099
+ return !!selectCheckboxMaps[getRowid(this, row)];
18953
19100
  },
18954
19101
  isIndeterminateByCheckboxRow: function isIndeterminateByCheckboxRow(row) {
18955
- var treeIndeterminates = this.treeIndeterminates;
18956
- return this.findRowIndexOf(treeIndeterminates, row) > -1 && !this.isCheckedByCheckboxRow(row);
19102
+ var treeIndeterminateMaps = this.treeIndeterminateMaps;
19103
+ return !!treeIndeterminateMaps[getRowid(this, row)] && !this.isCheckedByCheckboxRow(row);
18957
19104
  },
18958
19105
  /**
18959
19106
  * 多选,行选中事件
18960
19107
  * value 选中true 不选false 半选-1
18961
19108
  */
18962
19109
  handleSelectRow: function handleSelectRow(_ref6, value, isForce) {
18963
- var _this33 = this;
19110
+ var _this32 = this;
18964
19111
  var row = _ref6.row;
18965
- var selectCheckboxRows = this.selectCheckboxRows,
19112
+ var selectCheckboxMaps = this.selectCheckboxMaps,
18966
19113
  afterFullData = this.afterFullData,
18967
19114
  treeConfig = this.treeConfig,
18968
19115
  treeOpts = this.treeOpts,
18969
- treeIndeterminates = this.treeIndeterminates,
19116
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
18970
19117
  checkboxOpts = this.checkboxOpts;
18971
19118
  var checkField = checkboxOpts.checkField,
18972
19119
  checkStrictly = checkboxOpts.checkStrictly,
18973
19120
  checkMethod = checkboxOpts.checkMethod;
19121
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
19122
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19123
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19124
+ var rowid = getRowid(this, row);
18974
19125
  if (checkField) {
18975
19126
  if (treeConfig && !checkStrictly) {
18976
19127
  if (value === -1) {
18977
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
18978
- treeIndeterminates.push(row);
19128
+ if (!treeIndeterminateMaps[rowid]) {
19129
+ if (indeterminateField) {
19130
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19131
+ }
19132
+ treeIndeterminateMaps[rowid] = row;
18979
19133
  }
18980
19134
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, false);
18981
19135
  } else {
18982
19136
  // 更新子节点状态
18983
19137
  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({
19138
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
18985
19139
  row: item
18986
19140
  })) {
18987
19141
  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);
19142
+ if (indeterminateField) {
19143
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19144
+ }
19145
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19146
+ _this32.handleCheckboxReserveRow(row, value);
18992
19147
  }
18993
- }, treeOpts);
19148
+ }, {
19149
+ children: childrenField
19150
+ });
18994
19151
  }
18995
19152
  // 如果存在父节点,更新父节点状态
18996
19153
  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);
19154
+ return _this32.eqRow(item, row);
19155
+ }, {
19156
+ children: childrenField
19157
+ });
18999
19158
  if (matchObj && matchObj.parent) {
19000
19159
  var parentStatus;
19001
- var vItems = !isForce && checkMethod ? matchObj.items.filter(function (item) {
19002
- return checkMethod({
19003
- row: item
19160
+ var vItems = [];
19161
+ var vItemMaps = {};
19162
+ if (!isForce && checkMethod) {
19163
+ matchObj.items.forEach(function (item) {
19164
+ if (checkMethod({
19165
+ row: item
19166
+ })) {
19167
+ var itemRid = getRowid(_this32, item);
19168
+ vItemMaps[itemRid] = item;
19169
+ vItems.push(item);
19170
+ }
19171
+ });
19172
+ } else {
19173
+ matchObj.items.forEach(function (item) {
19174
+ var itemRid = getRowid(_this32, item);
19175
+ vItemMaps[itemRid] = item;
19176
+ vItems.push(item);
19004
19177
  });
19005
- }) : matchObj.items;
19178
+ }
19006
19179
  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;
19180
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19008
19181
  });
19009
19182
  if (indeterminatesItem) {
19010
19183
  parentStatus = -1;
19011
19184
  } 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);
19185
+ var selectItems = [];
19186
+ matchObj.items.forEach(function (item) {
19187
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, checkField)) {
19188
+ selectItems.push(item);
19189
+ }
19014
19190
  });
19015
19191
  parentStatus = selectItems.filter(function (item) {
19016
- return _this33.findRowIndexOf(vItems, item) > -1;
19192
+ return vItemMaps[getRowid(_this32, item)];
19017
19193
  }).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
19018
19194
  }
19195
+ this.selectCheckboxMaps = selectRowMaps;
19019
19196
  return this.handleSelectRow({
19020
19197
  row: matchObj.parent
19021
19198
  }, parentStatus, isForce);
@@ -19031,56 +19208,84 @@ var Methods = {
19031
19208
  } else {
19032
19209
  if (treeConfig && !checkStrictly) {
19033
19210
  if (value === -1) {
19034
- if (this.findRowIndexOf(treeIndeterminates, row) === -1) {
19035
- treeIndeterminates.push(row);
19211
+ if (!treeIndeterminateMaps[rowid]) {
19212
+ if (indeterminateField) {
19213
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, true);
19214
+ }
19215
+ treeIndeterminateMaps[rowid] = row;
19216
+ }
19217
+ if (selectRowMaps[rowid]) {
19218
+ delete selectRowMaps[rowid];
19036
19219
  }
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
19220
  } else {
19041
19221
  // 更新子节点状态
19042
19222
  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({
19223
+ var itemRid = getRowid(_this32, item);
19224
+ if (_this32.eqRow(item, row) || isForce || !checkMethod || checkMethod({
19044
19225
  row: item
19045
19226
  })) {
19046
19227
  if (value) {
19047
- selectCheckboxRows.push(item);
19228
+ selectRowMaps[itemRid] = item;
19048
19229
  } 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
- });
19230
+ if (selectRowMaps[itemRid]) {
19231
+ delete selectRowMaps[itemRid];
19232
+ }
19052
19233
  }
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);
19234
+ if (indeterminateField) {
19235
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19236
+ }
19237
+ delete treeIndeterminateMaps[getRowid(_this32, item)];
19238
+ _this32.handleCheckboxReserveRow(row, value);
19057
19239
  }
19058
- }, treeOpts);
19240
+ }, {
19241
+ children: childrenField
19242
+ });
19059
19243
  }
19060
19244
  // 如果存在父节点,更新父节点状态
19061
19245
  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);
19246
+ return _this32.eqRow(item, row);
19247
+ }, {
19248
+ children: childrenField
19249
+ });
19064
19250
  if (_matchObj && _matchObj.parent) {
19065
19251
  var _parentStatus;
19066
- var _vItems = !isForce && checkMethod ? _matchObj.items.filter(function (item) {
19067
- return checkMethod({
19068
- row: item
19252
+ var _vItems = [];
19253
+ var _vItemMaps = {};
19254
+ if (!isForce && checkMethod) {
19255
+ _matchObj.items.forEach(function (item) {
19256
+ if (checkMethod({
19257
+ row: item
19258
+ })) {
19259
+ var itemRid = getRowid(_this32, item);
19260
+ _vItemMaps[itemRid] = item;
19261
+ _vItems.push(item);
19262
+ }
19263
+ });
19264
+ } else {
19265
+ _matchObj.items.forEach(function (item) {
19266
+ var itemRid = getRowid(_this32, item);
19267
+ _vItemMaps[itemRid] = item;
19268
+ _vItems.push(item);
19069
19269
  });
19070
- }) : _matchObj.items;
19270
+ }
19071
19271
  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;
19272
+ return !!treeIndeterminateMaps[getRowid(_this32, item)];
19073
19273
  });
19074
19274
  if (_indeterminatesItem) {
19075
19275
  _parentStatus = -1;
19076
19276
  } else {
19077
- var _selectItems = _matchObj.items.filter(function (item) {
19078
- return _this33.findRowIndexOf(selectCheckboxRows, item) > -1;
19277
+ var _selectItems = [];
19278
+ _matchObj.items.forEach(function (item) {
19279
+ var itemRid = getRowid(_this32, item);
19280
+ if (selectRowMaps[itemRid]) {
19281
+ _selectItems.push(item);
19282
+ }
19079
19283
  });
19080
19284
  _parentStatus = _selectItems.filter(function (item) {
19081
- return _this33.findRowIndexOf(_vItems, item) > -1;
19285
+ return _vItemMaps[getRowid(_this32, item)];
19082
19286
  }).length === _vItems.length ? true : _selectItems.length || value === -1 ? -1 : false;
19083
19287
  }
19288
+ this.selectCheckboxMaps = selectRowMaps;
19084
19289
  return this.handleSelectRow({
19085
19290
  row: _matchObj.parent
19086
19291
  }, _parentStatus, isForce);
@@ -19090,26 +19295,32 @@ var Methods = {
19090
19295
  row: row
19091
19296
  })) {
19092
19297
  if (value) {
19093
- if (this.findRowIndexOf(selectCheckboxRows, row) === -1) {
19094
- selectCheckboxRows.push(row);
19298
+ if (!selectRowMaps[rowid]) {
19299
+ selectRowMaps[rowid] = row;
19095
19300
  }
19096
19301
  } 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
- });
19302
+ if (selectRowMaps[rowid]) {
19303
+ delete selectRowMaps[rowid];
19304
+ }
19100
19305
  }
19101
19306
  this.handleCheckboxReserveRow(row, value);
19102
19307
  }
19103
19308
  }
19104
19309
  }
19310
+ this.selectCheckboxMaps = selectRowMaps;
19105
19311
  this.checkSelectionStatus();
19106
19312
  },
19107
19313
  handleToggleCheckRowEvent: function handleToggleCheckRowEvent(evnt, params) {
19108
- var selectCheckboxRows = this.selectCheckboxRows,
19314
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19109
19315
  checkboxOpts = this.checkboxOpts;
19110
19316
  var checkField = checkboxOpts.checkField;
19111
19317
  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;
19318
+ var value = false;
19319
+ if (checkField) {
19320
+ value = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField);
19321
+ } else {
19322
+ value = !selectCheckboxMaps[getRowid(this, row)];
19323
+ }
19113
19324
  if (evnt) {
19114
19325
  this.triggerCheckRowEvent(evnt, params, value);
19115
19326
  } else {
@@ -19117,9 +19328,29 @@ var Methods = {
19117
19328
  }
19118
19329
  },
19119
19330
  triggerCheckRowEvent: function triggerCheckRowEvent(evnt, params, value) {
19120
- var checkMethod = this.checkboxOpts.checkMethod;
19331
+ var checkboxOpts = this.checkboxOpts,
19332
+ afterFullData = this.afterFullData;
19333
+ var checkMethod = checkboxOpts.checkMethod;
19334
+ var row = params.row;
19335
+ if (checkboxOpts.isShiftKey && evnt.shiftKey && !this.treeConfig) {
19336
+ var checkboxRecords = this.getCheckboxRecords();
19337
+ if (checkboxRecords.length) {
19338
+ var firstRow = checkboxRecords[0];
19339
+ var _rowIndex = this.getVTRowIndex(row);
19340
+ var _firstRowIndex = this.getVTRowIndex(firstRow);
19341
+ if (_rowIndex !== _firstRowIndex) {
19342
+ this.setAllCheckboxRow(false);
19343
+ var rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
19344
+ this.handleCheckedCheckboxRow(rangeRows, true, false);
19345
+ this.emitEvent('checkbox-range-select', Object.assign({
19346
+ rangeRecords: rangeRows
19347
+ }, params), evnt);
19348
+ return;
19349
+ }
19350
+ }
19351
+ }
19121
19352
  if (!checkMethod || checkMethod({
19122
- row: params.row
19353
+ row: row
19123
19354
  })) {
19124
19355
  this.handleSelectRow(params, value);
19125
19356
  this.emitEvent('checkbox-change', Object.assign({
@@ -19134,31 +19365,42 @@ var Methods = {
19134
19365
  * 多选,切换某一行的选中状态
19135
19366
  */
19136
19367
  toggleCheckboxRow: function toggleCheckboxRow(row) {
19137
- var selectCheckboxRows = this.selectCheckboxRows,
19368
+ var selectCheckboxMaps = this.selectCheckboxMaps,
19138
19369
  checkboxOpts = this.checkboxOpts;
19139
19370
  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;
19371
+ var value = checkField ? !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) : !selectCheckboxMaps[getRowid(this, row)];
19141
19372
  this.handleSelectRow({
19142
19373
  row: row
19143
19374
  }, value, true);
19144
19375
  return this.$nextTick();
19145
19376
  },
19146
19377
  handleCheckedAllCheckboxRow: function handleCheckedAllCheckboxRow(value, isForce) {
19147
- var _this34 = this;
19378
+ var _this33 = this;
19148
19379
  var afterFullData = this.afterFullData,
19149
19380
  treeConfig = this.treeConfig,
19150
19381
  treeOpts = this.treeOpts,
19151
- selectCheckboxRows = this.selectCheckboxRows,
19382
+ selectCheckboxMaps = this.selectCheckboxMaps,
19152
19383
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19153
- checkboxOpts = this.checkboxOpts;
19384
+ checkboxOpts = this.checkboxOpts,
19385
+ afterFullRowMaps = this.afterFullRowMaps;
19154
19386
  var checkField = checkboxOpts.checkField,
19155
19387
  reserve = checkboxOpts.reserve,
19156
19388
  checkStrictly = checkboxOpts.checkStrictly,
19157
19389
  checkMethod = checkboxOpts.checkMethod;
19158
- var selectRows = [];
19159
- var beforeSelection = treeConfig ? [] : selectCheckboxRows.filter(function (row) {
19160
- return _this34.findRowIndexOf(afterFullData, row) === -1;
19161
- });
19390
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19391
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19392
+ var selectRowMaps = {};
19393
+
19394
+ // 疑惑!
19395
+ if (!treeConfig) {
19396
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (row, rowid) {
19397
+ if (!afterFullRowMaps[rowid]) {
19398
+ selectRowMaps[rowid] = row;
19399
+ }
19400
+ });
19401
+ }
19402
+ // 疑惑!
19403
+
19162
19404
  if (checkStrictly) {
19163
19405
  this.isAllSelected = value;
19164
19406
  } else {
@@ -19172,15 +19414,20 @@ var Methods = {
19172
19414
  row: row
19173
19415
  })) {
19174
19416
  if (value) {
19175
- selectRows.push(row);
19417
+ selectRowMaps[getRowid(_this33, row)] = row;
19176
19418
  }
19177
19419
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, value);
19178
19420
  }
19421
+ if (treeConfig && indeterminateField) {
19422
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
19423
+ }
19179
19424
  };
19180
19425
  // 如果存在选中方法
19181
19426
  // 如果方法成立,则更新值,否则忽略该数据
19182
19427
  if (treeConfig) {
19183
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, treeOpts);
19428
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, {
19429
+ children: childrenField
19430
+ });
19184
19431
  } else {
19185
19432
  afterFullData.forEach(checkValFn);
19186
19433
  }
@@ -19199,9 +19446,11 @@ var Methods = {
19199
19446
  if (isForce || !checkMethod || checkMethod({
19200
19447
  row: row
19201
19448
  })) {
19202
- selectRows.push(row);
19449
+ selectRowMaps[getRowid(_this33, row)] = row;
19203
19450
  }
19204
- }, treeOpts);
19451
+ }, {
19452
+ children: childrenField
19453
+ });
19205
19454
  } else {
19206
19455
  /**
19207
19456
  * 如果是树取消
@@ -19209,12 +19458,15 @@ var Methods = {
19209
19458
  */
19210
19459
  if (!isForce && checkMethod) {
19211
19460
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, function (row) {
19461
+ var rowid = getRowid(_this33, row);
19212
19462
  if (checkMethod({
19213
19463
  row: row
19214
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1) {
19215
- selectRows.push(row);
19464
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19465
+ selectRowMaps[rowid] = row;
19216
19466
  }
19217
- }, treeOpts);
19467
+ }, {
19468
+ children: childrenField
19469
+ });
19218
19470
  }
19219
19471
  }
19220
19472
  } else {
@@ -19225,13 +19477,18 @@ var Methods = {
19225
19477
  * 如果不存在选中方法,则添加所有数据到临时集合中
19226
19478
  */
19227
19479
  if (!isForce && checkMethod) {
19228
- selectRows = afterFullData.filter(function (row) {
19229
- return _this34.findRowIndexOf(selectCheckboxRows, row) > -1 || checkMethod({
19480
+ afterFullData.forEach(function (row) {
19481
+ var rowid = getRowid(_this33, row);
19482
+ if (selectCheckboxMaps[rowid] || checkMethod({
19230
19483
  row: row
19231
- });
19484
+ })) {
19485
+ selectRowMaps[rowid] = row;
19486
+ }
19232
19487
  });
19233
19488
  } else {
19234
- selectRows = afterFullData.slice(0);
19489
+ afterFullData.forEach(function (row) {
19490
+ selectRowMaps[getRowid(_this33, row)] = row;
19491
+ });
19235
19492
  }
19236
19493
  } else {
19237
19494
  /**
@@ -19240,10 +19497,13 @@ var Methods = {
19240
19497
  * 如果不存在选中方法,无需处理,临时集合默认为空
19241
19498
  */
19242
19499
  if (!isForce && checkMethod) {
19243
- selectRows = afterFullData.filter(function (row) {
19244
- return checkMethod({
19500
+ afterFullData.forEach(function (row) {
19501
+ var rowid = getRowid(_this33, row);
19502
+ if (checkMethod({
19245
19503
  row: row
19246
- }) ? 0 : _this34.findRowIndexOf(selectCheckboxRows, row) > -1;
19504
+ }) ? 0 : selectCheckboxMaps[rowid]) {
19505
+ selectRowMaps[rowid] = row;
19506
+ }
19247
19507
  });
19248
19508
  }
19249
19509
  }
@@ -19251,18 +19511,19 @@ var Methods = {
19251
19511
  }
19252
19512
  if (reserve) {
19253
19513
  if (value) {
19254
- selectRows.forEach(function (row) {
19255
- checkboxReserveRowMap[getRowid(_this34, row)] = row;
19514
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, function (row, rowid) {
19515
+ checkboxReserveRowMap[rowid] = row;
19256
19516
  });
19257
19517
  } else {
19258
19518
  afterFullData.forEach(function (row) {
19259
- return _this34.handleCheckboxReserveRow(row, false);
19519
+ return _this33.handleCheckboxReserveRow(row, false);
19260
19520
  });
19261
19521
  }
19262
19522
  }
19263
- this.selectCheckboxRows = checkField ? [] : beforeSelection.concat(selectRows);
19523
+ this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
19264
19524
  }
19265
- this.treeIndeterminates = [];
19525
+ this.treeIndeterminateMaps = {};
19526
+ this.treeIndeterminateRowMaps = {};
19266
19527
  this.checkSelectionStatus();
19267
19528
  return this.$nextTick();
19268
19529
  },
@@ -19274,16 +19535,16 @@ var Methods = {
19274
19535
  return this.handleCheckedAllCheckboxRow(value, true);
19275
19536
  },
19276
19537
  checkSelectionStatus: function checkSelectionStatus() {
19277
- var _this35 = this;
19538
+ var _this34 = this;
19278
19539
  var afterFullData = this.afterFullData,
19279
- selectCheckboxRows = this.selectCheckboxRows,
19280
- treeIndeterminates = this.treeIndeterminates,
19540
+ selectCheckboxMaps = this.selectCheckboxMaps,
19541
+ treeIndeterminateMaps = this.treeIndeterminateMaps,
19281
19542
  checkboxOpts = this.checkboxOpts,
19282
19543
  treeConfig = this.treeConfig;
19283
19544
  var checkField = checkboxOpts.checkField,
19284
- halfField = checkboxOpts.halfField,
19285
19545
  checkStrictly = checkboxOpts.checkStrictly,
19286
19546
  checkMethod = checkboxOpts.checkMethod;
19547
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19287
19548
  if (!checkStrictly) {
19288
19549
  var disableRows = [];
19289
19550
  var checkRows = [];
@@ -19308,19 +19569,19 @@ var Methods = {
19308
19569
  });
19309
19570
  isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
19310
19571
  if (treeConfig) {
19311
- if (halfField) {
19572
+ if (indeterminateField) {
19312
19573
  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;
19574
+ 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
19575
  });
19315
19576
  } else {
19316
19577
  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;
19578
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField) || !!treeIndeterminateMaps[getRowid(_this34, row)];
19318
19579
  });
19319
19580
  }
19320
19581
  } else {
19321
- if (halfField) {
19582
+ if (indeterminateField) {
19322
19583
  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);
19584
+ 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
19585
  });
19325
19586
  } else {
19326
19587
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
@@ -19336,22 +19597,23 @@ var Methods = {
19336
19597
  disableRows.push(row);
19337
19598
  return true;
19338
19599
  }
19339
- if (_this35.findRowIndexOf(selectCheckboxRows, row) > -1) {
19600
+ if (selectCheckboxMaps[getRowid(_this34, row)]) {
19340
19601
  checkRows.push(row);
19341
19602
  return true;
19342
19603
  }
19343
19604
  return false;
19344
19605
  } : function (row) {
19345
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19606
+ return selectCheckboxMaps[getRowid(_this34, row)];
19346
19607
  });
19347
19608
  isAllSelected = isAllResolve && afterFullData.length !== disableRows.length;
19348
19609
  if (treeConfig) {
19349
19610
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19350
- return _this35.findRowIndexOf(treeIndeterminates, row) > -1 || _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19611
+ var itemRid = getRowid(_this34, row);
19612
+ return treeIndeterminateMaps[itemRid] || selectCheckboxMaps[itemRid];
19351
19613
  });
19352
19614
  } else {
19353
19615
  isIndeterminate = !isAllSelected && afterFullData.some(function (row) {
19354
- return _this35.findRowIndexOf(selectCheckboxRows, row) > -1;
19616
+ return selectCheckboxMaps[getRowid(_this34, row)];
19355
19617
  });
19356
19618
  }
19357
19619
  }
@@ -19367,17 +19629,17 @@ var Methods = {
19367
19629
  fullDataRowIdData = this.fullDataRowIdData,
19368
19630
  fullAllDataRowMap = this.fullAllDataRowMap,
19369
19631
  currentRow = this.currentRow,
19370
- selectRow = this.selectRow,
19632
+ selectRadioRow = this.selectRadioRow,
19371
19633
  radioReserveRow = this.radioReserveRow,
19372
19634
  radioOpts = this.radioOpts,
19373
19635
  checkboxOpts = this.checkboxOpts,
19374
- selectCheckboxRows = this.selectCheckboxRows,
19375
- rowExpandeds = this.rowExpandeds,
19376
- treeExpandeds = this.treeExpandeds,
19636
+ selectCheckboxMaps = this.selectCheckboxMaps,
19637
+ rowExpandedMaps = this.rowExpandedMaps,
19638
+ treeExpandedMaps = this.treeExpandedMaps,
19377
19639
  expandOpts = this.expandOpts;
19378
19640
  // 单选框
19379
- if (selectRow && !fullAllDataRowMap.has(selectRow)) {
19380
- this.selectRow = null; // 刷新单选行状态
19641
+ if (selectRadioRow && !fullAllDataRowMap.has(selectRadioRow)) {
19642
+ this.selectRadioRow = null; // 刷新单选行状态
19381
19643
  }
19382
19644
  // 还原保留选中状态
19383
19645
  if (radioOpts.reserve && radioReserveRow) {
@@ -19387,7 +19649,7 @@ var Methods = {
19387
19649
  }
19388
19650
  }
19389
19651
  // 复选框
19390
- this.selectCheckboxRows = getRecoverRow(this, selectCheckboxRows); // 刷新多选行状态
19652
+ this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
19391
19653
  // 还原保留选中状态
19392
19654
  if (checkboxOpts.reserve) {
19393
19655
  this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
@@ -19396,13 +19658,13 @@ var Methods = {
19396
19658
  this.currentRow = null; // 刷新当前行状态
19397
19659
  }
19398
19660
  // 行展开
19399
- this.rowExpandeds = expandColumn ? getRecoverRow(this, rowExpandeds) : []; // 刷新行展开状态
19661
+ this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
19400
19662
  // 还原保留状态
19401
19663
  if (expandColumn && expandOpts.reserve) {
19402
19664
  this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
19403
19665
  }
19404
19666
  // 树展开
19405
- this.treeExpandeds = treeConfig ? getRecoverRow(this, treeExpandeds) : []; // 刷新树展开状态
19667
+ this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
19406
19668
  if (treeConfig && treeOpts.reserve) {
19407
19669
  this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
19408
19670
  }
@@ -19417,6 +19679,7 @@ var Methods = {
19417
19679
  afterFullData = this.afterFullData,
19418
19680
  treeConfig = this.treeConfig,
19419
19681
  treeOpts = this.treeOpts;
19682
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19420
19683
  if (radioOpts.reserve && radioReserveRow) {
19421
19684
  var rowid = getRowid(this, radioReserveRow);
19422
19685
  if (isFull) {
@@ -19428,7 +19691,9 @@ var Methods = {
19428
19691
  if (treeConfig) {
19429
19692
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (row) {
19430
19693
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowkey);
19431
- }, treeOpts);
19694
+ }, {
19695
+ children: childrenField
19696
+ });
19432
19697
  if (matchObj) {
19433
19698
  return radioReserveRow;
19434
19699
  }
@@ -19457,23 +19722,26 @@ var Methods = {
19457
19722
  * 获取复选框保留选中的行
19458
19723
  */
19459
19724
  getCheckboxReserveRecords: function getCheckboxReserveRecords(isFull) {
19460
- var _this36 = this;
19725
+ var _this35 = this;
19461
19726
  var fullDataRowIdData = this.fullDataRowIdData,
19462
19727
  afterFullData = this.afterFullData,
19463
19728
  checkboxReserveRowMap = this.checkboxReserveRowMap,
19464
19729
  checkboxOpts = this.checkboxOpts,
19465
19730
  treeConfig = this.treeConfig,
19466
19731
  treeOpts = this.treeOpts;
19732
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19467
19733
  var reserveSelection = [];
19468
19734
  if (checkboxOpts.reserve) {
19469
19735
  var afterFullIdMaps = {};
19470
19736
  if (treeConfig) {
19471
19737
  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);
19738
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19739
+ }, {
19740
+ children: childrenField
19741
+ });
19474
19742
  } else {
19475
19743
  afterFullData.forEach(function (row) {
19476
- afterFullIdMaps[getRowid(_this36, row)] = 1;
19744
+ afterFullIdMaps[getRowid(_this35, row)] = 1;
19477
19745
  });
19478
19746
  }
19479
19747
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap, function (oldRow, oldRowid) {
@@ -19532,33 +19800,39 @@ var Methods = {
19532
19800
  * 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
19533
19801
  */
19534
19802
  clearCheckboxRow: function clearCheckboxRow() {
19535
- var _this37 = this;
19803
+ var _this36 = this;
19536
19804
  var tableFullData = this.tableFullData,
19537
19805
  treeConfig = this.treeConfig,
19538
19806
  treeOpts = this.treeOpts,
19539
19807
  checkboxOpts = this.checkboxOpts;
19540
19808
  var checkField = checkboxOpts.checkField,
19541
19809
  reserve = checkboxOpts.reserve;
19810
+ var childrenField = treeOpts.children || treeOpts.childrenField;
19811
+ var indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
19542
19812
  if (checkField) {
19813
+ var handleClearChecked = function handleClearChecked(item) {
19814
+ if (treeConfig && indeterminateField) {
19815
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, indeterminateField, false);
19816
+ }
19817
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item, checkField, false);
19818
+ };
19543
19819
  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);
19820
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, handleClearChecked, {
19821
+ children: childrenField
19550
19822
  });
19823
+ } else {
19824
+ tableFullData.forEach(handleClearChecked);
19551
19825
  }
19552
19826
  }
19553
19827
  if (reserve) {
19554
19828
  tableFullData.forEach(function (row) {
19555
- return _this37.handleCheckboxReserveRow(row, false);
19829
+ return _this36.handleCheckboxReserveRow(row, false);
19556
19830
  });
19557
19831
  }
19558
19832
  this.isAllSelected = false;
19559
19833
  this.isIndeterminate = false;
19560
- this.selectCheckboxRows = [];
19561
- this.treeIndeterminates = [];
19834
+ this.selectCheckboxMaps = {};
19835
+ this.treeIndeterminateMaps = {};
19562
19836
  return this.$nextTick();
19563
19837
  },
19564
19838
  /**
@@ -19583,7 +19857,7 @@ var Methods = {
19583
19857
  * 单选,行选中事件
19584
19858
  */
19585
19859
  triggerRadioRowEvent: function triggerRadioRowEvent(evnt, params) {
19586
- var oldValue = this.selectRow,
19860
+ var oldValue = this.selectRadioRow,
19587
19861
  radioOpts = this.radioOpts;
19588
19862
  var row = params.row;
19589
19863
  var newValue = row;
@@ -19636,7 +19910,7 @@ var Methods = {
19636
19910
  return this.$nextTick();
19637
19911
  },
19638
19912
  isCheckedByRadioRow: function isCheckedByRadioRow(row) {
19639
- return this.selectRow === row;
19913
+ return this.selectRadioRow === row;
19640
19914
  },
19641
19915
  handleCheckedRadioRow: function handleCheckedRadioRow(row, isForce) {
19642
19916
  var radioOpts = this.radioOpts;
@@ -19644,7 +19918,7 @@ var Methods = {
19644
19918
  if (row && (isForce || !checkMethod || checkMethod({
19645
19919
  row: row
19646
19920
  }))) {
19647
- this.selectRow = row;
19921
+ this.selectRadioRow = row;
19648
19922
  this.handleRadioReserveRow(row);
19649
19923
  }
19650
19924
  return this.$nextTick();
@@ -19674,7 +19948,7 @@ var Methods = {
19674
19948
  * 用于单选行,手动清空用户的选择
19675
19949
  */
19676
19950
  clearRadioRow: function clearRadioRow() {
19677
- this.selectRow = null;
19951
+ this.selectRadioRow = null;
19678
19952
  return this.$nextTick();
19679
19953
  },
19680
19954
  /**
@@ -19687,30 +19961,18 @@ var Methods = {
19687
19961
  * 用于单选行,获取当已选中的数据
19688
19962
  */
19689
19963
  getRadioRecord: function getRadioRecord(isFull) {
19690
- var treeConfig = this.treeConfig,
19691
- treeOpts = this.treeOpts,
19692
- selectRow = this.selectRow,
19964
+ var selectRadioRow = this.selectRadioRow,
19693
19965
  fullDataRowIdData = this.fullDataRowIdData,
19694
- afterFullData = this.afterFullData;
19695
- if (selectRow) {
19696
- var rowid = getRowid(this, selectRow);
19966
+ afterFullRowMaps = this.afterFullRowMaps;
19967
+ if (selectRadioRow) {
19968
+ var rowid = getRowid(this, selectRadioRow);
19697
19969
  if (isFull) {
19698
19970
  if (!fullDataRowIdData[rowid]) {
19699
- return selectRow;
19971
+ return selectRadioRow;
19700
19972
  }
19701
19973
  } 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
- }
19974
+ if (afterFullRowMaps[rowid]) {
19975
+ return selectRadioRow;
19714
19976
  }
19715
19977
  }
19716
19978
  }
@@ -19804,12 +20066,12 @@ var Methods = {
19804
20066
  * 如果存在规则,则校验
19805
20067
  */
19806
20068
  handleChangeCell: function handleChangeCell(evnt, params) {
19807
- var _this38 = this;
20069
+ var _this37 = this;
19808
20070
  this.checkValidate('blur')["catch"](function (e) {
19809
20071
  return e;
19810
20072
  }).then(function () {
19811
- _this38.handleActived(params, evnt).then(function () {
19812
- return _this38.checkValidate('change');
20073
+ _this37.handleActived(params, evnt).then(function () {
20074
+ return _this37.checkValidate('change');
19813
20075
  })["catch"](function (e) {
19814
20076
  return e;
19815
20077
  });
@@ -19903,7 +20165,7 @@ var Methods = {
19903
20165
  * 如果是双击模式,则激活为编辑状态
19904
20166
  */
19905
20167
  triggerCellDblclickEvent: function triggerCellDblclickEvent(evnt, params) {
19906
- var _this39 = this;
20168
+ var _this38 = this;
19907
20169
  var editStore = this.editStore,
19908
20170
  editConfig = this.editConfig,
19909
20171
  editOpts = this.editOpts;
@@ -19916,15 +20178,15 @@ var Methods = {
19916
20178
  this.checkValidate('blur')["catch"](function (e) {
19917
20179
  return e;
19918
20180
  }).then(function () {
19919
- _this39.handleActived(params, evnt).then(function () {
19920
- return _this39.checkValidate('change');
20181
+ _this38.handleActived(params, evnt).then(function () {
20182
+ return _this38.checkValidate('change');
19921
20183
  })["catch"](function (e) {
19922
20184
  return e;
19923
20185
  });
19924
20186
  });
19925
20187
  } else if (editOpts.mode === 'cell') {
19926
20188
  this.handleActived(params, evnt).then(function () {
19927
- return _this39.checkValidate('change');
20189
+ return _this38.checkValidate('change');
19928
20190
  })["catch"](function (e) {
19929
20191
  return e;
19930
20192
  });
@@ -19934,7 +20196,7 @@ var Methods = {
19934
20196
  this.emitEvent('cell-dblclick', params, evnt);
19935
20197
  },
19936
20198
  handleDefaultSort: function handleDefaultSort() {
19937
- var _this40 = this;
20199
+ var _this39 = this;
19938
20200
  var sortConfig = this.sortConfig,
19939
20201
  sortOpts = this.sortOpts;
19940
20202
  var defaultSort = sortOpts.defaultSort;
@@ -19947,7 +20209,7 @@ var Methods = {
19947
20209
  var field = item.field,
19948
20210
  order = item.order;
19949
20211
  if (field && order) {
19950
- var column = _this40.getColumnByField(field);
20212
+ var column = _this39.getColumnByField(field);
19951
20213
  if (column && column.sortable) {
19952
20214
  column.order = order;
19953
20215
  column.sortTime = Date.now() + index;
@@ -19994,7 +20256,7 @@ var Methods = {
19994
20256
  }
19995
20257
  },
19996
20258
  sort: function sort(sortConfs, sortOrder) {
19997
- var _this41 = this;
20259
+ var _this40 = this;
19998
20260
  var sortOpts = this.sortOpts;
19999
20261
  var multiple = sortOpts.multiple,
20000
20262
  remote = sortOpts.remote,
@@ -20020,14 +20282,14 @@ var Methods = {
20020
20282
  order = confs.order;
20021
20283
  var column = field;
20022
20284
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)) {
20023
- column = _this41.getColumnByField(field);
20285
+ column = _this40.getColumnByField(field);
20024
20286
  }
20025
20287
  if (column && (column.sortable || column.remoteSort)) {
20026
20288
  if (!firstSortColumn) {
20027
20289
  firstSortColumn = column;
20028
20290
  }
20029
20291
  if (orders.indexOf(order) === -1) {
20030
- order = getNextSortOrder(_this41, column);
20292
+ order = getNextSortOrder(_this40, column);
20031
20293
  }
20032
20294
  if (column.order !== order) {
20033
20295
  column.order = order;
@@ -20040,8 +20302,8 @@ var Methods = {
20040
20302
  this.handleTableData(true);
20041
20303
  }
20042
20304
  return this.$nextTick().then(function () {
20043
- _this41.updateCellAreas();
20044
- return _this41.updateStyle();
20305
+ _this40.updateCellAreas();
20306
+ return _this40.updateStyle();
20045
20307
  });
20046
20308
  }
20047
20309
  return this.$nextTick();
@@ -20154,17 +20416,19 @@ var Methods = {
20154
20416
  return rest && rest.expandLoaded;
20155
20417
  },
20156
20418
  clearRowExpandLoaded: function clearRowExpandLoaded(row) {
20157
- var _this42 = this;
20158
20419
  var expandOpts = this.expandOpts,
20159
- expandLazyLoadeds = this.expandLazyLoadeds,
20420
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20160
20421
  fullAllDataRowMap = this.fullAllDataRowMap;
20161
20422
  var lazy = expandOpts.lazy;
20423
+ var rowid = getRowid(this, row);
20162
20424
  var rest = fullAllDataRowMap.get(row);
20163
20425
  if (lazy && rest) {
20164
20426
  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
- });
20427
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20428
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20429
+ delete rowTempExpandLazyLoadedMaps[rowid];
20430
+ }
20431
+ this.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20168
20432
  }
20169
20433
  return this.$nextTick();
20170
20434
  },
@@ -20173,13 +20437,14 @@ var Methods = {
20173
20437
  * @param {Row} row 行对象
20174
20438
  */
20175
20439
  reloadRowExpand: function reloadRowExpand(row) {
20176
- var _this43 = this;
20440
+ var _this41 = this;
20177
20441
  var expandOpts = this.expandOpts,
20178
- expandLazyLoadeds = this.expandLazyLoadeds;
20442
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps;
20179
20443
  var lazy = expandOpts.lazy;
20180
- if (lazy && this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20444
+ var rowid = getRowid(this, row);
20445
+ if (lazy && !rowExpandLazyLoadedMaps[rowid]) {
20181
20446
  this.clearRowExpandLoaded(row).then(function () {
20182
- return _this43.handleAsyncRowExpand(row);
20447
+ return _this41.handleAsyncRowExpand(row);
20183
20448
  });
20184
20449
  }
20185
20450
  return this.$nextTick();
@@ -20194,11 +20459,12 @@ var Methods = {
20194
20459
  */
20195
20460
  triggerRowExpandEvent: function triggerRowExpandEvent(evnt, params) {
20196
20461
  var expandOpts = this.expandOpts,
20197
- expandLazyLoadeds = this.expandLazyLoadeds,
20462
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20198
20463
  column = this.expandColumn;
20199
20464
  var row = params.row;
20200
20465
  var lazy = expandOpts.lazy;
20201
- if (!lazy || this.findRowIndexOf(expandLazyLoadeds, row) === -1) {
20466
+ var rowid = getRowid(this, row);
20467
+ if (!lazy || !rowExpandLazyLoadedMaps[rowid]) {
20202
20468
  var expanded = !this.isExpandByRow(row);
20203
20469
  var columnIndex = this.getColumnIndex(column);
20204
20470
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20249,37 +20515,57 @@ var Methods = {
20249
20515
  treeOpts = this.treeOpts,
20250
20516
  tableFullData = this.tableFullData,
20251
20517
  tableFullTreeData = this.tableFullTreeData;
20518
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20252
20519
  var expandedRows = [];
20253
20520
  if (treeConfig) {
20254
20521
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, function (row) {
20255
20522
  expandedRows.push(row);
20256
- }, treeOpts);
20523
+ }, {
20524
+ children: childrenField
20525
+ });
20257
20526
  } else {
20258
20527
  expandedRows = tableFullData;
20259
20528
  }
20260
20529
  return this.setRowExpand(expandedRows, expanded);
20261
20530
  },
20262
20531
  handleAsyncRowExpand: function handleAsyncRowExpand(row) {
20263
- var _this44 = this;
20264
- var rest = this.fullAllDataRowMap.get(row);
20532
+ var _this42 = this;
20533
+ var fullAllDataRowMap = this.fullAllDataRowMap,
20534
+ expandOpts = this.expandOpts;
20535
+ var rest = fullAllDataRowMap.get(row);
20265
20536
  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);
20537
+ var loadMethod = expandOpts.loadMethod;
20538
+ if (loadMethod) {
20539
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20540
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20541
+ var rowid = getRowid(_this42, row);
20542
+ rowTempExpandLazyLoadedMaps[rowid] = row;
20543
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20544
+ loadMethod({
20545
+ $table: _this42,
20546
+ row: row,
20547
+ rowIndex: _this42.getRowIndex(row),
20548
+ $rowIndex: _this42.getVMRowIndex(row)
20549
+ }).then(function () {
20550
+ rest.expandLoaded = true;
20551
+ var rowExpandedMaps = _this42.rowExpandedMaps;
20552
+ var rowTempExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20553
+ rowTempExpandedMaps[rowid] = row;
20554
+ _this42.rowExpandedMaps = rowTempExpandedMaps;
20555
+ })["catch"](function () {
20556
+ rest.expandLoaded = false;
20557
+ })["finally"](function () {
20558
+ var rowExpandLazyLoadedMaps = _this42.rowExpandLazyLoadedMaps;
20559
+ var rowTempExpandLazyLoadedMaps = _objectSpread2({}, rowExpandLazyLoadedMaps);
20560
+ if (rowTempExpandLazyLoadedMaps[rowid]) {
20561
+ delete rowTempExpandLazyLoadedMaps[rowid];
20562
+ }
20563
+ _this42.rowExpandLazyLoadedMaps = rowTempExpandLazyLoadedMaps;
20564
+ resolve(_this42.$nextTick().then(_this42.recalculate));
20280
20565
  });
20281
- resolve(_this44.$nextTick().then(_this44.recalculate));
20282
- });
20566
+ } else {
20567
+ resolve();
20568
+ }
20283
20569
  });
20284
20570
  },
20285
20571
  /**
@@ -20290,12 +20576,13 @@ var Methods = {
20290
20576
  * @param {Boolean} expanded 是否展开
20291
20577
  */
20292
20578
  setRowExpand: function setRowExpand(rows, expanded) {
20293
- var _this45 = this;
20294
- var fullAllDataRowMap = this.fullAllDataRowMap,
20295
- expandLazyLoadeds = this.expandLazyLoadeds,
20579
+ var _this43 = this;
20580
+ var rowExpandedMaps = this.rowExpandedMaps,
20581
+ fullAllDataRowIdData = this.fullAllDataRowIdData,
20582
+ rowExpandLazyLoadedMaps = this.rowExpandLazyLoadedMaps,
20296
20583
  expandOpts = this.expandOpts,
20297
20584
  column = this.expandColumn;
20298
- var rowExpandeds = this.rowExpandeds;
20585
+ var rExpandedMaps = _objectSpread2({}, rowExpandedMaps);
20299
20586
  var reserve = expandOpts.reserve,
20300
20587
  lazy = expandOpts.lazy,
20301
20588
  accordion = expandOpts.accordion,
@@ -20309,7 +20596,7 @@ var Methods = {
20309
20596
  }
20310
20597
  if (accordion) {
20311
20598
  // 只能同时展开一个
20312
- rowExpandeds = [];
20599
+ rExpandedMaps = {};
20313
20600
  rows = rows.slice(rows.length - 1, rows.length);
20314
20601
  }
20315
20602
  var validRows = toggleMethod ? rows.filter(function (row) {
@@ -20319,34 +20606,38 @@ var Methods = {
20319
20606
  columnIndex: columnIndex,
20320
20607
  $columnIndex: $columnIndex,
20321
20608
  row: row,
20322
- rowIndex: _this45.getRowIndex(row),
20323
- $rowIndex: _this45.getVMRowIndex(row)
20609
+ rowIndex: _this43.getRowIndex(row),
20610
+ $rowIndex: _this43.getVMRowIndex(row)
20324
20611
  });
20325
20612
  }) : rows;
20326
20613
  if (expanded) {
20327
20614
  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;
20615
+ var rowid = getRowid(_this43, row);
20616
+ if (!rExpandedMaps[rowid]) {
20617
+ var rest = fullAllDataRowIdData[rowid];
20618
+ var isLoad = lazy && !rest.expandLoaded && !rowExpandLazyLoadedMaps[rowid];
20331
20619
  if (isLoad) {
20332
- lazyRests.push(_this45.handleAsyncRowExpand(row));
20620
+ lazyRests.push(_this43.handleAsyncRowExpand(row));
20333
20621
  } else {
20334
- rowExpandeds.push(row);
20622
+ rExpandedMaps[rowid] = row;
20335
20623
  }
20336
20624
  }
20337
20625
  });
20338
20626
  } 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;
20627
+ validRows.forEach(function (item) {
20628
+ var rowid = getRowid(_this43, item);
20629
+ if (rExpandedMaps[rowid]) {
20630
+ delete rExpandedMaps[rowid];
20631
+ }
20341
20632
  });
20342
20633
  }
20343
20634
  if (reserve) {
20344
20635
  validRows.forEach(function (row) {
20345
- return _this45.handleRowExpandReserve(row, expanded);
20636
+ return _this43.handleRowExpandReserve(row, expanded);
20346
20637
  });
20347
20638
  }
20348
20639
  }
20349
- this.rowExpandeds = rowExpandeds;
20640
+ this.rowExpandedMaps = rExpandedMaps;
20350
20641
  return Promise.all(lazyRests).then(this.recalculate);
20351
20642
  },
20352
20643
  /**
@@ -20354,28 +20645,28 @@ var Methods = {
20354
20645
  * @param {Row} row 行对象
20355
20646
  */
20356
20647
  isExpandByRow: function isExpandByRow(row) {
20357
- var rowExpandeds = this.rowExpandeds;
20358
- return this.findRowIndexOf(rowExpandeds, row) > -1;
20648
+ var rowExpandedMaps = this.rowExpandedMaps;
20649
+ var rowid = getRowid(this, row);
20650
+ return !!rowExpandedMaps[rowid];
20359
20651
  },
20360
20652
  /**
20361
20653
  * 手动清空展开行状态,数据会恢复成未展开的状态
20362
20654
  */
20363
20655
  clearRowExpand: function clearRowExpand() {
20364
- var _this46 = this;
20656
+ var _this44 = this;
20365
20657
  var expandOpts = this.expandOpts,
20366
- rowExpandeds = this.rowExpandeds,
20367
20658
  tableFullData = this.tableFullData;
20368
20659
  var reserve = expandOpts.reserve;
20369
- var isExists = rowExpandeds.length;
20370
- this.rowExpandeds = [];
20660
+ var expList = this.getRowExpandRecords();
20661
+ this.rowExpandedMaps = {};
20371
20662
  if (reserve) {
20372
20663
  tableFullData.forEach(function (row) {
20373
- return _this46.handleRowExpandReserve(row, false);
20664
+ return _this44.handleRowExpandReserve(row, false);
20374
20665
  });
20375
20666
  }
20376
20667
  return this.$nextTick().then(function () {
20377
- if (isExists) {
20378
- _this46.recalculate();
20668
+ if (expList.length) {
20669
+ _this44.recalculate();
20379
20670
  }
20380
20671
  });
20381
20672
  },
@@ -20396,13 +20687,25 @@ var Methods = {
20396
20687
  }
20397
20688
  },
20398
20689
  getRowExpandRecords: function getRowExpandRecords() {
20399
- return this.rowExpandeds.slice(0);
20690
+ var rest = [];
20691
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.rowExpandedMaps, function (item) {
20692
+ if (item) {
20693
+ rest.push(item);
20694
+ }
20695
+ });
20696
+ return rest;
20400
20697
  },
20401
20698
  getTreeExpandRecords: function getTreeExpandRecords() {
20402
- return this.treeExpandeds.slice(0);
20699
+ var rest = [];
20700
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(this.treeExpandedMaps, function (item) {
20701
+ if (item) {
20702
+ rest.push(item);
20703
+ }
20704
+ });
20705
+ return rest;
20403
20706
  },
20404
20707
  /**
20405
- * 获取数表格状态
20708
+ * 获取树表格状态
20406
20709
  */
20407
20710
  getTreeStatus: function getTreeStatus() {
20408
20711
  if (this.treeConfig) {
@@ -20423,16 +20726,17 @@ var Methods = {
20423
20726
  },
20424
20727
  clearTreeExpandLoaded: function clearTreeExpandLoaded(row) {
20425
20728
  var treeOpts = this.treeOpts,
20426
- treeExpandeds = this.treeExpandeds,
20729
+ treeExpandedMaps = this.treeExpandedMaps,
20427
20730
  fullAllDataRowMap = this.fullAllDataRowMap;
20428
20731
  var transform = treeOpts.transform,
20429
20732
  lazy = treeOpts.lazy;
20733
+ var rowid = getRowid(this, row);
20430
20734
  var rest = fullAllDataRowMap.get(row);
20431
20735
  if (lazy && rest) {
20432
20736
  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
- });
20737
+ if (treeExpandedMaps[rowid]) {
20738
+ delete treeExpandedMaps[rowid];
20739
+ }
20436
20740
  }
20437
20741
  if (transform) {
20438
20742
  this.handleVirtualTreeToList();
@@ -20445,23 +20749,23 @@ var Methods = {
20445
20749
  * @param {Row} row 行对象
20446
20750
  */
20447
20751
  reloadTreeExpand: function reloadTreeExpand(row) {
20448
- var _this47 = this;
20752
+ var _this45 = this;
20449
20753
  var treeOpts = this.treeOpts,
20450
- treeLazyLoadeds = this.treeLazyLoadeds;
20754
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20451
20755
  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) {
20756
+ lazy = treeOpts.lazy;
20757
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20758
+ var rowid = getRowid(this, row);
20759
+ if (lazy && row[hasChildField] && !treeExpandLazyLoadedMaps[rowid]) {
20456
20760
  this.clearTreeExpandLoaded(row).then(function () {
20457
- return _this47.handleAsyncTreeExpandChilds(row);
20761
+ return _this45.handleAsyncTreeExpandChilds(row);
20458
20762
  }).then(function () {
20459
20763
  if (transform) {
20460
- _this47.handleVirtualTreeToList();
20461
- return _this47.handleTableData();
20764
+ _this45.handleVirtualTreeToList();
20765
+ return _this45.handleTableData();
20462
20766
  }
20463
20767
  }).then(function () {
20464
- return _this47.recalculate();
20768
+ return _this45.recalculate();
20465
20769
  });
20466
20770
  }
20467
20771
  return this.$nextTick();
@@ -20476,11 +20780,12 @@ var Methods = {
20476
20780
  */
20477
20781
  triggerTreeExpandEvent: function triggerTreeExpandEvent(evnt, params) {
20478
20782
  var treeOpts = this.treeOpts,
20479
- treeLazyLoadeds = this.treeLazyLoadeds;
20783
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps;
20480
20784
  var row = params.row,
20481
20785
  column = params.column;
20482
20786
  var lazy = treeOpts.lazy;
20483
- if (!lazy || treeLazyLoadeds.indexOf(row) === -1) {
20787
+ var rowid = getRowid(this, row);
20788
+ if (!lazy || !treeExpandLazyLoadedMaps[rowid]) {
20484
20789
  var expanded = !this.isTreeExpandByRow(row);
20485
20790
  var columnIndex = this.getColumnIndex(column);
20486
20791
  var $columnIndex = this.getVMColumnIndex(column);
@@ -20510,6 +20815,7 @@ var Methods = {
20510
20815
  if (treeConfig) {
20511
20816
  var expandAll = treeOpts.expandAll,
20512
20817
  expandRowKeys = treeOpts.expandRowKeys;
20818
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20513
20819
  if (expandAll) {
20514
20820
  this.setAllTreeExpand(true);
20515
20821
  } else if (expandRowKeys) {
@@ -20518,7 +20824,9 @@ var Methods = {
20518
20824
  expandRowKeys.forEach(function (rowid) {
20519
20825
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20520
20826
  return rowid === external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(item, rowkey);
20521
- }, treeOpts);
20827
+ }, {
20828
+ children: childrenField
20829
+ });
20522
20830
  if (matchObj) {
20523
20831
  defExpandeds.push(matchObj.item);
20524
20832
  }
@@ -20528,59 +20836,67 @@ var Methods = {
20528
20836
  }
20529
20837
  },
20530
20838
  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,
20839
+ var _this46 = this;
20840
+ var treeOpts = this.treeOpts,
20536
20841
  checkboxOpts = this.checkboxOpts;
20537
20842
  var transform = treeOpts.transform,
20538
20843
  loadMethod = treeOpts.loadMethod;
20539
20844
  var checkStrictly = checkboxOpts.checkStrictly;
20540
- var rest = fullAllDataRowMap.get(row);
20541
20845
  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();
20846
+ if (loadMethod) {
20847
+ var fullAllDataRowMap = _this46.fullAllDataRowMap,
20848
+ treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20849
+ var rowid = getRowid(_this46, row);
20850
+ var rest = fullAllDataRowMap.get(row);
20851
+ treeExpandLazyLoadedMaps[rowid] = row;
20852
+ loadMethod({
20853
+ $table: _this46,
20854
+ row: row
20855
+ }).then(function (childRecords) {
20856
+ // 响应成功后则展开行,并将子节点挂载到该节点下
20857
+ rest.treeLoaded = true;
20858
+ if (treeExpandLazyLoadedMaps[rowid]) {
20859
+ treeExpandLazyLoadedMaps[rowid] = null;
20860
+ }
20861
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)) {
20862
+ childRecords = [];
20863
+ }
20864
+ if (childRecords) {
20865
+ return _this46.loadTreeChildren(row, childRecords).then(function (childRows) {
20866
+ var treeExpandedMaps = _this46.treeExpandedMaps;
20867
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20868
+ if (childRows.length && !treeTempExpandedMaps[rowid]) {
20869
+ treeTempExpandedMaps[rowid] = row;
20870
+ _this46.treeExpandedMaps = treeTempExpandedMaps;
20567
20871
  }
20872
+ // 如果当前节点已选中,则展开后子节点也被选中
20873
+ if (!checkStrictly && _this46.isCheckedByCheckboxRow(row)) {
20874
+ _this46.handleCheckedCheckboxRow(childRows, true, true);
20875
+ }
20876
+ return _this46.$nextTick().then(function () {
20877
+ if (transform) {
20878
+ return _this46.handleTableData();
20879
+ }
20880
+ });
20568
20881
  });
20882
+ }
20883
+ })["catch"](function () {
20884
+ // 如果响应异常,则不展开,再次点击后将重新触发懒加载
20885
+ rest.treeLoaded = false;
20886
+ var treeExpandLazyLoadedMaps = _this46.treeExpandLazyLoadedMaps;
20887
+ if (treeExpandLazyLoadedMaps[rowid]) {
20888
+ treeExpandLazyLoadedMaps[rowid] = null;
20889
+ }
20890
+ })["finally"](function () {
20891
+ _this46.$nextTick().then(function () {
20892
+ return _this46.recalculate();
20893
+ }).then(function () {
20894
+ return resolve();
20569
20895
  });
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
20896
  });
20577
- })["finally"](function () {
20578
- _this48.$nextTick().then(function () {
20579
- return _this48.recalculate();
20580
- }).then(function () {
20581
- return resolve();
20582
- });
20583
- });
20897
+ } else {
20898
+ resolve();
20899
+ }
20584
20900
  });
20585
20901
  },
20586
20902
  /**
@@ -20590,16 +20906,17 @@ var Methods = {
20590
20906
  setAllTreeExpand: function setAllTreeExpand(expanded) {
20591
20907
  var tableFullData = this.tableFullData,
20592
20908
  treeOpts = this.treeOpts;
20593
- var lazy = treeOpts.lazy,
20594
- childrenField = treeOpts.childrenField,
20595
- children = treeOpts.children;
20909
+ var lazy = treeOpts.lazy;
20910
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20596
20911
  var expandeds = [];
20597
20912
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData, function (row) {
20598
- var rowChildren = row[childrenField || children];
20913
+ var rowChildren = row[childrenField];
20599
20914
  if (lazy || rowChildren && rowChildren.length) {
20600
20915
  expandeds.push(row);
20601
20916
  }
20602
- }, treeOpts);
20917
+ }, {
20918
+ children: childrenField
20919
+ });
20603
20920
  return this.setTreeExpand(expandeds, expanded);
20604
20921
  },
20605
20922
  /**
@@ -20609,21 +20926,20 @@ var Methods = {
20609
20926
  * @returns
20610
20927
  */
20611
20928
  handleBaseTreeExpand: function handleBaseTreeExpand(rows, expanded) {
20612
- var _this49 = this;
20929
+ var _this47 = this;
20613
20930
  var fullAllDataRowMap = this.fullAllDataRowMap,
20614
20931
  tableFullData = this.tableFullData,
20615
- treeExpandeds = this.treeExpandeds,
20932
+ treeExpandedMaps = this.treeExpandedMaps,
20616
20933
  treeOpts = this.treeOpts,
20617
- treeLazyLoadeds = this.treeLazyLoadeds,
20934
+ treeExpandLazyLoadedMaps = this.treeExpandLazyLoadedMaps,
20618
20935
  treeNodeColumn = this.treeNodeColumn;
20619
20936
  var reserve = treeOpts.reserve,
20620
20937
  lazy = treeOpts.lazy,
20621
- hasChildField = treeOpts.hasChildField,
20622
- hasChild = treeOpts.hasChild,
20623
- childrenField = treeOpts.childrenField,
20624
- children = treeOpts.children,
20625
20938
  accordion = treeOpts.accordion,
20626
20939
  toggleMethod = treeOpts.toggleMethod;
20940
+ var treeTempExpandedMaps = _objectSpread2({}, treeExpandedMaps);
20941
+ var childrenField = treeOpts.children || treeOpts.childrenField;
20942
+ var hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
20627
20943
  var result = [];
20628
20944
  var columnIndex = this.getColumnIndex(treeNodeColumn);
20629
20945
  var $columnIndex = this.getVMColumnIndex(treeNodeColumn);
@@ -20641,38 +20957,48 @@ var Methods = {
20641
20957
  // 同一级只能展开一个
20642
20958
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
20643
20959
  return item === validRows[0];
20644
- }, treeOpts);
20960
+ }, {
20961
+ children: childrenField
20962
+ });
20645
20963
  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;
20964
+ matchObj.items.forEach(function (item) {
20965
+ var rowid = getRowid(_this47, item);
20966
+ if (treeTempExpandedMaps[rowid]) {
20967
+ delete treeTempExpandedMaps[rowid];
20968
+ }
20648
20969
  });
20649
20970
  }
20650
20971
  }
20651
20972
  if (expanded) {
20652
20973
  validRows.forEach(function (row) {
20653
- if (treeExpandeds.indexOf(row) === -1) {
20974
+ var rowid = getRowid(_this47, row);
20975
+ if (!treeTempExpandedMaps[rowid]) {
20654
20976
  var rest = fullAllDataRowMap.get(row);
20655
- var isLoad = lazy && row[hasChildField || hasChild] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1;
20977
+ var isLoad = lazy && row[hasChildField] && !rest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
20656
20978
  // 是否使用懒加载
20657
20979
  if (isLoad) {
20658
- result.push(_this49.handleAsyncTreeExpandChilds(row));
20980
+ result.push(_this47.handleAsyncTreeExpandChilds(row));
20659
20981
  } else {
20660
- if (row[childrenField || children] && row[childrenField || children].length) {
20661
- treeExpandeds.push(row);
20982
+ if (row[childrenField] && row[childrenField].length) {
20983
+ treeTempExpandedMaps[rowid] = row;
20662
20984
  }
20663
20985
  }
20664
20986
  }
20665
20987
  });
20666
20988
  } 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;
20989
+ validRows.forEach(function (item) {
20990
+ var rowid = getRowid(_this47, item);
20991
+ if (treeTempExpandedMaps[rowid]) {
20992
+ delete treeTempExpandedMaps[rowid];
20993
+ }
20669
20994
  });
20670
20995
  }
20671
20996
  if (reserve) {
20672
20997
  validRows.forEach(function (row) {
20673
- return _this49.handleTreeExpandReserve(row, expanded);
20998
+ return _this47.handleTreeExpandReserve(row, expanded);
20674
20999
  });
20675
21000
  }
21001
+ this.treeExpandedMaps = treeTempExpandedMaps;
20676
21002
  return Promise.all(result).then(this.recalculate);
20677
21003
  },
20678
21004
  /**
@@ -20682,12 +21008,12 @@ var Methods = {
20682
21008
  * @returns
20683
21009
  */
20684
21010
  handleVirtualTreeExpand: function handleVirtualTreeExpand(rows, expanded) {
20685
- var _this50 = this;
21011
+ var _this48 = this;
20686
21012
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
20687
- _this50.handleVirtualTreeToList();
20688
- return _this50.handleTableData();
21013
+ _this48.handleVirtualTreeToList();
21014
+ return _this48.handleTableData();
20689
21015
  }).then(function () {
20690
- return _this50.recalculate();
21016
+ return _this48.recalculate();
20691
21017
  });
20692
21018
  },
20693
21019
  /**
@@ -20720,33 +21046,36 @@ var Methods = {
20720
21046
  * @param {Row} row 行对象
20721
21047
  */
20722
21048
  isTreeExpandByRow: function isTreeExpandByRow(row) {
20723
- return this.treeExpandeds.indexOf(row) > -1;
21049
+ var treeExpandedMaps = this.treeExpandedMaps;
21050
+ return !!treeExpandedMaps[getRowid(this, row)];
20724
21051
  },
20725
21052
  /**
20726
21053
  * 手动清空树形节点的展开状态,数据会恢复成未展开的状态
20727
21054
  */
20728
21055
  clearTreeExpand: function clearTreeExpand() {
20729
- var _this51 = this;
21056
+ var _this49 = this;
20730
21057
  var treeOpts = this.treeOpts,
20731
- treeExpandeds = this.treeExpandeds,
20732
21058
  tableFullData = this.tableFullData;
20733
21059
  var transform = treeOpts.transform,
20734
21060
  reserve = treeOpts.reserve;
20735
- var isExists = treeExpandeds.length;
20736
- this.treeExpandeds = [];
21061
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21062
+ var expList = this.getTreeExpandRecords();
21063
+ this.treeExpandedMaps = {};
20737
21064
  if (reserve) {
20738
21065
  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);
21066
+ return _this49.handleTreeExpandReserve(row, false);
21067
+ }, {
21068
+ children: childrenField
21069
+ });
20741
21070
  }
20742
21071
  return this.handleTableData().then(function () {
20743
21072
  if (transform) {
20744
- _this51.handleVirtualTreeToList();
20745
- return _this51.handleTableData();
21073
+ _this49.handleVirtualTreeToList();
21074
+ return _this49.handleTableData();
20746
21075
  }
20747
21076
  }).then(function () {
20748
- if (isExists) {
20749
- _this51.recalculate();
21077
+ if (expList.length) {
21078
+ _this49.recalculate();
20750
21079
  }
20751
21080
  });
20752
21081
  },
@@ -20865,28 +21194,28 @@ var Methods = {
20865
21194
  },
20866
21195
  // 计算可视渲染相关数据
20867
21196
  computeScrollLoad: function computeScrollLoad() {
20868
- var _this52 = this;
21197
+ var _this50 = this;
20869
21198
  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;
21199
+ var sYOpts = _this50.sYOpts,
21200
+ sXOpts = _this50.sXOpts,
21201
+ scrollXLoad = _this50.scrollXLoad,
21202
+ scrollYLoad = _this50.scrollYLoad,
21203
+ scrollXStore = _this50.scrollXStore,
21204
+ scrollYStore = _this50.scrollYStore;
20876
21205
  // 计算 X 逻辑
20877
21206
  if (scrollXLoad) {
20878
- var _computeVirtualX3 = computeVirtualX(_this52),
21207
+ var _computeVirtualX3 = computeVirtualX(_this50),
20879
21208
  visibleXSize = _computeVirtualX3.visibleSize;
20880
21209
  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
21210
  scrollXStore.offsetSize = offsetXSize;
20882
21211
  scrollXStore.visibleSize = visibleXSize;
20883
21212
  scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
20884
- _this52.updateScrollXData();
21213
+ _this50.updateScrollXData();
20885
21214
  } else {
20886
- _this52.updateScrollXSpace();
21215
+ _this50.updateScrollXSpace();
20887
21216
  }
20888
21217
  // 计算 Y 逻辑
20889
- var _computeVirtualY = computeVirtualY(_this52),
21218
+ var _computeVirtualY = computeVirtualY(_this50),
20890
21219
  rowHeight = _computeVirtualY.rowHeight,
20891
21220
  visibleYSize = _computeVirtualY.visibleSize;
20892
21221
  scrollYStore.rowHeight = rowHeight;
@@ -20895,12 +21224,12 @@ var Methods = {
20895
21224
  scrollYStore.offsetSize = offsetYSize;
20896
21225
  scrollYStore.visibleSize = visibleYSize;
20897
21226
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
20898
- _this52.updateScrollYData();
21227
+ _this50.updateScrollYData();
20899
21228
  } else {
20900
- _this52.updateScrollYSpace();
21229
+ _this50.updateScrollYSpace();
20901
21230
  }
20902
- _this52.rowHeight = rowHeight;
20903
- _this52.$nextTick(_this52.updateStyle);
21231
+ _this50.rowHeight = rowHeight;
21232
+ _this50.$nextTick(_this50.updateStyle);
20904
21233
  });
20905
21234
  },
20906
21235
  handleTableColumn: function handleTableColumn() {
@@ -20910,11 +21239,11 @@ var Methods = {
20910
21239
  this.tableColumn = scrollXLoad ? visibleColumn.slice(scrollXStore.startIndex, scrollXStore.endIndex) : visibleColumn.slice(0);
20911
21240
  },
20912
21241
  updateScrollXData: function updateScrollXData() {
20913
- var _this53 = this;
21242
+ var _this51 = this;
20914
21243
  // this.tableColumn = []
20915
21244
  this.$nextTick(function () {
20916
- _this53.handleTableColumn();
20917
- _this53.updateScrollXSpace();
21245
+ _this51.handleTableColumn();
21246
+ _this51.updateScrollXSpace();
20918
21247
  });
20919
21248
  },
20920
21249
  // 更新横向 X 可视渲染上下剩余空间大小
@@ -20965,11 +21294,11 @@ var Methods = {
20965
21294
  }
20966
21295
  },
20967
21296
  updateScrollYData: function updateScrollYData() {
20968
- var _this54 = this;
21297
+ var _this52 = this;
20969
21298
  // this.tableData = []
20970
21299
  this.$nextTick(function () {
20971
- _this54.handleTableData();
20972
- _this54.updateScrollYSpace();
21300
+ _this52.handleTableData();
21301
+ _this52.updateScrollYSpace();
20973
21302
  });
20974
21303
  },
20975
21304
  // 更新纵向 Y 可视渲染上下剩余空间大小
@@ -21010,7 +21339,7 @@ var Methods = {
21010
21339
  * @param {Number} scrollTop 上距离
21011
21340
  */
21012
21341
  scrollTo: function scrollTo(scrollLeft, scrollTop) {
21013
- var _this55 = this;
21342
+ var _this53 = this;
21014
21343
  var $refs = this.$refs;
21015
21344
  var tableBody = $refs.tableBody,
21016
21345
  rightBody = $refs.rightBody,
@@ -21027,7 +21356,7 @@ var Methods = {
21027
21356
  if (this.scrollXLoad || this.scrollYLoad) {
21028
21357
  return new Promise(function (resolve) {
21029
21358
  return setTimeout(function () {
21030
- return resolve(_this55.$nextTick());
21359
+ return resolve(_this53.$nextTick());
21031
21360
  }, 50);
21032
21361
  });
21033
21362
  }
@@ -21069,26 +21398,29 @@ var Methods = {
21069
21398
  * @param {Row} row 行对象
21070
21399
  */
21071
21400
  scrollToTreeRow: function scrollToTreeRow(row) {
21072
- var _this56 = this;
21401
+ var _this54 = this;
21073
21402
  var tableFullData = this.tableFullData,
21074
21403
  treeConfig = this.treeConfig,
21075
21404
  treeOpts = this.treeOpts;
21405
+ var childrenField = treeOpts.children || treeOpts.childrenField;
21076
21406
  var rests = [];
21077
21407
  if (treeConfig) {
21078
21408
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData, function (item) {
21079
21409
  return item === row;
21080
- }, treeOpts);
21410
+ }, {
21411
+ children: childrenField
21412
+ });
21081
21413
  if (matchObj) {
21082
21414
  var nodes = matchObj.nodes;
21083
21415
  nodes.forEach(function (row, index) {
21084
- if (index < nodes.length - 1 && !_this56.isTreeExpandByRow(row)) {
21085
- rests.push(_this56.setTreeExpand(row, true));
21416
+ if (index < nodes.length - 1 && !_this54.isTreeExpandByRow(row)) {
21417
+ rests.push(_this54.setTreeExpand(row, true));
21086
21418
  }
21087
21419
  });
21088
21420
  }
21089
21421
  }
21090
21422
  return Promise.all(rests).then(function () {
21091
- return rowToVisible(_this56, row);
21423
+ return rowToVisible(_this54, row);
21092
21424
  });
21093
21425
  },
21094
21426
  /**
@@ -21143,30 +21475,30 @@ var Methods = {
21143
21475
  * 如果单元格配置了校验规则,则会进行校验
21144
21476
  */
21145
21477
  updateStatus: function updateStatus(slotParams, cellValue) {
21146
- var _this57 = this;
21478
+ var _this55 = this;
21147
21479
  var customVal = !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);
21148
21480
  return this.$nextTick().then(function () {
21149
- var $refs = _this57.$refs,
21150
- editRules = _this57.editRules,
21151
- validStore = _this57.validStore;
21481
+ var $refs = _this55.$refs,
21482
+ editRules = _this55.editRules,
21483
+ validStore = _this55.validStore;
21152
21484
  if (slotParams && $refs.tableBody && editRules) {
21153
21485
  var row = slotParams.row,
21154
21486
  column = slotParams.column;
21155
21487
  var type = 'change';
21156
- if (_this57.hasCellRules(type, row, column)) {
21157
- var cell = _this57.getCell(row, column);
21488
+ if (_this55.hasCellRules(type, row, column)) {
21489
+ var cell = _this55.getCell(row, column);
21158
21490
  if (cell) {
21159
- return _this57.validCellRules(type, row, column, cellValue).then(function () {
21491
+ return _this55.validCellRules(type, row, column, cellValue).then(function () {
21160
21492
  if (customVal && validStore.visible) {
21161
21493
  setCellValue(row, column, cellValue);
21162
21494
  }
21163
- _this57.clearValidate();
21495
+ _this55.clearValidate();
21164
21496
  })["catch"](function (_ref8) {
21165
21497
  var rule = _ref8.rule;
21166
21498
  if (customVal) {
21167
21499
  setCellValue(row, column, cellValue);
21168
21500
  }
21169
- _this57.showValidTooltip({
21501
+ _this55.showValidTooltip({
21170
21502
  rule: rule,
21171
21503
  row: row,
21172
21504
  column: column,
@@ -21186,13 +21518,13 @@ var Methods = {
21186
21518
  * @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
21187
21519
  */
21188
21520
  setMergeCells: function setMergeCells(merges) {
21189
- var _this58 = this;
21521
+ var _this56 = this;
21190
21522
  if (this.spanMethod) {
21191
21523
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21192
21524
  }
21193
21525
  setMerges(this, merges, this.mergeList, this.afterFullData);
21194
21526
  return this.$nextTick().then(function () {
21195
- return _this58.updateCellAreas();
21527
+ return _this56.updateCellAreas();
21196
21528
  });
21197
21529
  },
21198
21530
  /**
@@ -21200,13 +21532,13 @@ var Methods = {
21200
21532
  * @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
21201
21533
  */
21202
21534
  removeMergeCells: function removeMergeCells(merges) {
21203
- var _this59 = this;
21535
+ var _this57 = this;
21204
21536
  if (this.spanMethod) {
21205
21537
  errLog('vxe.error.errConflicts', ['merge-cells', 'span-method']);
21206
21538
  }
21207
21539
  var rest = removeMerges(this, merges, this.mergeList, this.afterFullData);
21208
21540
  return this.$nextTick().then(function () {
21209
- _this59.updateCellAreas();
21541
+ _this57.updateCellAreas();
21210
21542
  return rest;
21211
21543
  });
21212
21544
  },
@@ -21227,23 +21559,23 @@ var Methods = {
21227
21559
  this.setMergeFooterItems(this.mergeFooterItems);
21228
21560
  },
21229
21561
  setMergeFooterItems: function setMergeFooterItems(merges) {
21230
- var _this60 = this;
21562
+ var _this58 = this;
21231
21563
  if (this.footerSpanMethod) {
21232
21564
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21233
21565
  }
21234
21566
  setMerges(this, merges, this.mergeFooterList, null);
21235
21567
  return this.$nextTick().then(function () {
21236
- return _this60.updateCellAreas();
21568
+ return _this58.updateCellAreas();
21237
21569
  });
21238
21570
  },
21239
21571
  removeMergeFooterItems: function removeMergeFooterItems(merges) {
21240
- var _this61 = this;
21572
+ var _this59 = this;
21241
21573
  if (this.footerSpanMethod) {
21242
21574
  errLog('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
21243
21575
  }
21244
21576
  var rest = removeMerges(this, merges, this.mergeFooterList, null);
21245
21577
  return this.$nextTick().then(function () {
21246
- _this61.updateCellAreas();
21578
+ _this59.updateCellAreas();
21247
21579
  return rest;
21248
21580
  });
21249
21581
  },
@@ -21360,9 +21692,9 @@ var Methods = {
21360
21692
  return cellLabel;
21361
21693
  },
21362
21694
  findRowIndexOf: function findRowIndexOf(list, row) {
21363
- var _this62 = this;
21695
+ var _this60 = this;
21364
21696
  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);
21697
+ return _this60.eqRow(item, row);
21366
21698
  }) : -1;
21367
21699
  },
21368
21700
  eqRow: function eqRow(row1, row2) {
@@ -21383,7 +21715,7 @@ var Methods = {
21383
21715
  };
21384
21716
 
21385
21717
  // 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(',');
21718
+ 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
21719
  funcs.forEach(function (name) {
21388
21720
  Methods[name] = function () {
21389
21721
  if (false) {}
@@ -21892,14 +22224,14 @@ function handleUupdateResize(_vm) {
21892
22224
  isAllSelected: false,
21893
22225
  // 复选框属性,有选中且非全选状态
21894
22226
  isIndeterminate: false,
21895
- // 复选框属性,已选中的行
21896
- selectCheckboxRows: [],
22227
+ // 复选框属性,已选中的行集合
22228
+ selectCheckboxMaps: {},
21897
22229
  // 当前行
21898
22230
  currentRow: null,
21899
22231
  // 单选框属性,选中列
21900
22232
  currentColumn: null,
21901
22233
  // 单选框属性,选中行
21902
- selectRow: null,
22234
+ selectRadioRow: null,
21903
22235
  // 表尾合计数据
21904
22236
  footerTableData: [],
21905
22237
  // 展开列信息
@@ -21907,16 +22239,16 @@ function handleUupdateResize(_vm) {
21907
22239
  hasFixedColumn: false,
21908
22240
  // 树节点列信息
21909
22241
  treeNodeColumn: null,
21910
- // 已展开的行
21911
- rowExpandeds: [],
21912
- // 懒加载中的展开行的列表
21913
- expandLazyLoadeds: [],
21914
- // 已展开树节点
21915
- treeExpandeds: [],
21916
- // 懒加载中的树节点的列表
21917
- treeLazyLoadeds: [],
21918
- // 树节点不确定状态的列表
21919
- treeIndeterminates: [],
22242
+ // 已展开的行集合
22243
+ rowExpandedMaps: {},
22244
+ // 懒加载中的展开行的集合
22245
+ rowExpandLazyLoadedMaps: {},
22246
+ // 已展开树节点集合
22247
+ treeExpandedMaps: {},
22248
+ // 懒加载中的树节点的集合
22249
+ treeExpandLazyLoadedMaps: {},
22250
+ // 树节点不确定状态的集合
22251
+ treeIndeterminateMaps: {},
21920
22252
  // 合并单元格的对象集
21921
22253
  mergeList: [],
21922
22254
  // 合并表尾数据的对象集
@@ -22379,6 +22711,8 @@ function handleUupdateResize(_vm) {
22379
22711
  // 完整数据、条件处理后
22380
22712
  tableFullData: [],
22381
22713
  afterFullData: [],
22714
+ // 列表条件处理后数据集合
22715
+ afterFullRowMaps: {},
22382
22716
  // 收集的列配置(带分组)
22383
22717
  collectColumn: [],
22384
22718
  // 完整所有列(不带分组)
@@ -23743,6 +24077,7 @@ var es_array_unshift = __webpack_require__(541);
23743
24077
 
23744
24078
 
23745
24079
 
24080
+
23746
24081
 
23747
24082
 
23748
24083
  function insertTreeRow(_vm, newRecords, isAppend) {
@@ -23753,9 +24088,8 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23753
24088
  treeOpts = _vm.treeOpts;
23754
24089
  var rowField = treeOpts.rowField,
23755
24090
  parentField = treeOpts.parentField,
23756
- childrenField = treeOpts.childrenField,
23757
- children = treeOpts.children,
23758
24091
  mapChildrenField = treeOpts.mapChildrenField;
24092
+ var childrenField = treeOpts.children || treeOpts.childrenField;
23759
24093
  var funcName = isAppend ? 'push' : 'unshift';
23760
24094
  newRecords.forEach(function (item) {
23761
24095
  var parentRowId = item[parentField];
@@ -23769,11 +24103,16 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23769
24103
  var parentRow = matchObj.item;
23770
24104
  var parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)];
23771
24105
  var parentLevel = parentRest ? parentRest.level : 0;
23772
- var parentChilds = parentRow[childrenField || children];
24106
+ var parentChilds = parentRow[childrenField];
24107
+ var mapChilds = parentRow[mapChildrenField];
23773
24108
  if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(parentChilds)) {
23774
- parentChilds = parentRow[childrenField || children] = [];
24109
+ parentChilds = parentRow[childrenField] = [];
24110
+ }
24111
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(mapChilds)) {
24112
+ mapChilds = parentRow[childrenField] = [];
23775
24113
  }
23776
24114
  parentChilds[funcName](item);
24115
+ mapChilds[funcName](item);
23777
24116
  var rest = {
23778
24117
  row: item,
23779
24118
  rowid: rowid,
@@ -23807,6 +24146,181 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23807
24146
  }
23808
24147
  });
23809
24148
  }
24149
+ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
24150
+ var tableFullTreeData = _vm.tableFullTreeData,
24151
+ mergeList = _vm.mergeList,
24152
+ afterFullData = _vm.afterFullData,
24153
+ editStore = _vm.editStore,
24154
+ tableFullData = _vm.tableFullData,
24155
+ treeConfig = _vm.treeConfig,
24156
+ fullDataRowIdData = _vm.fullDataRowIdData,
24157
+ fullAllDataRowIdData = _vm.fullAllDataRowIdData,
24158
+ treeOpts = _vm.treeOpts;
24159
+ var transform = treeOpts.transform,
24160
+ rowField = treeOpts.rowField,
24161
+ mapChildrenField = treeOpts.mapChildrenField;
24162
+ var childrenField = treeOpts.children || treeOpts.childrenField;
24163
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)) {
24164
+ records = [records];
24165
+ }
24166
+ var newRecords = _vm.defineField(records.map(function (record) {
24167
+ var _ref;
24168
+ return Object.assign(treeConfig && transform ? (_ref = {}, _defineProperty(_ref, mapChildrenField, []), _defineProperty(_ref, childrenField, []), _ref) : {}, record);
24169
+ }));
24170
+ if (!row) {
24171
+ // 如果为虚拟树
24172
+ if (treeConfig && transform) {
24173
+ insertTreeRow(_vm, newRecords, false);
24174
+ } else {
24175
+ afterFullData.unshift.apply(afterFullData, _toConsumableArray(newRecords));
24176
+ tableFullData.unshift.apply(tableFullData, _toConsumableArray(newRecords));
24177
+ // 刷新单元格合并
24178
+ mergeList.forEach(function (mergeItem) {
24179
+ var mergeRowIndex = mergeItem.row;
24180
+ if (mergeRowIndex > 0) {
24181
+ mergeItem.row = mergeRowIndex + newRecords.length;
24182
+ }
24183
+ });
24184
+ }
24185
+ } else {
24186
+ if (row === -1) {
24187
+ // 如果为虚拟树
24188
+ if (treeConfig && transform) {
24189
+ insertTreeRow(_vm, newRecords, true);
24190
+ } else {
24191
+ afterFullData.push.apply(afterFullData, _toConsumableArray(newRecords));
24192
+ tableFullData.push.apply(tableFullData, _toConsumableArray(newRecords));
24193
+ // 刷新单元格合并
24194
+ mergeList.forEach(function (mergeItem) {
24195
+ var mergeRowIndex = mergeItem.row,
24196
+ mergeRowspan = mergeItem.rowspan;
24197
+ if (mergeRowIndex + mergeRowspan > afterFullData.length) {
24198
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
24199
+ }
24200
+ });
24201
+ }
24202
+ } else {
24203
+ // 如果为虚拟树
24204
+ if (treeConfig && transform) {
24205
+ var matchMapObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24206
+ return row[rowField] === item[rowField];
24207
+ }, {
24208
+ children: mapChildrenField
24209
+ });
24210
+ if (matchMapObj) {
24211
+ var parentRow = matchMapObj.parent;
24212
+ var parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData;
24213
+ var parentRest = fullAllDataRowIdData[getRowid(_vm, parentRow)];
24214
+ var parentLevel = parentRest ? parentRest.level : 0;
24215
+ newRecords.forEach(function (item, i) {
24216
+ var rowid = getRowid(_vm, item);
24217
+ if (false) {}
24218
+ if (parentRow) {
24219
+ item[treeOpts.parentField] = parentRow[rowField];
24220
+ }
24221
+ var targetIndex = matchMapObj.index + i;
24222
+ if (isInsertNextRow) {
24223
+ targetIndex = targetIndex + 1;
24224
+ }
24225
+ parentMapChilds.splice(targetIndex, 0, item);
24226
+ var rest = {
24227
+ row: item,
24228
+ rowid: rowid,
24229
+ seq: -1,
24230
+ index: -1,
24231
+ _index: -1,
24232
+ $index: -1,
24233
+ items: parentMapChilds,
24234
+ parent: parentRow,
24235
+ level: parentLevel + 1
24236
+ };
24237
+ fullDataRowIdData[rowid] = rest;
24238
+ fullAllDataRowIdData[rowid] = rest;
24239
+ });
24240
+
24241
+ // 源
24242
+ if (parentRow) {
24243
+ var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24244
+ return row[rowField] === item[rowField];
24245
+ }, {
24246
+ children: childrenField
24247
+ });
24248
+ if (matchObj) {
24249
+ var parentChilds = matchObj.items;
24250
+ var targetIndex = matchObj.index;
24251
+ if (isInsertNextRow) {
24252
+ targetIndex = targetIndex + 1;
24253
+ }
24254
+ parentChilds.splice.apply(parentChilds, [targetIndex, 0].concat(_toConsumableArray(newRecords)));
24255
+ }
24256
+ }
24257
+ } else {
24258
+ if (false) {}
24259
+ insertTreeRow(_vm, newRecords, true);
24260
+ }
24261
+ } else {
24262
+ if (treeConfig) {
24263
+ throw new Error(getLog('vxe.error.noTree', ['insert']));
24264
+ }
24265
+ var afIndex = -1;
24266
+ // 如果是可视索引
24267
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)) {
24268
+ if (row < afterFullData.length) {
24269
+ afIndex = row;
24270
+ }
24271
+ } else {
24272
+ afIndex = _vm.findRowIndexOf(afterFullData, row);
24273
+ }
24274
+ // 如果是插入指定行的下一行
24275
+ if (isInsertNextRow) {
24276
+ afIndex = Math.max(afterFullData.length, afIndex + 1);
24277
+ }
24278
+ if (afIndex === -1) {
24279
+ throw new Error(errLog('vxe.error.unableInsert'));
24280
+ }
24281
+ afterFullData.splice.apply(afterFullData, [afIndex, 0].concat(_toConsumableArray(newRecords)));
24282
+ tableFullData.splice.apply(tableFullData, [_vm.findRowIndexOf(tableFullData, row), 0].concat(_toConsumableArray(newRecords)));
24283
+ // 刷新单元格合并
24284
+ mergeList.forEach(function (mergeItem) {
24285
+ var mergeRowIndex = mergeItem.row,
24286
+ mergeRowspan = mergeItem.rowspan;
24287
+ if (mergeRowIndex > afIndex) {
24288
+ mergeItem.row = mergeRowIndex + newRecords.length;
24289
+ } else if (mergeRowIndex + mergeRowspan > afIndex) {
24290
+ mergeItem.rowspan = mergeRowspan + newRecords.length;
24291
+ }
24292
+ });
24293
+ }
24294
+ }
24295
+ }
24296
+ var insertList = editStore.insertList,
24297
+ insertMaps = editStore.insertMaps;
24298
+ newRecords.forEach(function (newRow) {
24299
+ var rowid = getRowid(_vm, newRow);
24300
+ insertMaps[rowid] = newRow;
24301
+ });
24302
+ insertList.unshift.apply(insertList, _toConsumableArray(newRecords));
24303
+ _vm.cacheRowMap();
24304
+ _vm.updateScrollYStatus();
24305
+ _vm.handleTableData(treeConfig && transform);
24306
+ if (!(treeConfig && transform)) {
24307
+ _vm.updateAfterDataIndex();
24308
+ }
24309
+ _vm.updateFooter();
24310
+ _vm.checkSelectionStatus();
24311
+ if (_vm.scrollYLoad) {
24312
+ _vm.updateScrollYSpace();
24313
+ }
24314
+ return _vm.$nextTick().then(function () {
24315
+ _vm.updateCellAreas();
24316
+ return _vm.recalculate();
24317
+ }).then(function () {
24318
+ return {
24319
+ row: newRecords.length ? newRecords[newRecords.length - 1] : null,
24320
+ rows: newRecords
24321
+ };
24322
+ });
24323
+ }
23810
24324
  /* harmony default export */ const edit_src_mixin = ({
23811
24325
  methods: {
23812
24326
  /**
@@ -23815,7 +24329,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23815
24329
  * @param {*} records
23816
24330
  */
23817
24331
  _insert: function _insert(records) {
23818
- return this.insertAt(records);
24332
+ return handleInsertRowAt(this, records, null);
23819
24333
  },
23820
24334
  /**
23821
24335
  * 往表格指定行中插入临时数据
@@ -23824,155 +24338,13 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23824
24338
  * 如果 row 为有效行则插入到该行的位置
23825
24339
  * @param {Object/Array} records 新的数据
23826
24340
  * @param {Row} row 指定行
24341
+ * @returns
23827
24342
  */
23828
24343
  _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
- });
24344
+ return handleInsertRowAt(this, records, row);
24345
+ },
24346
+ _insertNextAt: function _insertNextAt(records, row) {
24347
+ return handleInsertRowAt(this, records, row, true);
23976
24348
  },
23977
24349
  /**
23978
24350
  * 删除指定行数据
@@ -23981,7 +24353,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23981
24353
  * 如果为空则删除所有
23982
24354
  */
23983
24355
  _remove: function _remove(rows) {
23984
- var _this2 = this;
24356
+ var _this = this;
23985
24357
  var afterFullData = this.afterFullData,
23986
24358
  tableFullData = this.tableFullData,
23987
24359
  tableFullTreeData = this.tableFullTreeData,
@@ -23989,16 +24361,18 @@ function insertTreeRow(_vm, newRecords, isAppend) {
23989
24361
  mergeList = this.mergeList,
23990
24362
  editStore = this.editStore,
23991
24363
  checkboxOpts = this.checkboxOpts,
23992
- selectCheckboxRows = this.selectCheckboxRows,
24364
+ selectCheckboxMaps = this.selectCheckboxMaps,
23993
24365
  isInsertByRow = this.isInsertByRow,
23994
24366
  treeOpts = this.treeOpts;
23995
- var transform = treeOpts.transform;
24367
+ var transform = treeOpts.transform,
24368
+ mapChildrenField = treeOpts.mapChildrenField;
24369
+ var childrenField = treeOpts.children || treeOpts.childrenField;
23996
24370
  var actived = editStore.actived,
23997
24371
  removeList = editStore.removeList,
23998
24372
  insertList = editStore.insertList,
23999
24373
  insertMaps = editStore.insertMaps;
24000
24374
  var checkField = checkboxOpts.checkField;
24001
- var rest = [];
24375
+ var delList = [];
24002
24376
  if (!rows) {
24003
24377
  rows = tableFullData;
24004
24378
  } else if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
@@ -24012,16 +24386,18 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24012
24386
  });
24013
24387
  // 如果绑定了多选属性,则更新状态
24014
24388
  if (!checkField) {
24389
+ var selectRowMaps = _objectSpread2({}, selectCheckboxMaps);
24015
24390
  rows.forEach(function (row) {
24016
- var sIndex = _this2.findRowIndexOf(selectCheckboxRows, row);
24017
- if (sIndex > -1) {
24018
- selectCheckboxRows.splice(sIndex, 1);
24391
+ var rowid = getRowid(_this, row);
24392
+ if (selectRowMaps[rowid]) {
24393
+ delete selectRowMaps[rowid];
24019
24394
  }
24020
24395
  });
24396
+ this.selectCheckboxMaps = selectRowMaps;
24021
24397
  }
24022
24398
  // 从数据源中移除
24023
24399
  if (tableFullData === rows) {
24024
- rows = rest = tableFullData.slice(0);
24400
+ rows = delList = tableFullData.slice(0);
24025
24401
  this.tableFullData = [];
24026
24402
  this.afterFullData = [];
24027
24403
  this.clearMergeCells();
@@ -24029,27 +24405,37 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24029
24405
  // 如果为虚拟树
24030
24406
  if (treeConfig && transform) {
24031
24407
  rows.forEach(function (row) {
24032
- var rowid = getRowid(_this2, row);
24408
+ var rowid = getRowid(_this, row);
24409
+ var matchMapObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData, function (item) {
24410
+ return rowid === getRowid(_this, item);
24411
+ }, {
24412
+ children: mapChildrenField
24413
+ });
24414
+ if (matchMapObj) {
24415
+ var rItems = matchMapObj.items.splice(matchMapObj.index, 1);
24416
+ delList.push(rItems[0]);
24417
+ }
24033
24418
  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);
24419
+ return rowid === getRowid(_this, item);
24420
+ }, {
24421
+ children: childrenField
24422
+ });
24036
24423
  if (matchObj) {
24037
- var rItems = matchObj.items.splice(matchObj.index, 1);
24038
- rest.push(rItems[0]);
24424
+ matchObj.items.splice(matchObj.index, 1);
24039
24425
  }
24040
- var afIndex = _this2.findRowIndexOf(afterFullData, row);
24426
+ var afIndex = _this.findRowIndexOf(afterFullData, row);
24041
24427
  if (afIndex > -1) {
24042
24428
  afterFullData.splice(afIndex, 1);
24043
24429
  }
24044
24430
  });
24045
24431
  } else {
24046
24432
  rows.forEach(function (row) {
24047
- var tfIndex = _this2.findRowIndexOf(tableFullData, row);
24433
+ var tfIndex = _this.findRowIndexOf(tableFullData, row);
24048
24434
  if (tfIndex > -1) {
24049
24435
  var rItems = tableFullData.splice(tfIndex, 1);
24050
- rest.push(rItems[0]);
24436
+ delList.push(rItems[0]);
24051
24437
  }
24052
- var afIndex = _this2.findRowIndexOf(afterFullData, row);
24438
+ var afIndex = _this.findRowIndexOf(afterFullData, row);
24053
24439
  if (afIndex > -1) {
24054
24440
  // 刷新单元格合并
24055
24441
  mergeList.forEach(function (mergeItem) {
@@ -24072,8 +24458,8 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24072
24458
  }
24073
24459
  // 从新增中移除已删除的数据
24074
24460
  rows.forEach(function (row) {
24075
- var rowid = getRowid(_this2, row);
24076
- var iIndex = _this2.findRowIndexOf(insertList, row);
24461
+ var rowid = getRowid(_this, row);
24462
+ var iIndex = _this.findRowIndexOf(insertList, row);
24077
24463
  if (iIndex > -1) {
24078
24464
  insertList.splice(iIndex, 1);
24079
24465
  }
@@ -24090,12 +24476,12 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24090
24476
  this.updateScrollYSpace();
24091
24477
  }
24092
24478
  return this.$nextTick().then(function () {
24093
- _this2.updateCellAreas();
24094
- return _this2.recalculate();
24479
+ _this.updateCellAreas();
24480
+ return _this.recalculate();
24095
24481
  }).then(function () {
24096
24482
  return {
24097
- row: rest.length ? rest[rest.length - 1] : null,
24098
- rows: rest
24483
+ row: delList.length ? delList[delList.length - 1] : null,
24484
+ rows: delList
24099
24485
  };
24100
24486
  });
24101
24487
  },
@@ -24103,9 +24489,9 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24103
24489
  * 删除复选框选中的数据
24104
24490
  */
24105
24491
  _removeCheckboxRow: function _removeCheckboxRow() {
24106
- var _this3 = this;
24492
+ var _this2 = this;
24107
24493
  return this.remove(this.getCheckboxRecords()).then(function (params) {
24108
- _this3.clearCheckboxRow();
24494
+ _this2.clearCheckboxRow();
24109
24495
  return params;
24110
24496
  });
24111
24497
  },
@@ -24113,10 +24499,10 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24113
24499
  * 删除单选框选中的数据
24114
24500
  */
24115
24501
  _removeRadioRow: function _removeRadioRow() {
24116
- var _this4 = this;
24502
+ var _this3 = this;
24117
24503
  var radioRecord = this.getRadioRecord();
24118
24504
  return this.remove(radioRecord || []).then(function (params) {
24119
- _this4.clearRadioRow();
24505
+ _this3.clearRadioRow();
24120
24506
  return params;
24121
24507
  });
24122
24508
  },
@@ -24124,10 +24510,10 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24124
24510
  * 删除当前行选中的数据
24125
24511
  */
24126
24512
  _removeCurrentRow: function _removeCurrentRow() {
24127
- var _this5 = this;
24513
+ var _this4 = this;
24128
24514
  var currentRecord = this.getCurrentRecord();
24129
24515
  return this.remove(currentRecord || []).then(function (params) {
24130
- _this5.clearCurrentRow();
24516
+ _this4.clearCurrentRow();
24131
24517
  return params;
24132
24518
  });
24133
24519
  },
@@ -24145,12 +24531,12 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24145
24531
  * 获取新增的临时数据
24146
24532
  */
24147
24533
  _getInsertRecords: function _getInsertRecords() {
24148
- var _this6 = this;
24534
+ var _this5 = this;
24149
24535
  var fullAllDataRowIdData = this.fullAllDataRowIdData;
24150
24536
  var insertList = this.editStore.insertList;
24151
24537
  var insertRecords = [];
24152
24538
  insertList.forEach(function (row) {
24153
- var rowid = getRowid(_this6, row);
24539
+ var rowid = getRowid(_this5, row);
24154
24540
  if (fullAllDataRowIdData[rowid]) {
24155
24541
  insertRecords.push(row);
24156
24542
  }
@@ -24197,7 +24583,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24197
24583
  * 处理激活编辑
24198
24584
  */
24199
24585
  handleActived: function handleActived(params, evnt) {
24200
- var _this7 = this;
24586
+ var _this6 = this;
24201
24587
  var editStore = this.editStore,
24202
24588
  editOpts = this.editOpts,
24203
24589
  tableColumn = this.tableColumn,
@@ -24233,13 +24619,13 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24233
24619
  actived.column = column;
24234
24620
  if (mode === 'row') {
24235
24621
  tableColumn.forEach(function (column) {
24236
- return _this7._getColumnModel(row, column);
24622
+ return _this6._getColumnModel(row, column);
24237
24623
  });
24238
24624
  } else {
24239
24625
  this._getColumnModel(row, column);
24240
24626
  }
24241
24627
  this.$nextTick(function () {
24242
- _this7.handleFocus(params, evnt);
24628
+ _this6.handleFocus(params, evnt);
24243
24629
  });
24244
24630
  }
24245
24631
  this.emitEvent(type, {
@@ -24268,7 +24654,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24268
24654
  actived.args = params;
24269
24655
  actived.column = column;
24270
24656
  setTimeout(function () {
24271
- _this7.handleFocus(params, evnt);
24657
+ _this6.handleFocus(params, evnt);
24272
24658
  });
24273
24659
  }
24274
24660
  this.focus();
@@ -24293,7 +24679,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24293
24679
  }
24294
24680
  },
24295
24681
  _syncActivedCell: function _syncActivedCell() {
24296
- var _this8 = this;
24682
+ var _this7 = this;
24297
24683
  var tableColumn = this.tableColumn,
24298
24684
  editStore = this.editStore,
24299
24685
  editOpts = this.editOpts;
@@ -24303,7 +24689,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24303
24689
  if (row || column) {
24304
24690
  if (editOpts.mode === 'row') {
24305
24691
  tableColumn.forEach(function (column) {
24306
- return _this8._setColumnModel(row, column);
24692
+ return _this7._setColumnModel(row, column);
24307
24693
  });
24308
24694
  } else {
24309
24695
  this._setColumnModel(row, column);
@@ -24446,22 +24832,22 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24446
24832
  * 激活单元格编辑
24447
24833
  */
24448
24834
  _setEditCell: function _setEditCell(row, fieldOrColumn) {
24449
- var _this9 = this;
24835
+ var _this8 = this;
24450
24836
  var editConfig = this.editConfig;
24451
24837
  var column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
24452
24838
  if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender)) {
24453
24839
  return this.scrollToRow(row, true).then(function () {
24454
- var cell = _this9.getCell(row, column);
24840
+ var cell = _this8.getCell(row, column);
24455
24841
  if (cell) {
24456
- _this9.handleActived({
24842
+ _this8.handleActived({
24457
24843
  row: row,
24458
- rowIndex: _this9.getRowIndex(row),
24844
+ rowIndex: _this8.getRowIndex(row),
24459
24845
  column: column,
24460
- columnIndex: _this9.getColumnIndex(column),
24846
+ columnIndex: _this8.getColumnIndex(column),
24461
24847
  cell: cell,
24462
- $table: _this9
24848
+ $table: _this8
24463
24849
  });
24464
- _this9.lastCallTime = Date.now();
24850
+ _this8.lastCallTime = Date.now();
24465
24851
  }
24466
24852
  });
24467
24853
  }
@@ -24495,7 +24881,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24495
24881
  * 处理选中源
24496
24882
  */
24497
24883
  handleSelected: function handleSelected(params, evnt) {
24498
- var _this10 = this;
24884
+ var _this9 = this;
24499
24885
  var mouseConfig = this.mouseConfig,
24500
24886
  mouseOpts = this.mouseOpts,
24501
24887
  editOpts = this.editOpts,
@@ -24508,23 +24894,23 @@ function insertTreeRow(_vm, newRecords, isAppend) {
24508
24894
  var selectMethod = function selectMethod() {
24509
24895
  if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
24510
24896
  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);
24897
+ _this9.clearActived(evnt);
24898
+ _this9.clearSelected(evnt);
24899
+ _this9.clearCellAreas(evnt);
24900
+ _this9.clearCopyCellArea(evnt);
24515
24901
  selected.args = params;
24516
24902
  selected.row = row;
24517
24903
  selected.column = column;
24518
24904
  if (isMouseSelected) {
24519
- _this10.addColSdCls();
24905
+ _this9.addColSdCls();
24520
24906
  }
24521
- _this10.focus();
24907
+ _this9.focus();
24522
24908
  if (evnt) {
24523
- _this10.emitEvent('cell-selected', params, evnt);
24909
+ _this9.emitEvent('cell-selected', params, evnt);
24524
24910
  }
24525
24911
  }
24526
24912
  }
24527
- return _this10.$nextTick();
24913
+ return _this9.$nextTick();
24528
24914
  };
24529
24915
  return selectMethod();
24530
24916
  },
@@ -26422,6 +26808,9 @@ function renderExtraSuffixIcon(h, _vm) {
26422
26808
  }
26423
26809
  },
26424
26810
  multiple: Boolean,
26811
+ // text
26812
+ showWordCount: Boolean,
26813
+ countMethod: Function,
26425
26814
  // number、integer、float
26426
26815
  min: {
26427
26816
  type: [String, Number],
@@ -26564,6 +26953,12 @@ function renderExtraSuffixIcon(h, _vm) {
26564
26953
  isSearch: function isSearch() {
26565
26954
  return this.type === 'search';
26566
26955
  },
26956
+ inputCount: function inputCount() {
26957
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().getSize(this.inputValue);
26958
+ },
26959
+ isCountError: function isCountError() {
26960
+ return this.maxlength && this.inputCount > external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(this.maxlength);
26961
+ },
26567
26962
  stepValue: function stepValue() {
26568
26963
  var type = this.type,
26569
26964
  step = this.step;
@@ -27028,6 +27423,8 @@ function renderExtraSuffixIcon(h, _vm) {
27028
27423
  inpReadonly = this.inpReadonly,
27029
27424
  className = this.className,
27030
27425
  controls = this.controls,
27426
+ showWordCount = this.showWordCount,
27427
+ countMethod = this.countMethod,
27031
27428
  inputValue = this.inputValue,
27032
27429
  isDatePickerType = this.isDatePickerType,
27033
27430
  visiblePanel = this.visiblePanel,
@@ -27083,8 +27480,20 @@ function renderExtraSuffixIcon(h, _vm) {
27083
27480
  if (isDatePickerType) {
27084
27481
  childs.push(renderPanel(h, this));
27085
27482
  }
27483
+ var isWordCount = false;
27484
+ // 统计字数
27485
+ if (showWordCount && ['text', 'search'].includes(type)) {
27486
+ isWordCount = true;
27487
+ childs.push(h('span', {
27488
+ "class": ['vxe-input--count', {
27489
+ 'is--error': this.isCountError
27490
+ }]
27491
+ }, countMethod ? "".concat(countMethod({
27492
+ value: inputValue
27493
+ })) : "".concat(this.inputCount).concat(inpMaxlength ? "/".concat(inpMaxlength) : '')));
27494
+ }
27086
27495
  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)]
27496
+ "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
27497
  }, childs);
27089
27498
  },
27090
27499
  methods: {
@@ -30306,7 +30715,8 @@ function getExportBlobByContent(content, options) {
30306
30715
  }
30307
30716
  function hasTreeChildren($xetable, row) {
30308
30717
  var treeOpts = $xetable.treeOpts;
30309
- return row[treeOpts.childrenField || treeOpts.children] && row[treeOpts.childrenField || treeOpts.children].length > 0;
30718
+ var childrenField = treeOpts.children || treeOpts.childrenField;
30719
+ return row[childrenField] && row[childrenField].length > 0;
30310
30720
  }
30311
30721
  function getSeq($xetable, row, $rowIndex, column, $columnIndex) {
30312
30722
  var seqOpts = $xetable.seqOpts;
@@ -30346,6 +30756,7 @@ function getLabelData($xetable, opts, columns, datas) {
30346
30756
  radioOpts = $xetable.radioOpts,
30347
30757
  checkboxOpts = $xetable.checkboxOpts,
30348
30758
  columnOpts = $xetable.columnOpts;
30759
+ var childrenField = treeOpts.children || treeOpts.childrenField;
30349
30760
  if (!htmlCellElem) {
30350
30761
  htmlCellElem = document.createElement('div');
30351
30762
  }
@@ -30427,7 +30838,9 @@ function getLabelData($xetable, opts, columns, datas) {
30427
30838
  expandMaps.set(row, 1);
30428
30839
  rest.push(Object.assign(_item, row));
30429
30840
  }
30430
- }, treeOpts);
30841
+ }, {
30842
+ children: childrenField
30843
+ });
30431
30844
  return rest;
30432
30845
  }
30433
30846
  return datas.map(function (row, $rowIndex) {
@@ -31202,7 +31615,7 @@ function handleFileImport($xetable, file, opts) {
31202
31615
  filename = _UtilTools$parseFile.filename;
31203
31616
 
31204
31617
  // 检查类型,如果为自定义导出,则不需要校验类型
31205
- if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.config.importTypes, type)) {
31618
+ if (!importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(v_x_e_table.globalConfs.importTypes, type)) {
31206
31619
  if (opts.message !== false) {
31207
31620
  // 检测弹窗模块
31208
31621
  if (false) {}
@@ -31434,7 +31847,7 @@ function handleExportAndPrint($xetable, options, isPrint) {
31434
31847
  message: true,
31435
31848
  isHeader: true
31436
31849
  }, options);
31437
- var types = defOpts.types || v_x_e_table.config.exportTypes;
31850
+ var types = defOpts.types || v_x_e_table.globalConfs.exportTypes;
31438
31851
  var modes = defOpts.modes;
31439
31852
  var checkMethod = customOpts.checkMethod;
31440
31853
  var exportColumns = collectColumn.slice(0);
@@ -31694,7 +32107,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31694
32107
  }
31695
32108
 
31696
32109
  // 检查类型,如果为自定义导出,则不需要校验类型
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)) {
32110
+ 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
32111
  if (false) {}
31699
32112
  var params = {
31700
32113
  status: false
@@ -31774,7 +32187,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31774
32187
  _importData: function _importData(options) {
31775
32188
  var _this2 = this;
31776
32189
  var opts = Object.assign({
31777
- types: v_x_e_table.config.importTypes
32190
+ types: v_x_e_table.globalConfs.importTypes
31778
32191
  // beforeImportMethod: null,
31779
32192
  // afterImportMethod: null
31780
32193
  }, this.importOpts, options);
@@ -31835,7 +32248,7 @@ var mixin_convertToRows = function convertToRows(originColumns) {
31835
32248
  var defOpts = Object.assign({
31836
32249
  mode: 'insert',
31837
32250
  message: true,
31838
- types: v_x_e_table.config.importTypes
32251
+ types: v_x_e_table.globalConfs.importTypes
31839
32252
  }, options, this.importOpts);
31840
32253
  var types = defOpts.types;
31841
32254
  var isTree = !!this.getTreeStatus();
@@ -32063,13 +32476,16 @@ function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
32063
32476
  treeConfig = this.treeConfig,
32064
32477
  treeOpts = this.treeOpts,
32065
32478
  afterFullData = this.afterFullData;
32479
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32066
32480
  var targetRow;
32067
32481
  evnt.preventDefault();
32068
32482
  if (currentRow) {
32069
32483
  if (treeConfig) {
32070
32484
  var _XEUtils$findTree = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData, function (item) {
32071
32485
  return item === currentRow;
32072
- }, treeOpts),
32486
+ }, {
32487
+ children: childrenField
32488
+ }),
32073
32489
  index = _XEUtils$findTree.index,
32074
32490
  items = _XEUtils$findTree.items;
32075
32491
  if (isUpArrow && index > 0) {
@@ -32496,6 +32912,7 @@ function validErrorRuleValue(rule, val) {
32496
32912
  afterFullData = this.afterFullData,
32497
32913
  treeConfig = this.treeConfig,
32498
32914
  treeOpts = this.treeOpts;
32915
+ var childrenField = treeOpts.children || treeOpts.childrenField;
32499
32916
  var vaildDatas;
32500
32917
  if (rows === true) {
32501
32918
  vaildDatas = afterFullData;
@@ -32548,7 +32965,9 @@ function validErrorRuleValue(rule, val) {
32548
32965
  }
32549
32966
  };
32550
32967
  if (treeConfig) {
32551
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, treeOpts);
32968
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(vaildDatas, handleVaild, {
32969
+ children: childrenField
32970
+ });
32552
32971
  } else {
32553
32972
  vaildDatas.forEach(handleVaild);
32554
32973
  }
@@ -37590,7 +38009,8 @@ var VxeFormConfigItem = {
37590
38009
  allTitleWidth = $xeform.titleWidth,
37591
38010
  allTitleColon = $xeform.titleColon,
37592
38011
  allTitleAsterisk = $xeform.titleAsterisk,
37593
- allTitleOverflow = $xeform.titleOverflow;
38012
+ allTitleOverflow = $xeform.titleOverflow,
38013
+ allVertical = $xeform.vertical;
37594
38014
  var slots = item.slots,
37595
38015
  title = item.title,
37596
38016
  folding = item.folding,
@@ -37602,6 +38022,7 @@ var VxeFormConfigItem = {
37602
38022
  errRule = item.errRule,
37603
38023
  className = item.className,
37604
38024
  titleOverflow = item.titleOverflow,
38025
+ vertical = item.vertical,
37605
38026
  children = item.children,
37606
38027
  showTitle = item.showTitle,
37607
38028
  contentClassName = item.contentClassName,
@@ -37622,6 +38043,7 @@ var VxeFormConfigItem = {
37622
38043
  var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleColon) ? allTitleColon : item.titleColon;
37623
38044
  var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
37624
38045
  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;
38046
+ 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
38047
  var ovEllipsis = itemOverflow === 'ellipsis';
37626
38048
  var ovTitle = itemOverflow === 'title';
37627
38049
  var ovTooltip = itemOverflow === true || itemOverflow === 'tooltip';
@@ -37681,6 +38103,7 @@ var VxeFormConfigItem = {
37681
38103
  "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
38104
  'is--title': title,
37683
38105
  'is--colon': titleColon,
38106
+ 'is--vertical': itemVertical,
37684
38107
  'is--asterisk': titleAsterisk,
37685
38108
  'is--required': isRequired,
37686
38109
  'is--hidden': folding && collapseAll,
@@ -37872,6 +38295,10 @@ function getResetValue(value, resetValue) {
37872
38295
  type: [Boolean, String],
37873
38296
  "default": null
37874
38297
  },
38298
+ vertical: {
38299
+ type: Boolean,
38300
+ "default": null
38301
+ },
37875
38302
  className: [String, Function],
37876
38303
  readonly: Boolean,
37877
38304
  items: Array,
@@ -38503,6 +38930,10 @@ var form_item_props = {
38503
38930
  type: Boolean,
38504
38931
  "default": true
38505
38932
  },
38933
+ vertical: {
38934
+ type: Boolean,
38935
+ "default": null
38936
+ },
38506
38937
  className: [String, Function],
38507
38938
  contentClassName: [String, Function],
38508
38939
  contentStyle: [Object, Function],
@@ -38542,7 +38973,8 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38542
38973
  allTitleWidth = _vm.titleWidth,
38543
38974
  allTitleColon = _vm.titleColon,
38544
38975
  allTitleAsterisk = _vm.titleAsterisk,
38545
- allTitleOverflow = _vm.titleOverflow;
38976
+ allTitleOverflow = _vm.titleOverflow,
38977
+ allVertical = _vm.vertical;
38546
38978
  var title = item.title,
38547
38979
  folding = item.folding,
38548
38980
  visible = item.visible,
@@ -38553,6 +38985,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38553
38985
  errRule = item.errRule,
38554
38986
  className = item.className,
38555
38987
  titleOverflow = item.titleOverflow,
38988
+ vertical = item.vertical,
38556
38989
  showTitle = item.showTitle,
38557
38990
  contentClassName = item.contentClassName,
38558
38991
  contentStyle = item.contentStyle,
@@ -38572,6 +39005,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38572
39005
  var titleColon = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleColon) ? allTitleColon : item.titleColon;
38573
39006
  var titleAsterisk = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(item.titleAsterisk) ? allTitleAsterisk : item.titleAsterisk;
38574
39007
  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;
39008
+ 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
39009
  var ovEllipsis = itemOverflow === 'ellipsis';
38576
39010
  var ovTitle = itemOverflow === 'title';
38577
39011
  var ovTooltip = itemOverflow === true || itemOverflow === 'tooltip';
@@ -38616,6 +39050,7 @@ var renderItem = function renderItem(h, _vm, item, slots) {
38616
39050
  "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
39051
  'is--title': title,
38618
39052
  'is--colon': titleColon,
39053
+ 'is--vertical': itemVertical,
38619
39054
  'is--asterisk': titleAsterisk,
38620
39055
  'is--required': isRequired,
38621
39056
  'is--hidden': folding && collapseAll,