vxe-table 4.1.8 → 4.1.11-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/es/button/src/button.js +14 -14
  2. package/es/edit/src/hook.js +19 -28
  3. package/es/export/src/hook.js +4 -4
  4. package/es/filter/src/hook.js +21 -2
  5. package/es/select/src/select.js +1 -1
  6. package/es/table/src/body.js +19 -16
  7. package/es/table/src/cell.js +16 -14
  8. package/es/table/src/table.js +212 -131
  9. package/es/table/src/util.js +4 -1
  10. package/es/tools/dom.js +2 -8
  11. package/es/v-x-e-table/src/conf.js +2 -1
  12. package/lib/button/src/button.js +15 -14
  13. package/lib/button/src/button.min.js +1 -1
  14. package/lib/edit/src/hook.js +19 -29
  15. package/lib/edit/src/hook.min.js +1 -1
  16. package/lib/export/src/hook.js +3 -5
  17. package/lib/export/src/hook.min.js +1 -1
  18. package/lib/filter/src/hook.js +24 -1
  19. package/lib/filter/src/hook.min.js +1 -1
  20. package/lib/index.umd.js +509 -291
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/select/src/select.js +1 -1
  23. package/lib/select/src/select.min.js +1 -1
  24. package/lib/table/src/body.js +19 -19
  25. package/lib/table/src/body.min.js +1 -1
  26. package/lib/table/src/cell.js +16 -16
  27. package/lib/table/src/cell.min.js +1 -1
  28. package/lib/table/src/table.js +294 -171
  29. package/lib/table/src/table.min.js +1 -1
  30. package/lib/table/src/util.js +8 -1
  31. package/lib/table/src/util.min.js +1 -1
  32. package/lib/tools/dom.js +2 -9
  33. package/lib/tools/dom.min.js +1 -1
  34. package/lib/v-x-e-table/src/conf.js +2 -1
  35. package/lib/v-x-e-table/src/conf.min.js +1 -1
  36. package/package.json +4 -4
  37. package/packages/button/src/button.ts +14 -14
  38. package/packages/edit/src/hook.ts +19 -28
  39. package/packages/export/src/hook.ts +4 -4
  40. package/packages/filter/src/hook.ts +21 -2
  41. package/packages/select/src/select.ts +1 -1
  42. package/packages/table/src/body.ts +19 -16
  43. package/packages/table/src/cell.ts +16 -14
  44. package/packages/table/src/table.ts +225 -146
  45. package/packages/table/src/util.ts +5 -1
  46. package/packages/tools/dom.ts +2 -7
  47. package/packages/v-x-e-table/src/conf.ts +2 -1
  48. package/types/column.d.ts +1 -0
  49. package/types/filter.d.ts +5 -0
  50. package/types/plugins/pro.d.ts +5 -0
  51. package/types/table.d.ts +15 -5
