vxe-table 3.4.7-beta.2 → 3.4.10-beta.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.
@@ -39,13 +39,28 @@ function isOperateMouse($xetable) {
39
39
  return $xetable._isResize || $xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover;
40
40
  }
41
41
 
42
- function renderLine(h, _vm, $xetable, rowLevel, items, params) {
43
- var column = params.column;
42
+ function renderLine(h, _vm, $xetable, params) {
43
+ var row = params.row,
44
+ column = params.column;
44
45
  var treeOpts = $xetable.treeOpts,
45
- treeConfig = $xetable.treeConfig;
46
+ treeConfig = $xetable.treeConfig,
47
+ fullAllDataRowIdData = $xetable.fullAllDataRowIdData;
46
48
  var slots = column.slots,
47
49
  treeNode = column.treeNode;
48
50
 
51
+ var rowid = _tools.UtilTools.getRowid($xetable, row);
52
+
53
+ var rest = fullAllDataRowIdData[rowid];
54
+ var rLevel = 0;
55
+ var rIndex = 0;
56
+ var items = [];
57
+
58
+ if (rest) {
59
+ rLevel = rest.level;
60
+ rIndex = rest._index;
61
+ items = rest.items;
62
+ }
63
+
49
64
  if (slots && slots.line) {
50
65
  return $xetable.callSlot(slots.line, params, h);
51
66
  }
@@ -56,8 +71,8 @@ function renderLine(h, _vm, $xetable, rowLevel, items, params) {
56
71
  }, [h('div', {
57
72
  class: 'vxe-tree--line',
58
73
  style: {
59
- height: "".concat((0, _util.calcTreeLine)(params, items), "px"),
60
- left: "".concat(rowLevel * treeOpts.indent + (rowLevel ? 2 - (0, _util.getOffsetSize)($xetable) : 0) + 16, "px")
74
+ height: "".concat((0, _util.calcTreeLine)(params, items, rIndex), "px"),
75
+ left: "".concat(rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xetable) : 0) + 16, "px")
61
76
  }
62
77
  })])];
63
78
  }
@@ -292,7 +307,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
292
307
  }));
