vxe-table 4.12.5 → 4.13.0-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.
- package/es/grid/src/grid.js +2 -2
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +10 -9
- package/es/table/module/export/hook.js +13 -11
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/table.js +186 -63
- package/es/table/src/util.js +0 -13
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +2 -2
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +8504 -8547
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +9 -9
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/hook.js +16 -13
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/src/body.js +14 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -27
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/table.js +211 -63
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -25
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +2 -2
- package/packages/table/module/edit/hook.ts +10 -9
- package/packages/table/module/export/hook.ts +15 -13
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/table.ts +184 -64
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743479147314.ttf → iconfont.1743578564396.ttf} +0 -0
- /package/es/{iconfont.1743479147314.woff → iconfont.1743578564396.woff} +0 -0
- /package/es/{iconfont.1743479147314.woff2 → iconfont.1743578564396.woff2} +0 -0
- /package/lib/{iconfont.1743479147314.ttf → iconfont.1743578564396.ttf} +0 -0
- /package/lib/{iconfont.1743479147314.woff → iconfont.1743578564396.woff} +0 -0
- /package/lib/{iconfont.1743479147314.woff2 → iconfont.1743578564396.woff2} +0 -0
|
@@ -174,12 +174,10 @@ hooks.add('tableEditModule', {
|
|
|
174
174
|
const {
|
|
175
175
|
treeConfig
|
|
176
176
|
} = props;
|
|
177
|
-
const {
|
|
178
|
-
mergeList
|
|
179
|
-
} = reactData;
|
|
180
177
|
const {
|
|
181
178
|
tableFullTreeData,
|
|
182
179
|
afterFullData,
|
|
180
|
+
mergeBodyList,
|
|
183
181
|
tableFullData,
|
|
184
182
|
fullDataRowIdData,
|
|
185
183
|
fullAllDataRowIdData,
|
|
@@ -228,7 +226,7 @@ hooks.add('tableEditModule', {
|
|
|
228
226
|
tableFullData.unshift(item);
|
|
229
227
|
});
|
|
230
228
|
// 刷新单元格合并
|
|
231
|
-
|
|
229
|
+
mergeBodyList.forEach(mergeItem => {
|
|
232
230
|
const {
|
|
233
231
|
row: mergeRowIndex
|
|
234
232
|
} = mergeItem;
|
|
@@ -267,7 +265,7 @@ hooks.add('tableEditModule', {
|
|
|
267
265
|
tableFullData.push(item);
|
|
268
266
|
});
|
|
269
267
|
// 刷新单元格合并
|
|
270
|
-
|
|
268
|
+
mergeBodyList.forEach(mergeItem => {
|
|
271
269
|
const {
|
|
272
270
|
row: mergeRowIndex,
|
|
273
271
|
rowspan: mergeRowspan
|
|
@@ -374,7 +372,7 @@ hooks.add('tableEditModule', {
|
|
|
374
372
|
tableFullData.push(...newRecords);
|
|
375
373
|
}
|
|
376
374
|
// 刷新单元格合并
|
|
377
|
-
|
|
375
|
+
mergeBodyList.forEach(mergeItem => {
|
|
378
376
|
const {
|
|
379
377
|
row: mergeRowIndex,
|
|
380
378
|
rowspan: mergeRowspan
|
|
@@ -400,6 +398,7 @@ hooks.add('tableEditModule', {
|
|
|
400
398
|
$xeTable.updateAfterDataIndex();
|
|
401
399
|
}
|
|
402
400
|
$xeTable.updateFooter();
|
|
401
|
+
$xeTable.handleUpdateBodyMerge();
|
|
403
402
|
$xeTable.checkSelectionStatus();
|
|
404
403
|
if (reactData.scrollYLoad) {
|
|
405
404
|
$xeTable.updateScrollYSpace();
|
|
@@ -677,13 +676,13 @@ hooks.add('tableEditModule', {
|
|
|
677
676
|
treeConfig
|
|
678
677
|
} = props;
|
|
679
678
|
const {
|
|
680
|
-
mergeList,
|
|
681
679
|
editStore
|
|
682
680
|
} = reactData;
|
|
683
681
|
const {
|
|
684
682
|
tableFullTreeData,
|
|
685
683
|
selectCheckboxMaps,
|
|
686
684
|
afterFullData,
|
|
685
|
+
mergeBodyList,
|
|
687
686
|
tableFullData,
|
|
688
687
|
pendingRowMaps,
|
|
689
688
|
insertRowMaps,
|
|
@@ -764,7 +763,7 @@ hooks.add('tableEditModule', {
|
|
|
764
763
|
const afIndex = $xeTable.findRowIndexOf(afterFullData, row);
|
|
765
764
|
if (afIndex > -1) {
|
|
766
765
|
// 刷新单元格合并
|
|
767
|
-
|
|
766
|
+
mergeBodyList.forEach(mergeItem => {
|
|
768
767
|
const {
|
|
769
768
|
row: mergeRowIndex,
|
|
770
769
|
rowspan: mergeRowspan
|
|
@@ -797,9 +796,10 @@ hooks.add('tableEditModule', {
|
|
|
797
796
|
reactData.removeRowFlag++;
|
|
798
797
|
reactData.insertRowFlag++;
|
|
799
798
|
reactData.pendingRowFlag++;
|
|
800
|
-
$xeTable.updateFooter();
|
|
801
799
|
$xeTable.cacheRowMap(false);
|
|
802
800
|
$xeTable.handleTableData(treeConfig && transform);
|
|
801
|
+
$xeTable.updateFooter();
|
|
802
|
+
$xeTable.handleUpdateBodyMerge();
|
|
803
803
|
if (!(treeConfig && transform)) {
|
|
804
804
|
$xeTable.updateAfterDataIndex();
|
|
805
805
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(h){let{props:m,reactData:R,internalData:C}=h,o=h.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:x,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=h.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=R,l=x.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(h,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(h,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=m.treeConfig;var e=R.mergeList;let{tableFullTreeData:r,afterFullData:a,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:n}=C,c=E.value,{transform:g,rowField:v,mapChildrenField:w}=c,f=c.children||c.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(h.defineField(t.map(e=>Object.assign(o&&g?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(h,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),i.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&g?F(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(h,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),i.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+p.length)}));else if(o&&g){let n=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:r;t=s[(0,_util.getRowid)(h,o)];let i=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(h,e);"development"===process.env.NODE_ENV&&e[c.parentField]&&o&&e[c.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[v]]),o&&(e[c.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(r,e=>l[v]===e[v],{children:f});if(t){var x=t.items;let e=t.index;d&&(e+=1),x.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),F(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=h.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...p);t=h.findRowIndexOf(i,l);-1<t?i.splice(t+(d?1:0),0,...p):i.push(...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}return p.forEach(e=>{var t=(0,_util.getRowid)(h,e);n[t]=e}),R.insertRowFlag++,h.cacheRowMap(!1),h.updateScrollYStatus(),h.handleTableData(o&&g),o&&g||h.updateAfterDataIndex(),h.updateFooter(),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(h.updateCellAreas(),h.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=m.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=R.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(h,t)!==(0,_util.getRowid)(h,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,h.updateFooter(),h.dispatchEvent("edit-closed",{row:o,rowIndex:h.getRowIndex(o),$rowIndex:h.getVMRowIndex(o),column:a,columnIndex:h.getColumnIndex(a),$columnIndex:h.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&h.clearValidate?h.clearValidate():(0,_vue.nextTick)().then(()=>h.updateCellAreas())},i=(l,r,o,e)=>{let a=h.xeGrid;var{editConfig:t,mouseConfig:i}=m,{editStore:n,tableColumn:d}=R,u=x.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:v}=l;var w=v.editRender,f=l.cell||h.getCellElement(g,v),p=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!h.isPendingByRow(g)){if(n.row!==g||"cell"===s&&n.column!==v){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},l),{$table:h,$grid:a}))){i&&(h.clearSelected(),h.clearCellAreas)&&(h.clearCellAreas(),h.clearCopyCellArea()),h.closeTooltip(),n.column&&A(r),t="edit-activated",v.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=v,"row"===s?d.forEach(e=>b(g,e)):b(g,v);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&h.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:h,$grid:a}))})}h.dispatchEvent(t,{row:g,rowIndex:h.getRowIndex(g),$rowIndex:h.getVMRowIndex(g),column:v,columnIndex:h.getColumnIndex(v),$columnIndex:h.getVMColumnIndex(v)},r),"edit-activated"===t&&h.dispatchEvent("edit-actived",{row:g,rowIndex:h.getRowIndex(g),$rowIndex:h.getVMRowIndex(g),column:v,columnIndex:h.getColumnIndex(v),$columnIndex:h.getVMColumnIndex(v)},r)}else{t=n.column;i&&(h.clearSelected(),h.clearCellAreas)&&(h.clearCellAreas(),h.clearCopyCellArea()),t!==v&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),h.clearValidate)&&h.clearValidate(g,v),v.renderHeight=f.offsetHeight,n.args=l,n.column=v,e&&setTimeout(()=>{h.handleFocus(l,r)})}c.column=null,c.row=null,h.focus()}return(0,_vue.nextTick)()},v=(t,e,l)=>{var r=m.editConfig;let o=_xeUtils.default.isString(e)?h.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?h.scrollToRow(t,o):null).then(()=>{var e=h.getCellElement(t,o);return e&&(i({row:t,rowIndex:h.getRowIndex(t),column:o,columnIndex:h.getColumnIndex(o),cell:e,$table:h},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=m.treeConfig;let{mergeList:l,editStore:r}=R,{tableFullTreeData:o,selectCheckboxMaps:a,afterFullData:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:v,mapChildrenField:w}=g,f=g.children||g.childrenField;g=r.actived,c=c.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;h.isInsertByRow(e)||(t=(0,_util.getRowid)(h,e),s[t]=e)}),c||(e.forEach(e=>{e=(0,_util.getRowid)(h,e);a[e]&&delete a[e]}),R.updateCheckboxFlag++),n===e?(e=p=n.slice(0),C.tableFullData=[],C.afterFullData=[],h.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(h,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(h,e),{children:w}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(h,e),{children:f})),l=(l&&l.items.splice(l.index,1),h.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):e.forEach(e=>{var t=h.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=h.findRowIndexOf(i,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),g.row&&-1<h.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(h,e);u[e]&&delete u[e],d[e]&&delete d[e]}),R.removeRowFlag++,R.insertRowFlag++,R.pendingRowFlag++,h.updateFooter(),h.cacheRowMap(!1),h.handleTableData(t&&v),t&&v||h.updateAfterDataIndex(),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(h.updateCellAreas(),h.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(h.getCheckboxRecords()).then(e=>(h.clearCheckboxRow(),e))},removeRadioRow(){var e=h.getRadioRecord();return I.remove(e||[]).then(e=>(h.clearRadioRow(),e))},removeCurrentRow(){var e=h.getCurrentRecord();return I.remove(e||[]).then(e=>(h.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=h.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>h.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=m,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>h.isUpdateByRow(e),r):l.filter(e=>h.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),h.getEditRecord()},getEditRecord(){var e=R.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<h.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=R.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),h.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=R.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),h.isEditByRow(e)},isEditByRow(e){var t=R.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?h.getColumnByField(t):t),v(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return v(e,t,!0)},setSelectCell(e,t){var l=R.tableData,r=x.value,t=_xeUtils.default.isString(t)?h.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=h.findRowIndexOf(l,e))&&t&&(l=h.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:h.getColumnIndex(t),cell:l},h.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=x.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&h.scrollToRow(o,a)}},handleSelected(e,t){var l=m.mouseConfig,r=R.editStore,o=c.value;let a=x.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),h.clearSelected(),h.clearCellAreas&&(h.clearCellAreas(),h.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),h.focus(),t)&&h.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=R.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=h.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(x){let{props:m,reactData:R,internalData:C}=x,o=x.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:h,computeCheckboxOpts:_,computeTreeOpts:E,computeValidOpts:n}=x.getComputeMaps(),s=_xeUtils.default.browse(),I={},g={},b=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},d=()=>{var{editStore:e,tableColumn:t}=R,l=h.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},F=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:u}=C;var l=E.value;let{rowField:s,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(x,l),o=t?_xeUtils.default.findTree(i,e=>t===e[s],{children:g}):null;if(o){var o=o.item,a=u[(0,_util.getRowid)(x,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=o,u[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[r]=a,u[r]=a}})},u=(t,l,d)=>{let o=m.treeConfig,{tableFullTreeData:e,afterFullData:a,mergeBodyList:i,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:s,insertRowMaps:r}=C,c=E.value,{transform:g,rowField:v,mapChildrenField:w}=c,f=c.children||c.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(x.defineField(t.map(e=>Object.assign(o&&g?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&g?F(p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.unshift(e),n.unshift(e)}),i.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&g?F(p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,s[t]=l,a.push(e),n.push(e)}),i.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+p.length)}));else if(o&&g){let n=_xeUtils.default.findTree(e,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:e;t=s[(0,_util.getRowid)(x,o)];let i=t?t.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(x,e);"development"===process.env.NODE_ENV&&e[c.parentField]&&o&&e[c.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[c.parentField+"="+e[c.parentField],c.parentField+"="+o[v]]),o&&(e[c.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,s[l]=t}),o){t=_xeUtils.default.findTree(e,e=>l[v]===e[v],{children:f});if(t){var h=t.items;let e=t.index;d&&(e+=1),h.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),F(p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=x.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...p);t=x.findRowIndexOf(n,l);-1<t?n.splice(t+(d?1:0),0,...p):n.push(...p),i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+p.length:t+l>r&&(e.rowspan=l+p.length)})}return p.forEach(e=>{var t=(0,_util.getRowid)(x,e);r[t]=e}),R.insertRowFlag++,x.cacheRowMap(!1),x.updateScrollYStatus(),x.handleTableData(o&&g),o&&g||x.updateAfterDataIndex(),x.updateFooter(),x.handleUpdateBodyMerge(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},r=(e,t,l,r)=>{var o=m.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),u(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},A=(e,t)=>{var l=R.editStore,{actived:l,focused:r}=l,{row:o,column:a}=l,i=n.value;if(o||a){if(t&&(0,_util.getRowid)(x,t)!==(0,_util.getRowid)(x,o))return(0,_vue.nextTick)();d(),l.args=null,l.row=null,l.column=null,x.updateFooter(),x.dispatchEvent("edit-closed",{row:o,rowIndex:x.getRowIndex(o),$rowIndex:x.getVMRowIndex(o),column:a,columnIndex:x.getColumnIndex(a),$columnIndex:x.getVMColumnIndex(a)},e||null)}return r.row=null,r.column=null,i.autoClear&&("full"!==i.msgMode||"obsolete"===getConfig().cellVaildMode)&&x.clearValidate?x.clearValidate():(0,_vue.nextTick)().then(()=>x.updateCellAreas())},i=(l,r,o,e)=>{let a=x.xeGrid;var{editConfig:t,mouseConfig:i}=m,{editStore:n,tableColumn:d}=R,u=h.value,s=u.mode,{actived:n,focused:c}=n;let{row:g,column:v}=l;var w=v.editRender,f=l.cell||x.getCellElement(g,v),p=u.beforeEditMethod||u.activeMethod;if((l.cell=f)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!x.isPendingByRow(g)){if(n.row!==g||"cell"===s&&n.column!==v){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},l),{$table:x,$grid:a}))){i&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),x.closeTooltip(),n.column&&A(r),t="edit-activated",v.renderHeight=f.offsetHeight,n.args=l,n.row=g,n.column=v,"row"===s?d.forEach(e=>b(g,e)):b(g,v);let e=u.afterEditMethod;(0,_vue.nextTick)(()=>{o&&x.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:x,$grid:a}))})}x.dispatchEvent(t,{row:g,rowIndex:x.getRowIndex(g),$rowIndex:x.getVMRowIndex(g),column:v,columnIndex:x.getColumnIndex(v),$columnIndex:x.getVMColumnIndex(v)},r),"edit-activated"===t&&x.dispatchEvent("edit-actived",{row:g,rowIndex:x.getRowIndex(g),$rowIndex:x.getVMRowIndex(g),column:v,columnIndex:x.getColumnIndex(v),$columnIndex:x.getVMColumnIndex(v)},r)}else{t=n.column;i&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),t!==v&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),x.clearValidate)&&x.clearValidate(g,v),v.renderHeight=f.offsetHeight,n.args=l,n.column=v,e&&setTimeout(()=>{x.handleFocus(l,r)})}c.column=null,c.row=null,x.focus()}return(0,_vue.nextTick)()},v=(t,e,l)=>{var r=m.editConfig;let o=_xeUtils.default.isString(e)?x.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?x.scrollToRow(t,o):null).then(()=>{var e=x.getCellElement(t,o);return e&&(i({row:t,rowIndex:x.getRowIndex(t),column:o,columnIndex:x.getColumnIndex(o),cell:e,$table:x},null,l,l),C._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return u(e,null)},insertAt(e,t){return u(e,t)},insertNextAt(e,t){return u(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=m.treeConfig,l=R.editStore;let{tableFullTreeData:r,selectCheckboxMaps:o,afterFullData:a,mergeBodyList:i,tableFullData:n,pendingRowMaps:d,insertRowMaps:u,removeRowMaps:s}=C;var c=_.value,g=E.value;let{transform:v,mapChildrenField:w}=g,f=g.children||g.childrenField;g=l.actived,l=c.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;x.isInsertByRow(e)||(t=(0,_util.getRowid)(x,e),s[t]=e)}),l||(e.forEach(e=>{e=(0,_util.getRowid)(x,e);o[e]&&delete o[e]}),R.updateCheckboxFlag++),n===e?(e=p=n.slice(0),C.tableFullData=[],C.afterFullData=[],x.clearMergeCells()):t&&v?e.forEach(e=>{let t=(0,_util.getRowid)(x,e);var l=_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(x,e),{children:w}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(r,e=>t===(0,_util.getRowid)(x,e),{children:f})),l=(l&&l.items.splice(l.index,1),x.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=x.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=x.findRowIndexOf(a,e);-1<r&&(i.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),g.row&&-1<x.findRowIndexOf(e,g.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(x,e);u[e]&&delete u[e],d[e]&&delete d[e]}),R.removeRowFlag++,R.insertRowFlag++,R.pendingRowFlag++,x.cacheRowMap(!1),x.handleTableData(t&&v),x.updateFooter(),x.handleUpdateBodyMerge(),t&&v||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(x.getCheckboxRecords()).then(e=>(x.clearCheckboxRow(),e))},removeRadioRow(){var e=x.getRadioRecord();return I.remove(e||[]).then(e=>(x.clearRadioRow(),e))},removeCurrentRow(){var e=x.getCurrentRecord();return I.remove(e||[]).then(e=>(x.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=x.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>x.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=C,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=m,l=C.tableFullData,r=E.value;return e?(d(),t?_xeUtils.default.filterTree(l,e=>x.isUpdateByRow(e),r):l.filter(e=>x.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),x.getEditRecord()},getEditRecord(){var e=R.editStore,t=C.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<x.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=R.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),x.clearEdit(e)},clearEdit(e){return A(null,e)},clearSelected(){var e=R.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),x.isEditByRow(e)},isEditByRow(e){var t=R.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=C.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender)),o=!1;return t&&(o=!0)!==t&&(r=_xeUtils.default.isString(t)?x.getColumnByField(t):t),v(e,r,o)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return v(e,t,!0)},setSelectCell(e,t){var l=R.tableData,r=h.value,t=_xeUtils.default.isString(t)?x.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=x.findRowIndexOf(l,e))&&t&&(l=x.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:x.getColumnIndex(t),cell:l},x.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:A,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=h.value;if((0,_utils.isEnableConf)(n)){var u=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&u&&(e=u.tableAutoFocus||u.tableAutofocus||u.autofocus),!t&&u&&(t=u.tableAutoSelect||u.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():s.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&x.scrollToRow(o,a)}},handleSelected(e,t){var l=m.mouseConfig,r=R.editStore,o=c.value;let a=h.value,{actived:i,selected:n}=r,{row:d,column:u}=e,s=l&&o.selected;return!s||n.row===d&&n.column===u||(i.row!==d||"cell"===a.mode&&i.column!==u)&&(A(t),x.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea()),n.args=e,n.row=d,n.column=u,s&&g.addCellSelectedClass(),x.focus(),t)&&x.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=R.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=x.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
@@ -605,9 +605,11 @@ hooks.add('tableExportModule', {
|
|
|
605
605
|
} = props;
|
|
606
606
|
const {
|
|
607
607
|
isAllSelected,
|
|
608
|
-
isIndeterminate
|
|
609
|
-
mergeList
|
|
608
|
+
isIndeterminate
|
|
610
609
|
} = reactData;
|
|
610
|
+
const {
|
|
611
|
+
mergeBodyCellMaps
|
|
612
|
+
} = internalData;
|
|
611
613
|
const treeOpts = computeTreeOpts.value;
|
|
612
614
|
const {
|
|
613
615
|
print: isPrint,
|
|
@@ -670,9 +672,10 @@ hooks.add('tableExportModule', {
|
|
|
670
672
|
if (treeConfig) {
|
|
671
673
|
datas.forEach(item => {
|
|
672
674
|
tables.push('<tr>' + columns.map(column => {
|
|
675
|
+
const colid = column.id;
|
|
673
676
|
const cellAlign = column.align || allAlign;
|
|
674
677
|
const classNames = hasEllipsis(column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
|
|
675
|
-
const cellValue = item[
|
|
678
|
+
const cellValue = item[colid];
|
|
676
679
|
if (cellAlign) {
|
|
677
680
|
classNames.push(`col--${cellAlign}`);
|
|
678
681
|
}
|
|
@@ -705,10 +708,10 @@ hooks.add('tableExportModule', {
|
|
|
705
708
|
const cellValue = item[column.id];
|
|
706
709
|
let rowSpan = 1;
|
|
707
710
|
let colSpan = 1;
|
|
708
|
-
if (isMerge
|
|
711
|
+
if (isMerge) {
|
|
709
712
|
const _rowIndex = $xeTable.getVTRowIndex(item._row);
|
|
710
713
|
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
711
|
-
const spanRest =
|
|
714
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
712
715
|
if (spanRest) {
|
|
713
716
|
const {
|
|
714
717
|
rowspan,
|
|
@@ -1135,15 +1138,15 @@ hooks.add('tableExportModule', {
|
|
|
1135
1138
|
} = props;
|
|
1136
1139
|
const {
|
|
1137
1140
|
initStore,
|
|
1138
|
-
mergeList,
|
|
1139
|
-
mergeFooterList,
|
|
1140
1141
|
isGroup,
|
|
1141
1142
|
footerTableData,
|
|
1142
1143
|
exportStore,
|
|
1143
1144
|
exportParams
|
|
1144
1145
|
} = reactData;
|
|
1145
1146
|
const {
|
|
1146
|
-
collectColumn
|
|
1147
|
+
collectColumn,
|
|
1148
|
+
mergeBodyList,
|
|
1149
|
+
mergeFooterList
|
|
1147
1150
|
} = internalData;
|
|
1148
1151
|
const exportOpts = computeExportOpts.value;
|
|
1149
1152
|
const hasTree = treeConfig;
|
|
@@ -1151,7 +1154,7 @@ hooks.add('tableExportModule', {
|
|
|
1151
1154
|
const selectRecords = $xeTable.getCheckboxRecords();
|
|
1152
1155
|
const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {};
|
|
1153
1156
|
const hasFooter = !!footerTableData.length;
|
|
1154
|
-
const hasMerge = !!(
|
|
1157
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
|
|
1155
1158
|
const defOpts = Object.assign({
|
|
1156
1159
|
message: true,
|
|
1157
1160
|
isHeader: showHeader,
|
|
@@ -1281,19 +1284,19 @@ hooks.add('tableExportModule', {
|
|
|
1281
1284
|
showFooter
|
|
1282
1285
|
} = props;
|
|
1283
1286
|
const {
|
|
1284
|
-
mergeList,
|
|
1285
|
-
mergeFooterList,
|
|
1286
1287
|
isGroup
|
|
1287
1288
|
} = reactData;
|
|
1288
1289
|
const {
|
|
1289
1290
|
tableFullColumn,
|
|
1290
1291
|
afterFullData,
|
|
1291
|
-
collectColumn
|
|
1292
|
+
collectColumn,
|
|
1293
|
+
mergeBodyList,
|
|
1294
|
+
mergeFooterList
|
|
1292
1295
|
} = internalData;
|
|
1293
1296
|
const exportOpts = computeExportOpts.value;
|
|
1294
1297
|
const treeOpts = computeTreeOpts.value;
|
|
1295
1298
|
const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {};
|
|
1296
|
-
const hasMerge = !!(
|
|
1299
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
|
|
1297
1300
|
const opts = Object.assign({
|
|
1298
1301
|
message: true,
|
|
1299
1302
|
isHeader: showHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(M){let{props:F,reactData:U,internalData:j}=M,{computeTreeOpts:I,computePrintOpts:i,computeExportOpts:N,computeImportOpts:c,computeCustomOpts:E,computeSeqOpts:s,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:n}=M.getComputeMaps(),D=(0,_vue.inject)("$xeGrid",null),g=e=>{var t=I.value,t=t.children||t.childrenField;return e[t]&&e[t].length},f=(e,t,l,r,o)=>{var a=s.value.seqMethod||r.seqMethod;return a?a({row:t,rowIndex:M.getRowIndex(t),$rowIndex:l,column:r,columnIndex:M.getColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:M}):(e.isTitle?t.getTitle():t.field)||""}let v=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,b=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(c,u,e)=>{let{isAllExpand:i,mode:p}=c;var t=F.treeConfig;let m=r.value,h=o.value;var l=I.value;let x=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&M.isTreeExpandByRow(e)){l=g(d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&M.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||x.exportMethod)l=o({$table:M,row:d,column:e,options:c});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===p?a:f(a,d,s,e,t);break;case"checkbox":l=v(M.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=v(M.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=M.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=M.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=b(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:t}),o}return e.map((i,s)=>{let n={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:M,row:i,column:e,options:c});else switch(e.type){case"seq":var a=s+1;l="all"===p?a:f(a,i,s,e,t);break;case"checkbox":l=v(M.isCheckedByCheckboxRow(i)),n._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:i});break;case"radio":l=v(M.isCheckedByRadioRow(i)),n._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",n._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=M.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=M.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=b(l)}),n})},T=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=M.getVTColumnIndex(l);return a?a({$table:M,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=U.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),r},p=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=U.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),r},k=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=U;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=F,{isAllSelected:m,isIndeterminate:o,mergeList:h}=U,i=I.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=s,$="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var e=t.align||c,l=k(t,"showOverflow",u)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b&&h.length){var i=M.getVTRowIndex(n._row),s=M.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(h,i,s);if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=U.footerTableData,(t=getFooterData(s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=U.footerTableData,getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},O=l=>{let{remote:r,columns:o,colgroups:a,exportMethod:i,afterExportMethod:t}=l;return new Promise(t=>{if(r){var e={options:l,$table:M,$grid:D};t(i?i(e):e)}else{let e=(e=>{let{columns:t,dataFilterMethod:l}=e,r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),d(e,t,r)})(l);t(M.preventEvent(null,"event.export",{options:l,columns:o,colgroups:a,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l)=>{if(t.length)switch(e.type){case"csv":return u(e,t,l);case"txt":return p(e,t,l);case"html":return m(e,t,l);case"xml":return h(e,t,l)}return""})(l,o,e))))}}).then(e=>(clearColumnConvert(o),l.print||t&&t({status:!0,options:l,$table:M,$grid:D}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(o),l.print||t&&t({status:!1,options:l,$table:M,$grid:D});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),j._importResolve=null,j._importReject=null},r=e=>{l(e),j._importResolve=null,j._importReject=null};if(j._importResolve=e,j._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:M})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=j.tableFullColumn,M.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=j,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?M.createData(c).then(e=>{let t;return"insert"!==l.mode&&"insertBottom"!==l.mode||(t=M.insertAt(e,-1)),t="insertTop"===l.mode?M.insert(e):M.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:M})}).catch(e=>(t&&t({status:!1,options:i,$table:M}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},L=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),R=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=F,{initStore:a,mergeList:i,mergeFooterList:s,isGroup:n,footerTableData:d,exportStore:c,exportParams:u}=U,p=j.collectColumn,m=N.value,h=E.value,x=M.getCheckboxRecords(),g=D?D.getComputeMaps().computeProxyOpts.value:{},d=!!d.length,i=!(!i.length&&!s.length);let f=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:o,isColgroup:n,isMerge:i,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);s=f.types||_xeUtils.default.keys(m._typeMaps),r=f.modes||[];let v=h.checkMethod;o=p.slice(0);let{columns:b,excludeFields:_,includeFields:y}=f;g=s.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(o,(e,t,l,r,o)=>{var a=e.children&&e.children.length;let i=!1;i=b&&b.length?L(f,e,b):_||y?R(f,e,y,_):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!v&&!v({column:e})}),Object.assign(c,{columns:o,typeList:g,modeList:e,hasFooter:d,hasMerge:i,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(u,{mode:x.length?"selected":"current"},f);let{filename:$,sheetName:w,mode:C,type:T}=u;return $&&(_xeUtils.default.isFunction($)?u.filename=$({options:f,$table:M,$grid:D}):u.filename=""+$),w&&(_xeUtils.default.isFunction(w)?u.sheetName=w({options:f,$table:M,$grid:D}):u.sheetName=""+w),e.some(e=>e.value===C)||(u.mode=e[0].value),g.some(e=>e.value===T)||(u.type=g[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){var{treeConfig:e,showHeader:n,showFooter:d}=F,{mergeList:c,mergeFooterList:t,isGroup:l}=U;let{tableFullColumn:a,afterFullData:r,collectColumn:o}=j;var i=N.value,u=I.value;let p=D?D.getComputeMaps().computeProxyOpts.value:{};c=!(!c.length&&!t.length);let m=Object.assign({message:!0,isHeader:n,isTitle:n,isFooter:d,isColgroup:l,isMerge:c,useStyle:!0,current:"current",modes:(p.ajax&&p.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},i,s),{filename:h,sheetName:x,type:g,mode:f,columns:v,original:b,columnFilterMethod:_,beforeExportMethod:y,includeFields:$,excludeFields:w}=m,C=[],T=M.getCheckboxRecords();f=f||(T.length?"selected":"current");t=v&&v.length?v:_xeUtils.default.searchTree(o,e=>{var t=e.children&&e.children.length;let l=!1;return l=v&&v.length?L(m,e,v):w||$?R(m,e,$,w):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let E=Object.assign({},m,{filename:"",sheetName:""}),k=(t||_||(E.columnFilterMethod=({column:e})=>(!w||!_xeUtils.default.includes(w,e.field))&&($?!!_xeUtils.default.includes($,e.field):b?e.field:defaultFilterExportColumn(e))),C=t?(E._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(t,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=M.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=M.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=M.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!_||_({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?o:a,(e,t)=>e.visible&&(!_||_({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(C,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),E.columns=k,E.colgroups=convertToRows(C),h&&(_xeUtils.default.isFunction(h)?E.filename=h({options:m,$table:M,$grid:D}):E.filename=""+h),E.filename||(E.filename=getI18n(E.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),x&&(_xeUtils.default.isFunction(x)?E.sheetName=x({options:m,$table:M,$grid:D}):E.sheetName=""+x),E.sheetName||(E.sheetName=document.title||""),!E.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),g))return(0,_log.errLog)("vxe.error.notType",[g]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(g)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(E.print||y&&y({options:E,$table:M,$grid:D}),!E.data){if(E.data=[],"selected"===f)-1<["html","pdf"].indexOf(g)&&e?E.data=_xeUtils.default.searchTree(M.getTableData().fullData,e=>-1<M.findRowIndexOf(T,e),Object.assign({},u,{data:"_row"})):E.data=T;else if("all"===f&&("development"!==process.env.NODE_ENV||D||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),D)&&!E.remote){n=D.reactData,d=D.getComputeMaps().computeProxyOpts;let e=d.value;c=n.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};s=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:M,$grid:D,sort:c.length?c[0]:{},sorts:c,filters:n.filterData,form:n.formData,options:E};return Promise.resolve((t||s)(l)).then(e=>{var t=o.list;return E.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:D}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),O(E)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===f&&(E.data=r)}return O(E)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:M}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:M}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:M}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=i.value;let l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=l.sheetName;let r="",o=(r=(r=t?_xeUtils.default.isFunction(t)?t({options:l,$table:M,$grid:D}):""+t:r)||document.title||"",l.beforePrintMethod),a=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:M}):void 0})):e(x.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:M}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=i.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return M.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=F;let{initStore:r,importStore:o,importParams:a}=U;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=N.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);F.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=i.value,t=Object.assign({message:!0},t,e);F.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(F){let{props:U,reactData:j,internalData:I}=F,{computeTreeOpts:N,computePrintOpts:i,computeExportOpts:D,computeImportOpts:c,computeCustomOpts:E,computeSeqOpts:s,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:n}=F.getComputeMaps(),O=(0,_vue.inject)("$xeGrid",null),g=e=>{var t=N.value,t=t.children||t.childrenField;return e[t]&&e[t].length},f=(e,t,l,r,o)=>{var a=s.value.seqMethod||r.seqMethod;return a?a({row:t,rowIndex:F.getRowIndex(t),$rowIndex:l,column:r,columnIndex:F.getColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:F}):(e.isTitle?t.getTitle():t.field)||""}let v=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,b=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(c,u,e)=>{let{isAllExpand:i,mode:p}=c;var t=U.treeConfig;let m=r.value,h=o.value;var l=N.value;let x=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&F.isTreeExpandByRow(e)){l=g(d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&F.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||x.exportMethod)l=o({$table:F,row:d,column:e,options:c});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===p?a:f(a,d,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=v(F.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=b(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:t}),o}return e.map((i,s)=>{let n={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:F,row:i,column:e,options:c});else switch(e.type){case"seq":var a=s+1;l="all"===p?a:f(a,i,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(i)),n._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:i});break;case"radio":l=v(F.isCheckedByRadioRow(i)),n._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",n._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=b(l)}),n})},T=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=F.getVTColumnIndex(l);return a?a({$table:F,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),r},p=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),r},k=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=j;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=U,{isAllSelected:m,isIndeterminate:o}=j,h=I.mergeBodyCellMaps,i=N.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=s,$="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||c,r=k(t,"showOverflow",u)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b){var i=F.getVTRowIndex(n._row),s=F.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=j.footerTableData,(t=getFooterData(s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},L=l=>{let{remote:r,columns:o,colgroups:a,exportMethod:i,afterExportMethod:t}=l;return new Promise(t=>{if(r){var e={options:l,$table:F,$grid:O};t(i?i(e):e)}else{let e=(e=>{let{columns:t,dataFilterMethod:l}=e,r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),d(e,t,r)})(l);t(F.preventEvent(null,"event.export",{options:l,columns:o,colgroups:a,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l)=>{if(t.length)switch(e.type){case"csv":return u(e,t,l);case"txt":return p(e,t,l);case"html":return m(e,t,l);case"xml":return h(e,t,l)}return""})(l,o,e))))}}).then(e=>(clearColumnConvert(o),l.print||t&&t({status:!0,options:l,$table:F,$grid:O}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(o),l.print||t&&t({status:!1,options:l,$table:F,$grid:O});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),I._importResolve=null,I._importReject=null},r=e=>{l(e),I._importResolve=null,I._importReject=null};if(I._importResolve=e,I._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:F})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=I.tableFullColumn,F.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=I,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?F.createData(c).then(e=>{let t;return"insert"!==l.mode&&"insertBottom"!==l.mode||(t=F.insertAt(e,-1)),t="insertTop"===l.mode?F.insert(e):F.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:F})}).catch(e=>(t&&t({status:!1,options:i,$table:F}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},R=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),V=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=U,{initStore:a,isGroup:i,footerTableData:s,exportStore:n,exportParams:d}=j,{collectColumn:c,mergeBodyList:u,mergeFooterList:p}=I,m=D.value,h=E.value,x=F.getCheckboxRecords(),g=O?O.getComputeMaps().computeProxyOpts.value:{},s=!!s.length,u=!(!u.length&&!p.length);let f=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:o,isColgroup:i,isMerge:u,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);p=f.types||_xeUtils.default.keys(m._typeMaps),r=f.modes||[];let v=h.checkMethod;o=c.slice(0);let{columns:b,excludeFields:_,includeFields:y}=f;g=p.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(o,(e,t,l,r,o)=>{var a=e.children&&e.children.length;let i=!1;i=b&&b.length?R(f,e,b):_||y?V(f,e,y,_):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!v&&!v({column:e})}),Object.assign(n,{columns:o,typeList:g,modeList:e,hasFooter:s,hasMerge:u,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(d,{mode:x.length?"selected":"current"},f);let{filename:$,sheetName:w,mode:C,type:T}=d;return $&&(_xeUtils.default.isFunction($)?d.filename=$({options:f,$table:F,$grid:O}):d.filename=""+$),w&&(_xeUtils.default.isFunction(w)?d.sheetName=w({options:f,$table:F,$grid:O}):d.sheetName=""+w),e.some(e=>e.value===C)||(d.mode=e[0].value),g.some(e=>e.value===T)||(d.type=g[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){var{treeConfig:e,showHeader:n,showFooter:d}=U,t=j.isGroup;let{tableFullColumn:a,afterFullData:l,collectColumn:r,mergeBodyList:o,mergeFooterList:i}=I;var c=D.value,u=N.value;let p=O?O.getComputeMaps().computeProxyOpts.value:{};var m=!(!o.length&&!i.length);let h=Object.assign({message:!0,isHeader:n,isTitle:n,isFooter:d,isColgroup:t,isMerge:m,useStyle:!0,current:"current",modes:(p.ajax&&p.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},c,s),{filename:x,sheetName:g,type:f,mode:v,columns:b,original:_,columnFilterMethod:y,beforeExportMethod:$,includeFields:w,excludeFields:C}=h,T=[],E=F.getCheckboxRecords();v=v||(E.length?"selected":"current");n=b&&b.length?b:_xeUtils.default.searchTree(r,e=>{var t=e.children&&e.children.length;let l=!1;return l=b&&b.length?R(h,e,b):C||w?V(h,e,w,C):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let k=Object.assign({},h,{filename:"",sheetName:""}),M=(n||y||(k.columnFilterMethod=({column:e})=>(!C||!_xeUtils.default.includes(C,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):_?e.field:defaultFilterExportColumn(e))),T=n?(k._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(n,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=F.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=F.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=F.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?r:a,(e,t)=>e.visible&&(!y||y({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(T,e=>{e.children&&e.children.length||M.push(e)},{children:"childNodes"}),k.columns=M,k.colgroups=convertToRows(T),x&&(_xeUtils.default.isFunction(x)?k.filename=x({options:h,$table:F,$grid:O}):k.filename=""+x),k.filename||(k.filename=getI18n(k.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?k.sheetName=g({options:h,$table:F,$grid:O}):k.sheetName=""+g),k.sheetName||(k.sheetName=document.title||""),!k.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(c._typeMaps),f))return(0,_log.errLog)("vxe.error.notType",[f]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(f)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(k.print||$&&$({options:k,$table:F,$grid:O}),!k.data){if(k.data=[],"selected"===v)-1<["html","pdf"].indexOf(f)&&e?k.data=_xeUtils.default.searchTree(F.getTableData().fullData,e=>-1<F.findRowIndexOf(E,e),Object.assign({},u,{data:"_row"})):k.data=E;else if("all"===v&&("development"!==process.env.NODE_ENV||O||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),O)&&!k.remote){d=O.reactData,m=O.getComputeMaps().computeProxyOpts;let e=m.value;s=d.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};n=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:F,$grid:O,sort:s.length?s[0]:{},sorts:s,filters:d.filterData,form:d.formData,options:k};return Promise.resolve((t||n)(l)).then(e=>{var t=o.list;return k.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:O}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),L(k)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===v&&(k.data=l)}return L(k)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:F}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:F}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:F}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=i.value;let l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=l.sheetName;let r="",o=(r=(r=t?_xeUtils.default.isFunction(t)?t({options:l,$table:F,$grid:O}):""+t:r)||document.title||"",l.beforePrintMethod),a=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0})):e(x.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=i.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return F.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=U;let{initStore:r,importStore:o,importParams:a}=j;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=D.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);U.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=i.value,t=Object.assign({message:!0},t,e);U.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
package/lib/table/src/body.js
CHANGED
|
@@ -99,14 +99,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
99
99
|
if (slots && slots.line) {
|
|
100
100
|
return $xeTable.callSlot(slots.line, params);
|
|
101
101
|
}
|
|
102
|
-
const
|
|
102
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
103
103
|
let rLevel = 0;
|
|
104
104
|
let prevRow = null;
|
|
105
|
-
if (
|
|
106
|
-
rLevel =
|
|
107
|
-
prevRow =
|
|
105
|
+
if (rowRest) {
|
|
106
|
+
rLevel = rowRest.level;
|
|
107
|
+
prevRow = rowRest.items[rowRest.treeIndex - 1];
|
|
108
108
|
}
|
|
109
|
-
const isFirstRow = $xeTable.eqRow(afterFullData[0], row);
|
|
110
109
|
if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
|
|
111
110
|
return [(0, _vue.h)('div', {
|
|
112
111
|
key: 'tl',
|
|
@@ -114,7 +113,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
114
113
|
}, [(0, _vue.h)('div', {
|
|
115
114
|
class: 'vxe-tree--line',
|
|
116
115
|
style: {
|
|
117
|
-
height: `${
|
|
116
|
+
height: `${$xeTable.eqRow(afterFullData[0], row) ? 1 : (0, _util.calcTreeLine)(params, prevRow)}px`,
|
|
118
117
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
119
118
|
left: `${rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xeTable) : 0) + 16}px`
|
|
120
119
|
}
|
|
@@ -127,11 +126,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
127
126
|
*/
|
|
128
127
|
const renderTdColumn = (seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) => {
|
|
129
128
|
const $xeGrid = $xeTable.xeGrid;
|
|
130
|
-
const {
|
|
131
|
-
fullAllDataRowIdData,
|
|
132
|
-
fullColumnIdData,
|
|
133
|
-
visibleColumn
|
|
134
|
-
} = tableInternalData;
|
|
135
129
|
const {
|
|
136
130
|
columnKey,
|
|
137
131
|
resizable: allResizable,
|
|
@@ -155,16 +149,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
155
149
|
currentColumn,
|
|
156
150
|
scrollXLoad,
|
|
157
151
|
scrollYLoad,
|
|
152
|
+
mergeBodyFlag,
|
|
158
153
|
calcCellHeightFlag,
|
|
159
154
|
resizeHeightFlag,
|
|
160
155
|
resizeWidthFlag,
|
|
161
|
-
mergeList,
|
|
162
156
|
editStore,
|
|
163
157
|
isAllOverflow,
|
|
164
158
|
validErrorMaps
|
|
165
159
|
} = tableReactData;
|
|
166
160
|
const {
|
|
161
|
+
fullAllDataRowIdData,
|
|
162
|
+
fullColumnIdData,
|
|
163
|
+
mergeBodyCellMaps,
|
|
164
|
+
visibleColumn,
|
|
167
165
|
afterFullData,
|
|
166
|
+
mergeBodyList,
|
|
168
167
|
scrollXStore,
|
|
169
168
|
scrollYStore
|
|
170
169
|
} = tableInternalData;
|
|
@@ -325,8 +324,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
325
324
|
};
|
|
326
325
|
let isMergeCell = false;
|
|
327
326
|
// 合并行或列
|
|
328
|
-
if (
|
|
329
|
-
const spanRest =
|
|
327
|
+
if (mergeBodyFlag && mergeBodyList.length) {
|
|
328
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
330
329
|
if (spanRest) {
|
|
331
330
|
const {
|
|
332
331
|
rowspan,
|
|
@@ -361,7 +360,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
361
360
|
}
|
|
362
361
|
}
|
|
363
362
|
// 如果被合并不可隐藏
|
|
364
|
-
if (fixedHiddenColumn &&
|
|
363
|
+
if (fixedHiddenColumn && isMergeCell) {
|
|
365
364
|
if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
|
|
366
365
|
fixedHiddenColumn = false;
|
|
367
366
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let He=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Le,context:q,reactData:je,internalData:Ne}=He,{computeEditOpts:Be,computeMouseOpts:We,computeCellOffsetWidth:Ge,computeAreaOpts:Pe,computeDefaultRowHeight:Ke,computeEmptyOpts:A,computeTooltipOpts:Xe,computeRadioOpts:e,computeExpandOpts:le,computeTreeOpts:v,computeCheckboxOpts:Ve,computeCellOpts:Ye,computeValidOpts:Je,computeRowOpts:Qe,computeColumnOpts:Ze,computeRowDragOpts:el,computeColumnDragOpts:l,computeResizableOpts:ll}=He.getComputeMaps(),$=(0,_vue.ref)(),U=(0,_vue.ref)(),F=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),tl=()=>{var e=Le.delayHover,{lastScrollTime:l,isDragResize:t}=je;return!!(t||l&&Date.now()<l+e)},al=(e,l,t)=>{var{row:a,column:r}=l,o=Ne.afterFullData,i=Le.treeConfig,s=v.value,{slots:r,treeNode:n}=r,d=Ne.fullAllDataRowIdData;if(r&&r.line)return He.callSlot(r.line,l);r=d[e];let u=0,c=null;r&&(u=r.level,c=r.items[r.treeIndex-1]);d=He.eqRow(o[0],a);return i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(He):0)+16+"px"}})])]:[]},ae=($,e,l,U,F,t,a,H,r,o,L,j,i)=>{var s=He.xeGrid,{fullAllDataRowIdData:n,fullColumnIdData:d,visibleColumn:N}=Ne,{columnKey:B,resizable:u,showOverflow:c,border:W,height:v,cellClassName:G,cellStyle:P,align:K,spanMethod:X,mouseConfig:V,editConfig:Y,editRules:p,tooltipConfig:g,padding:h}=Le,{tableData:x,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:w,calcCellHeightFlag:m,resizeHeightFlag:_,resizeWidthFlag:le,mergeList:te,editStore:ae,isAllOverflow:re,validErrorMaps:f}=je,{afterFullData:oe,scrollXStore:ie,scrollYStore:se}=Ne,ne=Ye.value,b=Je.value,de=Ve.value,ue=Be.value,y=Xe.value,{isAllColumnDrag:ce,isAllRowDrag:ve}=ll.value,C=Qe.value,D=el.value,pe=Ke.value,m=m?ne.height||C.height:0,{disabledMethod:R,isCrossDrag:ge,isPeerDrag:he}=D,xe=Ze.value,we=We.value,me=Pe.value,_e=Ge.value,me=me.selectCellToRow,{type:fe,cellRender:be,editRender:ye,align:Ce,showOverflow:De,className:Re,treeNode:Ee,rowResize:Oe,padding:E,verticalAlign:O,slots:Me}=o,M=ne.verticalAlign,ae=ae.actived,n=n[e]||{},S=o.id,d=d[S]||{},I=ye||be,I=I?renderer.get(I.name):null,Se=I?I.tableCellClassName||I.cellClassName:null,Ie=I?I.tableCellStyle||I.cellStyle:"";let ke=y.showAll;var Te=d.index,y=d._index,d=(0,_utils.isEnableConf)(ye),_=_?n.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&Q;Q=_xeUtils.default.eqNull(E)?null===h?ne.padding:h:E,h=_xeUtils.default.eqNull(De)?c:De,E="ellipsis"===h;let T="title"===h,z=!0===h||"tooltip"===h;c=re||T||z||E,De=_xeUtils.default.isBoolean(o.resizable)?o.resizable:xe.resizable||u,h=!!m,u=0<_;let ze;m={},_=Ce||(I?I.tableCellAlign:"")||K,Ce=_xeUtils.default.eqNull(O)?M:O,I=f[e+":"+S],K=p&&b.showMessage&&("default"===b.message?v||1<x.length:"inline"===b.message),M={colid:S};let q={$table:He,$grid:s,isEdit:!1,seq:$,rowid:e,row:t,rowIndex:a,$rowIndex:H,_rowIndex:r,column:o,columnIndex:Te,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:F,visibleData:oe,data:x,items:i},A=!1,qe=!1,Ae=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&(qe=!(!R||!R(q))),(T||z||ke||g)&&(m.onMouseenter=e=>{tl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||ke)&&He.triggerBodyTooltipEvent(e,q),He.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||ke||g)&&(m.onMouseleave=e=>{tl()||((z||ke)&&He.handleTargetLeaveEvent(e),He.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||de.range||V)&&(m.onMousedown=e=>{He.triggerCellMousedownEvent(e,q)}),A&&(m.onMouseup=He.triggerCellMouseupEvent),m.onClick=e=>{He.triggerCellClickEvent(e,q)},!(m.onDblclick=e=>{He.triggerCellDblclickEvent(e,q)}));if(te.length){O=(0,_util.mergeBodyMethod)(te,r,y);if(O){var{rowspan:f,colspan:p}=O;if(!f||!p)return null;1<f&&(Ae=!0,M.rowspan=f),1<p&&(Ae=!0,M.colspan=p)}}else if(X){var{rowspan:v=1,colspan:s=1}=X(q)||{};if(!v||!s)return null;1<v&&(M.rowspan=v),1<s&&(M.colspan=s)}!(k=k&&te&&(1<M.colspan||1<M.rowspan)?!1:k)&&Y&&(ye||be)&&(ue.showStatus||ue.showUpdateStatus)&&(ze=He.isUpdateByRow(t,o.field));$=w&&!c,a=n.resizeHeight||ne.height||C.height||n.height||pe,H=L===j.length-1,oe=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let $e=!1;Ae||J&&(0,_util.getRowid)(He,J)===e||(w&&(r<se.visibleStartIndex-se.preloadSize||r>se.visibleEndIndex+se.preloadSize)||ee&&!o.fixed&&(y<ie.visibleStartIndex-ie.preloadSize||y>ie.visibleEndIndex+ie.preloadSize))&&($e=!0);x={};if(c&&le){let l=M.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ue=N[Te+e];Ue&&(l+=Ue.renderWidth)}x.width=o.renderWidth-_e*l+"px"}w||c||h||u?x.height=a+"px":x.minHeight=a+"px";i=[];k&&re?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:x})):(i.push(...al(e,q,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:x,title:T?He.getCellLabel(t,o):null},$e?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(q))])),K&&I&&(D=I.rule,R=Me?Me.valid:null,g=Object.assign(Object.assign(Object.assign({},q),I),{rule:I}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,g)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?He.callSlot(R,g):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Fe=!1;return V&&we.area&&me&&((y||!0!==me)&&me!==o.field||(Fe=!0)),!k&&De&&ce&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],onMousedown:e=>He.handleColResizeMousedownEvent(e,l,q),onDblclick:e=>He.handleColResizeDblclickEvent(e,q)})),(Oe||ve)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>He.handleRowResizeMousedownEvent(e,q),onDblclick:e=>He.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Ce?"col--vertical-"+Ce:"",_?"col--"+_:"",fe?"col--"+fe:"",{"col--last":H,"col--tree-node":Ee,"col--edit":d,"col--ellipsis":c,"col--cs-height":h,"col--rs-height":u,"col--to-row":Fe,"col--auto-height":$,"fixed--width":!oe,"fixed--hidden":k,"is--padding":Q,"is--progress":k&&re||$e,"is--drag-cell":A&&(ge||he||!F),"is--drag-disabled":qe,"col--dirty":ze,"col--active":Y&&d&&ae.row===t&&(ae.column===o||"row"===ue.mode),"col--valid-error":!!I,"col--current":Z===o},(0,_dom.getPropClass)(Se,q),(0,_dom.getPropClass)(Re,q),(0,_dom.getPropClass)(G,q)],key:B||ee||w||xe.useKey||C.useKey||xe.drag?S:L},M),{style:Object.assign({},_xeUtils.default.isFunction(Ie)?Ie(q):Ie,_xeUtils.default.isFunction(P)?P(q):P)}),m),U&&k?[]:i)},te=(x,w,m,_)=>{let{stripe:f,rowKey:b,highlightHoverRow:y,rowClassName:C,rowStyle:D,editConfig:R,treeConfig:E}=Le,{hasFixedColumn:O,treeExpandedFlag:M,isColLoading:S,scrollXLoad:I,scrollYLoad:k,isAllOverflow:T,rowExpandedFlag:z,expandColumn:q,selectRadioRow:A,pendingRowFlag:$,isDragColMove:U,rowExpandHeightFlag:F}=je,{fullAllDataRowIdData:H,treeExpandedMaps:L,pendingRowMaps:j,rowExpandedMaps:N}=Ne,B=Ve.value,W=e.value,G=v.value,P=Be.value,K=Qe.value,X=Ze.value,V=l.value,{transform:Y,seqMode:Q}=G,Z=G.children||G.childrenField,J=[],ee=(0,_util.createHandleGetRowId)(He).handleGetRowId;return m.forEach((t,a)=>{let r=ee(t);var e=H[r]||{};let o=a,i=0,s=-1,n=-1;var l={},d=((K.isHover||y)&&(l.onMouseenter=e=>{tl()||He.triggerHoverEvent(e,{row:t,rowIndex:o})},l.onMouseleave=()=>{tl()||He.clearHoverRow()}),e&&(i=e.level,s=E&&Y&&"increasing"===Q?e._index+1:e.seq,o=e.index,n=e._index),{$table:He,seq:s,rowid:r,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n}),u=q&&!!z&&!!N[r];let c=!1,v=[],p=!1;R&&(p=He.isInsertByRow(t)),!E||k||Y||(v=t[Z],c=!!M&&v&&0<v.length&&!!L[r]),!K.drag||E&&!Y||(l.onDragstart=He.handleRowDragDragstartEvent,l.onDragend=He.handleRowDragDragendEvent,l.onDragover=He.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(P.showStatus||P.showInsertStatus),"row--radio":W.highlight&&He.eqRow(A,t),"row--checked":B.highlight&&He.isCheckedByCheckboxRow(t),"row--pending":!!$&&!!j[r]},(0,_dom.getPropClass)(C,d)];let h=_.map((e,l)=>ae(s,r,x,w,i,t,o,a,n,e,l,_,m));J.push(!S&&X.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(U?"":"-disabled"),tag:"tr",class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),h)),u&&({height:g,padding:d,mode:l}=le.value,"fixed"===l?J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${F?e.expandHeight||g:0}px`}})])):(u={},l=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*G.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?T:l,l={$table:He,seq:s,column:q,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":x&&!O,"col--ellipsis":e}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(l)])])])))),c&&J.push(...te(x,w,v,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=Ne.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=$,l[e+"scroll"]=U,l[e+"table"]=F,l[e+"colgroup"]=H,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=Ne.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=q.slots,l=He.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Le,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:v,scrollXLoad:p,scrollYLoad:g,isAllOverflow:h,isDragRowMove:x,expandColumn:w,dragRow:m,dragCol:_}=je,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=Ne,C=Qe.value,D=A.value,R=We.value,E=el.value,O=le.value;let M=d,S=r,I=!1;!(p||g||h)||w&&"fixed"!==O.mode||o||i||(I=!0),c||!a&&v||(S=f),a&&I&&(S=t||[]),g&&m&&2<M.length&&(d=b[(0,_util.getRowid)(He,m)])&&(h=d._index,w=M[0],O=M[M.length-1],o=b[(0,_util.getRowid)(He,w)],i=b[(0,_util.getRowid)(He,O)],o)&&i&&(v=o._index,f=i._index,h<v?M=[m].concat(M):f<h&&(M=M.concat([m]))),a||n||p&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,w=S[0],b=S[S.length-1],O=y[w.id],o=y[b.id],O)&&o&&(i=O._index,v=o._index,d<i?S=[_].concat(S):v<d&&(S=S.concat([_])));let k;f=e?e.empty:null,k=f?He.callSlot(f,{$table:He,$grid:l}):(m=(h=D.name?renderer.get(D.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(m(D,{$table:He})):Le.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){He.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:$,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:U,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(He):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:F,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:H},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>te(a,I,M,S)}):(0,_vue.h)("tbody",{ref:L},te(a,I,M,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){He.triggerCellAreaExtendMousedownEvent&&He.triggerCellAreaExtendMousedownEvent(e,{$table:He,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(He),a?renderEmptyElement(He):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(T){let je=(0,_vue.inject)("$xeTable",{}),{xID:z,props:Ne,context:q,reactData:Be,internalData:We}=je,{computeEditOpts:Ge,computeMouseOpts:Pe,computeCellOffsetWidth:Ke,computeAreaOpts:Xe,computeDefaultRowHeight:Ve,computeEmptyOpts:A,computeTooltipOpts:Ye,computeRadioOpts:e,computeExpandOpts:le,computeTreeOpts:v,computeCheckboxOpts:Je,computeCellOpts:Qe,computeValidOpts:Ze,computeRowOpts:el,computeColumnOpts:ll,computeRowDragOpts:tl,computeColumnDragOpts:l,computeResizableOpts:al}=je.getComputeMaps(),$=(0,_vue.ref)(),F=(0,_vue.ref)(),U=(0,_vue.ref)(),H=(0,_vue.ref)(),L=(0,_vue.ref)(),j=(0,_vue.ref)(),N=(0,_vue.ref)(),B=(0,_vue.ref)(),rl=()=>{var e=Ne.delayHover,{lastScrollTime:l,isDragResize:t}=Be;return!!(t||l&&Date.now()<l+e)},ol=(e,l,t)=>{var{row:a,column:r}=l,o=We.afterFullData,i=Ne.treeConfig,s=v.value,{slots:r,treeNode:n}=r,d=We.fullAllDataRowIdData;if(r&&r.line)return je.callSlot(r.line,l);r=d[e];let u=0,c=null;return r&&(u=r.level,c=r.items[r.treeIndex-1]),i&&n&&(s.showLine||s.line)?[(0,_vue.h)("div",{key:"tl",class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${je.eqRow(o[0],a)?1:(0,_util.calcTreeLine)(l,c)}px`,bottom:`-${Math.floor(t/2)}px`,left:u*s.indent+(u?2-(0,_util.getOffsetSize)(je):0)+16+"px"}})])]:[]},ae=($,e,l,F,U,t,a,H,r,o,L,j,i)=>{var s=je.xeGrid,{columnKey:N,resizable:n,showOverflow:d,border:B,height:u,cellClassName:W,cellStyle:G,align:P,spanMethod:K,mouseConfig:X,editConfig:V,editRules:c,tooltipConfig:v,padding:p}=Ne,{tableData:g,dragRow:Y,overflowX:J,currentColumn:Q,scrollXLoad:Z,scrollYLoad:h,mergeBodyFlag:ee,calcCellHeightFlag:x,resizeHeightFlag:w,resizeWidthFlag:le,editStore:te,isAllOverflow:ae,validErrorMaps:m}=Be,{fullAllDataRowIdData:_,fullColumnIdData:f,mergeBodyCellMaps:re,visibleColumn:oe,afterFullData:ie,mergeBodyList:se,scrollXStore:ne,scrollYStore:de}=We,ue=Qe.value,b=Ze.value,ce=Je.value,ve=Ge.value,y=Ye.value,{isAllColumnDrag:pe,isAllRowDrag:ge}=al.value,C=el.value,D=tl.value,he=Ve.value,x=x?ue.height||C.height:0,{disabledMethod:R,isCrossDrag:xe,isPeerDrag:we}=D,me=ll.value,_e=Pe.value,fe=Xe.value,be=Ke.value,fe=fe.selectCellToRow,{type:ye,cellRender:Ce,editRender:De,align:Re,showOverflow:Ee,className:Oe,treeNode:Me,rowResize:Se,padding:E,verticalAlign:O,slots:Ie}=o,M=ue.verticalAlign,te=te.actived,_=_[e]||{},S=o.id,f=f[S]||{},I=De||Ce,I=I?renderer.get(I.name):null,ke=I?I.tableCellClassName||I.cellClassName:null,Te=I?I.tableCellStyle||I.cellStyle:"";let ze=y.showAll;var qe=f.index,y=f._index,f=(0,_utils.isEnableConf)(De),w=w?_.resizeHeight:0;let k=l?o.fixed!==l:o.fixed&&J;J=_xeUtils.default.eqNull(E)?null===p?ue.padding:p:E,p=_xeUtils.default.eqNull(Ee)?d:Ee,E="ellipsis"===p;let T="title"===p,z=!0===p||"tooltip"===p;d=ae||T||z||E,Ee=_xeUtils.default.isBoolean(o.resizable)?o.resizable:me.resizable||n,p=!!x,n=0<w;let Ae;x={},w=Re||(I?I.tableCellAlign:"")||P,Re=_xeUtils.default.eqNull(O)?M:O,I=m[e+":"+S],P=c&&b.showMessage&&("default"===b.message?u||1<g.length:"inline"===b.message),M={colid:S};let q={$table:je,$grid:s,isEdit:!1,seq:$,rowid:e,row:t,rowIndex:a,$rowIndex:H,_rowIndex:r,column:o,columnIndex:qe,$columnIndex:L,_columnIndex:y,fixed:l,type:renderType,isHidden:!!k,level:U,visibleData:ie,data:g,items:i},A=!1,$e=!1,Fe=((A=C.drag?"row"===D.trigger||o.dragSort&&"cell"===D.trigger:A)&&($e=!(!R||!R(q))),(T||z||ze||v)&&(x.onMouseenter=e=>{rl()||(T?(0,_dom.updateCellTitle)(e.currentTarget,o):(z||ze)&&je.triggerBodyTooltipEvent(e,q),je.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},q),e))}),(z||ze||v)&&(x.onMouseleave=e=>{rl()||((z||ze)&&je.handleTargetLeaveEvent(e),je.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},q),e))}),(A||ce.range||X)&&(x.onMousedown=e=>{je.triggerCellMousedownEvent(e,q)}),A&&(x.onMouseup=je.triggerCellMouseupEvent),x.onClick=e=>{je.triggerCellClickEvent(e,q)},!(x.onDblclick=e=>{je.triggerCellDblclickEvent(e,q)}));if(ee&&se.length){O=re[r+":"+y];if(O){var{rowspan:m,colspan:c}=O;if(!m||!c)return null;1<m&&(Fe=!0,M.rowspan=m),1<c&&(Fe=!0,M.colspan=c)}}else if(K){var{rowspan:u=1,colspan:s=1}=K(q)||{};if(!u||!s)return null;1<u&&(M.rowspan=u),1<s&&(M.colspan=s)}!(k=k&&Fe&&(1<M.colspan||1<M.rowspan)?!1:k)&&V&&(De||Ce)&&(ve.showStatus||ve.showUpdateStatus)&&(Ae=je.isUpdateByRow(t,o.field));$=h&&!d,a=_.resizeHeight||ue.height||C.height||_.height||he,H=L===j.length-1,ie=!o.resizeWidth&&("auto"===o.minWidth||"auto"===o.width);let Ue=!1;Fe||Y&&(0,_util.getRowid)(je,Y)===e||(h&&(r<de.visibleStartIndex-de.preloadSize||r>de.visibleEndIndex+de.preloadSize)||Z&&!o.fixed&&(y<ne.visibleStartIndex-ne.preloadSize||y>ne.visibleEndIndex+ne.preloadSize))&&(Ue=!0);g={};if(d&&le){let l=M.colspan||0;if(1<l)for(let e=1;e<l;e++){var He=oe[qe+e];He&&(l+=He.renderWidth)}g.width=o.renderWidth-be*l+"px"}h||d||p||n?g.height=a+"px":g.minHeight=a+"px";i=[];k&&ae?i.push((0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g})):(i.push(...ol(e,q,a),(0,_vue.h)("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":z,"c--ellipsis":E}],style:g,title:T?je.getCellLabel(t,o):null},Ue?[]:[(0,_vue.h)("div",{colid:S,rowid:e,class:"vxe-cell--wrapper"},o.renderCell(q))])),P&&I&&(D=I.rule,R=Ie?Ie.valid:null,v=Object.assign(Object.assign(Object.assign({},q),I),{rule:I}),i.push((0,_vue.h)("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_dom.getPropClass)(b.className,v)],style:D&&D.maxWidth?{width:D.maxWidth+"px"}:null},[(0,_vue.h)("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[R?je.callSlot(R,v):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},I.content)]])]))));let Le=!1;return X&&_e.area&&fe&&((y||!0!==fe)&&fe!==o.field||(Le=!0)),!k&&Ee&&pe&&i.push((0,_vue.h)("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!B||"none"===B}],onMousedown:e=>je.handleColResizeMousedownEvent(e,l,q),onDblclick:e=>je.handleColResizeDblclickEvent(e,q)})),(Se||ge)&&C.resizable&&i.push((0,_vue.h)("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>je.handleRowResizeMousedownEvent(e,q),onDblclick:e=>je.handleRowResizeDblclickEvent(e,q)})),(0,_vue.h)("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",S,Re?"col--vertical-"+Re:"",w?"col--"+w:"",ye?"col--"+ye:"",{"col--last":H,"col--tree-node":Me,"col--edit":f,"col--ellipsis":d,"col--cs-height":p,"col--rs-height":n,"col--to-row":Le,"col--auto-height":$,"fixed--width":!ie,"fixed--hidden":k,"is--padding":J,"is--progress":k&&ae||Ue,"is--drag-cell":A&&(xe||we||!U),"is--drag-disabled":$e,"col--dirty":Ae,"col--active":V&&f&&te.row===t&&(te.column===o||"row"===ve.mode),"col--valid-error":!!I,"col--current":Q===o},(0,_dom.getPropClass)(ke,q),(0,_dom.getPropClass)(Oe,q),(0,_dom.getPropClass)(W,q)],key:N||Z||h||me.useKey||C.useKey||me.drag?S:L},M),{style:Object.assign({},_xeUtils.default.isFunction(Te)?Te(q):Te,_xeUtils.default.isFunction(G)?G(q):G)}),x),F&&k?[]:i)},te=(x,w,m,_)=>{let{stripe:f,rowKey:b,highlightHoverRow:y,rowClassName:C,rowStyle:D,editConfig:R,treeConfig:E}=Ne,{hasFixedColumn:O,treeExpandedFlag:M,isColLoading:S,scrollXLoad:I,scrollYLoad:k,isAllOverflow:T,rowExpandedFlag:z,expandColumn:q,selectRadioRow:A,pendingRowFlag:$,isDragColMove:F,rowExpandHeightFlag:U}=Be,{fullAllDataRowIdData:H,treeExpandedMaps:L,pendingRowMaps:j,rowExpandedMaps:N}=We,B=Je.value,W=e.value,G=v.value,P=Ge.value,K=el.value,X=ll.value,V=l.value,{transform:Y,seqMode:Q}=G,Z=G.children||G.childrenField,J=[],ee=(0,_util.createHandleGetRowId)(je).handleGetRowId;return m.forEach((t,a)=>{let r=ee(t);var e=H[r]||{};let o=a,i=0,s=-1,n=-1;var l={},d=((K.isHover||y)&&(l.onMouseenter=e=>{rl()||je.triggerHoverEvent(e,{row:t,rowIndex:o})},l.onMouseleave=()=>{rl()||je.clearHoverRow()}),e&&(i=e.level,s=E&&Y&&"increasing"===Q?e._index+1:e.seq,o=e.index,n=e._index),{$table:je,seq:s,rowid:r,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n}),u=q&&!!z&&!!N[r];let c=!1,v=[],p=!1;R&&(p=je.isInsertByRow(t)),!E||k||Y||(v=t[Z],c=!!M&&v&&0<v.length&&!!L[r]),!K.drag||E&&!Y||(l.onDragstart=je.handleRowDragDragstartEvent,l.onDragend=je.handleRowDragDragendEvent,l.onDragover=je.handleRowDragDragoverEvent);var g=["vxe-body--row",E?"row--level-"+i:"",{"row--stripe":f&&(n+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":c,"row--new":p&&(P.showStatus||P.showInsertStatus),"row--radio":W.highlight&&je.eqRow(A,t),"row--checked":B.highlight&&je.isCheckedByCheckboxRow(t),"row--pending":!!$&&!!j[r]},(0,_dom.getPropClass)(C,d)];let h=_.map((e,l)=>ae(s,r,x,w,i,t,o,a,n,e,l,_,m));J.push(!S&&X.drag&&V.animation?(0,_vue.h)(_vue.TransitionGroup,Object.assign({name:"vxe-header--col-list"+(F?"":"-disabled"),tag:"tr",class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),{default:()=>h}):(0,_vue.h)("tr",Object.assign({class:g,rowid:r,style:D?_xeUtils.default.isFunction(D)?D(d):D:null,key:b||I||k||K.useKey||K.drag||X.drag||E?r:a},l),h)),u&&({height:g,padding:d,mode:l}=le.value,"fixed"===l?J.push((0,_vue.h)("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+r,rowid:r},[(0,_vue.h)("td",{class:"vxe-body--row-expanded-place-column",colspan:_.length,style:{height:`${U?e.expandHeight||g:0}px`}})])):(u={},l=(g&&(u.height=g+"px"),E&&(u.paddingLeft=i*G.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?T:l,l={$table:je,seq:s,column:q,fixed:x,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:a,_rowIndex:n},J.push((0,_vue.h)("tr",{class:["vxe-body--expanded-row",{"is--padding":d}],key:"expand_"+r},[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":x&&!O,"col--ellipsis":e}],colspan:_.length},[(0,_vue.h)("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":g}],style:u},[q.renderData(l)])])])))),c&&J.push(...te(x,w,v,_))}),J};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.fixedType,l=We.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=$,l[e+"scroll"]=F,l[e+"table"]=U,l[e+"colgroup"]=H,l[e+"list"]=L,l[e+"xSpace"]=j,l[e+"ySpace"]=N,l[e+"emptyBlock"]=B})}),(0,_vue.onUnmounted)(()=>{var e=T.fixedType,l=We.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{var e=q.slots,l=je.xeGrid;let{fixedColumn:t,fixedType:a,tableColumn:r}=T;var{spanMethod:o,footerSpanMethod:i,mouseConfig:s}=Ne,{isGroup:n,tableData:d,isRowLoading:u,isColLoading:c,overflowX:v,scrollXLoad:p,scrollYLoad:g,isAllOverflow:h,isDragRowMove:x,expandColumn:w,dragRow:m,dragCol:_}=Be,{visibleColumn:f,fullAllDataRowIdData:b,fullColumnIdData:y}=We,C=el.value,D=A.value,R=Pe.value,E=tl.value,O=le.value;let M=d,S=r,I=!1;!(p||g||h)||w&&"fixed"!==O.mode||o||i||(I=!0),c||!a&&v||(S=f),a&&I&&(S=t||[]),g&&m&&2<M.length&&(d=b[(0,_util.getRowid)(je,m)])&&(h=d._index,w=M[0],O=M[M.length-1],o=b[(0,_util.getRowid)(je,w)],i=b[(0,_util.getRowid)(je,O)],o)&&i&&(v=o._index,f=i._index,h<v?M=[m].concat(M):f<h&&(M=M.concat([m]))),a||n||p&&_&&2<S.length&&(g=y[_.id])&&(d=g._index,w=S[0],b=S[S.length-1],O=y[w.id],o=y[b.id],O)&&o&&(i=O._index,v=o._index,d<i?S=[_].concat(S):v<d&&(S=S.concat([_])));let k;f=e?e.empty:null,k=f?je.callSlot(f,{$table:je,$grid:l}):(m=(h=D.name?renderer.get(D.name):null)?h.renderTableEmpty||h.renderTableEmptyView||h.renderEmpty:null)?(0,_vn.getSlotVNs)(m(D,{$table:je})):Ne.emptyText||getI18n("vxe.table.emptyText"),n={onScroll(e){je.triggerBodyScrollEvent(e,a)}};return(0,_vue.h)("div",{ref:$,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:z},[(0,_vue.h)("div",Object.assign({ref:F,class:"vxe-table--body-inner-wrapper"},n),[a?renderEmptyElement(je):(0,_vue.h)("div",{ref:j,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:N,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:U,class:"vxe-table--body",xid:z,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:H},S.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l,style:{width:e.renderWidth+"px"}}))),!u&&!c&&C.drag&&E.animation?(0,_vue.h)(_vue.TransitionGroup,{ref:L,name:"vxe-body--row-list"+(x?"":"-disabled"),tag:"tbody"},{default:()=>te(a,I,M,S)}):(0,_vue.h)("tbody",{ref:L},te(a,I,M,S))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&R.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},R.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){je.triggerCellAreaExtendMousedownEvent&&je.triggerCellAreaExtendMousedownEvent(e,{$table:je,fixed:a,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(je),a?renderEmptyElement(je):(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},k)])])])}}});
|
package/lib/table/src/footer.js
CHANGED
|
@@ -15,30 +15,6 @@ const {
|
|
|
15
15
|
renderEmptyElement
|
|
16
16
|
} = _ui.VxeUI;
|
|
17
17
|
const renderType = 'footer';
|
|
18
|
-
function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
|
|
19
|
-
for (let mIndex = 0; mIndex < mergeFooterList.length; mIndex++) {
|
|
20
|
-
const {
|
|
21
|
-
row: mergeRowIndex,
|
|
22
|
-
col: mergeColIndex,
|
|
23
|
-
rowspan: mergeRowspan,
|
|
24
|
-
colspan: mergeColspan
|
|
25
|
-
} = mergeFooterList[mIndex];
|
|
26
|
-
if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
|
|
27
|
-
if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
|
|
28
|
-
return {
|
|
29
|
-
rowspan: mergeRowspan,
|
|
30
|
-
colspan: mergeColspan
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
|
|
34
|
-
return {
|
|
35
|
-
rowspan: 0,
|
|
36
|
-
colspan: 0
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
18
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
43
19
|
name: 'VxeTableFooter',
|
|
44
20
|
props: {
|
|
@@ -102,11 +78,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
102
78
|
scrollXLoad,
|
|
103
79
|
scrollYLoad,
|
|
104
80
|
overflowX,
|
|
105
|
-
currentColumn
|
|
106
|
-
mergeFooterList
|
|
81
|
+
currentColumn
|
|
107
82
|
} = tableReactData;
|
|
108
83
|
const {
|
|
109
84
|
fullColumnIdData,
|
|
85
|
+
mergeFooterList,
|
|
86
|
+
mergeFooterCellMaps,
|
|
110
87
|
scrollXStore
|
|
111
88
|
} = tableInternalData;
|
|
112
89
|
const tooltipOpts = computeTooltipOpts.value;
|
|
@@ -201,7 +178,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
201
178
|
let isMergeCell = false;
|
|
202
179
|
// 合并行或列
|
|
203
180
|
if (mergeFooterList.length) {
|
|
204
|
-
const spanRest =
|
|
181
|
+
const spanRest = mergeFooterCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
205
182
|
if (spanRest) {
|
|
206
183
|
const {
|
|
207
184
|
rowspan,
|