vxe-table 4.21.2 → 4.21.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/all.esm.js +142 -97
  2. package/dist/style.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/table/module/custom/hook.js +4 -0
  5. package/es/table/module/export/export-panel.js +3 -2
  6. package/es/table/module/export/hook.js +13 -7
  7. package/es/table/module/filter/hook.js +97 -79
  8. package/es/table/render/index.js +16 -6
  9. package/es/table/src/table.js +5 -0
  10. package/es/table/src/util.js +1 -0
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/dom.js +1 -1
  13. package/es/ui/src/log.js +1 -1
  14. package/lib/index.umd.js +157 -103
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/style.css +1 -1
  17. package/lib/table/module/custom/hook.js +6 -0
  18. package/lib/table/module/custom/hook.min.js +1 -1
  19. package/lib/table/module/export/export-panel.js +3 -2
  20. package/lib/table/module/export/export-panel.min.js +1 -1
  21. package/lib/table/module/export/hook.js +15 -7
  22. package/lib/table/module/export/hook.min.js +1 -1
  23. package/lib/table/module/filter/hook.js +111 -86
  24. package/lib/table/module/filter/hook.min.js +1 -1
  25. package/lib/table/render/index.js +17 -4
  26. package/lib/table/render/index.min.js +1 -1
  27. package/lib/table/src/table.js +1 -1
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/src/util.js +1 -0
  30. package/lib/table/src/util.min.js +1 -1
  31. package/lib/ui/index.js +1 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/dom.js +1 -1
  34. package/lib/ui/src/dom.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/package.json +2 -2
  38. package/packages/table/module/custom/hook.ts +4 -0
  39. package/packages/table/module/export/export-panel.ts +3 -2
  40. package/packages/table/module/export/hook.ts +12 -7
  41. package/packages/table/module/filter/hook.ts +94 -75
  42. package/packages/table/render/index.ts +16 -6
  43. package/packages/table/src/table.ts +5 -0
  44. package/packages/table/src/util.ts +1 -0
  45. package/packages/ui/src/dom.ts +1 -1
  46. /package/es/{iconfont.1787677402393.ttf → iconfont.1788399047071.ttf} +0 -0
  47. /package/es/{iconfont.1787677402393.woff → iconfont.1788399047071.woff} +0 -0
  48. /package/es/{iconfont.1787677402393.woff2 → iconfont.1788399047071.woff2} +0 -0
  49. /package/lib/{iconfont.1787677402393.ttf → iconfont.1788399047071.ttf} +0 -0
  50. /package/lib/{iconfont.1787677402393.woff → iconfont.1788399047071.woff} +0 -0
  51. /package/lib/{iconfont.1787677402393.woff2 → iconfont.1788399047071.woff2} +0 -0
@@ -591,6 +591,12 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
591
591
  handleUpdateCustomColumn,
592
592
  handleCustomStyle() {
593
593
  const reactData = $xeTable.reactData;
594
+ const {
595
+ customStore
596
+ } = reactData;
597
+ if (!customStore.visible) {
598
+ return (0, _vue.nextTick)();
599
+ }
594
600
  reactData.isCustomDragStatus = false;
595
601
  return updatePopupStyle();
596
602
  }