293
308
  } else {
294
309
  // 渲染单元格
295
- tdVNs.push.apply(tdVNs, _toConsumableArray(renderLine(h, _vm, $xetable, rowLevel, items, params)).concat([h('div', {
310
+ tdVNs.push.apply(tdVNs, _toConsumableArray(renderLine(h, _vm, $xetable, params)).concat([h('div', {
296
311
  class: ['vxe-cell', {
297
312
  'c--title': showTitle,
298
313
  'c--tooltip': showTooltip,
@@ -348,7 +363,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
348
363
  checkboxOpts = $xetable.checkboxOpts,
349
364
  expandColumn = $xetable.expandColumn,
350
365
  hasFixedColumn = $xetable.hasFixedColumn,
351
- fullDataRowIdData = $xetable.fullDataRowIdData,
366
+ fullAllDataRowIdData = $xetable.fullAllDataRowIdData,
352
367
  rowOpts = $xetable.rowOpts;
353
368
  var rows = [];
354
369
  tableData.forEach(function (row, $rowIndex) {
@@ -383,7 +398,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
383
398
 
384
399
  var rowid = _tools.UtilTools.getRowid($xetable, row);
385
400
 
386
- var rest = fullDataRowIdData[rowid];
401
+ var rest = fullAllDataRowIdData[rowid];
387
402
  var rowLevel = rest ? rest.level : 0;
388
403
  var seq = rest ? rest.seq : -1;
389
404
  var params = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,l,t){return l in e?Object.defineProperty(e,l,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[l]=t,e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,l){if(e){if("string"==typeof e)return _arrayLikeToArray(e,l);var t=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(t="Object"===t&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,l):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,l){(null==l||l>e.length)&&(l=e.length);for(var t=0,o=new Array(l);t<l;t++)o[t]=e[t];return o}var scrollProcessTimeout,renderType="body";function isOperateMouse(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,o,r,i){var n=i.column,s=t.treeOpts,a=t.treeConfig,c=n.slots,n=n.treeNode;return c&&c.line?t.callSlot(c.line,i,e):a&&n&&s.line?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:"".concat((0,_util.calcTreeLine)(i,r),"px"),left:"".concat(o*s.indent+(o?2-(0,_util.getOffsetSize)(t):0)+16,"px")}})])]:[]}function renderColumn(e,l,t,o,r,i,n,s,a,c,d,u,p,f,h){var y,v=t.$listeners,g=t.afterFullData,m=t.tableData,x=t.height,w=t.columnKey,b=t.overflowX,T=t.sYOpts,_=t.scrollXLoad,S=t.scrollYLoad,O=t.highlightCurrentRow,C=t.showOverflow,L=t.isAllOverflow,$=t.align,I=t.currentColumn,k=t.cellClassName,E=t.cellStyle,H=t.mergeList,R=t.spanMethod,Y=t.radioOpts,A=t.checkboxOpts,P=t.expandOpts,B=t.treeOpts,D=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,q=t.editOpts,W=t.editRules,X=t.validOpts,j=t.editStore,N=t.validStore,z=t.tooltipConfig,F=t.rowOpts,V=u.type,K=u.cellRender,G=u.editRender,J=u.align,Q=u.showOverflow,Z=u.className,ee=u.treeNode,le=j.actived,te=T.rHeight,oe=F.height,re=D.showAll||D.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,D=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?C:Q,b="ellipsis"===D,se="title"===D,ae=!0===D||"tooltip"===D,Q=se||ae||b,D={},J=J||$,$=N.row===s&&N.column===u,W=W&&X.showMessage&&("default"===X.message?x||1<m.length:"inline"===X.message),x={colid:u.id},ce=v["cell-mouseenter"],de=v["cell-mouseleave"],X=G&&U&&"dblclick"===q.trigger,ue={$table:t,seq:o,rowid:r,row:s,rowIndex:a,$rowIndex:c,_rowIndex:d,column:u,columnIndex:ie,$columnIndex:p,_columnIndex:ne,fixed:i,type:renderType,isHidden:T,level:n,visibleData:g,data:m,items:h};if(!_&&!S||Q||(b=Q=!0),(se||ae||re||ce||z)&&(D.mouseenter=function(e){isOperateMouse(t)||(se?_tools.DomTools.updateCellTitle(e.currentTarget,u):(ae||re)&&t.triggerBodyTooltipEvent(e,ue),ce&&t.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ue),e))}),(ae||re||de||z)&&(D.mouseleave=function(e){isOperateMouse(t)||((ae||re)&&t.handleTargetLeaveEvent(e),de&&t.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ue),e))}),(A.range||M)&&(D.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||O||v["cell-click"]||G&&U||"row"===P.trigger||"cell"===P.trigger||"row"===Y.trigger||"radio"===u.type&&"cell"===Y.trigger||"row"===A.trigger||"checkbox"===u.type&&"cell"===A.trigger||"row"===B.trigger||u.treeNode&&"cell"===B.trigger)&&(D.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(D.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),H.length){d=(0,_util.mergeBodyMethod)(H,d,ne);if(d){var ne=d.rowspan,pe=d.colspan;if(!ne||!pe)return null;1<ne&&(x.rowspan=ne),1<pe&&(x.colspan=pe)}}else if(R){pe=R(ue)||{},R=pe.rowspan,R=void 0===R?1:R,pe=pe.colspan,pe=void 0===pe?1:pe;if(!R||!pe)return null;1<R&&(x.rowspan=R),1<pe&&(x.colspan=pe)}!(T=T&&H&&(1<x.colspan||1<x.rowspan)?!1:T)&&U&&(G||K)&&(q.showStatus||q.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&C&&L?K.push(e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""}})):(K.push.apply(K,_toConsumableArray(renderLine(e,l,t,n,h,ue)).concat([e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""},attrs:{title:se?t.getCellLabel(s,u):null}},u.renderCell(e,ue))])),W&&$&&K.push(e("div",{class:"vxe-cell--valid",style:N.rule&&N.rule.maxWidth?{width:"".concat(N.rule.maxWidth,"px")}:null},[e("span",{class:"vxe-cell--valid-msg"},N.content)]))),e("td",{class:["vxe-body--column",u.id,(_defineProperty(e={},"col--".concat(J),J),_defineProperty(e,"col--".concat(V),V),_defineProperty(e,"col--last",p===f.length-1),_defineProperty(e,"col--tree-node",ee),_defineProperty(e,"col--edit",j),_defineProperty(e,"col--ellipsis",Q),_defineProperty(e,"fixed--hidden",T),_defineProperty(e,"col--dirty",y),_defineProperty(e,"col--actived",U&&j&&le.row===s&&(le.column===u||"row"===q.mode)),_defineProperty(e,"col--valid-error",$),_defineProperty(e,"col--current",I===u),e),_tools.UtilTools.getClass(Z,ue),_tools.UtilTools.getClass(k,ue)],key:w?u.id:p,attrs:x,style:Object.assign({height:Q&&(te||oe)?"".concat(te||oe,"px"):""},E?_xeUtils.default.isFunction(E)?E(ue):E:null),on:D},K)}function renderRows(p,f,h,y,v,g){var m=h.stripe,x=h.rowKey,w=h.highlightHoverRow,b=h.rowClassName,T=h.rowStyle,_=h.editConfig,S=h.showOverflow,O=h.treeConfig,C=h.treeOpts,L=h.editOpts,$=h.treeExpandeds,I=h.scrollYLoad,k=h.editStore,E=h.rowExpandeds,H=h.radioOpts,R=h.checkboxOpts,Y=h.expandColumn,A=h.hasFixedColumn,P=h.fullDataRowIdData,B=h.rowOpts,D=[];return v.forEach(function(t,o){var e={},r=h.getVTRowIndex(t),i=h.getRowIndex(t);(B.isHover||w)&&(e.mouseenter=function(e){isOperateMouse(h)||h.triggerHoverEvent(e,{row:t,rowIndex:i})},e.mouseleave=function(){isOperateMouse(h)||h.clearHoverRow()});var l,n,s=_tools.UtilTools.getRowid(h,t),a=P[s],c=a?a.level:0,d=a?a.seq:-1,u={$table:h,seq:d,rowid:s,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},a=!1;_&&(a=-1<k.insertList.indexOf(t)),D.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(h.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&(L.showStatus||L.showInsertStatus),"row--radio":H.highlight&&h.selectRow===t,"row--checked":R.highlight&&h.isCheckedByCheckboxRow(t)},b?_xeUtils.default.isFunction(b)?b(u):b:""],attrs:{rowid:s},style:T?_xeUtils.default.isFunction(T)?T(u):T:null,key:x||O?s:o,on:e},g.map(function(e,l){return renderColumn(p,f,h,d,s,y,c,t,i,o,r,e,l,g,v)}))),Y&&E.length&&-1<E.indexOf(t)&&(O&&(l={paddingLeft:"".concat(c*C.indent+30,"px")}),n=Y.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:h,seq:d,column:Y,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},D.push(p("tr",{class:"vxe-body--expanded-row",key:"expand_".concat(s),style:T?_xeUtils.default.isFunction(T)?T(n):T:null,on:e},[p("td",{class:["vxe-body--expanded-column",{"fixed--hidden":y&&!A,"col--ellipsis":u}],attrs:{colspan:g.length}},[p("div",{class:"vxe-body--expanded-cell",style:l},[Y.renderData(p,n)])])]))),!O||I||C.transform||!$.length||(n=t[C.children])&&n.length&&-1<$.indexOf(t)&&D.push.apply(D,_toConsumableArray(renderRows(p,f,h,y,n,g)))}),D}function syncBodyScroll(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}var _default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data:function(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted:function(){var e=this.$parent,l=this.$el,t=this.$refs,o=this.fixedType,e=e.elemStore,o="".concat(o||"main","-body-");e["".concat(o,"wrapper")]=l,e["".concat(o,"table")]=t.table,e["".concat(o,"colgroup")]=t.colgroup,e["".concat(o,"list")]=t.tbody,e["".concat(o,"xSpace")]=t.xSpace,e["".concat(o,"ySpace")]=t.ySpace,e["".concat(o,"emptyBlock")]=t.emptyBlock,this.$el.onscroll=this.scrollEvent,this.$el._onscroll=this.scrollEvent},beforeDestroy:function(){clearTimeout(this.wheelTime),this.$el._onscroll=null,this.$el.onscroll=null},render:function(t){var e=this._e,l=this.$parent,o=this.fixedColumn,r=this.fixedType,i=l.$scopedSlots,n=l.tId,s=l.tableData,a=l.tableColumn,c=l.visibleColumn,d=l.showOverflow,u=l.keyboardConfig,p=l.keyboardOpts,f=l.mergeList,h=l.spanMethod,y=l.scrollXLoad,v=l.scrollYLoad,g=l.isAllOverflow,m=l.emptyOpts,x=l.mouseConfig,w=l.mouseOpts,b=l.sYOpts;return r&&(a=!(y||v||d&&g)||f.length||h||u&&p.isMerge?c:o),m=i.empty?i.empty.call(this,{$table:l},t):(i=(i=m.name?_vXETable.default.renderer.get(m.name):null)?i.renderEmpty:null)?i.call(this,t,m,{$table:l}):l.emptyText||_conf.default.i18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",r?"fixed-".concat(r,"--wrapper"):"body--wrapper"],attrs:{xid:n},on:v&&"wheel"===b.mode?{wheel:this.wheelEvent}:{}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:n,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},a.map(function(e,l){return t("col",{attrs:{name:e.id},key:l})})),t("tbody",{ref:"tbody"},renderRows(t,this,l,r,s,a))]),t("div",{class:"vxe-table--checkbox-range"}),x&&w.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},w.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown:function(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:r,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,r?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},m)])])},methods:{scrollEvent:function(e){var l=this.$el,t=this.$parent,o=this.fixedType,r=t.$refs,i=t.elemStore,n=t.highlightHoverRow,s=t.scrollXLoad,a=t.scrollYLoad,c=t.lastScrollTop,d=t.lastScrollLeft,u=t.rowOpts,p=r.tableHeader,f=r.tableBody,h=r.leftBody,y=r.rightBody,v=r.tableFooter,g=r.validTip,m=p?p.$el:null,r=v?v.$el:null,p=f.$el,v=h?h.$el:null,f=y?y.$el:null,h=i["main-body-ySpace"],y=i["main-body-xSpace"],i=h?h.clientHeight:0,h=y?y.clientWidth:0,y=l.scrollTop,l=p.scrollLeft,d=l!==d,c=y!==c;t.lastScrollTop=y,t.lastScrollLeft=l,t.lastScrollTime=Date.now(),(u.isHover||n)&&t.clearHoverRow(),v&&"left"===o?syncBodyScroll(y=v.scrollTop,p,f):f&&"right"===o?syncBodyScroll(y=f.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||f)&&(t.checkScrolling(),c&&syncBodyScroll(y,v,f))),s&&d&&t.triggerScrollXEvent(e),a&&c&&t.triggerScrollYEvent(e),d&&g&&g.visible&&g.updatePlacement(),t.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:y,scrollLeft:l,bodyHeight:i,bodyWidth:h,isX:d,isY:c},e)},handleWheel:function(s,a,e,c,d){var u=this,p=this.$parent,l=p.$refs,t=p.elemStore,o=l.tableBody,r=l.leftBody,l=l.rightBody,f=o.$el,h=r?r.$el:null,y=l?l.$el:null,r=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=l?l.clientHeight:0,g=t?t.clientWidth:0;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-r:e+r),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),function e(){var l,t,o=u.fixedType,r=u.wheelYTotal,i=u.wheelYSize,n=u.wheelYInterval;r<i&&(i<(r+=n=Math.max(5,Math.floor(1.5*n)))&&(n-=r-i),t=f.scrollTop,l=f.clientHeight,i=f.scrollHeight,f.scrollTop=t=t+n*(a?-1:1),h&&(h.scrollTop=t),y&&(y.scrollTop=t),(a?t<i-l:0<=t)&&(u.wheelTime=setTimeout(e,10)),u.wheelYTotal=r,u.wheelYInterval=n,p.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:f.scrollTop,scrollLeft:f.scrollLeft,bodyHeight:v,bodyWidth:g,isX:c,isY:d},s))}()},wheelEvent:function(e){var l=e.deltaY,t=e.deltaX,o=this.$el,r=this.$parent,i=r.$refs,n=r.highlightHoverRow,s=r.scrollYLoad,a=r.lastScrollTop,c=r.lastScrollLeft,d=r.rowOpts,u=i.tableBody.$el,i=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t,t=i<0;(t?o.scrollTop<=0:o.scrollTop>=o.scrollHeight-o.clientHeight)||(o=o.scrollTop+i,c=(l=u.scrollLeft+l)!==c,(a=o!==a)&&(e.preventDefault(),r.lastScrollTop=o,r.lastScrollLeft=l,r.lastScrollTime=Date.now(),(d.isHover||n)&&r.clearHoverRow(),this.handleWheel(e,t,i,c,a),s&&r.triggerScrollYEvent(e)))}}};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,l,t){return l in e?Object.defineProperty(e,l,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[l]=t,e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,l){if(e){if("string"==typeof e)return _arrayLikeToArray(e,l);var t=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(t="Object"===t&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,l):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,l){(null==l||l>e.length)&&(l=e.length);for(var t=0,o=new Array(l);t<l;t++)o[t]=e[t];return o}var scrollProcessTimeout,renderType="body";function isOperateMouse(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,o){var r=o.row,i=o.column,n=t.treeOpts,s=t.treeConfig,a=t.fullAllDataRowIdData,c=i.slots,d=i.treeNode,u=a[_tools.UtilTools.getRowid(t,r)],i=0,a=0,r=[];return u&&(i=u.level,a=u._index,r=u.items),c&&c.line?t.callSlot(c.line,o,e):s&&d&&n.line?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:"".concat((0,_util.calcTreeLine)(o,r,a),"px"),left:"".concat(i*n.indent+(i?2-(0,_util.getOffsetSize)(t):0)+16,"px")}})])]:[]}function renderColumn(e,l,t,o,r,i,n,s,a,c,d,u,p,f,h){var y,v=t.$listeners,g=t.afterFullData,m=t.tableData,w=t.height,x=t.columnKey,b=t.overflowX,T=t.sYOpts,_=t.scrollXLoad,S=t.scrollYLoad,O=t.highlightCurrentRow,C=t.showOverflow,L=t.isAllOverflow,$=t.align,I=t.currentColumn,k=t.cellClassName,E=t.cellStyle,R=t.mergeList,A=t.spanMethod,H=t.radioOpts,Y=t.checkboxOpts,D=t.expandOpts,P=t.treeOpts,B=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,q=t.editOpts,W=t.editRules,X=t.validOpts,j=t.editStore,N=t.validStore,z=t.tooltipConfig,F=t.rowOpts,V=u.type,K=u.cellRender,G=u.editRender,J=u.align,Q=u.showOverflow,Z=u.className,ee=u.treeNode,le=j.actived,te=T.rHeight,oe=F.height,re=B.showAll||B.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,B=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?C:Q,b="ellipsis"===B,se="title"===B,ae=!0===B||"tooltip"===B,Q=se||ae||b,B={},J=J||$,$=N.row===s&&N.column===u,W=W&&X.showMessage&&("default"===X.message?w||1<m.length:"inline"===X.message),w={colid:u.id},ce=v["cell-mouseenter"],de=v["cell-mouseleave"],X=G&&U&&"dblclick"===q.trigger,ue={$table:t,seq:o,rowid:r,row:s,rowIndex:a,$rowIndex:c,_rowIndex:d,column:u,columnIndex:ie,$columnIndex:p,_columnIndex:ne,fixed:i,type:renderType,isHidden:T,level:n,visibleData:g,data:m,items:h};if(!_&&!S||Q||(b=Q=!0),(se||ae||re||ce||z)&&(B.mouseenter=function(e){isOperateMouse(t)||(se?_tools.DomTools.updateCellTitle(e.currentTarget,u):(ae||re)&&t.triggerBodyTooltipEvent(e,ue),ce&&t.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ue),e))}),(ae||re||de||z)&&(B.mouseleave=function(e){isOperateMouse(t)||((ae||re)&&t.handleTargetLeaveEvent(e),de&&t.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ue),e))}),(Y.range||M)&&(B.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||O||v["cell-click"]||G&&U||"row"===D.trigger||"cell"===D.trigger||"row"===H.trigger||"radio"===u.type&&"cell"===H.trigger||"row"===Y.trigger||"checkbox"===u.type&&"cell"===Y.trigger||"row"===P.trigger||u.treeNode&&"cell"===P.trigger)&&(B.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(B.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),R.length){d=(0,_util.mergeBodyMethod)(R,d,ne);if(d){var ne=d.rowspan,pe=d.colspan;if(!ne||!pe)return null;1<ne&&(w.rowspan=ne),1<pe&&(w.colspan=pe)}}else if(A){pe=A(ue)||{},A=pe.rowspan,A=void 0===A?1:A,pe=pe.colspan,pe=void 0===pe?1:pe;if(!A||!pe)return null;1<A&&(w.rowspan=A),1<pe&&(w.colspan=pe)}!(T=T&&R&&(1<w.colspan||1<w.rowspan)?!1:T)&&U&&(G||K)&&(q.showStatus||q.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&C&&L?K.push(e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""}})):(K.push.apply(K,_toConsumableArray(renderLine(e,l,t,ue)).concat([e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""},attrs:{title:se?t.getCellLabel(s,u):null}},u.renderCell(e,ue))])),W&&$&&K.push(e("div",{class:"vxe-cell--valid",style:N.rule&&N.rule.maxWidth?{width:"".concat(N.rule.maxWidth,"px")}:null},[e("span",{class:"vxe-cell--valid-msg"},N.content)]))),e("td",{class:["vxe-body--column",u.id,(_defineProperty(e={},"col--".concat(J),J),_defineProperty(e,"col--".concat(V),V),_defineProperty(e,"col--last",p===f.length-1),_defineProperty(e,"col--tree-node",ee),_defineProperty(e,"col--edit",j),_defineProperty(e,"col--ellipsis",Q),_defineProperty(e,"fixed--hidden",T),_defineProperty(e,"col--dirty",y),_defineProperty(e,"col--actived",U&&j&&le.row===s&&(le.column===u||"row"===q.mode)),_defineProperty(e,"col--valid-error",$),_defineProperty(e,"col--current",I===u),e),_tools.UtilTools.getClass(Z,ue),_tools.UtilTools.getClass(k,ue)],key:x?u.id:p,attrs:w,style:Object.assign({height:Q&&(te||oe)?"".concat(te||oe,"px"):""},E?_xeUtils.default.isFunction(E)?E(ue):E:null),on:B},K)}function renderRows(p,f,h,y,v,g){var m=h.stripe,w=h.rowKey,x=h.highlightHoverRow,b=h.rowClassName,T=h.rowStyle,_=h.editConfig,S=h.showOverflow,O=h.treeConfig,C=h.treeOpts,L=h.editOpts,$=h.treeExpandeds,I=h.scrollYLoad,k=h.editStore,E=h.rowExpandeds,R=h.radioOpts,A=h.checkboxOpts,H=h.expandColumn,Y=h.hasFixedColumn,D=h.fullAllDataRowIdData,P=h.rowOpts,B=[];return v.forEach(function(t,o){var e={},r=h.getVTRowIndex(t),i=h.getRowIndex(t);(P.isHover||x)&&(e.mouseenter=function(e){isOperateMouse(h)||h.triggerHoverEvent(e,{row:t,rowIndex:i})},e.mouseleave=function(){isOperateMouse(h)||h.clearHoverRow()});var l,n,s=_tools.UtilTools.getRowid(h,t),a=D[s],c=a?a.level:0,d=a?a.seq:-1,u={$table:h,seq:d,rowid:s,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},a=!1;_&&(a=-1<k.insertList.indexOf(t)),B.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(h.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&(L.showStatus||L.showInsertStatus),"row--radio":R.highlight&&h.selectRow===t,"row--checked":A.highlight&&h.isCheckedByCheckboxRow(t)},b?_xeUtils.default.isFunction(b)?b(u):b:""],attrs:{rowid:s},style:T?_xeUtils.default.isFunction(T)?T(u):T:null,key:w||O?s:o,on:e},g.map(function(e,l){return renderColumn(p,f,h,d,s,y,c,t,i,o,r,e,l,g,v)}))),H&&E.length&&-1<E.indexOf(t)&&(O&&(l={paddingLeft:"".concat(c*C.indent+30,"px")}),n=H.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:h,seq:d,column:H,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},B.push(p("tr",{class:"vxe-body--expanded-row",key:"expand_".concat(s),style:T?_xeUtils.default.isFunction(T)?T(n):T:null,on:e},[p("td",{class:["vxe-body--expanded-column",{"fixed--hidden":y&&!Y,"col--ellipsis":u}],attrs:{colspan:g.length}},[p("div",{class:"vxe-body--expanded-cell",style:l},[H.renderData(p,n)])])]))),!O||I||C.transform||!$.length||(n=t[C.children])&&n.length&&-1<$.indexOf(t)&&B.push.apply(B,_toConsumableArray(renderRows(p,f,h,y,n,g)))}),B}function syncBodyScroll(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}var _default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data:function(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted:function(){var e=this.$parent,l=this.$el,t=this.$refs,o=this.fixedType,e=e.elemStore,o="".concat(o||"main","-body-");e["".concat(o,"wrapper")]=l,e["".concat(o,"table")]=t.table,e["".concat(o,"colgroup")]=t.colgroup,e["".concat(o,"list")]=t.tbody,e["".concat(o,"xSpace")]=t.xSpace,e["".concat(o,"ySpace")]=t.ySpace,e["".concat(o,"emptyBlock")]=t.emptyBlock,this.$el.onscroll=this.scrollEvent,this.$el._onscroll=this.scrollEvent},beforeDestroy:function(){clearTimeout(this.wheelTime),this.$el._onscroll=null,this.$el.onscroll=null},render:function(t){var e=this._e,l=this.$parent,o=this.fixedColumn,r=this.fixedType,i=l.$scopedSlots,n=l.tId,s=l.tableData,a=l.tableColumn,c=l.visibleColumn,d=l.showOverflow,u=l.keyboardConfig,p=l.keyboardOpts,f=l.mergeList,h=l.spanMethod,y=l.scrollXLoad,v=l.scrollYLoad,g=l.isAllOverflow,m=l.emptyOpts,w=l.mouseConfig,x=l.mouseOpts,b=l.sYOpts;return r&&(a=!(y||v||d&&g)||f.length||h||u&&p.isMerge?c:o),m=i.empty?i.empty.call(this,{$table:l},t):(i=(i=m.name?_vXETable.default.renderer.get(m.name):null)?i.renderEmpty:null)?i.call(this,t,m,{$table:l}):l.emptyText||_conf.default.i18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",r?"fixed-".concat(r,"--wrapper"):"body--wrapper"],attrs:{xid:n},on:v&&"wheel"===b.mode?{wheel:this.wheelEvent}:{}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:n,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},a.map(function(e,l){return t("col",{attrs:{name:e.id},key:l})})),t("tbody",{ref:"tbody"},renderRows(t,this,l,r,s,a))]),t("div",{class:"vxe-table--checkbox-range"}),w&&x.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},x.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown:function(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:r,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,r?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},m)])])},methods:{scrollEvent:function(e){var l=this.$el,t=this.$parent,o=this.fixedType,r=t.$refs,i=t.elemStore,n=t.highlightHoverRow,s=t.scrollXLoad,a=t.scrollYLoad,c=t.lastScrollTop,d=t.lastScrollLeft,u=t.rowOpts,p=r.tableHeader,f=r.tableBody,h=r.leftBody,y=r.rightBody,v=r.tableFooter,g=r.validTip,m=p?p.$el:null,r=v?v.$el:null,p=f.$el,v=h?h.$el:null,f=y?y.$el:null,h=i["main-body-ySpace"],y=i["main-body-xSpace"],i=h?h.clientHeight:0,h=y?y.clientWidth:0,y=l.scrollTop,l=p.scrollLeft,d=l!==d,c=y!==c;t.lastScrollTop=y,t.lastScrollLeft=l,t.lastScrollTime=Date.now(),(u.isHover||n)&&t.clearHoverRow(),v&&"left"===o?syncBodyScroll(y=v.scrollTop,p,f):f&&"right"===o?syncBodyScroll(y=f.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||f)&&(t.checkScrolling(),c&&syncBodyScroll(y,v,f))),s&&d&&t.triggerScrollXEvent(e),a&&c&&t.triggerScrollYEvent(e),d&&g&&g.visible&&g.updatePlacement(),t.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:y,scrollLeft:l,bodyHeight:i,bodyWidth:h,isX:d,isY:c},e)},handleWheel:function(s,a,e,c,d){var u=this,p=this.$parent,l=p.$refs,t=p.elemStore,o=l.tableBody,r=l.leftBody,l=l.rightBody,f=o.$el,h=r?r.$el:null,y=l?l.$el:null,r=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=l?l.clientHeight:0,g=t?t.clientWidth:0;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-r:e+r),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),function e(){var l,t,o=u.fixedType,r=u.wheelYTotal,i=u.wheelYSize,n=u.wheelYInterval;r<i&&(i<(r+=n=Math.max(5,Math.floor(1.5*n)))&&(n-=r-i),t=f.scrollTop,l=f.clientHeight,i=f.scrollHeight,f.scrollTop=t=t+n*(a?-1:1),h&&(h.scrollTop=t),y&&(y.scrollTop=t),(a?t<i-l:0<=t)&&(u.wheelTime=setTimeout(e,10)),u.wheelYTotal=r,u.wheelYInterval=n,p.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:f.scrollTop,scrollLeft:f.scrollLeft,bodyHeight:v,bodyWidth:g,isX:c,isY:d},s))}()},wheelEvent:function(e){var l=e.deltaY,t=e.deltaX,o=this.$el,r=this.$parent,i=r.$refs,n=r.highlightHoverRow,s=r.scrollYLoad,a=r.lastScrollTop,c=r.lastScrollLeft,d=r.rowOpts,u=i.tableBody.$el,i=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t,t=i<0;(t?o.scrollTop<=0:o.scrollTop>=o.scrollHeight-o.clientHeight)||(o=o.scrollTop+i,c=(l=u.scrollLeft+l)!==c,(a=o!==a)&&(e.preventDefault(),r.lastScrollTop=o,r.lastScrollLeft=l,r.lastScrollTime=Date.now(),(d.isHover||n)&&r.clearHoverRow(),this.handleWheel(e,t,i,c,a),s&&r.triggerScrollYEvent(e)))}}};exports.default=_default;
