vxe-table 4.12.4 → 4.12.5
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/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +3 -1
- package/es/locale/lang/en-US.js +7 -5
- package/es/locale/lang/es-ES.js +3 -1
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +3 -1
- package/es/locale/lang/ko-KR.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +3 -1
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/vi-VN.js +3 -1
- package/es/locale/lang/zh-CHT.js +3 -1
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/module/export/export-panel.js +31 -19
- package/es/table/module/export/hook.js +3 -1
- package/es/table/src/table.js +57 -44
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +47 -30
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -5
- package/lib/locale/lang/es-ES.js +3 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -1
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +3 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +3 -1
- package/lib/locale/lang/ko-KR.js +3 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +3 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +3 -1
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +3 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +3 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/module/export/export-panel.js +26 -19
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +3 -1
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/src/table.js +60 -45
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +3 -1
- package/packages/locale/lang/en-US.ts +7 -5
- package/packages/locale/lang/es-ES.ts +3 -1
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +3 -1
- package/packages/locale/lang/ko-KR.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +3 -1
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +3 -1
- package/packages/locale/lang/zh-CHT.ts +3 -1
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/module/export/export-panel.ts +31 -19
- package/packages/table/module/export/hook.ts +3 -1
- package/packages/table/src/table.ts +56 -43
- /package/es/{iconfont.1743394011765.ttf → iconfont.1743479147314.ttf} +0 -0
- /package/es/{iconfont.1743394011765.woff → iconfont.1743479147314.woff} +0 -0
- /package/es/{iconfont.1743394011765.woff2 → iconfont.1743479147314.woff2} +0 -0
- /package/lib/{iconfont.1743394011765.ttf → iconfont.1743479147314.ttf} +0 -0
- /package/lib/{iconfont.1743394011765.woff → iconfont.1743479147314.woff} +0 -0
- /package/lib/{iconfont.1743394011765.woff2 → iconfont.1743479147314.woff2} +0 -0
|
@@ -346,7 +346,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
346
346
|
}, $xeTable.callSlot(parameterSlot, params))]) : (0, _vue.h)('td', [(0, _vue.h)('div', {
|
|
347
347
|
class: 'vxe-table-export--panel-option-row'
|
|
348
348
|
}, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
349
|
-
modelValue: hasEmptyData ||
|
|
349
|
+
modelValue: hasEmptyData || isHeader,
|
|
350
350
|
disabled: hasEmptyData,
|
|
351
351
|
title: getI18n('vxe.export.expHeaderTitle'),
|
|
352
352
|
content: getI18n('vxe.export.expOptHeader'),
|
|
@@ -354,27 +354,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
354
354
|
defaultOptions.isHeader = value;
|
|
355
355
|
}
|
|
356
356
|
}) : (0, _vue.createCommentVNode)(), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
357
|
-
modelValue: defaultOptions.
|
|
358
|
-
disabled: !
|
|
359
|
-
title: getI18n('vxe.export.
|
|
360
|
-
content: getI18n('vxe.export.
|
|
357
|
+
modelValue: isHeader ? defaultOptions.isTitle : false,
|
|
358
|
+
disabled: !isHeader,
|
|
359
|
+
title: getI18n('vxe.export.expTitleTitle'),
|
|
360
|
+
content: getI18n('vxe.export.expOptTitle'),
|
|
361
361
|
'onUpdate:modelValue'(value) {
|
|
362
|
-
defaultOptions.
|
|
362
|
+
defaultOptions.isTitle = value;
|
|
363
363
|
}
|
|
364
364
|
}) : (0, _vue.createCommentVNode)(), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
365
|
-
modelValue: hasEmptyData ? false : defaultOptions.original,
|
|
366
|
-
disabled: hasEmptyData,
|
|
367
|
-
title: getI18n('vxe.export.expOriginalTitle'),
|
|
368
|
-
content: getI18n('vxe.export.expOptOriginal'),
|
|
369
|
-
'onUpdate:modelValue'(value) {
|
|
370
|
-
defaultOptions.original = value;
|
|
371
|
-
}
|
|
372
|
-
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('div', {
|
|
373
|
-
class: 'vxe-table-export--panel-option-row'
|
|
374
|
-
}, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
375
|
-
// modelValue: supportGroup || (isHeader && hasColgroup && supportMerge) ? defaultOptions.isColgroup : false,
|
|
376
|
-
// title: getI18n('vxe.export.expColgroupTitle'),
|
|
377
|
-
// disabled: !supportGroup && (!isHeader || !hasColgroup || !supportMerge),
|
|
378
365
|
modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
|
|
379
366
|
title: getI18n('vxe.export.expColgroupTitle'),
|
|
380
367
|
disabled: !isHeader || !hasColgroup || !supportMerge,
|
|
@@ -382,6 +369,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
382
369
|
'onUpdate:modelValue'(value) {
|
|
383
370
|
defaultOptions.isColgroup = value;
|
|
384
371
|
}
|
|
372
|
+
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('div', {
|
|
373
|
+
class: 'vxe-table-export--panel-option-row'
|
|
374
|
+
}, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
375
|
+
modelValue: hasEmptyData ? false : defaultOptions.original,
|
|
376
|
+
disabled: hasEmptyData,
|
|
377
|
+
title: getI18n('vxe.export.expOriginalTitle'),
|
|
378
|
+
content: getI18n('vxe.export.expOptOriginal'),
|
|
379
|
+
'onUpdate:modelValue'(value) {
|
|
380
|
+
defaultOptions.original = value;
|
|
381
|
+
}
|
|
385
382
|
}) : (0, _vue.createCommentVNode)(), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
386
383
|
modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
|
|
387
384
|
title: getI18n('vxe.export.expMergeTitle'),
|
|
@@ -406,6 +403,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
406
403
|
'onUpdate:modelValue'(value) {
|
|
407
404
|
defaultOptions.isAllExpand = value;
|
|
408
405
|
}
|
|
406
|
+
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('div', {
|
|
407
|
+
class: 'vxe-table-export--panel-option-row'
|
|
408
|
+
}, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
|
|
409
|
+
modelValue: defaultOptions.isFooter,
|
|
410
|
+
disabled: !storeData.hasFooter,
|
|
411
|
+
title: getI18n('vxe.export.expFooterTitle'),
|
|
412
|
+
content: getI18n('vxe.export.expOptFooter'),
|
|
413
|
+
'onUpdate:modelValue'(value) {
|
|
414
|
+
defaultOptions.isFooter = value;
|
|
415
|
+
}
|
|
409
416
|
}) : (0, _vue.createCommentVNode)()])])])]])])]), bottomSlot ? (0, _vue.h)('div', {
|
|
410
417
|
class: 'vxe-table-export--panel-bottom'
|
|
411
418
|
}, $xeTable.callSlot(bottomSlot, params)) : (0, _vue.createCommentVNode)()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableExportPanel",props:{defaultOptions:Object,storeData:Object},setup(I){let f=_ui.VxeUI.getComponent("VxeModal"),
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableExportPanel",props:{defaultOptions:Object,storeData:Object},setup(I){let f=_ui.VxeUI.getComponent("VxeModal"),T=_ui.VxeUI.getComponent("VxeButton"),k=_ui.VxeUI.getComponent("VxeSelect"),O=_ui.VxeUI.getComponent("VxeInput"),E=_ui.VxeUI.getComponent("VxeCheckbox"),N=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=N.getComputeMaps(),U=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),y=(0,_vue.ref)(),D=(0,_vue.ref)(),A=(0,_vue.ref)(),M=(0,_vue.computed)(()=>{var e=I.storeData;return e.columns.every(e=>e.checked)}),H=(0,_vue.computed)(()=>{var e=I.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),L=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=I;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),B=(0,_vue.computed)(()=>{var e=I.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),S=t=>{var e=I.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),S(e))},q=()=>{var e=I.storeData,e=e.columns;U.isAll=e.every(e=>e.disabled||e.checked),U.isIndeterminate=!U.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},w=()=>{var e=I.storeData;let t=!U.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),U.isAll=t,q()},K=()=>{(0,_vue.nextTick)(()=>{var e=D.value,t=A.value,l=y.value,e=e||t||l;e&&e.focus()}),q()},a=()=>{var{storeData:e,defaultOptions:t}=I,{hasMerge:e,columns:l}=e,o=M.value,a=L.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&a&&o)&&t.isMerge})},t=()=>{var e=I.storeData,t=o.value;e.visible=!1,N.print(Object.assign({},t,a()))},r=()=>{let e=I.storeData;var t=l.value;U.loading=!0,N.exportData(Object.assign({},t,a())).then(()=>{U.loading=!1,e.visible=!1}).catch(()=>{U.loading=!1})},P=()=>{var e=I.storeData;e.visible=!1},X=()=>{var e=I.storeData;(e.isPrint?t:r)()};return(0,_vue.nextTick)(()=>{f||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),T||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),k||(0,_log.errLog)("vxe.error.reqComp",["vxe-select"]),O||(0,_log.errLog)("vxe.error.reqComp",["vxe-input"]),E||(0,_log.errLog)("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=N.xeGrid,{defaultOptions:o,storeData:a}=I,{isAll:r,isIndeterminate:n}=U,{hasTree:i,hasMerge:u,isPrint:d,hasColgroup:p,columns:v}=a,s=o.isHeader,x=[],c=M.value,m=H.value,h=L.value,_=B.value;var e=o.slots||{};let g=e.top,C=e.bottom,b=e.default,t=e.footer,V=e.parameter;return _xeUtils.default.eachTree(v,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,a=e.halfChecked,r="html"===e.type;x.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":a,"is--disabled":e.disabled}],title:r?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),S(e),q()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),r?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),f?(0,_vue.h)(f,{id:"VXE_EXPORT_MODAL",modelValue:a.visible,title:getI18n(d?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:U.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:K},{default:()=>{var e={$table:N,$grid:l,options:o,columns:v,params:o.params},t="empty"===o.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[g?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},N.callSlot(g,e)):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},b?N.callSlot(b,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[d?(0,_vue.createCommentVNode)():(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:D,modelValue:o.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){o.filename=e}}):(0,_vue.createCommentVNode)()])]),d?(0,_vue.createCommentVNode)():(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:o.type,options:a.typeList,"onUpdate:modelValue"(e){o.type=e}}):(0,_vue.createCommentVNode)()])]),d||m?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:A,modelValue:o.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){o.sheetName=e}}):(0,_vue.createCommentVNode)()])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:o.mode,options:a.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){o.mode=e}}):(0,_vue.createCommentVNode)()])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":r,"is--indeterminate":n}],title:getI18n("vxe.table.allTitle"),onClick:w},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",n?getIcon().TABLE_CHECKBOX_INDETERMINATE:r?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},x)])])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),V?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},N.callSlot(V,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[E?(0,_vue.h)(E,{modelValue:t||s,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){o.isHeader=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:!!s&&o.isTitle,disabled:!s,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){o.isTitle=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:!!(s&&p&&h)&&o.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!s||!p||!h,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){o.isColgroup=e}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[E?(0,_vue.h)(E,{modelValue:!t&&o.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){o.original=e}}):(0,_vue.createCommentVNode)(),E?(0,_vue.h)(E,{modelValue:!!(u&&h&&c)&&o.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!h||!c,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){o.isMerge=e}}):(0,_vue.createCommentVNode)(),d||!E?(0,_vue.createCommentVNode)():(0,_vue.h)(E,{modelValue:!!_&&o.useStyle,disabled:!_,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){o.useStyle=e}}),E?(0,_vue.h)(E,{modelValue:!!i&&o.isAllExpand,disabled:t||!i,title:getI18n("vxe.export.expAllExpandTitle"),content:getI18n("vxe.export.expOptAllExpand"),"onUpdate:modelValue"(e){o.isAllExpand=e}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[E?(0,_vue.h)(E,{modelValue:o.isFooter,disabled:!a.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){o.isFooter=e}}):(0,_vue.createCommentVNode)()])])])]])])]),C?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},N.callSlot(C,e)):(0,_vue.createCommentVNode)()])},footer(){var e={$table:N,$grid:l,options:o,columns:v,params:o.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?N.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[T?(0,_vue.h)(T,{content:getI18n("vxe.export.expCancel"),onClick:P}):(0,_vue.createCommentVNode)(),T?(0,_vue.h)(T,{ref:y,status:"primary",content:getI18n(d?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:X}):(0,_vue.createCommentVNode)()])])}}):(0,_vue.createCommentVNode)()}}});
|
|
@@ -319,7 +319,7 @@ hooks.add('tableExportModule', {
|
|
|
319
319
|
column,
|
|
320
320
|
options: opts,
|
|
321
321
|
$table: $xeTable
|
|
322
|
-
}) : (opts.
|
|
322
|
+
}) : (opts.isTitle ? column.getTitle() : column.field) || '';
|
|
323
323
|
}
|
|
324
324
|
const toBooleanValue = cellValue => {
|
|
325
325
|
return _xeUtils.default.isBoolean(cellValue) ? cellValue ? 'TRUE' : 'FALSE' : cellValue;
|
|
@@ -1155,6 +1155,7 @@ hooks.add('tableExportModule', {
|
|
|
1155
1155
|
const defOpts = Object.assign({
|
|
1156
1156
|
message: true,
|
|
1157
1157
|
isHeader: showHeader,
|
|
1158
|
+
isTitle: showHeader,
|
|
1158
1159
|
isFooter: showFooter,
|
|
1159
1160
|
isColgroup: isGroup,
|
|
1160
1161
|
isMerge: hasMerge,
|
|
@@ -1296,6 +1297,7 @@ hooks.add('tableExportModule', {
|
|
|
1296
1297
|
const opts = Object.assign({
|
|
1297
1298
|
message: true,
|
|
1298
1299
|
isHeader: showHeader,
|
|
1300
|
+
isTitle: showHeader,
|
|
1299
1301
|
isFooter: showFooter,
|
|
1300
1302
|
isColgroup: isGroup,
|
|
1301
1303
|
isMerge: hasMerge,
|
|
@@ -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.original?t.field:t.getTitle())||""}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,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,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(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)}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -255,6 +255,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
255
255
|
original: false,
|
|
256
256
|
message: true,
|
|
257
257
|
isHeader: false,
|
|
258
|
+
isTitle: false,
|
|
258
259
|
isFooter: false
|
|
259
260
|
},
|
|
260
261
|
rowExpandedFlag: 1,
|
|
@@ -1368,6 +1369,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1368
1369
|
const expandOpts = computeExpandOpts.value;
|
|
1369
1370
|
const columnOpts = computeColumnOpts.value;
|
|
1370
1371
|
const columnDragOpts = computeColumnDragOpts.value;
|
|
1372
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
1371
1373
|
const {
|
|
1372
1374
|
isCrossDrag,
|
|
1373
1375
|
isSelfToChildDrag
|
|
@@ -1421,39 +1423,33 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1421
1423
|
htmlColumn = column;
|
|
1422
1424
|
}
|
|
1423
1425
|
if (treeNode) {
|
|
1424
|
-
if (
|
|
1425
|
-
|
|
1426
|
-
(0, _log.warnLog)('vxe.error.colRepet', ['tree-node', treeNode]);
|
|
1427
|
-
}
|
|
1426
|
+
if (treeNodeColumn) {
|
|
1427
|
+
(0, _log.warnLog)('vxe.error.colRepet', ['tree-node', treeNode]);
|
|
1428
1428
|
}
|
|
1429
1429
|
if (!treeNodeColumn) {
|
|
1430
1430
|
treeNodeColumn = column;
|
|
1431
1431
|
}
|
|
1432
1432
|
} else if (type === 'expand') {
|
|
1433
|
-
if (
|
|
1434
|
-
|
|
1435
|
-
(0, _log.warnLog)('vxe.error.colRepet', ['type', type]);
|
|
1436
|
-
}
|
|
1433
|
+
if (expandColumn) {
|
|
1434
|
+
(0, _log.warnLog)('vxe.error.colRepet', ['type', type]);
|
|
1437
1435
|
}
|
|
1438
1436
|
if (!expandColumn) {
|
|
1439
1437
|
expandColumn = column;
|
|
1440
1438
|
}
|
|
1441
1439
|
}
|
|
1442
|
-
if (
|
|
1443
|
-
if (
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
radioColumn = column;
|
|
1456
|
-
}
|
|
1440
|
+
if (type === 'checkbox') {
|
|
1441
|
+
if (checkboxColumn) {
|
|
1442
|
+
(0, _log.warnLog)('vxe.error.colRepet', ['type', type]);
|
|
1443
|
+
}
|
|
1444
|
+
if (!checkboxColumn) {
|
|
1445
|
+
checkboxColumn = column;
|
|
1446
|
+
}
|
|
1447
|
+
} else if (type === 'radio') {
|
|
1448
|
+
if (radioColumn) {
|
|
1449
|
+
(0, _log.warnLog)('vxe.error.colRepet', ['type', type]);
|
|
1450
|
+
}
|
|
1451
|
+
if (!radioColumn) {
|
|
1452
|
+
radioColumn = column;
|
|
1457
1453
|
}
|
|
1458
1454
|
}
|
|
1459
1455
|
if (isAllOverflow && column.showOverflow === false) {
|
|
@@ -1472,6 +1468,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1472
1468
|
} else {
|
|
1473
1469
|
tableFullColumn.forEach(handleFunc);
|
|
1474
1470
|
}
|
|
1471
|
+
if (expandColumn && expandOpts.mode !== 'fixed' && virtualYOpts.enabled) {
|
|
1472
|
+
(0, _log.warnLog)('vxe.error.notConflictProp', ['column.type="expand', 'virtual-y-config.enabled=false']);
|
|
1473
|
+
}
|
|
1475
1474
|
if (expandColumn && expandOpts.mode !== 'fixed' && mouseOpts.area) {
|
|
1476
1475
|
(0, _log.errLog)('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
|
|
1477
1476
|
}
|
|
@@ -3084,6 +3083,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3084
3083
|
lastScrollTop
|
|
3085
3084
|
} = internalData;
|
|
3086
3085
|
const treeOpts = computeTreeOpts.value;
|
|
3086
|
+
const expandOpts = computeExpandOpts.value;
|
|
3087
3087
|
const {
|
|
3088
3088
|
transform
|
|
3089
3089
|
} = treeOpts;
|
|
@@ -3171,6 +3171,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3171
3171
|
scrollYStore.endIndex = scrollYStore.visibleSize;
|
|
3172
3172
|
}
|
|
3173
3173
|
if (sYLoad) {
|
|
3174
|
+
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
3175
|
+
(0, _log.errLog)('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
|
|
3176
|
+
}
|
|
3174
3177
|
// if (showOverflow) {
|
|
3175
3178
|
// if (!rowOpts.height) {
|
|
3176
3179
|
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
@@ -4780,6 +4783,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4780
4783
|
const {
|
|
4781
4784
|
treeConfig
|
|
4782
4785
|
} = props;
|
|
4786
|
+
const {
|
|
4787
|
+
updateCheckboxFlag
|
|
4788
|
+
} = reactData;
|
|
4783
4789
|
const {
|
|
4784
4790
|
tableFullData,
|
|
4785
4791
|
afterFullData,
|
|
@@ -4800,28 +4806,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4800
4806
|
} = checkboxOpts;
|
|
4801
4807
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
4802
4808
|
let rowList = [];
|
|
4803
|
-
if (
|
|
4804
|
-
if (
|
|
4805
|
-
|
|
4806
|
-
|
|
4807
|
-
|
|
4808
|
-
|
|
4809
|
-
|
|
4810
|
-
const currTableData = isFull ? tableFullData : afterFullData;
|
|
4811
|
-
rowList = currTableData.filter(row => _xeUtils.default.get(row, checkField));
|
|
4812
|
-
}
|
|
4813
|
-
} else {
|
|
4814
|
-
_xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
|
|
4815
|
-
if (isFull) {
|
|
4816
|
-
if (fullDataRowIdData[rowid]) {
|
|
4817
|
-
rowList.push(fullDataRowIdData[rowid].row);
|
|
4818
|
-
}
|
|
4809
|
+
if (updateCheckboxFlag) {
|
|
4810
|
+
if (checkField) {
|
|
4811
|
+
if (treeConfig) {
|
|
4812
|
+
const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
|
|
4813
|
+
rowList = _xeUtils.default.filterTree(currTableData, row => _xeUtils.default.get(row, checkField), {
|
|
4814
|
+
children: transform ? mapChildrenField : childrenField
|
|
4815
|
+
});
|
|
4819
4816
|
} else {
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
}
|
|
4817
|
+
const currTableData = isFull ? tableFullData : afterFullData;
|
|
4818
|
+
rowList = currTableData.filter(row => _xeUtils.default.get(row, checkField));
|
|
4823
4819
|
}
|
|
4824
|
-
}
|
|
4820
|
+
} else {
|
|
4821
|
+
_xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
|
|
4822
|
+
if (isFull) {
|
|
4823
|
+
if (fullDataRowIdData[rowid]) {
|
|
4824
|
+
rowList.push(fullDataRowIdData[rowid].row);
|
|
4825
|
+
}
|
|
4826
|
+
} else {
|
|
4827
|
+
if (afterFullRowMaps[rowid]) {
|
|
4828
|
+
rowList.push(afterFullRowMaps[rowid]);
|
|
4829
|
+
}
|
|
4830
|
+
}
|
|
4831
|
+
});
|
|
4832
|
+
}
|
|
4825
4833
|
}
|
|
4826
4834
|
return rowList;
|
|
4827
4835
|
},
|
|
@@ -11855,6 +11863,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11855
11863
|
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
11856
11864
|
const virtualXOpts = computeVirtualXOpts.value;
|
|
11857
11865
|
const virtualYOpts = computeVirtualYOpts.value;
|
|
11866
|
+
const keyboardOpts = computeKeyboardOpts.value;
|
|
11858
11867
|
if (props.rowId) {
|
|
11859
11868
|
(0, _log.warnLog)('vxe.error.delProp', ['row-id', 'row-config.keyField']);
|
|
11860
11869
|
}
|
|
@@ -11894,6 +11903,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11894
11903
|
if (props.highlightHoverColumn) {
|
|
11895
11904
|
(0, _log.warnLog)('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
|
|
11896
11905
|
}
|
|
11906
|
+
// if (props.scrollY) {
|
|
11907
|
+
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
11908
|
+
// }
|
|
11909
|
+
// if (props.scrollX) {
|
|
11910
|
+
// warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
|
|
11911
|
+
// }
|
|
11897
11912
|
// 检查导入导出类型,如果自定义导入导出方法,则不校验类型
|
|
11898
11913
|
if (importConfig && importOpts.types && !importOpts.importMethod && !_xeUtils.default.includeArrays(_xeUtils.default.keys(importOpts._typeMaps), importOpts.types)) {
|
|
11899
11914
|
(0, _log.warnLog)('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter(type => _xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps), type)).join(',') || _xeUtils.default.keys(importOpts._typeMaps).join(',')]);
|
|
@@ -11954,10 +11969,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11954
11969
|
if (checkboxOpts.halfField) {
|
|
11955
11970
|
(0, _log.warnLog)('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
|
|
11956
11971
|
}
|
|
11957
|
-
if ((rowOpts.isCurrent || highlightCurrentRow) && !_xeUtils.default.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
11972
|
+
if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !_xeUtils.default.isBoolean(currentRowOpts.isFollowSelected)) {
|
|
11958
11973
|
(0, _log.warnLog)('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
|
|
11959
11974
|
}
|
|
11960
|
-
if ((columnOpts.isCurrent || highlightCurrentColumn) && !_xeUtils.default.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
11975
|
+
if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !_xeUtils.default.isBoolean(currentColumnOpts.isFollowSelected)) {
|
|
11961
11976
|
(0, _log.warnLog)('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected']);
|
|
11962
11977
|
}
|
|
11963
11978
|
// 如果不支持虚拟滚动
|