@@ -127,39 +127,39 @@ export default defineComponent({
127
127
  var panelStyle = {
128
128
  zIndex: panelIndex
129
129
  };
130
- var _a = getAbsolutePos(targetElem), boundingTop = _a.boundingTop, boundingLeft = _a.boundingLeft, visibleHeight = _a.visibleHeight, visibleWidth = _a.visibleWidth;
130
+ var _a = getAbsolutePos(targetElem), top_1 = _a.top, left = _a.left, boundingTop = _a.boundingTop, visibleHeight = _a.visibleHeight, visibleWidth = _a.visibleWidth;
131
131
  var panelPlacement = 'bottom';
132
132
  if (transfer) {
133
- var left = boundingLeft + targetWidth - panelWidth;
134
- var top_1 = boundingTop + targetHeight;
133
+ var btnLeft = left + targetWidth - panelWidth;
134
+ var btnTop = top_1 + targetHeight;
135
135
  if (placement === 'top') {
136
136
  panelPlacement = 'top';
137
- top_1 = boundingTop - panelHeight;
137
+ btnTop = top_1 - panelHeight;
138
138
  }
139
139
  else if (!placement) {
140
140
  // 如果下面不够放,则向上
141
- if (top_1 + panelHeight + marginSize > visibleHeight) {
141
+ if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) {
142
142
  panelPlacement = 'top';
143
- top_1 = boundingTop - panelHeight;
143
+ btnTop = top_1 - panelHeight;
144
144
  }
145
145
  // 如果上面不够放,则向下(优先)
146
- if (top_1 < marginSize) {
146
+ if (btnTop < marginSize) {
147
147
  panelPlacement = 'bottom';
148
- top_1 = boundingTop + targetHeight;
148
+ btnTop = top_1 + targetHeight;
149
149
  }
150
150
  }
151
151
  // 如果溢出右边
152
- if (left + panelWidth + marginSize > visibleWidth) {
153
- left -= left + panelWidth + marginSize - visibleWidth;
152
+ if (btnLeft + panelWidth + marginSize > visibleWidth) {
153
+ btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth;
154
154
  }
155
155
  // 如果溢出左边
156
- if (left < marginSize) {
157
- left = marginSize;
156
+ if (btnLeft < marginSize) {
157
+ btnLeft = marginSize;
158
158
  }
159
159
  Object.assign(panelStyle, {
160
- left: left + "px",
160
+ left: btnLeft + "px",
161
161
  right: 'auto',
162
- top: top_1 + "px",
162
+ top: btnTop + "px",
163
163
  minWidth: targetWidth + "px"
164
164
  });
165
165
  }
@@ -25,7 +25,7 @@ var editHook = {
25
25
  setupTable: function ($xetable) {
26
26
  var props = $xetable.props, reactData = $xetable.reactData, internalData = $xetable.internalData;
27
27
  var refElem = $xetable.getRefMaps().refElem;
28
- var _a = $xetable.getComputeMaps(), computeMouseOpts = _a.computeMouseOpts, computeEditOpts = _a.computeEditOpts, computeCheckboxOpts = _a.computeCheckboxOpts, computeSYOpts = _a.computeSYOpts, computeTreeOpts = _a.computeTreeOpts;
28
+ var _a = $xetable.getComputeMaps(), computeMouseOpts = _a.computeMouseOpts, computeEditOpts = _a.computeEditOpts, computeCheckboxOpts = _a.computeCheckboxOpts, computeTreeOpts = _a.computeTreeOpts;
29
29
  var editMethods = {};
30
30
  var editPrivateMethods = {};
31
31
  var getEditColumnModel = function (row, column) {
@@ -67,13 +67,13 @@ var editHook = {
67
67
  }
68
68
  }
69
69
  function insertTreeRow(newRecords, isAppend) {
70
- var treeFullData = internalData.treeFullData, afterFullData = internalData.afterFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
70
+ var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
71
71
  var treeOpts = computeTreeOpts.value;
72
72
  var funcName = isAppend ? 'push' : 'unshift';
73
73
  newRecords.forEach(function (item) {
74
74
  var parentRowId = item[treeOpts.parentField];
75
75
  var rowid = getRowid($xetable, item);
76
- var matchObj = parentRowId ? XEUtils.findTree(treeFullData, function (item) { return parentRowId === item[treeOpts.rowField]; }, treeOpts) : null;
76
+ var matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, function (item) { return parentRowId === item[treeOpts.rowField]; }, treeOpts) : null;
77
77
  if (matchObj) {
78
78
  var parentRow = matchObj.item;
79
79
  var parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)];
@@ -83,7 +83,7 @@ var editHook = {
83
83
  parentChilds = parentRow[treeOpts.children] = [];
84
84
  }
85
85
  parentChilds[funcName](item);
86
- var rest = { row: item, rowid: rowid, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parent, level: parentLevel + 1 };
86
+ var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parent, level: parentLevel + 1 };
87
87
  fullDataRowIdData[rowid] = rest;
88
88
  fullAllDataRowIdData[rowid] = rest;
89
89
  }
@@ -94,13 +94,12 @@ var editHook = {
94
94
  }
95
95
  }
96
96
  afterFullData[funcName](item);
97
- treeFullData[funcName](item);
98
- var rest = { row: item, rowid: rowid, index: -1, _index: -1, $index: -1, items: treeFullData, parent: null, level: 0 };
97
+ tableFullTreeData[funcName](item);
98
+ var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: tableFullTreeData, parent: null, level: 0 };
99
99
  fullDataRowIdData[rowid] = rest;
100
100
  fullAllDataRowIdData[rowid] = rest;
101
101
  }
102
102
  });
103
- $xetable.updateVirtualTreeData();
104
103
  }