@@ -416,7 +416,7 @@ var Methods = {
416
416
  },
417
417
 
418
418
  /**
419
- * 同步 data 数据
419
+ * 同步 data 数据(即将废弃)
420
420
  * 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
421
421
  * 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
422
422
  */
@@ -441,32 +441,17 @@ var Methods = {
441
441
  handleTableData: function handleTableData(force) {
442
442
  var _this2 = this;
443
443
 
444
- var treeConfig = this.treeConfig,
445
- scrollYLoad = this.scrollYLoad,
444
+ var scrollYLoad = this.scrollYLoad,
446
445
  scrollYStore = this.scrollYStore,
447
446
  fullDataRowIdData = this.fullDataRowIdData,
448
- treeExpandeds = this.treeExpandeds,
449
- treeOpts = this.treeOpts;
450
- var fullList = []; // 是否进行数据处理
447
+ afterFullData = this.afterFullData;
448
+ var fullList = afterFullData; // 是否进行数据处理
451
449
 
452
450
  if (force) {
453
- this.updateAfterFullData();
454
- } // 如果为虚拟树,将树结构拍平
455
-
456
-
457
- if (treeConfig && treeOpts.transform) {
458
- var expandMaps = new Map();
451
+ // 更新数据,处理筛选和排序
452
+ this.updateAfterFullData(); // 如果为虚拟树,将树结构拍平
459
453
 
460
- _xeUtils.default.eachTree(this.afterTreeFullData, function (row, index, items, path, parent) {
461
- if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
462
- expandMaps.set(row, 1);
463
- fullList.push(row);
464
- }
465
- }, {
466
- children: treeOpts.mapChildren
467
- });
468
- } else {
469
- fullList = this.afterFullData;
454
+ fullList = this.handleVirtualTreeToList();
470
455
  }
471
456
 
472
457
  var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
@@ -1556,6 +1541,38 @@ var Methods = {
1556
1541
  return rowList;
1557
1542
  },
1558
1543
 
1544
+ /**
1545
+ * 如果为虚拟树,将树结构拍平
1546
+ * @returns
1547
+ */
1548
+ handleVirtualTreeToList: function handleVirtualTreeToList() {
1549
+ var treeOpts = this.treeOpts,
1550
+ treeConfig = this.treeConfig,
1551
+ treeExpandeds = this.treeExpandeds,
1552
+ afterTreeFullData = this.afterTreeFullData,
1553
+ afterFullData = this.afterFullData;
1554
+
1555
+ if (treeConfig && treeOpts.transform) {
1556
+ var fullData = [];
1557
+ var expandMaps = new Map();
1558
+
1559
+ _xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path, parent) {
1560
+ if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
1561
+ expandMaps.set(row, 1);
1562
+ fullData.push(row);
1563
+ }
1564
+ }, {
1565
+ children: treeOpts.mapChildren
1566
+ });
1567
+
1568
+ this.afterFullData = fullData;
1569
+ this.updateScrollYStatus(fullData);
1570
+ return fullData;
1571
+ }
1572
+
1573
+ return afterFullData;
1574
+ },
1575
+
1559
1576
  /**
1560
1577
  * 获取处理后全量的表格数据
1561
1578
  * 如果存在筛选条件,继续处理
@@ -1680,58 +1697,91 @@ var Methods = {
1680
1697
  };
1681
1698
 
1682
1699
  if (treeConfig && transform) {
1700
+ // 筛选虚拟树
1683
1701
  tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, _objectSpread(_objectSpread({}, treeOpts), {}, {
1684
1702
  original: true
1685
1703
  }));
1704
+ tableData = tableTree;
1686
1705
  } else {
1687
1706
  tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
1688
1707
  tableTree = tableData;
1689
1708
  }
1690
1709
  } else {
1691
- tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
1692
- tableTree = tableData;
1710
+ if (treeConfig && transform) {
1711
+ // 还原虚拟树
1712
+ tableTree = _xeUtils.default.searchTree(tableFullTreeData, function () {
1713
+ return true;
1714
+ }, _objectSpread(_objectSpread({}, treeOpts), {}, {
1715
+ original: true
1716
+ }));
1717
+ tableData = tableTree;
1718
+ } else {
1719
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
1720
+ tableTree = tableData;
1721
+ }
1693
1722
  }
1694
1723
 
1695
1724
  var firstOrderColumn = orderColumns[0];
1696
1725
 
1697
1726
  if (!allRemoteSort && firstOrderColumn) {
1698
- if (allSortMethod) {
1699
- var sortRests = allSortMethod({
1700
- data: tableData,
1701
- column: firstOrderColumn.column,
1702
- property: firstOrderColumn.property,
1703
- order: firstOrderColumn.order,
1704
- sortList: orderColumns,
1705
- $table: this
1706
- });
1707
- tableData = _xeUtils.default.isArray(sortRests) ? sortRests : tableData;
1708
- } else {
1709
- // 兼容 v4
1710
- if (sortMultiple) {
1711
- tableData = _xeUtils.default.orderBy(tableData, orderColumns.map(function (_ref2) {
1727
+ if (treeConfig && transform) {
1728
+ // 虚拟树和列表一样,只能排序根级节点
1729
+ if (allSortMethod) {
1730
+ var sortRests = allSortMethod({
1731
+ data: tableTree,
1732
+ sortList: orderColumns,
1733
+ $table: this
1734
+ });
1735
+ tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
1736
+ } else {
1737
+ tableTree = _xeUtils.default.orderBy(tableTree, orderColumns.map(function (_ref2) {
1712
1738
  var column = _ref2.column,
1713
1739
  order = _ref2.order;
1714
1740
  return [getOrderField(_this16, column), order];
1715
1741
  }));
1742
+ }
1743
+
1744
+ tableData = tableTree;
1745
+ } else {
1746
+ if (allSortMethod) {
1747
+ var _sortRests = allSortMethod({
1748
+ data: tableData,
1749
+ column: firstOrderColumn.column,
1750
+ property: firstOrderColumn.property,
1751
+ order: firstOrderColumn.order,
1752
+ sortList: orderColumns,
1753
+ $table: this
1754
+ });
1755
+
1756
+ tableData = _xeUtils.default.isArray(_sortRests) ? _sortRests : tableData;
1716
1757
  } else {
1717
- // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
1718
- var sortByConfs;
1758
+ // 兼容 v4
1759
+ if (sortMultiple) {
1760
+ tableData = _xeUtils.default.orderBy(tableData, orderColumns.map(function (_ref3) {
1761
+ var column = _ref3.column,
1762
+ order = _ref3.order;
1763
+ return [getOrderField(_this16, column), order];
1764
+ }));
1765
+ } else {
1766
+ // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
1767
+ var sortByConfs;
1719
1768
 
1720
- if (_xeUtils.default.isArray(firstOrderColumn.sortBy)) {
1721
- sortByConfs = firstOrderColumn.sortBy.map(function (item) {
1722
- return [item, firstOrderColumn.order];
1723
- });
1724
- }
1769
+ if (_xeUtils.default.isArray(firstOrderColumn.sortBy)) {
1770
+ sortByConfs = firstOrderColumn.sortBy.map(function (item) {
1771
+ return [item, firstOrderColumn.order];
1772
+ });
1773
+ }
1725
1774
 
1726
- tableData = _xeUtils.default.orderBy(tableData, sortByConfs || [firstOrderColumn].map(function (_ref3) {
1727
- var column = _ref3.column,
1728
- order = _ref3.order;
1729
- return [getOrderField(_this16, column), order];
1730
- }));
1775
+ tableData = _xeUtils.default.orderBy(tableData, sortByConfs || [firstOrderColumn].map(function (_ref4) {
1776
+ var column = _ref4.column,
1777
+ order = _ref4.order;
1778
+ return [getOrderField(_this16, column), order];
1779
+ }));
1780
+ }
1731
1781
  }
1732
- }
1733
1782
 
1734
- tableTree = tableData;
1783
+ tableTree = tableData;
1784
+ }
1735
1785
  }
1736
1786
 
1737
1787
  this.afterFullData = tableData;
@@ -1757,30 +1807,15 @@ var Methods = {
1757
1807
  _xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path) {
1758
1808
  var rowid = getRowid(_this17, row);
1759
1809
  var allrest = fullAllDataRowIdData[rowid];
1760
- var fullrest = fullDataRowIdData[rowid];
1761
1810
  var seq = path.map(function (num, i) {
1762
1811
  return i % 2 === 0 ? Number(num) + 1 : '.';
1763
1812
  }).join('');
1764
1813
 
1765
1814
  if (allrest) {
1766
1815
  allrest.seq = seq;
1767
- }
1768
-
1769
- if (fullrest) {
1770
- fullrest.seq = seq;
1816
+ allrest._index = index;
1771
1817
  } else {
1772
- fullAllDataRowIdData[rowid] = {
1773
- row: row,
1774
- rowid: rowid,
1775
- seq: seq,
1776
- index: -1,
1777
- $index: -1,
1778
- _index: index,
1779
- items: [],
1780
- parent: null,
1781
- level: 0
1782
- };
1783
- fullDataRowIdData[rowid] = {
1818
+ var rest = {
1784
1819
  row: row,
1785
1820
  rowid: rowid,
1786
1821
  seq: seq,
@@ -1791,35 +1826,23 @@ var Methods = {
1791
1826
  parent: null,
1792
1827
  level: 0
1793
1828
  };
1829
+ fullAllDataRowIdData[rowid] = rest;
1830
+ fullDataRowIdData[rowid] = rest;
1794
1831
  }
1795
- }, treeOpts);
1832
+ }, {
1833
+ children: treeOpts.mapChildren
1834
+ });
1796
1835
  } else {
1797
1836
  afterFullData.forEach(function (row, index) {
1798
1837
  var rowid = getRowid(_this17, row);
1799
1838
  var allrest = fullAllDataRowIdData[rowid];
1800
- var fullrest = fullDataRowIdData[rowid];
1801
1839
  var seq = index + 1;
1802
1840
 
1803
1841
  if (allrest) {
1804
1842
  allrest.seq = seq;
1805
- }
1806
-
1807
- if (fullrest) {
1808
- fullrest.seq = seq;
1809
- fullrest._index = index;
1843
+ allrest._index = index;
1810
1844
  } else {
1811
- fullAllDataRowIdData[rowid] = {
1812
- row: row,
1813
- rowid: rowid,
1814
- seq: seq,
1815
- index: -1,
1816
- $index: -1,
1817
- _index: index,
1818
- items: [],
1819
- parent: null,
1820
- level: 0
1821
- };
1822
- fullDataRowIdData[rowid] = {
1845
+ var rest = {
1823
1846
  row: row,
1824
1847
  rowid: rowid,
1825
1848
  seq: seq,
@@ -1830,6 +1853,8 @@ var Methods = {
1830
1853
  parent: null,
1831
1854
  level: 0
1832
1855
  };
1856
+ fullAllDataRowIdData[rowid] = rest;
1857
+ fullDataRowIdData[rowid] = rest;
1833
1858
  }
1834
1859
  });
1835
1860
  }
@@ -2056,9 +2081,9 @@ var Methods = {
2056
2081
  }
2057
2082
  });
2058
2083
 
2059
- _xeUtils.default.each(customMap, function (_ref4, field) {
2060
- var visible = _ref4.visible,
2061
- resizeWidth = _ref4.resizeWidth;
2084
+ _xeUtils.default.each(customMap, function (_ref5, field) {
2085
+ var visible = _ref5.visible,
2086
+ resizeWidth = _ref5.resizeWidth;
2062
2087
  var column = keyMap[field];
2063
2088
 
2064
2089
  if (column) {
@@ -3697,10 +3722,10 @@ var Methods = {
3697
3722
  * 多选,行选中事件
3698
3723
  * value 选中true 不选false 半选-1
3699
3724
  */