@@ -1 +1 @@
1
- var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"],customColumnCssKeys=["checkbox","sort","title","width","fixed","align","header-align","footer-align"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(h){let{reactData:C,internalData:v}=h,{computeCustomOpts:f,computeRowGroupFields:s,computeCustomSimpleMode:x}=h.getComputeMaps(),A=h.getRefMaps().refElem;var e=h.xeGrid;let S=h.xeGantt,_=e||S,a=()=>{var e=C.customStore,{mode:t,placement:l,popupOptions:o}=f.value,t=!("modal"===t||"drawer"===t),{transfer:o,minWidth:r,maxWidth:i,maxHeight:s}=o||{},a="outside"===x.value,u=document.documentElement;let n=A.value,d=0,m=0;var c={};let g={};var h=(n=S&&(h=S.getRefMaps().refGanttContainerElem,h=h.value)?h:n).getBoundingClientRect();m=t&&o?(d=h.top+u.scrollTop,_xeUtils.default.eqNull(s)?360:s):a?(_&&n&&(d=n.offsetTop),_xeUtils.default.eqNull(s)?360:s):(n&&(m=n.clientHeight-22),Math.max(88,m));let v=0,b=("left"!==l&&"right"!==l&&(v=_xeUtils.default.eqNull(s)?m:s),l&&["left","right","bottom-left","bottom-right"].includes(l)||d&&(c.top=(0,_dom.toCssUnit)(d)),t&&o&&("bottom-left"!==l&&"bottom-right"!==l||(c.bottom=(0,_dom.toCssUnit)(u.scrollHeight-h.top-h.height+1)),"top-left"===l||"bottom-left"===l?c.left=(0,_dom.toCssUnit)(h.left):l&&"top-right"!==l&&"bottom-right"!==l||(c.right=(0,_dom.toCssUnit)(u.scrollWidth-h.left-h.width+1))),getComputedStyle(u)),p=getComputedStyle(n);return customColumnCssKeys.forEach(e=>{var e=`--vxe-ui-vxe-table-custom-column-${e}-${"title"===e?"min-":""}width`,t=p.getPropertyValue(e);t&&t!==b.getPropertyValue(e)&&(g[e]=t)}),r&&(c["--vxe-ui-vxe-table-custom-default-min-width"]=(0,_dom.toCssUnit)(r)),i&&(c["--vxe-ui-vxe-table-custom-default-max-width"]=(0,_dom.toCssUnit)(i)),v&&(c.maxHeight=(0,_dom.toCssUnit)(v)),e.defPopupStyle=c,e.panePopupStyle=g,e.maxHeight=v,(0,_vue.nextTick)()},l=()=>{var{initStore:e,customStore:t}=C,{mode:l,popupOptions:o}=f.value,l=!("modal"===l||"drawer"===l),o=(o||{}).transfer,r=x.value;let i=null;return l&&o?i=document.body:"outside"===r&&_&&(l=_.getRefMaps().refPopupContainerElem,o=l.value)&&(i=o),v.customPopupToElem!==i&&C.ctPopupFlag++,v.customPopupToElem=i,t.visible=!0,e.custom=!0,u(),n(),a(),(0,_vue.nextTick)().then(()=>a())},u=()=>{var e=C.customStore,t=v.collectColumn;if(e.visible){let l={},o={},r={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,e.renderAlign=e.align,e.renderHeaderAlign=e.headerAlign,e.renderFooterAlign=e.footerAlign,l[t]=e.renderSortNumber,o[t]=e.fixed,r[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=o,e.oldVisibleMaps=r,C.customColumnList=t.slice(0)}},o=()=>{var e=C.customStore,t=f.value;return e.visible&&(e.visible=!1,t.immediate||h.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=C.customStore,l=C.customColumnList,o=f.value;let{checkMethod:r,visibleMethod:i}=o,s=!!e;return o.immediate?(_xeUtils.default.eachTree(l,e=>{i&&!i({$table:h,column:e})||r&&!r({$table:h,column:e})||(e.visible=s,e.renderVisible=s,e.halfVisible=!1)}),t.isAll=s,C.isCustomStatus=!0,h.handleCustom(),h.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{i&&!i({$table:h,column:e})||r&&!r({$table:h,column:e})||(e.renderVisible=s,e.halfVisible=!1)}),t.isAll=s),h.checkCustomStatus(),(0,_vue.nextTick)()};e={getCustomVisible(){var e=C.customStore;return e.visible},openCustom:l,closeCustom:o,toggleCustom:()=>{var e=C.customStore;return(e.visible?o:l)()},saveCustom:e=>{let{customColumnList:t,aggHandleFields:l,rowGroupList:o}=C;let{allowVisible:i,allowSort:s,allowFixed:a,allowResizable:u,allowAlign:n,allowHeaderAlign:d,allowFooterAlign:m,allowGroup:c,allowValues:g}=f.value;return e?_xeUtils.default.eachTree(t,e=>{!u||!e.renderVisible||e.children&&e.children.length||(e.resizeWidth=Math.max(0,_xeUtils.default.toNumber(e.renderWidth)))}):_xeUtils.default.eachTree(t,(e,t,l,o,r)=>{r?e.fixed=r.fixed:(s&&(e.renderSortNumber=t+1),a&&(e.fixed=e.renderFixed)),!u||!e.renderVisible||e.children&&e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),i&&(e.visible=e.renderVisible),n&&(e.align=e.renderAlign),d&&(e.headerAlign=e.renderHeaderAlign),m&&(e.footerAlign=e.renderFooterAlign),c&&g&&(e.aggFunc=e.renderAggFn)}),C.isCustomStatus=!0,c&&h.handlePivotTableAggData&&(o.length!==l.length||o.some((e,t)=>e.field!==l[t])?l.length?h.setRowGroups(l):h.clearRowGroups():g&&h.handleUpdateAggData()),s&&(v.collectColumn=t),h.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=C;let{oldSortMaps:r,oldFixedMaps:i,oldVisibleMaps:s}=t,{allowVisible:a,allowSort:u,allowFixed:n,allowAlign:d,allowHeaderAlign:m,allowFooterAlign:c,allowResizable:g,allowGroup:h,allowValues:v}=f.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!s[t],o=i[t]||"";a&&(e.renderVisible=l,e.visible=l),n&&(e.renderFixed=o,e.fixed=o),u&&(e.renderSortNumber=r[t]||0),g&&(e.renderResizeWidth=e.renderWidth),d&&(e.align=e.renderAlign),m&&(e.headerAlign=e.renderHeaderAlign),c&&(e.footerAlign=e.renderFooterAlign),h,v},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){let t=C.rowGroupList;var l=v.collectColumn;let o=f.value.checkMethod,r=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e,align:!0===e,headerAlign:!0===e,footerAlign:!0===e},e),i=[];return _xeUtils.default.eachTree(l,e=>{r.resizable&&(e.resizeWidth=0),r.fixed&&(e.fixed=e.defaultFixed,e.renderFixed=e.defaultFixed),r.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),o&&!o({$table:h,column:e})||(e.visible=e.defaultVisible),r.align&&(e.align=e.defaultAlign,e.renderAlign=e.defaultAlign),r.headerAlign&&(e.headerAlign=e.defaultHeaderAlign,e.renderHeaderAlign=e.defaultHeaderAlign),r.footerAlign&&(e.footerAlign=e.defaultFooterAlign,e.renderFooterAlign=e.defaultFooterAlign),r.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,i.push(e)}),r.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(i,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),v.collectColumn=e,v.tableFullColumn=(0,_util.getColumnList)(e)),C.isCustomStatus=!1,h.handleCustom().then(()=>{var e;r.aggFunc&&h.handlePivotTableAggData&&(((e=s.value)||t).length?e&&e.length?h.setRowGroups(e):h.clearRowGroups():h.handleUpdateAggData()),h.saveCustomStore("reset")})},toggleCustomAllCheckbox(){var e=C.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let n=()=>{var e=C.customStore,t=v.collectColumn;let l=f.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:h,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:h,column:e}))&&(e.renderVisible||e.halfVisible))},r=(e,t)=>{h.dispatchEvent("custom",{type:e},t)};var i={checkCustomStatus:n,emitCustomEvent:r,triggerCustomEvent(e){var t=h.reactData.customStore;t.visible?(o(),r("close",e),h.dispatchEvent("custom-close",{},e)):(t.btnEl=e.target,l(),r("open",e),h.dispatchEvent("custom-open",{},e))},customOpenEvent(e){var t=h.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,h.openCustom(),h.emitCustomEvent("open",e),h.dispatchEvent("custom-open",{},e))},customCloseEvent(e){var t=h.reactData.customStore;t.visible&&(t.activeBtn=!1,h.closeCustom(),h.emitCustomEvent("close",e),h.dispatchEvent("custom-close",{},e))},handleUpdateCustomColumn:u,handleCustomStyle(){return h.reactData.isCustomDragStatus=!1,a()}};return Object.assign(Object.assign({},e),i)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)},setupGantt(e){return e.extendTableMethods(tableCustomMethodKeys)}});
1
+ var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","getCustomVisible","toggleCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"],customColumnCssKeys=["checkbox","sort","title","width","fixed","align","header-align","footer-align"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(h){let{reactData:C,internalData:v}=h,{computeCustomOpts:f,computeRowGroupFields:s,computeCustomSimpleMode:x}=h.getComputeMaps(),A=h.getRefMaps().refElem;var e=h.xeGrid;let S=h.xeGantt,_=e||S,a=()=>{var e=C.customStore,{mode:t,placement:l,popupOptions:o}=f.value,t=!("modal"===t||"drawer"===t),{transfer:o,minWidth:r,maxWidth:i,maxHeight:s}=o||{},a="outside"===x.value,u=document.documentElement;let n=A.value,d=0,m=0;var c={};let g={};var h=(n=S&&(h=S.getRefMaps().refGanttContainerElem,h=h.value)?h:n).getBoundingClientRect();m=t&&o?(d=h.top+u.scrollTop,_xeUtils.default.eqNull(s)?360:s):a?(_&&n&&(d=n.offsetTop),_xeUtils.default.eqNull(s)?360:s):(n&&(m=n.clientHeight-22),Math.max(88,m));let v=0,b=("left"!==l&&"right"!==l&&(v=_xeUtils.default.eqNull(s)?m:s),l&&["left","right","bottom-left","bottom-right"].includes(l)||d&&(c.top=(0,_dom.toCssUnit)(d)),t&&o&&("bottom-left"!==l&&"bottom-right"!==l||(c.bottom=(0,_dom.toCssUnit)(u.scrollHeight-h.top-h.height+1)),"top-left"===l||"bottom-left"===l?c.left=(0,_dom.toCssUnit)(h.left):l&&"top-right"!==l&&"bottom-right"!==l||(c.right=(0,_dom.toCssUnit)(u.scrollWidth-h.left-h.width+1))),getComputedStyle(u)),p=getComputedStyle(n);return customColumnCssKeys.forEach(e=>{var e=`--vxe-ui-vxe-table-custom-column-${e}-${"title"===e?"min-":""}width`,t=p.getPropertyValue(e);t&&t!==b.getPropertyValue(e)&&(g[e]=t)}),r&&(c["--vxe-ui-vxe-table-custom-default-min-width"]=(0,_dom.toCssUnit)(r)),i&&(c["--vxe-ui-vxe-table-custom-default-max-width"]=(0,_dom.toCssUnit)(i)),v&&(c.maxHeight=(0,_dom.toCssUnit)(v)),e.defPopupStyle=c,e.panePopupStyle=g,e.maxHeight=v,(0,_vue.nextTick)()},l=()=>{var{initStore:e,customStore:t}=C,{mode:l,popupOptions:o}=f.value,l=!("modal"===l||"drawer"===l),o=(o||{}).transfer,r=x.value;let i=null;return l&&o?i=document.body:"outside"===r&&_&&(l=_.getRefMaps().refPopupContainerElem,o=l.value)&&(i=o),v.customPopupToElem!==i&&C.ctPopupFlag++,v.customPopupToElem=i,t.visible=!0,e.custom=!0,u(),n(),a(),(0,_vue.nextTick)().then(()=>a())},u=()=>{var e=C.customStore,t=v.collectColumn;if(e.visible){let l={},o={},r={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,e.renderAlign=e.align,e.renderHeaderAlign=e.headerAlign,e.renderFooterAlign=e.footerAlign,l[t]=e.renderSortNumber,o[t]=e.fixed,r[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=o,e.oldVisibleMaps=r,C.customColumnList=t.slice(0)}},o=()=>{var e=C.customStore,t=f.value;return e.visible&&(e.visible=!1,t.immediate||h.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=C.customStore,l=C.customColumnList,o=f.value;let{checkMethod:r,visibleMethod:i}=o,s=!!e;return o.immediate?(_xeUtils.default.eachTree(l,e=>{i&&!i({$table:h,column:e})||r&&!r({$table:h,column:e})||(e.visible=s,e.renderVisible=s,e.halfVisible=!1)}),t.isAll=s,C.isCustomStatus=!0,h.handleCustom(),h.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{i&&!i({$table:h,column:e})||r&&!r({$table:h,column:e})||(e.renderVisible=s,e.halfVisible=!1)}),t.isAll=s),h.checkCustomStatus(),(0,_vue.nextTick)()};e={getCustomVisible(){var e=C.customStore;return e.visible},openCustom:l,closeCustom:o,toggleCustom:()=>{var e=C.customStore;return(e.visible?o:l)()},saveCustom:e=>{let{customColumnList:t,aggHandleFields:l,rowGroupList:o}=C;let{allowVisible:i,allowSort:s,allowFixed:a,allowResizable:u,allowAlign:n,allowHeaderAlign:d,allowFooterAlign:m,allowGroup:c,allowValues:g}=f.value;return e?_xeUtils.default.eachTree(t,e=>{!u||!e.renderVisible||e.children&&e.children.length||(e.resizeWidth=Math.max(0,_xeUtils.default.toNumber(e.renderWidth)))}):_xeUtils.default.eachTree(t,(e,t,l,o,r)=>{r?e.fixed=r.fixed:(s&&(e.renderSortNumber=t+1),a&&(e.fixed=e.renderFixed)),!u||!e.renderVisible||e.children&&e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),i&&(e.visible=e.renderVisible),n&&(e.align=e.renderAlign),d&&(e.headerAlign=e.renderHeaderAlign),m&&(e.footerAlign=e.renderFooterAlign),c&&g&&(e.aggFunc=e.renderAggFn)}),C.isCustomStatus=!0,c&&h.handlePivotTableAggData&&(o.length!==l.length||o.some((e,t)=>e.field!==l[t])?l.length?h.setRowGroups(l):h.clearRowGroups():g&&h.handleUpdateAggData()),s&&(v.collectColumn=t),h.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=C;let{oldSortMaps:r,oldFixedMaps:i,oldVisibleMaps:s}=t,{allowVisible:a,allowSort:u,allowFixed:n,allowAlign:d,allowHeaderAlign:m,allowFooterAlign:c,allowResizable:g,allowGroup:h,allowValues:v}=f.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!s[t],o=i[t]||"";a&&(e.renderVisible=l,e.visible=l),n&&(e.renderFixed=o,e.fixed=o),u&&(e.renderSortNumber=r[t]||0),g&&(e.renderResizeWidth=e.renderWidth),d&&(e.align=e.renderAlign),m&&(e.headerAlign=e.renderHeaderAlign),c&&(e.footerAlign=e.renderFooterAlign),h,v},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){let t=C.rowGroupList;var l=v.collectColumn;let o=f.value.checkMethod,r=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e,aggFunc:!0===e,align:!0===e,headerAlign:!0===e,footerAlign:!0===e},e),i=[];return _xeUtils.default.eachTree(l,e=>{r.resizable&&(e.resizeWidth=0),r.fixed&&(e.fixed=e.defaultFixed,e.renderFixed=e.defaultFixed),r.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),o&&!o({$table:h,column:e})||(e.visible=e.defaultVisible),r.align&&(e.align=e.defaultAlign,e.renderAlign=e.defaultAlign),r.headerAlign&&(e.headerAlign=e.defaultHeaderAlign,e.renderHeaderAlign=e.defaultHeaderAlign),r.footerAlign&&(e.footerAlign=e.defaultFooterAlign,e.renderFooterAlign=e.defaultFooterAlign),r.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,i.push(e)}),r.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(i,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),v.collectColumn=e,v.tableFullColumn=(0,_util.getColumnList)(e)),C.isCustomStatus=!1,h.handleCustom().then(()=>{var e;r.aggFunc&&h.handlePivotTableAggData&&(((e=s.value)||t).length?e&&e.length?h.setRowGroups(e):h.clearRowGroups():h.handleUpdateAggData()),h.saveCustomStore("reset")})},toggleCustomAllCheckbox(){var e=C.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let n=()=>{var e=C.customStore,t=v.collectColumn;let l=f.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:h,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:h,column:e}))&&(e.renderVisible||e.halfVisible))},r=(e,t)=>{h.dispatchEvent("custom",{type:e},t)};var i={checkCustomStatus:n,emitCustomEvent:r,triggerCustomEvent(e){var t=h.reactData.customStore;t.visible?(o(),r("close",e),h.dispatchEvent("custom-close",{},e)):(t.btnEl=e.target,l(),r("open",e),h.dispatchEvent("custom-open",{},e))},customOpenEvent(e){var t=h.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,h.openCustom(),h.emitCustomEvent("open",e),h.dispatchEvent("custom-open",{},e))},customCloseEvent(e){var t=h.reactData.customStore;t.visible&&(t.activeBtn=!1,h.closeCustom(),h.emitCustomEvent("close",e),h.dispatchEvent("custom-close",{},e))},handleUpdateCustomColumn:u,handleCustomStyle(){var e=h.reactData,t=e.customStore;return(t.visible?(e.isCustomDragStatus=!1,a):(0,_vue.nextTick))()}};return Object.assign(Object.assign({},e),i)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)},setupGantt(e){return e.extendTableMethods(tableCustomMethodKeys)}});
@@ -161,13 +161,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
161
161
  } = storeData;