105
104
  editMethods = {
106
105
  /**
@@ -122,9 +121,8 @@ var editHook = {
122
121
  insertAt: function (records, row) {
123
122
  var _a;
124
123
  var treeConfig = props.treeConfig;
125
- var mergeList = reactData.mergeList, editStore = reactData.editStore, scrollYLoad = reactData.scrollYLoad;
126
- var treeFullData = internalData.treeFullData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
127
- var sYOpts = computeSYOpts.value;
124
+ var mergeList = reactData.mergeList, editStore = reactData.editStore;
125
+ var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
128
126
  var treeOpts = computeTreeOpts.value;
129
127
  var transform = treeOpts.transform;
130
128
  if (!XEUtils.isArray(records)) {
@@ -169,7 +167,7 @@ var editHook = {
169
167
  else {
170
168
  // 如果为虚拟树
171
169
  if (treeConfig && transform) {
172
- var matchObj_1 = XEUtils.findTree(treeFullData, function (item) { return row[treeOpts.rowField] === item[treeOpts.rowField]; }, treeOpts);
170
+ var matchObj_1 = XEUtils.findTree(tableFullTreeData, function (item) { return row[treeOpts.rowField] === item[treeOpts.rowField]; }, treeOpts);
173
171
  if (matchObj_1) {
174
172
  var parentRow_1 = matchObj_1.parent;
175
173
  var parentChilds_1 = matchObj_1.items;
@@ -188,11 +186,10 @@ var editHook = {
188
186
  item[treeOpts.parentField] = parentRow_1[treeOpts.rowField];
189
187
  }
190
188
  parentChilds_1.splice(matchObj_1.index + i, 0, item);
191
- var rest = { row: item, rowid: rowid, index: -1, _index: -1, $index: -1, items: parentChilds_1, parent: parentRow_1, level: parentLevel_1 + 1 };
189
+ var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds_1, parent: parentRow_1, level: parentLevel_1 + 1 };
192
190
  fullDataRowIdData[rowid] = rest;
193
191
  fullAllDataRowIdData[rowid] = rest;
194
192
  });
195
- $xetable.updateVirtualTreeData();
196
193
  }
197
194
  else {
198
195
  if (process.env.NODE_ENV === 'development') {
@@ -225,13 +222,11 @@ var editHook = {
225
222
  }
226
223
  }
227
224
  (_a = editStore.insertList).unshift.apply(_a, newRecords);
228
- reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
229
225
  $xetable.updateFooter();
230
226
  $xetable.cacheRowMap();
231
- $xetable.handleTableData(transform);
232
- $xetable.updateAfterDataIndex();
227
+ $xetable.handleTableData(treeConfig && treeOpts.transform);
233
228
  $xetable.checkSelectionStatus();
234
- if (scrollYLoad) {
229
+ if (reactData.scrollYLoad) {
235
230
  $xetable.updateScrollYSpace();
236
231
  }
237
232
  return nextTick().then(function () {
@@ -252,10 +247,9 @@ var editHook = {
252
247
  */
253
248
  remove: function (rows) {
254
249
  var treeConfig = props.treeConfig;
255
- var mergeList = reactData.mergeList, editStore = reactData.editStore, selection = reactData.selection, scrollYLoad = reactData.scrollYLoad;
256
- var treeFullData = internalData.treeFullData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData;
250
+ var mergeList = reactData.mergeList, editStore = reactData.editStore, selection = reactData.selection;
251
+ var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData;
257
252
  var checkboxOpts = computeCheckboxOpts.value;
258
- var sYOpts = computeSYOpts.value;
259
253
  var treeOpts = computeTreeOpts.value;
260
254
  var transform = treeOpts.transform;
261
255
  var actived = editStore.actived, removeList = editStore.removeList, insertList = editStore.insertList;
@@ -294,7 +288,7 @@ var editHook = {
294
288
  if (treeConfig && transform) {
295
289
  rows.forEach(function (row) {
296
290
  var rowid = getRowid($xetable, row);
297
- var matchObj = XEUtils.findTree(treeFullData, function (item) { return rowid === getRowid($xetable, item); }, treeOpts);
291
+ var matchObj = XEUtils.findTree(tableFullTreeData, function (item) { return rowid === getRowid($xetable, item); }, treeOpts);
298
292
  if (matchObj) {
299
293
  var rItems = matchObj.items.splice(matchObj.index, 1);
300
294
  rest.push(rItems[0]);
@@ -303,7 +297,6 @@ var editHook = {
303
297
  if (afIndex > -1) {
304
298
  afterFullData.splice(afIndex, 1);
305
299
  }
306
- $xetable.updateVirtualTreeData();
307
300
  });
308
301
  }
309
302
  else {
@@ -341,13 +334,11 @@ var editHook = {
341
334
  insertList.splice(iIndex, 1);
342
335
  }
343
336
  });
344
- reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
345
337
  $xetable.updateFooter();
346
338
  $xetable.cacheRowMap();
347
- $xetable.handleTableData(transform);
348
- $xetable.updateAfterDataIndex();
339
+ $xetable.handleTableData(treeConfig && treeOpts.transform);
349
340
  $xetable.checkSelectionStatus();
350
- if (scrollYLoad) {
341
+ if (reactData.scrollYLoad) {
351
342
  $xetable.updateScrollYSpace();
352
343
  }
353
344
  return nextTick().then(function () {
@@ -402,7 +393,7 @@ var editHook = {
402
393
  getInsertRecords: function () {
403
394
  var treeConfig = props.treeConfig;
404
395
  var editStore = reactData.editStore;
405
- var treeFullData = internalData.treeFullData, tableFullData = internalData.tableFullData;
396
+ var tableFullTreeData = internalData.tableFullTreeData, tableFullData = internalData.tableFullData;
406
397
  var treeOpts = computeTreeOpts.value;
407
398
  var insertList = editStore.insertList;
408
399
  var insertRecords = [];
@@ -411,7 +402,7 @@ var editHook = {
411
402
  if (treeConfig && treeOpts.transform) {
412
403
  insertList.forEach(function (row) {
413
404
  var rowid = getRowid($xetable, row);
414
- var matchObj = XEUtils.findTree(treeFullData, function (item) { return rowid === getRowid($xetable, item); }, treeOpts);
405
+ var matchObj = XEUtils.findTree(tableFullTreeData, function (item) { return rowid === getRowid($xetable, item); }, treeOpts);
415
406
  if (matchObj) {
416
407
  insertRecords.push(row);
417
408
  }
@@ -2,7 +2,7 @@ import { inject, nextTick } from 'vue';
2
2
  import XEUtils from 'xe-utils';
3
3
  import GlobalConfig from '../../v-x-e-table/src/conf';
4
4
  import { VXETable } from '../../v-x-e-table';
5
- import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../table/src/util';
5
+ import { isColumnInfo, mergeBodyMethod, getCellValue, toTreePathSeq } from '../../table/src/util';
6
6
  import { errLog, warnLog, parseFile, formatText } from '../../tools/utils';
7
7
  import { readLocalFile, handlePrint, saveLocalFile, createHtmlPage, getExportBlobByContent } from './util';
8
8
  var htmlCellElem;
@@ -265,14 +265,14 @@ var tableExportHook = {
265
265
  var treeOpts = computeTreeOpts.value;
266
266
  return row[treeOpts.children] && row[treeOpts.children].length;
267
267
  };
268
- var getSeq = function (row, rowIndex, column, columnIndex, paths) {
268
+ var getSeq = function (row, rowIndex, column, columnIndex, path) {
269
269
  var seqOpts = computeSeqOpts.value;
270
270
  var seqMethod = seqOpts.seqMethod || column.seqMethod;
271
271
  if (seqMethod) {
272
272
  return seqMethod({ row: row, rowIndex: rowIndex, column: column, columnIndex: columnIndex });
273
273
  }
274
- if (paths) {
275
- return paths.map(function (num, i) { return i % 2 === 0 ? (Number(num) + 1) : '.'; }).join('');
274
+ if (path) {
275
+ return toTreePathSeq(path);
276
276
  }
277
277
  return seqOpts.startIndex + rowIndex + 1;
278
278
  };
@@ -13,7 +13,7 @@ import { nextTick } from 'vue';
13
13
  import XEUtils from 'xe-utils';
14
14
  import { VXETable } from '../../v-x-e-table';
15
15
  import { toFilters, handleFieldOrColumn } from '../../table/src/util';
16
- import { getDomNode } from '../../tools/dom';
16
+ import { getDomNode, triggerEvent } from '../../tools/dom';
17
17
  var tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters'];
18
18
  var tableFilterHook = {
19
19
  setupTable: function ($xetable) {
@@ -91,7 +91,7 @@ var tableFilterHook = {
91
91
  // 判断面板不能大于表格高度
92
92
  var maxHeight = null;
93
93
  if (filterHeight >= bodyElem.clientHeight) {
94
- maxHeight = Math.max(40, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
94
+ maxHeight = Math.max(60, bodyElem.clientHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
95
95
  }
96
96
  if (column.fixed === 'left') {
97
97
  left = targetElem_1.offsetLeft + targetElem_1.offsetParent.offsetLeft - centerWidth;
@@ -181,6 +181,25 @@ var tableFilterHook = {
181
181
  }
182
182
  };
183
183
  var filterMethods = {
184
+ /**
185
+ * 手动弹出筛选面板
186
+ * @param column
187
+ */
188
+ openFilter: function (fieldOrColumn) {
189
+ var column = handleFieldOrColumn($xetable, fieldOrColumn);
190
+ if (column && column.filters) {
191
+ var elemStore_1 = internalData.elemStore;
192
+ var fixed_1 = column.fixed;
193
+ return $xetable.scrollToColumn(column).then(function () {
194
+ var headerWrapperElem = elemStore_1[(fixed_1 || 'main') + "-header-wrapper"] || elemStore_1['main-header-wrapper'];
195
+ if (headerWrapperElem) {
196
+ var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column." + column.id + " .vxe-filter--btn");
197
+ triggerEvent(filterBtnElem, 'click');
198
+ }
199
+ });
200
+ }
201
+ return nextTick();
202
+ },
184
203
  /**
185
204
  * 修改筛选条件列表
186
205
  * @param {ColumnInfo} fieldOrColumn 列或字段名
@@ -151,7 +151,7 @@ export default defineComponent({
151
151
  return getSelectLabel(modelValue);
152
152
  });
153
153
  var getOptkey = function () {
154
- return props.optionId || '_XID';
154
+ return props.optionId || '_X_ID';
155
155
  };
156
156
  var getOptid = function (option) {
157
157
  var optid = option[getOptkey()];
@@ -110,7 +110,7 @@ export default defineComponent({
110
110
  /**
111
111
  * 渲染列
112
112
  */
113
- var renderColumn = function ($seq, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
113
+ var renderColumn = function (seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
114
114
  var _a;
115
115
  var columnKey = tableProps.columnKey, height = tableProps.height, allColumnOverflow = tableProps.showOverflow, cellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
116
116
  var tableData = tableReactData.tableData, overflowX = tableReactData.overflowX, scrollYLoad = tableReactData.scrollYLoad, currentColumn = tableReactData.currentColumn, mergeList = tableReactData.mergeList, editStore = tableReactData.editStore, validStore = tableReactData.validStore, isAllOverflow = tableReactData.isAllOverflow;
@@ -141,7 +141,7 @@ export default defineComponent({
141
141
  var hasValidError = validStore.row === row && validStore.column === column;
142
142
  var showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? (height || tableData.length > 1) : validOpts.message === 'inline');
143
143
  var attrs = { colid: column.id };
144
- var params = { $table: $xetable, $seq: $seq, seq: seq, rowid: rowid, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, level: rowLevel, visibleData: afterFullData, data: tableData, items: items };
144
+ var params = { $table: $xetable, seq: seq, rowid: rowid, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, level: rowLevel, visibleData: afterFullData, data: tableData, items: items };
145
145
  // 虚拟滚动不支持动态高度
146
146
  if (scrollYLoad && !hasEllipsis) {
147
147
  showEllipsis = hasEllipsis = true;
@@ -282,23 +282,20 @@ export default defineComponent({
282
282
  height: hasEllipsis && (scrollYRHeight || rowHeight) ? (scrollYRHeight || rowHeight) + "px" : ''
283
283
  }, cellStyle ? (XEUtils.isFunction(cellStyle) ? cellStyle(params) : cellStyle) : null) }), tdOns), tdVNs);
284
284
  };
285
- var renderRows = function ($seq, fixedType, tableData, tableColumn) {
285
+ var renderRows = function (fixedType, tableData, tableColumn) {
286
286
  var stripe = tableProps.stripe, rowKey = tableProps.rowKey, highlightHoverRow = tableProps.highlightHoverRow, rowClassName = tableProps.rowClassName, rowStyle = tableProps.rowStyle, allColumnOverflow = tableProps.showOverflow, editConfig = tableProps.editConfig, treeConfig = tableProps.treeConfig;
287
287
  var hasFixedColumn = tableReactData.hasFixedColumn, treeExpandeds = tableReactData.treeExpandeds, scrollYLoad = tableReactData.scrollYLoad, editStore = tableReactData.editStore, rowExpandeds = tableReactData.rowExpandeds, expandColumn = tableReactData.expandColumn, selectRow = tableReactData.selectRow;
288
- var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData, scrollYStore = tableInternalData.scrollYStore;
288
+ var fullDataRowIdData = tableInternalData.fullDataRowIdData;
289
289
  var checkboxOpts = computeCheckboxOpts.value;
290
290
  var radioOpts = computeRadioOpts.value;
291
291
  var treeOpts = computeTreeOpts.value;
292
292
  var editOpts = computeEditOpts.value;
293
293
  var rowOpts = computeRowOpts.value;
294
+ var transform = treeOpts.transform;
294
295
  var rows = [];
295
296
  tableData.forEach(function (row, $rowIndex) {
296
297
  var trOn = {};
297
298
  var rowIndex = $rowIndex;
298
- var seq = rowIndex + 1;
299
- if (scrollYLoad) {
300
- seq += scrollYStore.startIndex;
301
- }
302
299
  var _rowIndex = $xetable.getVTRowIndex(row);
303
300
  // 确保任何情况下 rowIndex 都精准指向真实 data 索引
304
301
  rowIndex = $xetable.getRowIndex(row);
@@ -318,9 +315,15 @@ export default defineComponent({
318
315
  };
319
316
  }
320
317
  var rowid = getRowid($xetable, row);
321
- var rest = fullAllDataRowIdData[rowid];
322
- var rowLevel = rest ? rest.level : 0;
323
- var params = { $table: $xetable, $seq: $seq, seq: seq, rowid: rowid, fixed: fixedType, type: renderType, level: rowLevel, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex };
318
+ var rest = fullDataRowIdData[rowid];
319
+ var rowLevel = 0;
320
+ var seq = -1;
321
+ if (rest) {
322
+ rowLevel = rest.level;
323
+ seq = rest.seq;
324
+ }
325
+ var params = { $table: $xetable, seq: seq, rowid: rowid, fixed: fixedType, type: renderType, level: rowLevel, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex };
326
+ // 处理新增状态
324
327
  var isNewRow = false;
325
328
  if (editConfig) {
326
329
  isNewRow = $xetable.findRowIndexOf(editStore.insertList, row) > -1;
@@ -332,7 +335,7 @@ export default defineComponent({
332
335
  'row--radio': radioOpts.highlight && selectRow === row,
333
336
  'row--checked': checkboxOpts.highlight && $xetable.isCheckedByCheckboxRow(row)
334
337
  }, rowClassName ? (XEUtils.isFunction(rowClassName) ? rowClassName(params) : rowClassName) : ''], rowid: rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(params) : rowStyle) : null, key: rowKey || treeConfig ? rowid : $rowIndex }, trOn), tableColumn.map(function (column, $columnIndex) {
335
- return renderColumn($seq, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
338
+ return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
336
339
  })));
337
340
  // 如果行被展开了
338
341
  if (expandColumn && rowExpandeds.length && $xetable.findRowIndexOf(rowExpandeds, row) > -1) {
@@ -344,7 +347,7 @@ export default defineComponent({
344
347
  }
345
348
  var showOverflow = expandColumn.showOverflow;
346
349
  var hasEllipsis = (XEUtils.isUndefined(showOverflow) || XEUtils.isNull(showOverflow)) ? allColumnOverflow : showOverflow;
347
- var expandParams = { $table: $xetable, $seq: $seq, seq: seq, column: expandColumn, fixed: fixedType, type: renderType, level: rowLevel, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex };
350
+ var expandParams = { $table: $xetable, seq: seq, column: expandColumn, fixed: fixedType, type: renderType, level: rowLevel, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex };
348
351
  rows.push(h('tr', __assign({ class: 'vxe-body--expanded-row', key: "expand_" + rowid, style: rowStyle ? (XEUtils.isFunction(rowStyle) ? rowStyle(expandParams) : rowStyle) : null }, trOn), [
349
352
  h('td', {
350
353
  class: ['vxe-body--expanded-column', {
@@ -363,10 +366,10 @@ export default defineComponent({
363
366
  ]));
364
367
  }
365
368
  // 如果是树形表格
366
- if (treeConfig && !scrollYLoad && treeExpandeds.length) {
369
+ if (treeConfig && !scrollYLoad && !transform && treeExpandeds.length) {
367
370
  var rowChildren = row[treeOpts.children];
368
371
  if (rowChildren && rowChildren.length && $xetable.findRowIndexOf(treeExpandeds, row) > -1) {
369
- rows.push.apply(rows, renderRows($seq ? $seq + "." + seq : "" + seq, fixedType, rowChildren, tableColumn));
372
+ rows.push.apply(rows, renderRows(fixedType, rowChildren, tableColumn));
370
373
  }
371
374
  }
372
375
  });
@@ -655,7 +658,7 @@ export default defineComponent({
655
658
  */
656
659
  h('tbody', {
657
660
  ref: refBodyTBody
658
- }, renderRows('', fixedType, tableData, tableColumn))
661
+ }, renderRows(fixedType, tableData, tableColumn))
659
662
  ]),
660
663
  h('div', {
661
664
  class: 'vxe-table--checkbox-range'
@@ -105,16 +105,16 @@ export var Cell = {
105
105
  };
106
106
  switch (type) {
107
107
  case 'seq':
108
- renConfs.renderHeader = Cell.renderIndexHeader;
109
- renConfs.renderCell = treeNode ? Cell.renderTreeIndexCell : Cell.renderIndexCell;
108
+ renConfs.renderHeader = Cell.renderSeqHeader;
109
+ renConfs.renderCell = treeNode ? Cell.renderTreeIndexCell : Cell.renderSeqCell;
110
110
  break;
111
111
  case 'radio':
112
112
  renConfs.renderHeader = Cell.renderRadioHeader;
113
113
  renConfs.renderCell = treeNode ? Cell.renderTreeRadioCell : Cell.renderRadioCell;
114
114
  break;
115
115
  case 'checkbox':
116
- renConfs.renderHeader = Cell.renderSelectionHeader;
117
- renConfs.renderCell = checkboxOpts.checkField ? (treeNode ? Cell.renderTreeSelectionCellByProp : Cell.renderSelectionCellByProp) : (treeNode ? Cell.renderTreeSelectionCell : Cell.renderSelectionCell);
116
+ renConfs.renderHeader = Cell.renderCheckboxHeader;
117
+ renConfs.renderCell = checkboxOpts.checkField ? (treeNode ? Cell.renderTreeSelectionCellByProp : Cell.renderCheckboxCellByProp) : (treeNode ? Cell.renderTreeSelectionCell : Cell.renderCheckboxCell);
118
118
  break;
119
119
  case 'expand':
120
120
  renConfs.renderCell = Cell.renderExpandCell;
@@ -266,14 +266,16 @@ export var Cell = {
266
266
  /**
267
267
  * 索引
268
268
  */
269
- renderIndexHeader: function (params) {
269
+ renderSeqHeader: function (params) {
270
270
  var $table = params.$table, column = params.column;
271
271
  var slots = column.slots;
272
272
  var headerSlot = slots ? slots.header : null;
273
273
  return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : formatText(column.getTitle(), 1));
274
274
  },
275
- renderIndexCell: function (params) {
275
+ renderSeqCell: function (params) {
276
276
  var $table = params.$table, column = params.column;
277
+ var props = $table.props;
278
+ var treeConfig = props.treeConfig;
277
279
  var computeSeqOpts = $table.getComputeMaps().computeSeqOpts;
278
280
  var seqOpts = computeSeqOpts.value;
279
281
  var slots = column.slots;
@@ -281,12 +283,12 @@ export var Cell = {
281
283
  if (defaultSlot) {
282
284
  return $table.callSlot(defaultSlot, params);
283
285
  }
284
- var $seq = params.$seq, seq = params.seq, level = params.level;
286
+ var seq = params.seq;
285
287
  var seqMethod = seqOpts.seqMethod;
286
- return [formatText(seqMethod ? seqMethod(params) : level ? $seq + "." + seq : (seqOpts.startIndex || 0) + seq, 1)];
288
+ return [formatText(seqMethod ? seqMethod(params) : treeConfig ? seq : (seqOpts.startIndex || 0) + seq, 1)];
287
289
  },
288
290
  renderTreeIndexCell: function (params) {
289
- return Cell.renderTreeIcon(params, Cell.renderIndexCell(params));
291
+ return Cell.renderTreeIcon(params, Cell.renderSeqCell(params));
290
292
  },
291
293
  /**
292
294
  * 单选
@@ -359,7 +361,7 @@ export var Cell = {
359
361
  /**
360
362
  * 多选
361
363
  */
362
- renderSelectionHeader: function (params) {
364
+ renderCheckboxHeader: function (params) {
363
365
  var $table = params.$table, column = params.column, isHidden = params.isHidden;
364
366
  var reactData = $table.reactData;
365
367
  var _a = $table.getComputeMaps(), computeIsAllCheckboxDisabled = _a.computeIsAllCheckboxDisabled, computeCheckboxOpts = _a.computeCheckboxOpts;
@@ -415,7 +417,7 @@ export var Cell = {
415
417
  ] : []))
416
418
  ]);
417
419
  },
418
- renderSelectionCell: function (params) {
420
+ renderCheckboxCell: function (params) {
419
421
  var $table = params.$table, row = params.row, column = params.column, isHidden = params.isHidden;
420
422
  var props = $table.props, reactData = $table.reactData;
421
423
  var treeConfig = props.treeConfig;
@@ -475,9 +477,9 @@ export var Cell = {
475
477
  ];
476
478
  },
477
479
  renderTreeSelectionCell: function (params) {
478
- return Cell.renderTreeIcon(params, Cell.renderSelectionCell(params));
480
+ return Cell.renderTreeIcon(params, Cell.renderCheckboxCell(params));
479
481
  },
480
- renderSelectionCellByProp: function (params) {
482
+ renderCheckboxCellByProp: function (params) {
481
483
  var $table = params.$table, row = params.row, column = params.column, isHidden = params.isHidden;
482
484
  var props = $table.props, reactData = $table.reactData;
483
485
  var treeConfig = props.treeConfig;
@@ -537,7 +539,7 @@ export var Cell = {
537
539
  ];
538
540
  },
539
541
  renderTreeSelectionCellByProp: function (params) {
540
- return Cell.renderTreeIcon(params, Cell.renderSelectionCellByProp(params));
542
+ return Cell.renderTreeIcon(params, Cell.renderCheckboxCellByProp(params));
541
543
  },
542
544
  /**
543
545
  * 展开行