3700
- handleSelectRow: function handleSelectRow(_ref5, value) {
3725
+ handleSelectRow: function handleSelectRow(_ref6, value) {
3701
3726
  var _this30 = this;
3702
3727
 
3703
- var row = _ref5.row;
3728
+ var row = _ref6.row;
3704
3729
  var selection = this.selection,
3705
3730
  afterFullData = this.afterFullData,
3706
3731
  treeConfig = this.treeConfig,
@@ -4520,8 +4545,8 @@ var Methods = {
4520
4545
  /**
4521
4546
  * 行 hover 事件
4522
4547
  */
4523
- triggerHoverEvent: function triggerHoverEvent(evnt, _ref6) {
4524
- var row = _ref6.row;
4548
+ triggerHoverEvent: function triggerHoverEvent(evnt, _ref7) {
4549
+ var row = _ref7.row;
4525
4550
  this.setHoverRow(row);
4526
4551
  },
4527
4552
  setHoverRow: function setHoverRow(row) {
@@ -5291,7 +5316,8 @@ var Methods = {
5291
5316
  var treeOpts = this.treeOpts,
5292
5317
  treeExpandeds = this.treeExpandeds,
5293
5318
  fullAllDataRowMap = this.fullAllDataRowMap;
5294
- var lazy = treeOpts.lazy;
5319
+ var transform = treeOpts.transform,
5320
+ lazy = treeOpts.lazy;
5295
5321
  var rest = fullAllDataRowMap.get(row);
5296
5322
 
5297
5323
  if (lazy && rest) {
@@ -5302,6 +5328,11 @@ var Methods = {
5302
5328
  });
5303
5329
  }
5304
5330
 
5331
+ if (transform) {
5332
+ this.handleVirtualTreeToList();
5333
+ return this.handleTableData();
5334
+ }
5335
+
5305
5336
  return this.$nextTick();
5306
5337
  },
5307
5338
 
@@ -5323,6 +5354,8 @@ var Methods = {
5323
5354
  return _this42.handleAsyncTreeExpandChilds(row);
5324
5355
  }).then(function () {
5325
5356
  if (transform) {
5357
+ _this42.handleVirtualTreeToList();
5358
+
5326
5359
  return _this42.handleTableData();
5327
5360
  }
5328
5361
  }).then(function () {
@@ -5575,6 +5608,8 @@ var Methods = {
5575
5608
  var _this45 = this;
5576
5609
 
5577
5610
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
5611
+ _this45.handleVirtualTreeToList();
5612
+
5578
5613
  return _this45.handleTableData();
5579
5614
  }).then(function () {
5580
5615
  return _this45.recalculate();
@@ -5627,7 +5662,8 @@ var Methods = {
5627
5662
  var treeOpts = this.treeOpts,
5628
5663
  treeExpandeds = this.treeExpandeds,
5629
5664
  tableFullData = this.tableFullData;
5630
- var reserve = treeOpts.reserve;
5665
+ var transform = treeOpts.transform,
5666
+ reserve = treeOpts.reserve;
5631
5667
  var isExists = treeExpandeds.length;
5632
5668
  this.treeExpandeds = [];
5633
5669
 
@@ -5638,6 +5674,12 @@ var Methods = {
5638
5674
  }
5639
5675
 
5640
5676
  return this.handleTableData().then(function () {
5677
+ if (transform) {
5678
+ _this46.handleVirtualTreeToList();
5679
+
5680
+ return _this46.handleTableData();
5681
+ }
5682
+ }).then(function () {
5641
5683
  if (isExists) {
5642
5684
  _this46.recalculate();
5643
5685
  }
@@ -6109,8 +6151,8 @@ var Methods = {
6109
6151
  }
6110
6152
 
6111
6153
  _this50.clearValidate();
6112
- }).catch(function (_ref7) {
6113
- var rule = _ref7.rule;
6154
+ }).catch(function (_ref8) {
6155
+ var rule = _ref8.rule;
6114
6156
 
6115
6157
  if (customVal) {
6116
6158
  setCellValue(row, column, cellValue);