162
162
  const checkedAll = computeCheckedAll.value;
163
163
  const supportMerge = computeSupportMerge.value;
164
+ // 内部导出使用 _columns -> _children 为自定义子集
164
165
  const expColumns = _xeUtils.default.searchTree(columns, column => column.checked, {
165
166
  children: 'children',
166
- mapChildren: 'childNodes',
167
+ mapChildren: '_children',
167
168
  original: true
168
169
  });
169
170
  return Object.assign({}, defaultOptions, {
170
- columns: expColumns,
171
+ _columns: expColumns,
171
172
  isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false
172
173
  });
173
174
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_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 errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(O){let w=_ui.VxeUI.getComponent("VxeModal"),U=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeSelect"),D=_ui.VxeUI.getComponent("VxeInput"),A=_ui.VxeUI.getComponent("VxeCheckbox"),L=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:H,computePrintOpts:N}=L.getComputeMaps(),S=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),q=(0,_vue.ref)(),B=(0,_vue.ref)(),P=(0,_vue.ref)(),K=(0,_vue.computed)(()=>[{value:"",label:getI18n("vxe.export.wdModes.default")},{value:"auto",label:getI18n("vxe.export.wdModes.auto")},{value:"scale",label:getI18n("vxe.export.wdModes.scale")}]),R=(0,_vue.computed)(()=>{var e=O.storeData;return e.columns.every(e=>e.checked)}),X=(0,_vue.computed)(()=>{var e=O.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),j=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=O;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),F=(0,_vue.computed)(()=>{var e=O.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),G=t=>{var e=O.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),G(e))},$=()=>{var e=O.storeData,e=e.columns;S.isAll=e.every(e=>e.disabled||e.checked),S.isIndeterminate=!S.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},z=()=>{var e=O.storeData;let t=!S.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),S.isAll=t,$()},W=()=>{(0,_vue.nextTick)(()=>{var e=B.value,t=P.value,l=q.value,e=e||t||l;e&&e.focus()}),$()},l=()=>{var{storeData:e,defaultOptions:t}=O,{hasMerge:e,columns:l}=e,o=R.value,a=j.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=O.storeData,t=N.value;e.visible=!1,L.print(Object.assign({},t,l()))},o=()=>{let e=O.storeData;var t=H.value;S.loading=!0,L.exportData(Object.assign({},t,l())).then(()=>{S.loading=!1,e.visible=!1}).catch(()=>{S.loading=!1})},J=()=>{var e=O.storeData;e.visible=!1},Q=()=>{var e=O.storeData;(e.isPrint?t:o)()};return(0,_vue.nextTick)(()=>{w||errLog("vxe.error.reqComp",["vxe-modal"]),U||errLog("vxe.error.reqComp",["vxe-button"]),M||errLog("vxe.error.reqComp",["vxe-select"]),D||errLog("vxe.error.reqComp",["vxe-input"]),A||errLog("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=L.xeGrid,o=L.xeGantt,{defaultOptions:a,storeData:r}=O,{isAll:n,isIndeterminate:i}=S,{hasTree:p,hasRowGroup:d,hasMerge:u,isPrint:s,hasColgroup:x,columns:v}=r,c=a.isHeader,m=[];var e=H.value,t=N.value,h=(s?t:e).modelOptions||{};let _=(s?t:e).settingOptions||{},g=R.value,b=X.value,E=j.value,C=F.value,f=K.value;t=a.slots||{};let I=t.top,y=t.bottom,T=t.default,V=t.footer,k=t.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;m.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}),G(e),$()})(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)]))}),w?(0,_vue.h)(w,{id:"VXE_EXPORT_MODAL",modelValue:r.visible,title:h.title||getI18n(s?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:h.width||660,height:h.height,minWidth:h.minWidth||500,minHeight:h.minHeight||400,mask:(0,_utils.getDefaultConfig)(h.mask,!0),lockView:(0,_utils.getDefaultConfig)(h.lockView,!0),showFooter:!0,escClosable:!0,maskClosable:!0,position:h.position,fullscreen:h.fullscreen,remember:h.remember,showMinimize:h.showMinimize,showMaximize:(0,_utils.getDefaultConfig)(h.showMaximize,!0),resize:(0,_utils.getDefaultConfig)(h.resize,!0),loading:S.loading,"onUpdate:modelValue"(e){r.visible=e},onShow:W},{default:()=>{var e={$table:L,$grid:l,$gantt:o,options:a,columns:v,params:a.params},t="empty"===a.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[I?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},L.callSlot(I,e)):renderEmptyElement(L),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},T?L.callSlot(T,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[s||!1===_.showFileName?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[D?(0,_vue.h)(D,{ref:B,modelValue:a.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){a.filename=e}}):renderEmptyElement(L)])]),s||!1===_.showType?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.type,options:r.typeList,"onUpdate:modelValue"(e){a.type=e}}):renderEmptyElement(L)])]),(s||b)&&!1!==_.showSheet?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[D?(0,_vue.h)(D,{ref:P,modelValue:a.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){a.sheetName=e}}):renderEmptyElement(L)])]):renderEmptyElement(L),!1===_.showMode?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.mode,options:r.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){a.mode=e}}):renderEmptyElement(L)])]),!1===_.showColumn?renderEmptyElement(L):(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":n,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle"),onClick:z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?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"},m)])])]),s&&!1!==_.showWidthMode?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.widthMode")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.widthMode,options:f,"onUpdate:modelValue"(e){a.widthMode=e}}):renderEmptyElement(L)])]):renderEmptyElement(L),!1===_.showParameter?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),k?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},L.callSlot(k,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:t||c,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){a.isHeader=e}}),(0,_vue.h)(A,{modelValue:a.isFooter,disabled:!r.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){a.isFooter=e}}),(0,_vue.h)(A,{modelValue:!!c&&a.isTitle,disabled:!c,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){a.isTitle=e}}),(0,_vue.h)(A,{modelValue:!!(c&&x&&E)&&a.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!c||!x||!E,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){a.isColgroup=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:!t&&a.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){a.original=e}}),(0,_vue.h)(A,{modelValue:!!(u&&E&&g)&&a.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!E||!g,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){a.isMerge=e}}),s?renderEmptyElement(L):(0,_vue.h)(A,{modelValue:!!C&&a.useStyle,disabled:!C,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){a.useStyle=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:!!p&&a.isTreeAllExpanded,disabled:t||!p,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand"),"onUpdate:modelValue"(e){a.isTreeAllExpanded=e}}),(0,_vue.h)(A,{modelValue:!!d&&a.isRowGroupAllExpanded,disabled:t||!d,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand"),"onUpdate:modelValue"(e){a.isRowGroupAllExpanded=e}})]:[])])])]])])]),y?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},L.callSlot(y,e)):renderEmptyElement(L)])},footer(){var e={$table:L,$grid:l,$gantt:o,options:a,columns:v,params:a.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},V?L.callSlot(V,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[U?(0,_vue.h)(U,{content:getI18n("vxe.export.expCancel"),onClick:J}):renderEmptyElement(L),U?(0,_vue.h)(U,{ref:q,status:"primary",content:getI18n(s?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:Q}):renderEmptyElement(L)])])}}):renderEmptyElement(L)}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_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 errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(O){let w=_ui.VxeUI.getComponent("VxeModal"),U=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeSelect"),D=_ui.VxeUI.getComponent("VxeInput"),A=_ui.VxeUI.getComponent("VxeCheckbox"),L=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:H,computePrintOpts:N}=L.getComputeMaps(),S=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),q=(0,_vue.ref)(),B=(0,_vue.ref)(),P=(0,_vue.ref)(),K=(0,_vue.computed)(()=>[{value:"",label:getI18n("vxe.export.wdModes.default")},{value:"auto",label:getI18n("vxe.export.wdModes.auto")},{value:"scale",label:getI18n("vxe.export.wdModes.scale")}]),R=(0,_vue.computed)(()=>{var e=O.storeData;return e.columns.every(e=>e.checked)}),X=(0,_vue.computed)(()=>{var e=O.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),j=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=O;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),F=(0,_vue.computed)(()=>{var e=O.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),G=t=>{var e=O.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),G(e))},$=()=>{var e=O.storeData,e=e.columns;S.isAll=e.every(e=>e.disabled||e.checked),S.isIndeterminate=!S.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},z=()=>{var e=O.storeData;let t=!S.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),S.isAll=t,$()},W=()=>{(0,_vue.nextTick)(()=>{var e=B.value,t=P.value,l=q.value,e=e||t||l;e&&e.focus()}),$()},l=()=>{var{storeData:e,defaultOptions:t}=O,{hasMerge:e,columns:l}=e,o=R.value,a=j.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"_children",original:!0});return Object.assign({},t,{_columns:l,isMerge:!!(e&&a&&o)&&t.isMerge})},t=()=>{var e=O.storeData,t=N.value;e.visible=!1,L.print(Object.assign({},t,l()))},o=()=>{let e=O.storeData;var t=H.value;S.loading=!0,L.exportData(Object.assign({},t,l())).then(()=>{S.loading=!1,e.visible=!1}).catch(()=>{S.loading=!1})},J=()=>{var e=O.storeData;e.visible=!1},Q=()=>{var e=O.storeData;(e.isPrint?t:o)()};return(0,_vue.nextTick)(()=>{w||errLog("vxe.error.reqComp",["vxe-modal"]),U||errLog("vxe.error.reqComp",["vxe-button"]),M||errLog("vxe.error.reqComp",["vxe-select"]),D||errLog("vxe.error.reqComp",["vxe-input"]),A||errLog("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=L.xeGrid,o=L.xeGantt,{defaultOptions:a,storeData:r}=O,{isAll:n,isIndeterminate:i}=S,{hasTree:p,hasRowGroup:d,hasMerge:u,isPrint:s,hasColgroup:x,columns:v}=r,c=a.isHeader,m=[];var e=H.value,t=N.value,h=(s?t:e).modelOptions||{};let _=(s?t:e).settingOptions||{},g=R.value,b=X.value,E=j.value,C=F.value,f=K.value;t=a.slots||{};let I=t.top,y=t.bottom,T=t.default,V=t.footer,k=t.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;m.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}),G(e),$()})(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)]))}),w?(0,_vue.h)(w,{id:"VXE_EXPORT_MODAL",modelValue:r.visible,title:h.title||getI18n(s?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:h.width||660,height:h.height,minWidth:h.minWidth||500,minHeight:h.minHeight||400,mask:(0,_utils.getDefaultConfig)(h.mask,!0),lockView:(0,_utils.getDefaultConfig)(h.lockView,!0),showFooter:!0,escClosable:!0,maskClosable:!0,position:h.position,fullscreen:h.fullscreen,remember:h.remember,showMinimize:h.showMinimize,showMaximize:(0,_utils.getDefaultConfig)(h.showMaximize,!0),resize:(0,_utils.getDefaultConfig)(h.resize,!0),loading:S.loading,"onUpdate:modelValue"(e){r.visible=e},onShow:W},{default:()=>{var e={$table:L,$grid:l,$gantt:o,options:a,columns:v,params:a.params},t="empty"===a.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[I?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},L.callSlot(I,e)):renderEmptyElement(L),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},T?L.callSlot(T,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[s||!1===_.showFileName?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[D?(0,_vue.h)(D,{ref:B,modelValue:a.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){a.filename=e}}):renderEmptyElement(L)])]),s||!1===_.showType?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.type,options:r.typeList,"onUpdate:modelValue"(e){a.type=e}}):renderEmptyElement(L)])]),(s||b)&&!1!==_.showSheet?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[D?(0,_vue.h)(D,{ref:P,modelValue:a.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){a.sheetName=e}}):renderEmptyElement(L)])]):renderEmptyElement(L),!1===_.showMode?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.mode,options:r.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){a.mode=e}}):renderEmptyElement(L)])]),!1===_.showColumn?renderEmptyElement(L):(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":n,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle"),onClick:z},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?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"},m)])])]),s&&!1!==_.showWidthMode?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.widthMode")),(0,_vue.h)("td",[M?(0,_vue.h)(M,{modelValue:a.widthMode,options:f,"onUpdate:modelValue"(e){a.widthMode=e}}):renderEmptyElement(L)])]):renderEmptyElement(L),!1===_.showParameter?renderEmptyElement(L):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),k?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},L.callSlot(k,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:t||c,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){a.isHeader=e}}),(0,_vue.h)(A,{modelValue:a.isFooter,disabled:!r.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){a.isFooter=e}}),(0,_vue.h)(A,{modelValue:!!c&&a.isTitle,disabled:!c,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){a.isTitle=e}}),(0,_vue.h)(A,{modelValue:!!(c&&x&&E)&&a.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!c||!x||!E,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){a.isColgroup=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:!t&&a.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){a.original=e}}),(0,_vue.h)(A,{modelValue:!!(u&&E&&g)&&a.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!E||!g,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){a.isMerge=e}}),s?renderEmptyElement(L):(0,_vue.h)(A,{modelValue:!!C&&a.useStyle,disabled:!C,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){a.useStyle=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A?[(0,_vue.h)(A,{modelValue:!!p&&a.isTreeAllExpanded,disabled:t||!p,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand"),"onUpdate:modelValue"(e){a.isTreeAllExpanded=e}}),(0,_vue.h)(A,{modelValue:!!d&&a.isRowGroupAllExpanded,disabled:t||!d,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand"),"onUpdate:modelValue"(e){a.isRowGroupAllExpanded=e}})]:[])])])]])])]),y?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},L.callSlot(y,e)):renderEmptyElement(L)])},footer(){var e={$table:L,$grid:l,$gantt:o,options:a,columns:v,params:a.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},V?L.callSlot(V,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[U?(0,_vue.h)(U,{content:getI18n("vxe.export.expCancel"),onClick:J}):renderEmptyElement(L),U?(0,_vue.h)(U,{ref:q,status:"primary",content:getI18n(s?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:Q}):renderEmptyElement(L)])])}}):renderEmptyElement(L)}}});
@@ -294,7 +294,6 @@ hooks.add('tableExportModule', {
294
294
  computePrintOpts,
295
295
  computeExportOpts,
296
296
  computeImportOpts,
297
- computeCustomOpts,
298
297
  computeSeqOpts,
299
298
  computeRadioOpts,
300
299
  computeCheckboxOpts,
@@ -1464,9 +1463,9 @@ hooks.add('tableExportModule', {
1464
1463
  mergeFooterList
1465
1464
  } = internalData;
1466
1465
  const exportOpts = computeExportOpts.value;
1466
+ const printOpts = computePrintOpts.value;
1467
1467
  const hasTree = !!treeConfig;
1468
1468
  const hasRowGroup = rowGroupList.length > 0;
1469
- const customOpts = computeCustomOpts.value;
1470
1469
  const selectRecords = $xeTable.getCheckboxRecords();
1471
1470
  const proxyOpts = $xeGGWrapper ? $xeGGWrapper.getComputeMaps().computeProxyOpts.value : {};
1472
1471
  const hasFooter = !!footerTableData.length;
@@ -1487,9 +1486,9 @@ hooks.add('tableExportModule', {
1487
1486
  warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
1488
1487
  defOpts.isTreeAllExpanded = defOpts.isAllExpand;
1489
1488
  }
1490
- const types = defOpts.types || _xeUtils.default.keys(exportOpts._typeMaps);
1489
+ const types = isPrint ? [] : defOpts.types || _xeUtils.default.keys(exportOpts._typeMaps);
1491
1490
  const modes = defOpts.modes || [];
1492
- const checkMethod = customOpts.checkMethod;
1491
+ const checkMethod = (isPrint ? printOpts : exportOpts).checkMethod;
1493
1492
  const exportColumns = collectColumn.slice(0);
1494
1493
  const {
1495
1494
  columns,
@@ -1604,10 +1603,10 @@ hooks.add('tableExportModule', {
1604
1603
  }
1605
1604
  }
1606
1605
  if (!modeList.some(item => item.value === mode)) {
1607
- exportParams.mode = modeList[0].value;
1606
+ exportParams.mode = modeList.length ? modeList[0].value : '';
1608
1607
  }
1609
1608
  if (!typeList.some(item => item.value === type)) {
1610
- exportParams.type = typeList[0].value;
1609
+ exportParams.type = typeList.length ? typeList[0].value : '';
1611
1610
  }
1612
1611
  if (!exportParams.widthMode) {
1613
1612
  exportParams.widthMode = '';
@@ -1720,7 +1719,16 @@ hooks.add('tableExportModule', {
1720
1719
  }
1721
1720
  let isCustomCol = false;
1722
1721
  let customCols = [];
1723
- if (columns) {
1722
+ const _columns = opts._columns;
1723
+ if (_columns) {
1724
+ // 内部导出使用 _columns -> _children 为自定义子集
1725
+ isCustomCol = true;
1726
+ customCols = _xeUtils.default.searchTree(_columns, () => true, {
1727
+ children: '_children',
1728
+ mapChildren: 'childNodes',
1729
+ original: true
1730
+ });
1731
+ } else if (columns) {
1724
1732
  isCustomCol = true;
1725
1733
  customCols = _xeUtils.default.searchTree(columns, () => true, {
1726
1734
  children: 'children',
@@ -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{warnLog,errLog}=(0,_log.createComponentLog)("table"),{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(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":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(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:d,computeExportOpts:q,computeImportOpts:c,computeCustomOpts:L,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u}=P.getComputeMaps(),R=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function O(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let D=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,N=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,p=(M,m,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let F=S.fullColumnFieldData,U=a.value,j=s.value;var r=A.value;let I=n.value;var o=u.value;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(P).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=g(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||I.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||I.exportMethod)s=m({$table:P,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===k?g:R(g,v,f,e,t);break;case"checkbox":s=D(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;case"radio":s=D(P.isCheckedByRadioRow(v)),x._radioLabel=U.labelField?_xeUtils.default.get(v,U.labelField):"",x._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=F[u]||{},u={$table:P,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=N(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let c=r.children||r.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=g(d);if(!h[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&P.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||I.exportMethod)l=o({$table:P,row:d,column:e,options:M});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:R(a,d,s,e,t);break;case"checkbox":l=D(P.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:d});break;case"radio":l=D(P.isCheckedByRadioRow(d)),i._radioLabel=U.labelField?_xeUtils.default.get(d,U.labelField):"",i._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=P.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=N(l)}),h[o]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,s)=>{let n={_row:i};return m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===k?a:R(a,i,s,e,t);break;case"checkbox":l=D(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;case"radio":l=D(P.isCheckedByRadioRow(i)),n._radioLabel=U.labelField?_xeUtils.default.get(i,U.labelField):"",n._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=N(l)}),n})},h=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),p(e,t,a)},H=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=P.getVTColumnIndex(l),a({$table:P,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(O(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join(",")+enterSymbol})),o},m=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(O(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join("\t")+enterSymbol})),o},G=(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}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),g=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=O(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=O(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><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 style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[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 style="${j(e)}"><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 style="${j(e)}"><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 style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=H(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[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),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},x=(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">${O(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=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${H(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},f=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return m(e,t,l,r);case"html":return g(t,l,r);case"xml":return x(t,l,r)}return""},b=(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"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=h(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>b(l,f(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},v=(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),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._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:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=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])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.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,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),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,msg:"type error"}))},K=(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)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,a=!!a,c=0<c.length,b=L.value,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=b.checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e[0].value),o.some(e=>e.value===I)||(h.type=o[0].value),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let _={exportData(c){let u=P.xeGrid,p=P.xeGantt;var r=u||p,{treeConfig:e,showHeader:t,showFooter:h}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:D}=S;var n=q.value,N=A.value;let d=r?r.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!D.length);let x=Object.assign({message:!0,isHeader:t,isTitle:t,isFooter:h,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,c),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[],R=(L=$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$})),O=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:u,$gantt:p,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:u,$gantt:p,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||O.push(e)},{children:"childNodes"}),R.columns=O,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:u,$gantt:p}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:u,$gantt:p}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:u,$gantt:p});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(r||errLog("vxe.error.errProp",["all","mode=current,selected"]),r)&&!R.remote){h=r.reactData,g=r.getComputeMaps().computeProxyOpts;let e=g.value;c=h.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:u,$gantt:p,sort:c.length?c[0]:{},sorts:c,filters:h.filterData,form:h.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:u,$gantt:p}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return v(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;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return v(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=d.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(_.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=d.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.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}=V;let{initStore:r,importStore:o,importParams:a}=B;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||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=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=d.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return _},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(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{warnLog,errLog}=(0,_log.createComponentLog)("table"),{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(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,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,'""')}"`:_xeUtils.default.eqNull(e)?"":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(P){let{props:V,reactData:B,internalData:S}=P,{computeTreeOpts:A,computePrintOpts:L,computeExportOpts:q,computeImportOpts:c,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:n,computeAggregateOpts:u}=P.getComputeMaps(),R=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:P,row:t,rowIndex:P.getRowIndex(t),_rowIndex:P.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:P.getColumnIndex(r),_columnIndex:P.getVTColumnIndex(r),$columnIndex:o}):e};function D(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:P}):(e.isTitle?P.getHeaderCellLabel(t):t.field)||""}let O=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,N=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,m,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=V.treeConfig,l=B.isRowGroupStatus;let F=S.fullColumnFieldData,U=a.value,j=s.value;var r=A.value;let I=n.value;var o=u.value;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(P).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:E,mapChildrenField:T}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=g(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||s[l]&&P.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&P.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||I.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||I.exportMethod)s=m({$table:P,row:v,column:e,options:M});else switch(e.type){case"seq":var g=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===k?g:R(g,v,f,e,t);break;case"checkbox":s=O(P.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:v});break;case"radio":s=O(P.isCheckedByRadioRow(v)),x._radioLabel=U.labelField?_xeUtils.default.get(v,U.labelField):"",x._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:v});break;default:l&&v.isAggregate?(n=(n=(g=v).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=F[u]||{},u={$table:P,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===g.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):P.getPivotTableAggregateCellAggValue?(p={$table:P,row:v,column:e},s=P.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,E)&&(s=E(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=P.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=P.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}x[e.id]=N(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let c=r.children||r.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=g(d);if(!h[o]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&P.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&P.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||I.exportMethod)l=o({$table:P,row:d,column:e,options:M});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:R(a,d,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:d});break;case"radio":l=O(P.isCheckedByRadioRow(d)),i._radioLabel=U.labelField?_xeUtils.default.get(d,U.labelField):"",i._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=P.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=N(l)}),h[o]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,s)=>{let n={_row:i};return m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||I.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:P,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===k?a:R(a,i,s,e,t);break;case"checkbox":l=O(P.isCheckedByCheckboxRow(i)),n._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",n._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:P,row:i});break;case"radio":l=O(P.isCheckedByRadioRow(i)),n._radioLabel=U.labelField?_xeUtils.default.get(i,U.labelField):"",n._radioDisabled=U.checkMethod&&!U.checkMethod({$table:P,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=P.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=P.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=N(l)}),n})},p=e=>{let l=P.xeGrid,r=P.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:P,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)},H=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=P.getVTColumnIndex(l),a({$table:P,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):P.getFooterCellLabel(t,l)},o=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(D(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join(",")+enterSymbol})),o},h=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(D(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=B.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(H(l,t,e))).join("\t")+enterSymbol})),o},G=(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}=B;return r=l||e?r||!0:r},W=e=>`${e.field||""}:`+(e.type||""),m=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:o,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:a}=V,{isAllSelected:i,isIndeterminate:s}=B,{mergeBodyCellMaps:m,mergeFooterCellMaps:g}=S,n=A.value,{print:x,widthMode:f,isHeader:b,isFooter:v,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,E="auto"===f,T="scale"===f,M=!E&&!T,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[W(e)]=e.width)}),{}),U={};if(x){let o=0;e.forEach(e=>{o+=e.renderWidth}),y&&y.forEach(e=>{e.forEach(r=>{if(r.childNodes&&r.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([r],e=>{e.childNodes&&r.childNodes.length||l++;e=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[r.id]=e,U[r.id]=_xeUtils.default.floor(e/o*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/o*180,2)})}let j=e=>{var t=W(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):E||M?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},I="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",E?"is--auto-width":"",T?"is--scale-width":"",M?"is--default-width":"",b?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=W(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):E?"":T?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];b&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=D(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||o||u,l=G(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],r=D(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${j(e)}"><input type="checkbox" class="${I}" ${i?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div style="${j(e)}"><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),r?t.forEach(o=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=G(t,"showOverflow",h)?["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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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 style="${j(t)}"><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 style="${j(t)}"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div style="${j(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if($){var i=P.getVTRowIndex(n._row),s=P.getVTColumnIndex(e),i=m[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 style="${j(e)}"><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 style="${j(e)}"><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 style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),v&&(t=B.footerTableData,(t=getFooterData(P,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=G(e,"showOverflow",h)?["col--ellipsis"]:[],r=H(c,n,e);let o=1,a=1;if($){var i=d,s=P.getVTColumnIndex(e),i=g[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),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div style="${j(e)}">${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${I}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},g=(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">${D(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=B.footerTableData,getFooterData(P,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${H(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},x=(e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return o(e,t,l,r);case"txt":return h(e,t,l,r);case"html":return m(t,l,r);case"xml":return g(t,l,r)}return""},f=(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"})})},X=l=>{let r=P.xeGrid,o=P.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:P,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=p(l);t(P.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>f(l,x(P,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:P,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:P,$grid:r,$gantt:o});return Promise.reject({status:!1})})},b=(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),S._importResolve=null,S._importReject=null},r=e=>{l(e),S._importResolve=null,S._importReject=null};if(S._importResolve=e,S._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:P})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=S.tableFullColumn,P.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1,msg:"reading file error"})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=S,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=P.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=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])?P.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?P.insertAt(e,-1):"insertTop"===l.mode?P.insert(e):P.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,msg:"field mismatching"})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:i,$table:P})}).catch(e=>(t&&t({status:!1,options:i,$table:P}),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,msg:"type error"}))},K=(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)}),Q=(e,t,l,r,o,a)=>{var i=t.field;return!o[i]&&(l?!!r[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))},l=(e,t)=>{var l=P.xeGrid,r=P.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=V,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=B,{collectColumn:m,mergeBodyList:g,mergeFooterList:x}=S,f=q.value,b=L.value,a=!!a,c=0<c.length,v=P.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=t?[]:_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=(t?b:f).checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C,extraFields:E}=_;o=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});let T={},M=(w&&w.length&&w.forEach(e=>{T[e]=1}),{}),k=(C&&C.length&&C.forEach(e=>{M[e]=1}),{}),{filename:F,sheetName:U,mode:j,type:I}=(E&&E.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;var s=k[e.field];i=y?K(_,e,y):w||C?Q(_,e,C,M,T,k):!!s||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:P,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_),h);return F&&(_xeUtils.default.isFunction(F)?h.filename=F({options:_,$table:P,$grid:l,$gantt:r}):h.filename=""+F),U&&(_xeUtils.default.isFunction(U)?h.sheetName=U({options:_,$table:P,$grid:l,$gantt:r}):h.sheetName=""+U),e.some(e=>e.value===j)||(h.mode=e.length?e[0].value:""),o.some(e=>e.value===I)||(h.type=o.length?o[0].value:""),h.widthMode||(h.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let v={exportData(r){let c=P.xeGrid,u=P.xeGantt;var p=c||u,{treeConfig:e,showHeader:h,showFooter:t}=V,m=B.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:O}=S;var n=q.value,N=A.value;let d=p?p.getComputeMaps().computeProxyOpts.value:{};var g=!(!s.length&&!O.length);let x=Object.assign({message:!0,isHeader:h,isTitle:h,isFooter:t,isColgroup:m,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},n,r),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:w,includeFields:C,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),M=[],k=P.getCheckboxRecords(),F=(_=_||(k.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{F[e]=1}),{}),j=(C&&C.length&&C.forEach(e=>{U[e]=1}),{}),I=(T&&T.forEach(e=>{j[e]=1}),!1),L=[];h=x._columns;L=h?(I=!0,_xeUtils.default.searchTree(h,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(I=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;var r=j[e.field];return l=$?K(x,e,$):E||C?Q(x,e,C,U,F,j):!!r||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let R=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),D=(I||y||(y=({column:e})=>Q(R,e,C,U,F,j),R.columnFilterMethod=y),M=L?(R._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=P.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=P.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=P.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(m?i:a,(e,t)=>e.visible&&(!y||y({$table:P,$grid:c,$gantt:u,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(M,e=>{e.children&&e.children.length||D.push(e)},{children:"childNodes"}),R.columns=D,R.colgroups=convertToRows(M),f&&(_xeUtils.default.isFunction(f)?R.filename=f({options:x,$table:P,$grid:c,$gantt:u}):R.filename=""+f),R.filename||(R.filename=getI18n(R.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?R.sheetName=b({options:x,$table:P,$grid:c,$gantt:u}):R.sheetName=""+b),R.sheetName||(R.sheetName=document.title||""),!R.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!R.print&&w){t=w({options:R,$table:P,$grid:c,$gantt:u});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",t])}if(R.data)R._isCustomData=!0;else{if(R.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?R.data=_xeUtils.default.searchTree(P.getTableData().fullData,e=>-1<P.findRowIndexOf(k,e),Object.assign({},N,{data:"_row"})):R.data=k;else if("all"===_&&(p||errLog("vxe.error.errProp",["all","mode=current,selected"]),p)&&!R.remote){g=p.reactData,r=p.getComputeMaps().computeProxyOpts;let e=r.value;h=g.sortData;let{beforeQueryAll:l,afterQueryAll:o,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,s=t.afterQueryAll,n=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let r={$table:P,$grid:c,$gantt:u,sort:h.length?h[0]:{},sorts:h,filters:g.filterData,form:g.formData,options:R},t=()=>Promise.resolve((l||i)(r)).then(t=>{if(s)s(Object.assign(Object.assign({},r),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:P,$grid:c,$gantt:u}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),R.data=e,o&&o(Object.assign(Object.assign({},r),{response:t}))}return n&&n(Object.assign(Object.assign({},r),{response:t})),X(R)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},r),{response:e}))});return m?Promise.resolve(m(r)).then(e=>{if(!1!==e)return t()}):t()}}"current"===_&&(R.data=e?o:l)}return X(R)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:P});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return b(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;if(r){t=r({options:l,$table:P});if(_xeUtils.default.isBoolean(t)){if(!t)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",t])}return _ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:P}),Promise.reject(e))).then(e=>{e=e.file;return b(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=P.xeGrid,r=P.xeGantt;var t=L.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:P,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.printMethod,n=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?n?e(_ui.VxeUI.print({title:a,html:n,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0})):e(v.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,beforePrintMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:o,$table:P,$grid:l,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},getPrintHtml(e){var t=L.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return P.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}=V;let{initStore:r,importStore:o,importParams:a}=B;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||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=q.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return V.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=L.value,t=Object.assign({message:!0},t,e);return V.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return v},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -31,6 +31,104 @@ hooks.add('tableFilterModule', {
31
31
  computeFilterOpts,
32
32
  computeMouseOpts
33
33
  } = $xeTable.getComputeMaps();
34
+ const updatePopupStyle = () => {
35
+ const {
36
+ filterStore
37
+ } = reactData;
38
+ const {
39
+ elemStore
40
+ } = internalData;
41
+ const {
42
+ column,
43
+ targetEl
44
+ } = filterStore;
45
+ if (!column || !targetEl) {
46
+ return (0, _vue.nextTick)();
47
+ }
48
+ const tableEl = refElem.value;
49
+ const {
50
+ scrollTop,
51
+ scrollLeft,
52
+ visibleHeight,
53
+ visibleWidth
54
+ } = (0, _dom.getDomNode)();
55
+ const filterOpts = computeFilterOpts.value;
56
+ const {
57
+ maxHeight: customMaxHeight,
58
+ transfer,
59
+ zIndex
60
+ } = filterOpts;
61
+ const currEl = targetEl;
62
+ const tableRect = tableEl.getBoundingClientRect();
63
+ const filterRender = column ? column.filterRender : null;
64
+ const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
65
+ const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
66
+ if (!headerScrollElem) {
67
+ return (0, _vue.nextTick)();
68
+ }
69
+ const tableFilter = refTableFilter.value;
70
+ const filterWrapperElem = tableFilter ? tableFilter.getRefMaps().refElem.value : null;
71
+ if (!filterWrapperElem) {
72
+ return (0, _vue.nextTick)();
73
+ }
74
+ const btnRect = currEl.getBoundingClientRect();
75
+ const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
76
+ const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
77
+ const filterWidth = filterWrapperElem.offsetWidth;
78
+ const centerWidth = currEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
79
+ let left = 0;
80
+ let top = 0;
81
+ let maxHeight = 0;
82
+ /**
83
+ * 是否显示筛选按钮图标
84
+ * 如果不存在图标,则相对单元格居中显示
85
+ */
86
+ if (transfer) {
87
+ left = btnRect.left - centerWidth + scrollLeft;
88
+ top = btnRect.top + currEl.clientHeight + scrollTop;
89
+ maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
90
+ if (left < 16) {
91
+ left = 16;
92
+ } else if (left > visibleWidth - filterWidth - 16) {
93
+ left = visibleWidth - filterWidth - 16;
94
+ }
95
+ } else {
96
+ left = btnRect.left - tableRect.left - centerWidth;
97
+ top = btnRect.top - tableRect.top + currEl.clientHeight;
98
+ maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
99
+ if (left < 1) {
100
+ left = 1;
101
+ } else if (left > tableEl.clientWidth - filterWidth - 1) {
102
+ left = tableEl.clientWidth - filterWidth - 1;
103
+ }
104
+ if ($xeGGWrapper) {
105
+ const wrapperEl = $xeGGWrapper.getRefMaps().refElem.value;
106
+ if (wrapperEl) {
107
+ const wrapperRect = wrapperEl.getBoundingClientRect();
108
+ top += tableRect.top - wrapperRect.top;
109
+ }
110
+ }
111
+ }
112
+ const fStys = {
113
+ top: (0, _dom.toCssUnit)(top),
114
+ left: (0, _dom.toCssUnit)(left)
115
+ };
116
+ if (zIndex) {
117
+ fStys.zIndex = zIndex;
118
+ }
119
+ filterStore.style = fStys;
120
+ // 筛选面板是自适应表格高度
121
+ if (compConf ? !compConf.tableFilterAutoHeight : false) {
122
+ maxHeight = 0;
123
+ } else {
124
+ if (customMaxHeight) {
125
+ maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
126
+ }
127
+ }
128
+ // 判断面板不能大于表格高度
129
+ filterStore.maxHeight = maxHeight;
130
+ return (0, _vue.nextTick)();
131
+ };
34
132
  const filterPrivateMethods = {
35
133
  checkFilterOptions() {
36
134
  const {
@@ -50,102 +148,20 @@ hooks.add('tableFilterModule', {
50
148
  initStore,
51
149
  filterStore
52
150
  } = reactData;
53
- const {
54
- elemStore
55
- } = internalData;
56
151
  if (filterStore.column === column && filterStore.visible) {
57
152
  filterStore.visible = false;
58
153
  } else {
59
- const tableEl = refElem.value;
60
- const {
61
- scrollTop,
62
- scrollLeft,
63
- visibleHeight,
64
- visibleWidth
65
- } = (0, _dom.getDomNode)();
66
- const filterOpts = computeFilterOpts.value;
67
- const {
68
- maxHeight: customMaxHeight,
69
- transfer,
70
- zIndex
71
- } = filterOpts;
72
154
  const currEl = btnEl || colEl;
73
- const tableRect = tableEl.getBoundingClientRect();
74
- const filterRender = column ? column.filterRender : null;
75
- const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
76
155
  $xeTable.handleFilterOptions(column);
77
156
  internalData._currFilterParams = params;
157
+ filterStore.targetEl = currEl;
78
158
  filterStore.style = null;
79
159
  filterStore.visible = true;
80
160
  initStore.filter = true;
81
- (0, _vue.nextTick)(() => {
82
- const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
83
- if (!headerScrollElem) {
84
- return;
85
- }
86
- const tableFilter = refTableFilter.value;
87
- const filterWrapperElem = tableFilter ? tableFilter.getRefMaps().refElem.value : null;
88
- if (!filterWrapperElem) {
89
- return;
90
- }
91
- const btnRect = currEl.getBoundingClientRect();
92
- const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
93
- const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
94
- const filterWidth = filterWrapperElem.offsetWidth;
95
- const centerWidth = btnEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
96
- let left = 0;
97
- let top = 0;
98
- let maxHeight = 0;
99
- /**
100
- * 是否显示筛选按钮图标
101
- * 如果不存在图标,则相对单元格居中显示
102
- */
103
- if (transfer) {
104
- left = btnRect.left - centerWidth + scrollLeft;
105
- top = btnRect.top + currEl.clientHeight + scrollTop;
106
- maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
107
- if (left < 16) {
108
- left = 16;
109
- } else if (left > visibleWidth - filterWidth - 16) {
110
- left = visibleWidth - filterWidth - 16;
111
- }
112
- } else {
113
- left = btnRect.left - tableRect.left - centerWidth;
114
- top = btnRect.top - tableRect.top + currEl.clientHeight;
115
- maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
116
- if (left < 1) {
117
- left = 1;
118
- } else if (left > tableEl.clientWidth - filterWidth - 1) {
119
- left = tableEl.clientWidth - filterWidth - 1;
120
- }
121
- if ($xeGGWrapper) {
122
- const wrapperEl = $xeGGWrapper.getRefMaps().refElem.value;
123
- if (wrapperEl) {
124
- const wrapperRect = wrapperEl.getBoundingClientRect();
125
- top += tableRect.top - wrapperRect.top;
126
- }
127
- }
128
- }
129
- const fStys = {
130
- top: (0, _dom.toCssUnit)(top),
131
- left: (0, _dom.toCssUnit)(left)
132
- };
133
- if (zIndex) {
134
- fStys.zIndex = zIndex;
135
- }
136
- filterStore.style = fStys;
137
- // 筛选面板是自适应表格高度
138
- if (compConf ? !compConf.tableFilterAutoHeight : false) {
139
- maxHeight = 0;
140
- } else {
141
- if (customMaxHeight) {
142
- maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
143
- }
144
- }
145
- // 判断面板不能大于表格高度
146
- filterStore.maxHeight = maxHeight;
147
- });
148
161
  }
162
+ (0, _vue.nextTick)(() => {
163
+ updatePopupStyle();
164
+ });
149
165
  $xeTable.dispatchEvent('filter-visible', {
150
166
  column,
151
167
  field: column.field,
@@ -350,6 +366,15 @@ hooks.add('tableFilterModule', {
350
366
  }, evnt);
351
367
  }
352
368
  }
369
+ },
370
+ handleFilterStyle() {
371
+ const {
372
+ filterStore
373
+ } = reactData;
374
+ if (!filterStore.visible) {
375
+ return (0, _vue.nextTick)();
376
+ }
377
+ return updatePopupStyle();
353
378
  }
354
379
  };
355
380
  const filterMethods = {