vxe-table 3.23.2 → 3.23.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/custom/mixin.js +6 -0
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/mixin.js +12 -6
- package/es/table/module/filter/mixin.js +102 -76
- package/es/table/src/methods.js +13 -3
- package/es/table/src/util.js +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +152 -100
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/mixin.js +8 -0
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +15 -6
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/mixin.js +116 -83
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/src/methods.js +2 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +1 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/custom/mixin.ts +7 -0
- package/packages/table/module/export/export-panel.ts +3 -2
- package/packages/table/module/export/mixin.ts +11 -6
- package/packages/table/module/filter/mixin.ts +102 -72
- package/packages/table/src/methods.ts +13 -3
- package/packages/table/src/util.ts +1 -0
- package/packages/ui/src/dom.ts +1 -1
- /package/es/{iconfont.1787677388170.ttf → iconfont.1788176636871.ttf} +0 -0
- /package/es/{iconfont.1787677388170.woff → iconfont.1788176636871.woff} +0 -0
- /package/es/{iconfont.1787677388170.woff2 → iconfont.1788176636871.woff2} +0 -0
- /package/lib/{iconfont.1787677388170.ttf → iconfont.1788176636871.ttf} +0 -0
- /package/lib/{iconfont.1787677388170.woff → iconfont.1788176636871.woff} +0 -0
- /package/lib/{iconfont.1787677388170.woff2 → iconfont.1788176636871.woff2} +0 -0
|
@@ -610,6 +610,14 @@ var _default = exports.default = {
|
|
|
610
610
|
},
|
|
611
611
|
handleCustomStyle() {
|
|
612
612
|
const $xeTable = this;
|
|
613
|
+
const reactData = $xeTable.reactData;
|
|
614
|
+
const {
|
|
615
|
+
customStore
|
|
616
|
+
} = reactData;
|
|
617
|
+
if (!customStore.visible) {
|
|
618
|
+
return $xeTable.$nextTick();
|
|
619
|
+
}
|
|
620
|
+
reactData.isCustomDragStatus = false;
|
|
613
621
|
return updatePopupStyle($xeTable);
|
|
614
622
|
}
|
|
615
623
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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 customColumnCssKeys=["checkbox","sort","title","width","fixed","align","header-align","footer-align"];function updatePopupStyle(e){var t=e.$xeGrid,l=e.$xeGantt,t=t||l,o=e.customStore,{mode:i,placement:r,popupOptions:s}=e.computeCustomOpts,i=!("modal"===i||"drawer"===i),{transfer:s,minWidth:n,maxWidth:u,maxHeight:a}=s||{},d="outside"===e.computeCustomSimpleMode,m=document.documentElement;let c=e.$refs.refElem,h=0,p=0;var g={};let
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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 customColumnCssKeys=["checkbox","sort","title","width","fixed","align","header-align","footer-align"];function updatePopupStyle(e){var t=e.$xeGrid,l=e.$xeGantt,t=t||l,o=e.customStore,{mode:i,placement:r,popupOptions:s}=e.computeCustomOpts,i=!("modal"===i||"drawer"===i),{transfer:s,minWidth:n,maxWidth:u,maxHeight:a}=s||{},d="outside"===e.computeCustomSimpleMode,m=document.documentElement;let c=e.$refs.refElem,h=0,p=0;var g={};let C={};l=(c=l&&(l=l.$refs.refGanttContainerElem)?l:c).getBoundingClientRect();p=i&&s?(h=l.top+m.scrollTop,_xeUtils.default.eqNull(a)?360:a):d?(t&&c&&(h=c.offsetTop),_xeUtils.default.eqNull(a)?360:a):(c&&(p=c.clientHeight-22),Math.max(88,p));let f=0,b=("left"!==r&&"right"!==r&&(f=_xeUtils.default.eqNull(a)?p:a),r&&["left","right","bottom-left","bottom-right"].includes(r)||h&&(g.top=(0,_dom.toCssUnit)(h)),i&&s&&("bottom-left"!==r&&"bottom-right"!==r||(g.bottom=(0,_dom.toCssUnit)(m.scrollHeight-l.top-l.height+1)),"top-left"===r||"bottom-left"===r?g.left=(0,_dom.toCssUnit)(l.left):r&&"top-right"!==r&&"bottom-right"!==r||(g.right=(0,_dom.toCssUnit)(m.scrollWidth-l.left-l.width+1))),getComputedStyle(m)),v=getComputedStyle(c);return customColumnCssKeys.forEach(e=>{var e=`--vxe-ui-vxe-table-custom-column-${e}-${"title"===e?"min-":""}width`,t=v.getPropertyValue(e);t&&t!==b.getPropertyValue(e)&&(C[e]=t)}),n&&(g["--vxe-ui-vxe-table-custom-default-min-width"]=(0,_dom.toCssUnit)(n)),u&&(g["--vxe-ui-vxe-table-custom-default-max-width"]=(0,_dom.toCssUnit)(u)),f&&(g.maxHeight=(0,_dom.toCssUnit)(f)),o.defPopupStyle=g,o.panePopupStyle=C,o.maxHeight=f,e.$nextTick()}function emitCustomEvent(e,t,l){(e.$xeGrid||e.$xeGantt||e).dispatchEvent("custom",{type:t},l)}var _default=exports.default={methods:{_getCustomVisible(){var e=this.customStore;return e.visible},_openCustom(){let e=this;var t=e,l=e,o=e.$xeGrid,i=e.$xeGantt,o=o||i,{initStore:i,customStore:r}=t,{mode:s,popupOptions:n}=e.computeCustomOpts,n=(n||{}).transfer,u=e.computeCustomSimpleMode;let a=e.$refs.refCustomContainerElem;return!("modal"===s||"drawer"===s)&&n?a=document.body:"outside"===u&&o&&(s=o.$refs.refPopupContainerElem)&&(a=s),a&&(n=e.$refs.refCustomPopupToElem)&&n.parentElement!==a&&a.appendChild(n),l.customPopupToElem!==a&&t.ctPopupFlag++,l.customPopupToElem=a,r.visible=!0,i.custom=!0,e.handleUpdateCustomColumn(),e.checkCustomStatus(),updatePopupStyle(e),e.$nextTick().then(()=>updatePopupStyle(e))},_closeCustom(){var e=this.customStore,t=this.computeCustomOpts;return e.visible&&(e.visible=!1,t.immediate||this.handleCustom()),this.$nextTick()},_toggleCustom(){var e=this.customStore;return e.visible?this.closeCustom():this.openCustom()},_saveCustom(e){var t=this,l=t,o=t;let{customColumnList:i,aggHandleFields:r,rowGroupList:s}=l,{allowVisible:n,allowSort:u,allowFixed:a,allowResizable:d,allowAlign:m,allowHeaderAlign:c,allowFooterAlign:h,allowGroup:p,allowValues:g}=t.computeCustomOpts;return e?_xeUtils.default.eachTree(i,e=>{!d||!e.renderVisible||e.children&&e.children.length||(e.resizeWidth=Math.max(0,_xeUtils.default.toNumber(e.renderWidth)))}):_xeUtils.default.eachTree(i,(e,t,l,o,i)=>{i?e.fixed=i.fixed:(u&&(e.renderSortNumber=t+1),a&&(e.fixed=e.renderFixed)),!d||!e.renderVisible||e.children&&e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),n&&(e.visible=e.renderVisible),m&&(e.align=e.renderAlign),c&&(e.headerAlign=e.renderHeaderAlign),h&&(e.footerAlign=e.renderFooterAlign),p&&g&&(e.aggFunc=e.renderAggFn)}),l.isCustomStatus=!0,p&&t.handlePivotTableAggData&&(s.length!==r.length||s.some((e,t)=>e.field!==r[t])?r.length?t.setRowGroups(r):t.clearRowGroups():g&&t.handleUpdateAggData()),u&&(o.collectColumn=i),t.saveCustomStore("confirm")},_cancelCustom(){var{customColumnList:e,customStore:t}=this;let{oldSortMaps:i,oldFixedMaps:r,oldVisibleMaps:s}=t,{allowVisible:n,allowSort:u,allowFixed:a,allowAlign:d,allowHeaderAlign:m,allowFooterAlign:c,allowResizable:h,allowGroup:p,allowValues:g}=this.computeCustomOpts;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!s[t],o=r[t]||"";n&&(e.renderVisible=l,e.visible=l),a&&(e.renderFixed=o,e.fixed=o),u&&(e.renderSortNumber=i[t]||0),h&&(e.renderResizeWidth=e.renderWidth),d&&(e.align=e.renderAlign),m&&(e.headerAlign=e.renderHeaderAlign),c&&(e.footerAlign=e.renderFooterAlign),p,g},{children:"children"}),this.$nextTick()},_resetCustom(e){let t=this;var l=t,o=t;let i=l.rowGroupList;var r=o.collectColumn;let s=t.computeCustomOpts.checkMethod,n=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),u=[];return _xeUtils.default.eachTree(r,e=>{n.resizable&&(e.resizeWidth=0),n.fixed&&(e.fixed=e.defaultFixed,e.renderFixed=e.defaultFixed),n.sort&&(e.renderSortNumber=e.sortNumber,e.parentId=e.defaultParentId),s&&!s({$table:t,column:e})||(e.visible=e.defaultVisible),n.align&&(e.align=e.defaultAlign,e.renderAlign=e.defaultAlign),n.headerAlign&&(e.headerAlign=e.defaultHeaderAlign,e.renderHeaderAlign=e.defaultHeaderAlign),n.footerAlign&&(e.footerAlign=e.defaultFooterAlign,e.renderFooterAlign=e.defaultFooterAlign),n.aggFunc&&(e.aggFunc=e.defaultAggFunc,e.renderAggFn=e.defaultAggFunc),e.renderResizeWidth=e.renderWidth,u.push(e)}),n.sort&&(e=_xeUtils.default.toArrayTree(_xeUtils.default.orderBy(u,"renderSortNumber"),{key:"id",parentKey:"parentId",children:"children"}),o.collectColumn=e,o.tableFullColumn=(0,_util.getColumnList)(e)),l.isCustomStatus=!1,t.handleCustom().then(()=>{var e;n.aggFunc&&t.handlePivotTableAggData&&(((e=t.computeRowGroupFields)||i).length?e&&e.length?t.setRowGroups(e):t.clearRowGroups():t.handleUpdateAggData()),t.saveCustomStore("reset")})},_toggleCustomAllCheckbox(){var e=this.customStore,e=!e.isAll;return this.setCustomAllCheckbox(e)},_setCustomAllCheckbox(e){let t=this;var l=t,o=l.customStore,i=l.customColumnList,r=t.computeCustomOpts;let{checkMethod:s,visibleMethod:n}=r,u=!!e;r.immediate?(_xeUtils.default.eachTree(i,e=>{n&&!n({$table:t,column:e})||s&&!s({$table:t,column:e})||(e.visible=u,e.renderVisible=u,e.halfVisible=!1)}),o.isAll=u,l.isCustomStatus=!0,t.handleCustom(),t.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(i,e=>{n&&!n({$table:t,column:e})||s&&!s({$table:t,column:e})||(e.renderVisible=u,e.halfVisible=!1)}),o.isAll=u),t.checkCustomStatus()},checkCustomStatus(){let t=this;var e=t.customStore,l=t.collectColumn;let o=t.computeCustomOpts.checkMethod;e.isAll=l.every(e=>!!o&&!o({$table:t,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&l.some(e=>(!o||o({$table:t,column:e}))&&(e.renderVisible||e.halfVisible))},emitCustomEvent(e,t){this.dispatchEvent("custom",{type:e},t)},triggerCustomEvent(e){var t=this,l=t.customStore;l.visible?(t.closeCustom(),emitCustomEvent(t,"close",e),t.dispatchEvent("custom-close",{},e)):(l.btnEl=e.target,t.openCustom(),emitCustomEvent(t,"open",e),t.dispatchEvent("custom-open",{},e))},customOpenEvent(e){var t=this.customStore;t.visible&&(t.activeBtn=!0,t.btnEl=e.target,this.openCustom(),emitCustomEvent(this,"open",e),this.dispatchEvent("custom-open",{},e))},customCloseEvent(e){var t=this.customStore;t.visible&&(t.activeBtn=!1,this.closeCustom(),emitCustomEvent(this,"close",e),this.dispatchEvent("custom-close",{},e))},handleUpdateCustomColumn(){var e=this,t=e.customStore,r=this.collectColumn;if(t.visible){let l={},o={},i={};_xeUtils.default.eachTree(r,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,i[t]=e.visible}),t.oldSortMaps=l,t.oldFixedMaps=o,t.oldVisibleMaps=i,e.customColumnList=r.slice(0)}},handleCustomStyle(){var e=this.reactData,t=e.customStore;return t.visible?(e.isCustomDragStatus=!1,updatePopupStyle(this)):this.$nextTick()}}};
|
|
@@ -205,13 +205,14 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
|
|
|
205
205
|
} = storeData;
|
|
206
206
|
const checkedAll = $xeExportPanel.computeCheckedAll;
|
|
207
207
|
const supportMerge = $xeExportPanel.computeSupportMerge;
|
|
208
|
+
// 内部导出使用 _columns -> _children 为自定义子集
|
|
208
209
|
const expColumns = _xeUtils.default.searchTree(columns, column => column.checked, {
|
|
209
210
|
children: 'children',
|
|
210
|
-
mapChildren: '
|
|
211
|
+
mapChildren: '_children',
|
|
211
212
|
original: true
|
|
212
213
|
});
|
|
213
214
|
return Object.assign({}, defaultOptions, {
|
|
214
|
-
|
|
215
|
+
_columns: expColumns,
|
|
215
216
|
isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false
|
|
216
217
|
});
|
|
217
218
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,globalMixins,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},data(){return{reactData:{isAll:!1,isIndeterminate:!1,loading:!1}}},computed:Object.assign(Object.assign({},{}),{computeColWidthModeOptions(){return[{value:"",label:getI18n("vxe.export.wdModes.default")},{value:"auto",label:getI18n("vxe.export.wdModes.auto")},{value:"scale",label:getI18n("vxe.export.wdModes.scale")}]},computeCheckedAll(){var e=this.storeData;return e.columns.every(e=>e.checked)},computeShowSheet(){var e=this.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)},computeSupportMerge(){var{storeData:e,defaultOptions:t}=this;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))},computeSupportStyle(){var e=this.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}}),created(){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),o=_ui.VxeUI.getComponent("VxeSelect"),l=_ui.VxeUI.getComponent("VxeInput"),r=_ui.VxeUI.getComponent("VxeCheckbox");this.$nextTick(()=>{e||errLog("vxe.error.reqComp",["vxe-modal"]),t||errLog("vxe.error.reqComp",["vxe-button"]),o||errLog("vxe.error.reqComp",["vxe-select"]),l||errLog("vxe.error.reqComp",["vxe-input"]),r||errLog("vxe.error.reqComp",["vxe-checkbox"])})},methods:{changeOption(e){let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),this.handleOptionCheck(e),this.checkStatus()},handleOptionCheck(t){var e=this.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),this.handleOptionCheck(e))},checkStatus(){var e=this.reactData,t=this.storeData,t=t.columns;e.isAll=t.every(e=>e.disabled||e.checked),e.isIndeterminate=!e.isAll&&t.some(e=>!e.disabled&&(e.checked||e.halfChecked))},allColumnEvent(){var e=this,t=e.reactData,o=e.storeData;let l=!t.isAll;_xeUtils.default.eachTree(o.columns,e=>{e.disabled||(e.checked=l,e.halfChecked=!1)}),t.isAll=l,e.checkStatus()},showEvent(){let t=this;t.$nextTick(()=>{var e=t.$refs.filename||t.$refs.sheetname||t.$refs.confirmBtn;e&&e.focus()}),t.checkStatus()},getExportOption(){var e=this,{storeData:t,defaultOptions:o}=e,{hasMerge:t,columns:l}=t,r=e.computeCheckedAll,e=e.computeSupportMerge,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},o,{columns:l,isMerge:!!(t&&e&&r)&&o.isMerge})},cancelEvent(){var e=this.storeData;e.visible=!1},confirmEvent(){var e=this.storeData;e.isPrint?this.printEvent():this.exportEvent()},printEvent(){var e=this.$xeTable,t=this.storeData;t.visible=!1,e.print(Object.assign({},e.printOpts,this.getExportOption()))},exportEvent(){let e=this.reactData;var t=this.$xeTable;let o=this.storeData;var l=t.exportOpts;e.loading=!0,t.exportData(Object.assign({},l,this.getExportOption())).then(()=>{e.loading=!1,o.visible=!1}).catch(()=>{e.loading=!1})},renderVN(a){var e=_ui.VxeUI.getComponent("VxeModal");let t=_ui.VxeUI.getComponent("VxeButton"),o=_ui.VxeUI.getComponent("VxeSelect"),l=_ui.VxeUI.getComponent("VxeInput"),r=_ui.VxeUI.getComponent("VxeCheckbox"),i=this;var n=i,p=i.reactData;let s=i.$xeTable,x=s.$xeGrid,d=s.$xeGantt,{defaultOptions:c,storeData:u}=n,{isAll:m,isIndeterminate:h}=p,{hasTree:v,hasRowGroup:g,hasMerge:E,isPrint:b,hasColgroup:C,columns:f}=u,I=c.isHeader,O=[];var n=s.computeExportOpts,k=s.computePrintOpts,T=(b?k:n).modelOptions||{};let _=(b?k:n).settingOptions||{},y=i.computeCheckedAll,M=i.computeShowSheet,w=i.computeSupportMerge,V=i.computeSupportStyle,H=i.computeColWidthModeOptions;k=c.slots||{};let D=k.top,S=k.bottom,A=k.default,U=k.footer,L=k.parameter;return _xeUtils.default.eachTree(f,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),o=e.children&&e.children.length,l=e.checked,r=e.halfChecked,n="html"===e.type;O.push(a("li",{class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":o,"is--checked":l,"is--indeterminate":r,"is--disabled":e.disabled}],attrs:{title:t},on:{click:()=>{e.disabled||i.changeOption(e)}}},[a("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:l?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),n?a("span",{key:"1",class:"vxe-checkbox--label",domProps:{innerHTML:t}}):a("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),e?a(e,{ref:"modal",props:{id:"VXE_EXPORT_MODAL",value:u.visible,title:T.title||getI18n(b?"vxe.export.printTitle":"vxe.export.expTitle"),width:T.width||660,height:T.height,minWidth:T.minWidth||500,minHeight:T.minHeight||400,mask:(0,_utils.getDefaultConfig)(T.mask,!0),lockView:(0,_utils.getDefaultConfig)(T.lockView,!0),showFooter:!0,escClosable:!0,maskClosable:!0,position:T.position,fullscreen:T.fullscreen,remember:T.remember,showMinimize:T.showMinimize,showMaximize:(0,_utils.getDefaultConfig)(T.showMaximize,!0),resize:(0,_utils.getDefaultConfig)(T.resize,!0),loading:p.loading},on:{input(e){u.visible=e},show:i.showEvent},scopedSlots:{default(){var e={$table:s,$grid:x,$gantt:d,options:c,columns:f,params:c.params},t="empty"===c.mode;return a("div",{class:"vxe-table-export--panel"},[D?a("div",{class:"vxe-table-export--panel-top"},s.callSlot(D,e,a)):renderEmptyElement(s),a("div",{class:"vxe-table-export--panel-body"},A?s.callSlot(A,e,a):[a("table",{attrs:{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0}},[a("tbody",[[b||!1===_.showFileName?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expName")),a("td",[l?a(l,{ref:"filename",props:{value:c.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder")},on:{modelValue(e){c.filename=e}}}):renderEmptyElement(s)])]),b||!1===_.showType?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expType")),a("td",[a("vxe-select",{props:{value:c.type,options:u.typeList},on:{modelValue(e){c.type=e}}})])]),(b||M)&&!1!==_.showSheet?a("tr",[a("td",getI18n("vxe.export.expSheetName")),a("td",[l?a(l,{ref:"sheetname",props:{value:c.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder")},on:{modelValue(e){c.sheetName=e}}}):renderEmptyElement(s)])]):renderEmptyElement(s),!1===_.showMode?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expMode")),a("td",[a(o,{props:{value:c.mode,options:u.modeList},on:{modelValue(e){c.mode=e}}})])]),!1===_.showColumn?renderEmptyElement(s):a("tr",[a("td",[getI18n("vxe.export.expColumn")]),a("td",[a("div",{class:"vxe-table-export--panel-column"},[a("ul",{class:"vxe-table-export--panel-column-header"},[a("li",{class:["vxe-table-export--panel-column-option",{"is--checked":m,"is--indeterminate":h}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:i.allColumnEvent}},[a("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:m?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),a("ul",{class:"vxe-table-export--panel-column-body"},O)])])]),b&&!1!==_.showWidthMode?a("tr",[a("td",getI18n("vxe.export.widthMode")),a("td",[o?a(o,{props:{value:c.widthMode,options:H},on:{modelValue(e){c.widthMode=e}}}):renderEmptyElement(s)])]):renderEmptyElement(s),!1===_.showParameter?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expOpts")),L?a("td",[a("div",{class:"vxe-table-export--panel-option-row"},s.callSlot(L,e,a))]):a("td",[a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:t||I,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader")},on:{input(e){c.isHeader=e}}}),a(r,{props:{value:c.isFooter,disabled:!u.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter")},on:{input(e){c.isFooter=e}}}),a(r,{props:{value:!!I&&c.isTitle,disabled:!I,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle")},on:{input(e){c.isTitle=e}}}),a(r,{props:{value:!!(I&&C&&w)&&c.isColgroup,disabled:!I||!C||!w,title:getI18n("vxe.export.expColgroupTitle"),content:getI18n("vxe.export.expOptColgroup")},on:{input(e){c.isColgroup=e}}})]:[]),a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:!t&&c.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal")},on:{input(e){c.original=e}}}),a(r,{props:{value:!!(E&&w&&y)&&c.isMerge,disabled:t||!E||!w||!y,title:getI18n("vxe.export.expMergeTitle"),content:getI18n("vxe.export.expOptMerge")},on:{input(e){c.isMerge=e}}}),b?renderEmptyElement(s):a(r,{props:{value:!!V&&c.useStyle,disabled:!V,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle")},on:{input(e){c.useStyle=e}}})]:[]),a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:!!v&&c.isTreeAllExpanded,disabled:t||!v,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand")},on:{input(e){c.isTreeAllExpanded=e}}}),a(r,{props:{value:!!g&&c.isRowGroupAllExpanded,disabled:t||!g,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand")},on:{input(e){c.isRowGroupAllExpanded=e}}})]:[])])])]])])]),S?a("div",{class:"vxe-table-export--panel-bottom"},s.callSlot(S,e,a)):renderEmptyElement(s)])},footer(){var e={$table:s,$grid:x,$gantt:d,options:c,columns:f,params:c.params};return a("div",{class:"vxe-table-export--panel-footer"},U?s.callSlot(U,e,a):[a("div",{class:"vxe-table-export--panel-btns"},[t?a(t,{props:{content:getI18n("vxe.export.expCancel")},on:{click:i.cancelEvent}}):renderEmptyElement(s),t?a(t,{ref:"confirmBtn",props:{status:"primary",content:getI18n(b?"vxe.export.expPrint":"vxe.export.expConfirm")},on:{click:i.confirmEvent}}):renderEmptyElement(s)])])}}}):renderEmptyElement(s)}},render(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,globalMixins,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",mixins:[globalMixins.sizeMixin],props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},inject:{$xeTable:{default:null}},data(){return{reactData:{isAll:!1,isIndeterminate:!1,loading:!1}}},computed:Object.assign(Object.assign({},{}),{computeColWidthModeOptions(){return[{value:"",label:getI18n("vxe.export.wdModes.default")},{value:"auto",label:getI18n("vxe.export.wdModes.auto")},{value:"scale",label:getI18n("vxe.export.wdModes.scale")}]},computeCheckedAll(){var e=this.storeData;return e.columns.every(e=>e.checked)},computeShowSheet(){var e=this.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)},computeSupportMerge(){var{storeData:e,defaultOptions:t}=this;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))},computeSupportStyle(){var e=this.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}}),created(){let e=_ui.VxeUI.getComponent("VxeModal"),t=_ui.VxeUI.getComponent("VxeButton"),o=_ui.VxeUI.getComponent("VxeSelect"),l=_ui.VxeUI.getComponent("VxeInput"),r=_ui.VxeUI.getComponent("VxeCheckbox");this.$nextTick(()=>{e||errLog("vxe.error.reqComp",["vxe-modal"]),t||errLog("vxe.error.reqComp",["vxe-button"]),o||errLog("vxe.error.reqComp",["vxe-select"]),l||errLog("vxe.error.reqComp",["vxe-input"]),r||errLog("vxe.error.reqComp",["vxe-checkbox"])})},methods:{changeOption(e){let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),this.handleOptionCheck(e),this.checkStatus()},handleOptionCheck(t){var e=this.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),this.handleOptionCheck(e))},checkStatus(){var e=this.reactData,t=this.storeData,t=t.columns;e.isAll=t.every(e=>e.disabled||e.checked),e.isIndeterminate=!e.isAll&&t.some(e=>!e.disabled&&(e.checked||e.halfChecked))},allColumnEvent(){var e=this,t=e.reactData,o=e.storeData;let l=!t.isAll;_xeUtils.default.eachTree(o.columns,e=>{e.disabled||(e.checked=l,e.halfChecked=!1)}),t.isAll=l,e.checkStatus()},showEvent(){let t=this;t.$nextTick(()=>{var e=t.$refs.filename||t.$refs.sheetname||t.$refs.confirmBtn;e&&e.focus()}),t.checkStatus()},getExportOption(){var e=this,{storeData:t,defaultOptions:o}=e,{hasMerge:t,columns:l}=t,r=e.computeCheckedAll,e=e.computeSupportMerge,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"_children",original:!0});return Object.assign({},o,{_columns:l,isMerge:!!(t&&e&&r)&&o.isMerge})},cancelEvent(){var e=this.storeData;e.visible=!1},confirmEvent(){var e=this.storeData;e.isPrint?this.printEvent():this.exportEvent()},printEvent(){var e=this.$xeTable,t=this.storeData;t.visible=!1,e.print(Object.assign({},e.printOpts,this.getExportOption()))},exportEvent(){let e=this.reactData;var t=this.$xeTable;let o=this.storeData;var l=t.exportOpts;e.loading=!0,t.exportData(Object.assign({},l,this.getExportOption())).then(()=>{e.loading=!1,o.visible=!1}).catch(()=>{e.loading=!1})},renderVN(a){var e=_ui.VxeUI.getComponent("VxeModal");let t=_ui.VxeUI.getComponent("VxeButton"),o=_ui.VxeUI.getComponent("VxeSelect"),l=_ui.VxeUI.getComponent("VxeInput"),r=_ui.VxeUI.getComponent("VxeCheckbox"),i=this;var n=i,p=i.reactData;let s=i.$xeTable,x=s.$xeGrid,d=s.$xeGantt,{defaultOptions:c,storeData:u}=n,{isAll:m,isIndeterminate:h}=p,{hasTree:v,hasRowGroup:g,hasMerge:E,isPrint:b,hasColgroup:C,columns:f}=u,I=c.isHeader,O=[];var n=s.computeExportOpts,k=s.computePrintOpts,_=(b?k:n).modelOptions||{};let T=(b?k:n).settingOptions||{},y=i.computeCheckedAll,M=i.computeShowSheet,w=i.computeSupportMerge,V=i.computeSupportStyle,H=i.computeColWidthModeOptions;k=c.slots||{};let D=k.top,S=k.bottom,A=k.default,U=k.footer,L=k.parameter;return _xeUtils.default.eachTree(f,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),o=e.children&&e.children.length,l=e.checked,r=e.halfChecked,n="html"===e.type;O.push(a("li",{class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":o,"is--checked":l,"is--indeterminate":r,"is--disabled":e.disabled}],attrs:{title:t},on:{click:()=>{e.disabled||i.changeOption(e)}}},[a("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:l?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),n?a("span",{key:"1",class:"vxe-checkbox--label",domProps:{innerHTML:t}}):a("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),e?a(e,{ref:"modal",props:{id:"VXE_EXPORT_MODAL",value:u.visible,title:_.title||getI18n(b?"vxe.export.printTitle":"vxe.export.expTitle"),width:_.width||660,height:_.height,minWidth:_.minWidth||500,minHeight:_.minHeight||400,mask:(0,_utils.getDefaultConfig)(_.mask,!0),lockView:(0,_utils.getDefaultConfig)(_.lockView,!0),showFooter:!0,escClosable:!0,maskClosable:!0,position:_.position,fullscreen:_.fullscreen,remember:_.remember,showMinimize:_.showMinimize,showMaximize:(0,_utils.getDefaultConfig)(_.showMaximize,!0),resize:(0,_utils.getDefaultConfig)(_.resize,!0),loading:p.loading},on:{input(e){u.visible=e},show:i.showEvent},scopedSlots:{default(){var e={$table:s,$grid:x,$gantt:d,options:c,columns:f,params:c.params},t="empty"===c.mode;return a("div",{class:"vxe-table-export--panel"},[D?a("div",{class:"vxe-table-export--panel-top"},s.callSlot(D,e,a)):renderEmptyElement(s),a("div",{class:"vxe-table-export--panel-body"},A?s.callSlot(A,e,a):[a("table",{attrs:{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0}},[a("tbody",[[b||!1===T.showFileName?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expName")),a("td",[l?a(l,{ref:"filename",props:{value:c.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder")},on:{modelValue(e){c.filename=e}}}):renderEmptyElement(s)])]),b||!1===T.showType?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expType")),a("td",[a("vxe-select",{props:{value:c.type,options:u.typeList},on:{modelValue(e){c.type=e}}})])]),(b||M)&&!1!==T.showSheet?a("tr",[a("td",getI18n("vxe.export.expSheetName")),a("td",[l?a(l,{ref:"sheetname",props:{value:c.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder")},on:{modelValue(e){c.sheetName=e}}}):renderEmptyElement(s)])]):renderEmptyElement(s),!1===T.showMode?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expMode")),a("td",[a(o,{props:{value:c.mode,options:u.modeList},on:{modelValue(e){c.mode=e}}})])]),!1===T.showColumn?renderEmptyElement(s):a("tr",[a("td",[getI18n("vxe.export.expColumn")]),a("td",[a("div",{class:"vxe-table-export--panel-column"},[a("ul",{class:"vxe-table-export--panel-column-header"},[a("li",{class:["vxe-table-export--panel-column-option",{"is--checked":m,"is--indeterminate":h}],attrs:{title:getI18n("vxe.table.allTitle")},on:{click:i.allColumnEvent}},[a("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:m?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),a("ul",{class:"vxe-table-export--panel-column-body"},O)])])]),b&&!1!==T.showWidthMode?a("tr",[a("td",getI18n("vxe.export.widthMode")),a("td",[o?a(o,{props:{value:c.widthMode,options:H},on:{modelValue(e){c.widthMode=e}}}):renderEmptyElement(s)])]):renderEmptyElement(s),!1===T.showParameter?renderEmptyElement(s):a("tr",[a("td",getI18n("vxe.export.expOpts")),L?a("td",[a("div",{class:"vxe-table-export--panel-option-row"},s.callSlot(L,e,a))]):a("td",[a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:t||I,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader")},on:{input(e){c.isHeader=e}}}),a(r,{props:{value:c.isFooter,disabled:!u.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter")},on:{input(e){c.isFooter=e}}}),a(r,{props:{value:!!I&&c.isTitle,disabled:!I,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle")},on:{input(e){c.isTitle=e}}}),a(r,{props:{value:!!(I&&C&&w)&&c.isColgroup,disabled:!I||!C||!w,title:getI18n("vxe.export.expColgroupTitle"),content:getI18n("vxe.export.expOptColgroup")},on:{input(e){c.isColgroup=e}}})]:[]),a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:!t&&c.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal")},on:{input(e){c.original=e}}}),a(r,{props:{value:!!(E&&w&&y)&&c.isMerge,disabled:t||!E||!w||!y,title:getI18n("vxe.export.expMergeTitle"),content:getI18n("vxe.export.expOptMerge")},on:{input(e){c.isMerge=e}}}),b?renderEmptyElement(s):a(r,{props:{value:!!V&&c.useStyle,disabled:!V,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle")},on:{input(e){c.useStyle=e}}})]:[]),a("div",{class:"vxe-table-export--panel-option-row"},r?[a(r,{props:{value:!!v&&c.isTreeAllExpanded,disabled:t||!v,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand")},on:{input(e){c.isTreeAllExpanded=e}}}),a(r,{props:{value:!!g&&c.isRowGroupAllExpanded,disabled:t||!g,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand")},on:{input(e){c.isRowGroupAllExpanded=e}}})]:[])])])]])])]),S?a("div",{class:"vxe-table-export--panel-bottom"},s.callSlot(S,e,a)):renderEmptyElement(s)])},footer(){var e={$table:s,$grid:x,$gantt:d,options:c,columns:f,params:c.params};return a("div",{class:"vxe-table-export--panel-footer"},U?s.callSlot(U,e,a):[a("div",{class:"vxe-table-export--panel-btns"},[t?a(t,{props:{content:getI18n("vxe.export.expCancel")},on:{click:i.cancelEvent}}):renderEmptyElement(s),t?a(t,{ref:"confirmBtn",props:{status:"primary",content:getI18n(b?"vxe.export.expPrint":"vxe.export.expConfirm")},on:{click:i.confirmEvent}}):renderEmptyElement(s)])])}}}):renderEmptyElement(s)}},render(e){return this.renderVN(e)}});
|
|
@@ -1424,7 +1424,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
1424
1424
|
const exportOpts = $xeTable.computeExportOpts;
|
|
1425
1425
|
const hasTree = !!treeConfig;
|
|
1426
1426
|
const hasRowGroup = rowGroupList.length > 0;
|
|
1427
|
-
const
|
|
1427
|
+
const printOpts = $xeTable.computePrintOpts;
|
|
1428
1428
|
const selectRecords = $xeTable.getCheckboxRecords();
|
|
1429
1429
|
const proxyOpts = $xeGGWrapper ? $xeGGWrapper.computeProxyOpts : {};
|
|
1430
1430
|
const hasFooter = !!footerTableData.length;
|
|
@@ -1445,9 +1445,9 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
1445
1445
|
warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
|
|
1446
1446
|
defOpts.isTreeAllExpanded = defOpts.isAllExpand;
|
|
1447
1447
|
}
|
|
1448
|
-
const types = defOpts.types || _xeUtils.default.keys(exportOpts._typeMaps);
|
|
1448
|
+
const types = isPrint ? [] : defOpts.types || _xeUtils.default.keys(exportOpts._typeMaps);
|
|
1449
1449
|
const modes = defOpts.modes || [];
|
|
1450
|
-
const checkMethod =
|
|
1450
|
+
const checkMethod = (isPrint ? printOpts : exportOpts).checkMethod;
|
|
1451
1451
|
const exportColumns = collectColumn.slice(0);
|
|
1452
1452
|
const {
|
|
1453
1453
|
columns,
|
|
@@ -1562,10 +1562,10 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
1562
1562
|
}
|
|
1563
1563
|
}
|
|
1564
1564
|
if (!modeList.some(item => item.value === mode)) {
|
|
1565
|
-
exportParams.mode = modeList[0].value;
|
|
1565
|
+
exportParams.mode = modeList.length ? modeList[0].value : '';
|
|
1566
1566
|
}
|
|
1567
1567
|
if (!typeList.some(item => item.value === type)) {
|
|
1568
|
-
exportParams.type = typeList[0].value;
|
|
1568
|
+
exportParams.type = typeList.length ? typeList[0].value : '';
|
|
1569
1569
|
}
|
|
1570
1570
|
if (!exportParams.widthMode) {
|
|
1571
1571
|
exportParams.widthMode = '';
|
|
@@ -1728,7 +1728,16 @@ var _default = exports.default = {
|
|
|
1728
1728
|
}
|
|
1729
1729
|
let isCustomCol = false;
|
|
1730
1730
|
let customCols = [];
|
|
1731
|
-
|
|
1731
|
+
const _columns = opts._columns;
|
|
1732
|
+
if (_columns) {
|
|
1733
|
+
// 内部导出使用 _columns -> _children 为自定义子集
|
|
1734
|
+
isCustomCol = true;
|
|
1735
|
+
customCols = _xeUtils.default.searchTree(_columns, () => true, {
|
|
1736
|
+
children: '_children',
|
|
1737
|
+
mapChildren: 'childNodes',
|
|
1738
|
+
original: true
|
|
1739
|
+
});
|
|
1740
|
+
} else if (columns) {
|
|
1732
1741
|
isCustomCol = true;
|
|
1733
1742
|
customCols = _xeUtils.default.searchTree(columns, () => true, {
|
|
1734
1743
|
children: 'children',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function getSeq(e,t,l,o,r,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),_columnIndex:e.getVTColumnIndex(r),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(F,M,m,e){let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=F.treeConfig,l=F.isRowGroupStatus;let U=F.fullColumnFieldData,I=F.computeRadioOpts,j=F.computeCheckboxOpts;var o=F.computeTreeOpts;let L=F.computeColumnOpts;var r=F.computeAggregateOpts;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(F).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:C,contentMethod:w,formatValuesMethod:E,mapChildrenField:T}=r,i=[],n={},s={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,o)=>{let v=e._row||e;var r=g(v);if(!s[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||n[l]&&F.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:o.length-1,_hasChild:a,_expand:a&&F.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:o,cellRender:r,aggFunc:a,rowGroupNode:i}=e;let n="";var s,d,c,u,p,h,o=o||r;let m=e.exportMethod||L.exportMethod;if(m=(m=!m&&o&&o.name&&(r=renderer.get(o.name))?r.tableExportMethod||r.exportMethod:m)||L.exportMethod)n=m({$table:F,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("");n="all"===k?g:getSeq(F,g,v,f,e,t);break;case"checkbox":n=toBooleanValue(F.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:v});break;case"radio":n=toBooleanValue(F.isCheckedByRadioRow(v)),x._radioLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:v});break;default:l&&v.isAggregate?(s=(s=(g=v).aggData)?s[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=U[u]||{},u={$table:F,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)?(n=d,w&&(n=""+w(u)),$&&(n=getI18n("vxe.table.rowGroupContentTotal",[n,y?y(u):c,c]))):F.getPivotTableAggregateCellAggValue?(p={$table:F,row:v,column:e},n=F.getPivotTableAggregateCellAggValue(p)):(!0===a||C&&C.includes(l))&&(n=s?s.value:c,u.aggValue=n,E)&&(n=E(u))):M.original?n=(0,_util.getCellValue)(v,e):(n=F.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=n,n=htmlCellElem.innerText.trim()):(h=F.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(n=h.innerText.trim()))}x[e.id]=toStringValue(n)}),s[r]=!0,l&&(n[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let c=o.children||o.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;var r=g(d);if(!h[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&F.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:o.length-1,_hasChild:a,_expand:a&&F.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||L.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||L.exportMethod)l=r({$table:F,row:d,column:e,options:M});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:getSeq(F,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:d});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(d)),i._radioLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),h[r]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,n)=>{let s={_row:i};return m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||L.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:F,row:i,column:e,options:M});else switch(e.type){case"seq":var a=n+1;l="all"===k?a:getSeq(F,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(i)),s._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",s._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:i});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(i)),s._radioLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",s._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let o=l.$xeGrid,r=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?e.getHeaderCellLabel(l):l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,a=o.editRender||o.cellRender;let i=o.footerExportMethod;return(i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod)?(a=e.getVTColumnIndex(o),i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t})):e.getFooterCellLabel(l,o)}function getFooterData(l,e,t){let o=l.$xeGrid,r=l.$xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,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 toCsv(l,o,e,t){var r=l;let a=csvBOM;return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),a}function toTxt(l,o,e,t){var r=l;let a="";return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function getCustomColKey(e){return`${e.field||""}:`+(e.type||"")}function toHtml(c,u,e,t){var l=c;let{id:d,border:o,treeConfig:r,headerAlign:a,align:p,footerAlign:h,showOverflow:m,showHeaderOverflow:i}=c,{isAllSelected:n,isIndeterminate:s}=l,{mergeBodyCellMaps:g,mergeFooterCellMaps:x}=c,f=c.computeTreeOpts,{print:b,widthMode:v,isHeader:_,isFooter:$,isColgroup:y,isMerge:C,colgroups:w,_columnConfs:E,original:T}=u,F="auto"===v,M="scale"===v,k=!F&&!M,U={},I=(E&&E.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(U[getCustomColKey(e)]=e.width)}),{}),j={};if(b){let r=0;e.forEach(e=>{r+=e.renderWidth}),w&&w.forEach(e=>{e.forEach(o=>{if(o.childNodes&&o.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([o],e=>{e.childNodes&&o.childNodes.length||l++;e=j[e.id];t+=e||0},{children:"childNodes"});var e=t-l;I[o.id]=e,j[o.id]=_xeUtils.default.floor(e/r*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(I[e.id]=t),j[e.id]=_xeUtils.default.floor(t/r*180,2)})}let L=e=>{var t=getCustomColKey(e),t=U[t];return t?"width:"+(0,_dom.toCssUnit)(t):F||k?"":M?j[e.id]?"width:"+j[e.id]+"mm":"":I[e.id]?"width:"+(0,_dom.toCssUnit)(I[e.id]):""},O="check-all",V=[`<table class="${["vxe-table","border--"+toTableBorder(o),b?"is--print":"",F?"is--auto-width":"",M?"is--scale-width":"",k?"is--default-width":"",_?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=getCustomColKey(e),t=U[t],t?"width:"+(0,_dom.toCssUnit)(t):F?"":M?j[e.id]?"width:"+j[e.id]+"mm":"":I[e.id]?"width:"+(0,_dom.toCssUnit)(I[e.id]):""}">`;var t}).join("")}</colgroup>`];_&&(V.push("<thead>"),y&&!T?w.forEach(e=>{V.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||a||p,l=hasEllipsis(c,e,"showHeaderOverflow",i)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${L(e)}"><input type="checkbox" class="${O}" ${n?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${o}"><div style="${L(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):V.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||a||p,l=hasEllipsis(c,e,"showHeaderOverflow",i)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${L(e)}"><input type="checkbox" class="${O}" ${n?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div style="${L(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),V.push("</thead>")),t.length&&(V.push("<tbody>"),r?t.forEach(r=>{V.push("<tr>"+e.map(t=>{var e=t.align||p,l=hasEllipsis(c,t,"showOverflow",m)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div style="${L(t)}"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div style="${L(t)}"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{V.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||p,o=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],t=s[t];let r=1,a=1;if(C){var i=c.getVTRowIndex(s._row),n=c.getVTColumnIndex(e),i=g[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${L(e)}"><input type="radio" name="radio_${d}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${L(e)}"><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}" title="${t}"><div style="${L(e)}">${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),V.push("</tbody>")),$&&(t=l.footerTableData,(l=getFooterData(c,u,t)).length)&&(V.push("<tfoot>"),l.forEach((s,d)=>{V.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||h||p,l=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],o=getFooterCellValue(c,u,s,e);let r=1,a=1;if(C){var i=d,n=c.getVTColumnIndex(e),i=x[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div style="${L(e)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),V.push("</tfoot>"));t=!n&&s?`<script>(function(){var a=document.querySelector(".${O}");if(a){a.indeterminate=true}})()</script>`:"";return V.push("</table>",t),F?V.join(""):(0,_util2.createHtmlPage)(u,V.join(""))}function toXML(l,o,e,t){var r=l;let a=['<?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="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function downloadFile(e,t,l){var{filename:o,type:r,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}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"})}function handleExport(l,o){let r=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:n,colgroups:s,datas:e},()=>downloadFile(l,o,getContent(l,o,n,e))))}}).then(e=>(clearColumnConvert(n),o.print||t&&t({status:!0,options:o,$table:l,$grid:r,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),o.print||t&&t({status:!1,options:o,$table:l,$grid:r,$gantt:a});return Promise.reject({status:!1})})}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=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,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 o=[],r=[];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=>{r.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)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.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)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(o,e,l){let{tableFullColumn:t,_importResolve:r,_importReject:a}=o,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=o.getHeaderCellLabel(e);t&&(n[t]=e),l&&(s[l]=e)});var d={fieldMaps:n,titleMaps:s};switch(l.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?o.createData(u).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?o.insertAt(e,-1):"insertTop"===l.mode?o.insert(e):o.reloadData(e),!1!==l.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1,msg:"field mismatching"})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},o=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[c]),o({status:!1,msg:"reading file error"})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1,msg:"type error"}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o,r,a){var i=t.field;return!r[i]&&(l?!!o[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))}function handleExportAndPrint(s,e,t){var l=s.$xeGrid,o=s.$xeGantt,r=l||o,{treeConfig:a,showHeader:i,showFooter:n}=s,{initStore:d,isGroup:c,rowGroupList:u,footerTableData:p,exportStore:h,exportParams:m}=s,{collectColumn:g,mergeBodyList:x,mergeFooterList:f}=s,b=s.computeExportOpts,a=!!a,u=0<u.length,v=s.computeCustomOpts,_=s.getCheckboxRecords(),r=r?r.computeProxyOpts:{},p=!!p.length,x=!(!x.length&&!f.length);let $=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:n,isColgroup:c,isMerge:x,useStyle:!0,current:"current",modes:(r.ajax&&r.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean($.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),$.isTreeAllExpanded=$.isAllExpand);f=$.types||_xeUtils.default.keys(b._typeMaps),i=$.modes||[];let y=v.checkMethod;n=g.slice(0);let{columns:C,excludeFields:w,includeFields:E,extraFields:T}=$;r=f.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 F={},M=(w&&w.length&&w.forEach(e=>{F[e]=1}),{}),k=(E&&E.length&&E.forEach(e=>{M[e]=1}),{}),{filename:U,sheetName:I,mode:j,type:L}=(T&&T.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(n,(e,t,l,o,r)=>{var a=e.children&&0<e.children.length;let i=!1;var n=k[e.field];i=C?handleFilterColumns($,e,C):w||E?handleFilterFields($,e,E,M,F,k):!!n||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=r&&r.disabled||!!y&&!y({$table:s,column:e})}),h.columns=n,h.typeList=r,h.modeList=e,h.hasFooter=p,h.hasMerge=x,h.hasTree=a,h.hasRowGroup=u,h.isPrint=!!t,h.hasColgroup=c,h.visible=!0,Object.assign(m,{mode:_.length?"selected":"current"},$),m);return U&&(_xeUtils.default.isFunction(U)?m.filename=U({options:$,$table:s,$grid:l,$gantt:o}):m.filename=""+U),I&&(_xeUtils.default.isFunction(I)?m.sheetName=I({options:$,$table:s,$grid:l,$gantt:o}):m.sheetName=""+I),e.some(e=>e.value===j)||(m.mode=e[0].value),r.some(e=>e.value===L)||(m.type=r[0].value),m.widthMode||(m.widthMode=""),d.export=!0,s.$nextTick()}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,o=(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=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(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};var _default=exports.default={methods:{_exportData(c){let u=this;var e=u,t=u,l=u;let p=u.$xeGrid,h=u.$xeGantt;var o=p||h,{treeConfig:e,showHeader:r,showFooter:m}=e,t=t.isGroup;let{tableFullColumn:a,afterFullData:i,afterTreeFullData:n,collectColumn:s,mergeBodyList:R,mergeFooterList:B}=l;var l=u.computeExportOpts,D=u.computeTreeOpts;let d=o?o.computeProxyOpts:{};var g=!(!R.length&&!B.length);let x=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:m,isColgroup:t,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,c),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:C,includeFields:w,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),F=[],M=u.getCheckboxRecords(),k=(_=_||(M.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{k[e]=1}),{}),I=(w&&w.length&&w.forEach(e=>{U[e]=1}),{}),j=(T&&T.forEach(e=>{I[e]=1}),!1),L=[],O=(L=$?(j=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(s,e=>{var t=e.children&&0<e.children.length;let l=!1;var o=I[e.field];return l=$?handleFilterColumns(x,e,$):E||w?handleFilterFields(x,e,w,U,k,I):!!o||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$})),V=(j||y||(y=({column:e})=>handleFilterFields(O,e,w,U,k,I),O.columnFilterMethod=y),F=L?(O._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=u.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=u.getColumnById(r):l&&t?o=a.find(e=>e.field===l&&e.type===t):l?o=u.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:u,$grid:p,$gantt:h,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?s:a,(e,t)=>e.visible&&(!y||y({$table:u,$grid:p,$gantt:h,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||V.push(e)},{children:"childNodes"}),O.columns=V,O.colgroups=convertToRows(F),f&&(_xeUtils.default.isFunction(f)?O.filename=f({options:x,$table:u,$grid:p,$gantt:h}):O.filename=""+f),O.filename||(O.filename=getI18n(O.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?O.sheetName=b({options:x,$table:u,$grid:p,$gantt:h}):O.sheetName=""+b),O.sheetName||(O.sheetName=document.title||""),!O.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[3,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!O.print&&C){r=C({options:O,$table:u,$grid:p,$gantt:h});if(_xeUtils.default.isBoolean(r)){if(!r)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",r])}if(O.data)O._isCustomData=!0;else if(O.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?O.data=_xeUtils.default.searchTree(u.getTableData().fullData,e=>-1<u.findRowIndexOf(M,e),Object.assign({},D,{data:"_row"})):O.data=M;else if("all"===_){if(o||errLog("vxe.error.errProp",["all","mode=current,selected"]),o&&!O.remote){m=o.reactData;let e=o.computeProxyOpts;g=m.sortData;let{beforeQueryAll:l,afterQueryAll:r,ajax:t={}}=e,a=e.response||e.props||{};c=t.beforeQueryAll;let i=t.queryAll,n=t.afterQueryAll,s=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let o={$table:u,$grid:p,$gantt:h,sort:g.length?g[0]:{},sorts:g,filters:m.filterData,form:m.formData,options:O},t=()=>Promise.resolve((l||i)(o)).then(t=>{if(n)n(Object.assign(Object.assign({},o),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:u,$grid:p,$gantt:h}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),O.data=e,r&&r(Object.assign(Object.assign({},o),{response:t}))}return s&&s(Object.assign(Object.assign({},o),{response:t})),handleExport(u,O)}).catch(e=>{n&&n(Object.assign(Object.assign({},o),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},o),{response:e}))});return c?Promise.resolve(c(o)).then(e=>{if(!1!==e)return t()}):t()}}}else"current"===_&&(O.data=e?n:i);return handleExport(u,O)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:this});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return handleFileImport(this,e,t)},_importData(e){let t=this;var l=t.computeImportOpts;let o=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:r,afterImportMethod:a}=o;if(r){l=r({options:o,$table:t});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return _ui.VxeUI.readFile(o).catch(e=>(a&&a({status:!1,options:o,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,o)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,o=l.$xeGrid,r=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:o,$gantt:r}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.printMethod,d=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?d?e(_ui.VxeUI.print({title:i,html:d,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,beforePrintMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,beforePrintMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.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}=this;let{initStore:o,importStore:r,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{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),o.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||errLog("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||errLog("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function getSeq(e,t,l,o,r,a){var i=e.computeSeqOpts.seqMethod||r.seqMethod;return i?i({$table:e,row:l,rowIndex:e.getRowIndex(l),_rowIndex:e.getVTRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),_columnIndex:e.getVTColumnIndex(r),$columnIndex:a}):t}function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(F,M,m,e){let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=F.treeConfig,l=F.isRowGroupStatus;let U=F.fullColumnFieldData,I=F.computeRadioOpts,j=F.computeCheckboxOpts;var o=F.computeTreeOpts;let L=F.computeColumnOpts;var r=F.computeAggregateOpts;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(F).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:C,contentMethod:w,formatValuesMethod:E,mapChildrenField:T}=r,i=[],n={},s={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,o)=>{let v=e._row||e;var r=g(v);if(!s[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||n[l]&&F.isRowExpandByRow(e)){var a=T&&v[T]&&v[T].length;let x={_row:v,_level:o.length-1,_hasChild:a,_expand:a&&F.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:o,cellRender:r,aggFunc:a,rowGroupNode:i}=e;let n="";var s,d,c,u,p,h,o=o||r;let m=e.exportMethod||L.exportMethod;if(m=(m=!m&&o&&o.name&&(r=renderer.get(o.name))?r.tableExportMethod||r.exportMethod:m)||L.exportMethod)n=m({$table:F,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("");n="all"===k?g:getSeq(F,g,v,f,e,t);break;case"checkbox":n=toBooleanValue(F.isCheckedByCheckboxRow(v)),x._checkboxLabel=j.labelField?_xeUtils.default.get(v,j.labelField):"",x._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:v});break;case"radio":n=toBooleanValue(F.isCheckedByRadioRow(v)),x._radioLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",x._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:v});break;default:l&&v.isAggregate?(s=(s=(g=v).aggData)?s[l]:null,u=g.groupField,d=g.groupContent,h=T&&g[T]||[],c=g.childCount,p=U[u]||{},u={$table:F,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)?(n=d,w&&(n=""+w(u)),$&&(n=getI18n("vxe.table.rowGroupContentTotal",[n,y?y(u):c,c]))):F.getPivotTableAggregateCellAggValue?(p={$table:F,row:v,column:e},n=F.getPivotTableAggregateCellAggValue(p)):(!0===a||C&&C.includes(l))&&(n=s?s.value:c,u.aggValue=n,E)&&(n=E(u))):M.original?n=(0,_util.getCellValue)(v,e):(n=F.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=n,n=htmlCellElem.innerText.trim()):(h=F.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(n=h.innerText.trim()))}x[e.id]=toStringValue(n)}),s[r]=!0,l&&(n[l]=!0),i.push(Object.assign(x,v))}}},{children:T}),i}if(t){let c=o.children||o.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;var r=g(d);if(!h[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&F.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:o.length-1,_hasChild:a,_expand:a&&F.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||L.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||L.exportMethod)l=r({$table:F,row:d,column:e,options:M});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:getSeq(F,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=j.labelField?_xeUtils.default.get(d,j.labelField):"",i._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:d});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(d)),i._radioLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),h[r]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,n)=>{let s={_row:i};return m.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||L.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:F,row:i,column:e,options:M});else switch(e.type){case"seq":var a=n+1;l="all"===k?a:getSeq(F,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(F.isCheckedByCheckboxRow(i)),s._checkboxLabel=j.labelField?_xeUtils.default.get(i,j.labelField):"",s._checkboxDisabled=j.checkMethod&&!j.checkMethod({$table:F,row:i});break;case"radio":l=toBooleanValue(F.isCheckedByRadioRow(i)),s._radioLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",s._radioDisabled=I.checkMethod&&!I.checkMethod({$table:F,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(l,e){let o=l.$xeGrid,r=l.$xeGantt,{columns:t,dataFilterMethod:a}=e,i=e.data;return a&&(i=i.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,row:e,$rowIndex:t}))),getBodyLabelData(l,e,t,i)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?e.getHeaderCellLabel(l):l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,a=o.editRender||o.cellRender;let i=o.footerExportMethod;return(i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||r.footerExportMethod)?(a=e.getVTColumnIndex(o),i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:o,options:t})):e.getFooterCellLabel(l,o)}function getFooterData(l,e,t){let o=l.$xeGrid,r=l.$xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:o,$gantt:r,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 toCsv(l,o,e,t){var r=l;let a=csvBOM;return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),a}function toTxt(l,o,e,t){var r=l;let a="";return o.isHeader&&(a+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{a+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),a}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function getCustomColKey(e){return`${e.field||""}:`+(e.type||"")}function toHtml(c,u,e,t){var l=c;let{id:d,border:o,treeConfig:r,headerAlign:a,align:p,footerAlign:h,showOverflow:m,showHeaderOverflow:i}=c,{isAllSelected:n,isIndeterminate:s}=l,{mergeBodyCellMaps:g,mergeFooterCellMaps:x}=c,f=c.computeTreeOpts,{print:b,widthMode:v,isHeader:_,isFooter:$,isColgroup:y,isMerge:C,colgroups:w,_columnConfs:E,original:T}=u,F="auto"===v,M="scale"===v,k=!F&&!M,U={},I=(E&&E.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(U[getCustomColKey(e)]=e.width)}),{}),j={};if(b){let r=0;e.forEach(e=>{r+=e.renderWidth}),w&&w.forEach(e=>{e.forEach(o=>{if(o.childNodes&&o.childNodes.length){let t=0,l=0;_xeUtils.default.eachTree([o],e=>{e.childNodes&&o.childNodes.length||l++;e=j[e.id];t+=e||0},{children:"childNodes"});var e=t-l;I[o.id]=e,j[o.id]=_xeUtils.default.floor(e/r*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(I[e.id]=t),j[e.id]=_xeUtils.default.floor(t/r*180,2)})}let L=e=>{var t=getCustomColKey(e),t=U[t];return t?"width:"+(0,_dom.toCssUnit)(t):F||k?"":M?j[e.id]?"width:"+j[e.id]+"mm":"":I[e.id]?"width:"+(0,_dom.toCssUnit)(I[e.id]):""},O="check-all",V=[`<table class="${["vxe-table","border--"+toTableBorder(o),b?"is--print":"",F?"is--auto-width":"",M?"is--scale-width":"",k?"is--default-width":"",_?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=getCustomColKey(e),t=U[t],t?"width:"+(0,_dom.toCssUnit)(t):F?"":M?j[e.id]?"width:"+j[e.id]+"mm":"":I[e.id]?"width:"+(0,_dom.toCssUnit)(I[e.id]):""}">`;var t}).join("")}</colgroup>`];_&&(V.push("<thead>"),y&&!T?w.forEach(e=>{V.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||a||p,l=hasEllipsis(c,e,"showHeaderOverflow",i)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${L(e)}"><input type="checkbox" class="${O}" ${n?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${o}"><div style="${L(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):V.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||a||p,l=hasEllipsis(c,e,"showHeaderOverflow",i)?["col--ellipsis"]:[],o=getHeaderTitle(c,u,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${L(e)}"><input type="checkbox" class="${O}" ${n?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div style="${L(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),V.push("</thead>")),t.length&&(V.push("<tbody>"),r?t.forEach(r=>{V.push("<tr>"+e.map(t=>{var e=t.align||p,l=hasEllipsis(c,t,"showOverflow",m)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*f.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div style="${L(t)}"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div style="${L(t)}"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div style="${L(t)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{V.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||p,o=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],t=s[t];let r=1,a=1;if(C){var i=c.getVTRowIndex(s._row),n=c.getVTColumnIndex(e),i=g[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${L(e)}"><input type="radio" name="radio_${d}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${L(e)}"><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${a}" title="${t}"><div style="${L(e)}">${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),V.push("</tbody>")),$&&(t=l.footerTableData,(l=getFooterData(c,u,t)).length)&&(V.push("<tfoot>"),l.forEach((s,d)=>{V.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||h||p,l=hasEllipsis(c,e,"showOverflow",m)?["col--ellipsis"]:[],o=getFooterCellValue(c,u,s,e);let r=1,a=1;if(C){var i=d,n=c.getVTColumnIndex(e),i=x[i+":"+n];if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(r=n),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div style="${L(e)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),V.push("</tfoot>"));t=!n&&s?`<script>(function(){var a=document.querySelector(".${O}");if(a){a.indeterminate=true}})()</script>`:"";return V.push("</table>",t),F?V.join(""):(0,_util2.createHtmlPage)(u,V.join(""))}function toXML(l,o,e,t){var r=l;let a=['<?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="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{a+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(l,o,t).forEach(t=>{a+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),a+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function downloadFile(e,t,l){var{filename:o,type:r,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:a});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})}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"})}function handleExport(l,o){let r=l.$xeGrid,a=l.$xeGantt,{remote:i,columns:n,colgroups:s,exportMethod:d,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r,$gantt:a};t(d?d(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:n,colgroups:s,datas:e},()=>downloadFile(l,o,getContent(l,o,n,e))))}}).then(e=>(clearColumnConvert(n),o.print||t&&t({status:!0,options:o,$table:l,$grid:r,$gantt:a}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),o.print||t&&t({status:!1,options:o,$table:l,$grid:r,$gantt:a});return Promise.reject({status:!1})})}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=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),i.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,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 o=[],r=[];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=>{r.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)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.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)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(o,e,l){let{tableFullColumn:t,_importResolve:r,_importReject:a}=o,i={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=o.getHeaderCellLabel(e);t&&(n[t]=e),l&&(s[l]=e)});var d={fieldMaps:n,titleMaps:s};switch(l.type){case"csv":i=parseCsv(d,e);break;case"txt":i=parseTxt(d,e);break;case"html":i=parseHTML(d,e);break;case"xml":i=parseXML(d,e)}let{fields:c,rows:u}=i;c.some(e=>n[e]||s[e])?o.createData(u).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?o.insertAt(e,-1):"insertTop"===l.mode?o.insert(e):o.reloadData(e),!1!==l.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),a)&&a({status:!1,msg:"field mismatching"})}function handleFileImport(a,i,n){let s=a;var e=a.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(i);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),a._importResolve=null,a._importReject=null},o=e=>{l(e),a._importResolve=null,a._importReject=null};if(a._importResolve=e,a._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:i,options:t,$table:a})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,a.preventEvent(null,"event.import",{file:i,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[c]),o({status:!1,msg:"reading file error"})},e.onload=e=>{handleImport(a,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!1,msg:"unsupported browser"})}).then(()=>{t&&t({status:!0,options:n,$table:a})}).catch(e=>(t&&t({status:!1,options:n,$table:a}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||errLog("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1,msg:"type error"}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o,r,a){var i=t.field;return!r[i]&&(l?!!o[i]:!!a[i]||(e.original?!!i:defaultFilterExportColumn(t)))}function handleExportAndPrint(s,e,t){var l=s.$xeGrid,o=s.$xeGantt,r=l||o,{treeConfig:a,showHeader:i,showFooter:n}=s,{initStore:d,isGroup:c,rowGroupList:u,footerTableData:p,exportStore:h,exportParams:m}=s,{collectColumn:g,mergeBodyList:x,mergeFooterList:f}=s,b=s.computeExportOpts,a=!!a,u=0<u.length,v=s.computePrintOpts,_=s.getCheckboxRecords(),r=r?r.computeProxyOpts:{},p=!!p.length,x=!(!x.length&&!f.length);let $=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:n,isColgroup:c,isMerge:x,useStyle:!0,current:"current",modes:(r.ajax&&r.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean($.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),$.isTreeAllExpanded=$.isAllExpand);f=t?[]:$.types||_xeUtils.default.keys(b._typeMaps),i=$.modes||[];let y=(t?v:b).checkMethod;n=g.slice(0);let{columns:C,excludeFields:w,includeFields:E,extraFields:T}=$;r=f.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 F={},M=(w&&w.length&&w.forEach(e=>{F[e]=1}),{}),k=(E&&E.length&&E.forEach(e=>{M[e]=1}),{}),{filename:U,sheetName:I,mode:j,type:L}=(T&&T.forEach(e=>{k[e]=1}),_xeUtils.default.eachTree(n,(e,t,l,o,r)=>{var a=e.children&&0<e.children.length;let i=!1;var n=k[e.field];i=C?handleFilterColumns($,e,C):w||E?handleFilterFields($,e,E,M,F,k):!!n||e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=r&&r.disabled||!!y&&!y({$table:s,column:e})}),h.columns=n,h.typeList=r,h.modeList=e,h.hasFooter=p,h.hasMerge=x,h.hasTree=a,h.hasRowGroup=u,h.isPrint=!!t,h.hasColgroup=c,h.visible=!0,Object.assign(m,{mode:_.length?"selected":"current"},$),m);return U&&(_xeUtils.default.isFunction(U)?m.filename=U({options:$,$table:s,$grid:l,$gantt:o}):m.filename=""+U),I&&(_xeUtils.default.isFunction(I)?m.sheetName=I({options:$,$table:s,$grid:l,$gantt:o}):m.sheetName=""+I),e.some(e=>e.value===j)||(m.mode=e.length?e[0].value:""),r.some(e=>e.value===L)||(m.type=r.length?r[0].value:""),m.widthMode||(m.widthMode=""),d.export=!0,s.$nextTick()}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,o=(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=>{o(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,o(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};var _default=exports.default={methods:{_exportData(c){let u=this;var e=u,t=u,l=u;let p=u.$xeGrid,h=u.$xeGantt;var o=p||h,{treeConfig:e,showHeader:m,showFooter:r}=e,t=t.isGroup;let{tableFullColumn:a,afterFullData:i,afterTreeFullData:n,collectColumn:s,mergeBodyList:R,mergeFooterList:B}=l;var l=u.computeExportOpts,D=u.computeTreeOpts;let d=o?o.computeProxyOpts:{};var g=!(!R.length&&!B.length);let x=Object.assign({message:!0,isHeader:m,isTitle:m,isFooter:r,isColgroup:t,isMerge:g,useStyle:!0,current:"current",modes:(d.ajax&&d.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,c),{filename:f,sheetName:b,type:v,mode:_,columns:$,columnFilterMethod:y,beforeExportMethod:C,includeFields:w,excludeFields:E,extraFields:T}=(_xeUtils.default.isBoolean(x.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),x.isTreeAllExpanded=x.isAllExpand),x),F=[],M=u.getCheckboxRecords(),k=(_=_||(M.length?"selected":"current"),{}),U=(E&&E.length&&E.forEach(e=>{k[e]=1}),{}),I=(w&&w.length&&w.forEach(e=>{U[e]=1}),{}),j=(T&&T.forEach(e=>{I[e]=1}),!1),L=[];m=x._columns;L=m?(j=!0,_xeUtils.default.searchTree(m,()=>!0,{children:"_children",mapChildren:"childNodes",original:!0})):$?(j=!0,_xeUtils.default.searchTree($,()=>!0,{children:"children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(s,e=>{var t=e.children&&0<e.children.length;let l=!1;var o=I[e.field];return l=$?handleFilterColumns(x,e,$):E||w?handleFilterFields(x,e,w,U,k,I):!!o||e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let O=Object.assign({},x,{filename:"",sheetName:"",_columnConfs:$}),V=(j||y||(y=({column:e})=>handleFilterFields(O,e,w,U,k,I),O.columnFilterMethod=y),F=L?(O._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(L,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=u.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=u.getColumnById(r):l&&t?o=a.find(e=>e.field===l&&e.type===t):l?o=u.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:u,$grid:p,$gantt:h,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?s:a,(e,t)=>e.visible&&(!y||y({$table:u,$grid:p,$gantt:h,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||V.push(e)},{children:"childNodes"}),O.columns=V,O.colgroups=convertToRows(F),f&&(_xeUtils.default.isFunction(f)?O.filename=f({options:x,$table:u,$grid:p,$gantt:h}):O.filename=""+f),O.filename||(O.filename=getI18n(O.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),b&&(_xeUtils.default.isFunction(b)?O.sheetName=b({options:x,$table:u,$grid:p,$gantt:h}):O.sheetName=""+b),O.sheetName||(O.sheetName=document.title||""),!O.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._typeMaps),v))return errLog("vxe.error.notType",[v]),["xlsx","pdf"].includes(v)&&warnLog("vxe.error.reqPlugin",[3,"plugin-export-xlsx"]),Promise.reject({status:!1,msg:"type error"});if(!O.print&&C){r=C({options:O,$table:u,$grid:p,$gantt:h});if(_xeUtils.default.isBoolean(r)){if(!r)return Promise.reject({status:!1,msg:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeExportMethod","boolean",r])}if(O.data)O._isCustomData=!0;else if(O.data=[],"selected"===_)-1<["html","pdf"].indexOf(v)&&e?O.data=_xeUtils.default.searchTree(u.getTableData().fullData,e=>-1<u.findRowIndexOf(M,e),Object.assign({},D,{data:"_row"})):O.data=M;else if("all"===_){if(o||errLog("vxe.error.errProp",["all","mode=current,selected"]),o&&!O.remote){g=o.reactData;let e=o.computeProxyOpts;c=g.sortData;let{beforeQueryAll:l,afterQueryAll:r,ajax:t={}}=e,a=e.response||e.props||{};m=t.beforeQueryAll;let i=t.queryAll,n=t.afterQueryAll,s=t.queryAllSuccess,d=t.queryAllError;if(i||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let o={$table:u,$grid:p,$gantt:h,sort:c.length?c[0]:{},sorts:c,filters:g.filterData,form:g.formData,options:O},t=()=>Promise.resolve((l||i)(o)).then(t=>{if(n)n(Object.assign(Object.assign({},o),{response:t,status:"success"}));else{var l=a.list;let e=[];l?e=_xeUtils.default.isFunction(l)?l({data:t,$table:u,$grid:p,$gantt:h}):_xeUtils.default.isArray(t)?t:_xeUtils.default.get(t,l):_xeUtils.default.isArray(t)&&(e=t),O.data=e,r&&r(Object.assign(Object.assign({},o),{response:t}))}return s&&s(Object.assign(Object.assign({},o),{response:t})),handleExport(u,O)}).catch(e=>{n&&n(Object.assign(Object.assign({},o),{response:e,status:"error"})),d&&d(Object.assign(Object.assign({},o),{response:e}))});return m?Promise.resolve(m(o)).then(e=>{if(!1!==e)return t()}):t()}}}else"current"===_&&(O.data=e?n:i);return handleExport(u,O)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;if(l){l=l({options:t,$table:this});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return handleFileImport(this,e,t)},_importData(e){let t=this;var l=t.computeImportOpts;let o=Object.assign({types:_xeUtils.default.keys(l._typeMaps)},l,e),{beforeImportMethod:r,afterImportMethod:a}=o;if(r){l=r({options:o,$table:t});if(_xeUtils.default.isBoolean(l)){if(!l)return Promise.reject({status:!1,mas:"before prevent"})}else warnLog("vxe.error.returnErr",["beforeImportMethod","boolean",l])}return _ui.VxeUI.readFile(o).catch(e=>(a&&a({status:!1,options:o,$table:t}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(t,e,o)})},_saveFile(e){return _ui.VxeUI.saveFile(e)},_readFile(e){return _ui.VxeUI.readFile(e)},_print(e){let l=this,o=l.$xeGrid,r=l.$xeGantt;var t=l.computePrintOpts;let a=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=a.sheetName;let i="",n=(i=(i=t?_xeUtils.default.isFunction(t)?t({options:a,$table:l,$grid:o,$gantt:r}):""+t:i)||document.title||"",a.beforePrintMethod),s=a.printMethod,d=a.html||a.content;return new Promise((e,t)=>{_ui.VxeUI.print?d?e(_ui.VxeUI.print({title:i,html:d,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,beforePrintMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0})):e(l.exportData(a).then(({content:e})=>_ui.VxeUI.print({title:i,html:e,customStyle:a.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,beforePrintMethod:n?({html:e})=>n({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0,printMethod:s?({html:e})=>s({html:e,content:e,options:a,$table:l,$grid:o,$gantt:r}):void 0}))):(errLog("vxe.error.reqComp",["vxe-print"]),t({status:!1,msg:"print not exist"}))})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.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}=this;let{initStore:o,importStore:r,importParams:a}=this;var i=this.computeImportOpts,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],n=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=n.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(r,{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),o.import=!0):i.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.computeExportOpts,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return this.exportConfig||errLog("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,t)},_closePrint:handleCloseExport,_openPrint(e){var t=this.computePrintOpts,t=Object.assign({message:!0},t,e);return this.printConfig||errLog("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,t,!0)}}};
|
|
@@ -14,6 +14,109 @@ const {
|
|
|
14
14
|
renderer
|
|
15
15
|
} = _ui.VxeUI;
|
|
16
16
|
const sourceType = 'table';
|
|
17
|
+
function updatePopupStyle($xeTable) {
|
|
18
|
+
const $xeGrid = $xeTable.$xeGrid;
|
|
19
|
+
const $xeGantt = $xeTable.$xeGantt;
|
|
20
|
+
const reactData = $xeTable;
|
|
21
|
+
const internalData = $xeTable;
|
|
22
|
+
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
23
|
+
const {
|
|
24
|
+
filterStore
|
|
25
|
+
} = reactData;
|
|
26
|
+
const {
|
|
27
|
+
elemStore
|
|
28
|
+
} = internalData;
|
|
29
|
+
const {
|
|
30
|
+
column,
|
|
31
|
+
targetEl
|
|
32
|
+
} = filterStore;
|
|
33
|
+
if (!column || !targetEl) {
|
|
34
|
+
return $xeTable.$nextTick();
|
|
35
|
+
}
|
|
36
|
+
const tableEl = $xeTable.$refs.refElem;
|
|
37
|
+
const {
|
|
38
|
+
scrollTop,
|
|
39
|
+
scrollLeft,
|
|
40
|
+
visibleHeight,
|
|
41
|
+
visibleWidth
|
|
42
|
+
} = (0, _dom.getDomNode)();
|
|
43
|
+
const filterOpts = $xeTable.computeFilterOpts;
|
|
44
|
+
const {
|
|
45
|
+
maxHeight: customMaxHeight,
|
|
46
|
+
transfer,
|
|
47
|
+
zIndex
|
|
48
|
+
} = filterOpts;
|
|
49
|
+
const currEl = targetEl;
|
|
50
|
+
const tableRect = tableEl.getBoundingClientRect();
|
|
51
|
+
const filterRender = column ? column.filterRender : null;
|
|
52
|
+
const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
53
|
+
const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
|
|
54
|
+
if (!headerScrollElem) {
|
|
55
|
+
return $xeTable.$nextTick();
|
|
56
|
+
}
|
|
57
|
+
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
58
|
+
const filterWrapperElem = tableFilter ? tableFilter.$el : null;
|
|
59
|
+
if (!filterWrapperElem) {
|
|
60
|
+
return $xeTable.$nextTick();
|
|
61
|
+
}
|
|
62
|
+
const btnRect = currEl.getBoundingClientRect();
|
|
63
|
+
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
64
|
+
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
65
|
+
const filterWidth = filterWrapperElem.offsetWidth;
|
|
66
|
+
const centerWidth = currEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
|
|
67
|
+
let left = 0;
|
|
68
|
+
let top = 0;
|
|
69
|
+
let maxHeight = 0;
|
|
70
|
+
/**
|
|
71
|
+
* 是否显示筛选按钮图标
|
|
72
|
+
* 如果不存在图标,则相对单元格居中显示
|
|
73
|
+
*/
|
|
74
|
+
if (transfer) {
|
|
75
|
+
left = btnRect.left - centerWidth + scrollLeft;
|
|
76
|
+
top = btnRect.top + currEl.clientHeight + scrollTop;
|
|
77
|
+
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));
|
|
78
|
+
if (left < 16) {
|
|
79
|
+
left = 16;
|
|
80
|
+
} else if (left > visibleWidth - filterWidth - 16) {
|
|
81
|
+
left = visibleWidth - filterWidth - 16;
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
left = btnRect.left - tableRect.left - centerWidth;
|
|
85
|
+
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
86
|
+
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
|
|
87
|
+
if (left < 1) {
|
|
88
|
+
left = 1;
|
|
89
|
+
} else if (left > tableEl.clientWidth - filterWidth - 1) {
|
|
90
|
+
left = tableEl.clientWidth - filterWidth - 1;
|
|
91
|
+
}
|
|
92
|
+
if ($xeGGWrapper) {
|
|
93
|
+
const wrapperEl = $xeGGWrapper.$refs.refElem;
|
|
94
|
+
if (wrapperEl) {
|
|
95
|
+
const wrapperRect = wrapperEl.getBoundingClientRect();
|
|
96
|
+
top += tableRect.top - wrapperRect.top;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const fStys = {
|
|
101
|
+
top: (0, _dom.toCssUnit)(top),
|
|
102
|
+
left: (0, _dom.toCssUnit)(left)
|
|
103
|
+
};
|
|
104
|
+
if (zIndex) {
|
|
105
|
+
fStys.zIndex = zIndex;
|
|
106
|
+
}
|
|
107
|
+
filterStore.style = fStys;
|
|
108
|
+
// 筛选面板是自适应表格高度
|
|
109
|
+
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
110
|
+
maxHeight = 0;
|
|
111
|
+
} else {
|
|
112
|
+
if (customMaxHeight) {
|
|
113
|
+
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// 判断面板不能大于表格高度
|
|
117
|
+
filterStore.maxHeight = maxHeight;
|
|
118
|
+
return $xeTable.$nextTick();
|
|
119
|
+
}
|
|
17
120
|
var _default = exports.default = {
|
|
18
121
|
methods: {
|
|
19
122
|
/**
|
|
@@ -111,105 +214,24 @@ var _default = exports.default = {
|
|
|
111
214
|
},
|
|
112
215
|
handleOpenFilterColumn(evnt, btnEl, colEl, column, params) {
|
|
113
216
|
const $xeTable = this;
|
|
114
|
-
const $xeGrid = $xeTable.$xeGrid;
|
|
115
|
-
const $xeGantt = $xeTable.$xeGantt;
|
|
116
217
|
const reactData = $xeTable;
|
|
117
218
|
const internalData = $xeTable;
|
|
118
|
-
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
119
219
|
const {
|
|
120
220
|
initStore,
|
|
121
221
|
filterStore
|
|
122
222
|
} = reactData;
|
|
123
|
-
const {
|
|
124
|
-
elemStore
|
|
125
|
-
} = internalData;
|
|
126
223
|
if (filterStore.column === column && filterStore.visible) {
|
|
127
224
|
filterStore.visible = false;
|
|
128
225
|
} else {
|
|
129
|
-
const tableEl = $xeTable.$refs.refElem;
|
|
130
|
-
const {
|
|
131
|
-
scrollTop,
|
|
132
|
-
scrollLeft,
|
|
133
|
-
visibleHeight,
|
|
134
|
-
visibleWidth
|
|
135
|
-
} = (0, _dom.getDomNode)();
|
|
136
|
-
const filterOpts = $xeTable.computeFilterOpts;
|
|
137
|
-
const {
|
|
138
|
-
maxHeight: customMaxHeight,
|
|
139
|
-
transfer,
|
|
140
|
-
zIndex
|
|
141
|
-
} = filterOpts;
|
|
142
226
|
const currEl = btnEl || colEl;
|
|
143
|
-
const tableRect = tableEl.getBoundingClientRect();
|
|
144
|
-
const filterRender = column ? column.filterRender : null;
|
|
145
|
-
const compConf = filterRender && (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
|
|
146
227
|
$xeTable.handleFilterOptions(column);
|
|
147
228
|
internalData._currFilterParams = params;
|
|
229
|
+
filterStore.targetEl = currEl;
|
|
148
230
|
filterStore.style = null;
|
|
149
231
|
filterStore.visible = true;
|
|
150
232
|
initStore.filter = true;
|
|
151
233
|
$xeTable.$nextTick(() => {
|
|
152
|
-
|
|
153
|
-
if (!headerScrollElem) {
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
const tableFilter = $xeTable.$refs.refTableFilter;
|
|
157
|
-
const filterWrapperElem = tableFilter ? tableFilter.$el : null;
|
|
158
|
-
if (!filterWrapperElem) {
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
const btnRect = currEl.getBoundingClientRect();
|
|
162
|
-
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
163
|
-
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
164
|
-
const filterWidth = filterWrapperElem.offsetWidth;
|
|
165
|
-
const centerWidth = filterWidth / 2;
|
|
166
|
-
let left = 0;
|
|
167
|
-
let top = 0;
|
|
168
|
-
let maxHeight = 0;
|
|
169
|
-
if (transfer) {
|
|
170
|
-
left = btnRect.left - centerWidth + scrollLeft;
|
|
171
|
-
top = btnRect.top + currEl.clientHeight + scrollTop;
|
|
172
|
-
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));
|
|
173
|
-
if (left < 16) {
|
|
174
|
-
left = 16;
|
|
175
|
-
} else if (left > visibleWidth - filterWidth - 16) {
|
|
176
|
-
left = visibleWidth - filterWidth - 16;
|
|
177
|
-
}
|
|
178
|
-
} else {
|
|
179
|
-
left = btnRect.left - tableRect.left - centerWidth;
|
|
180
|
-
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
181
|
-
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
|
|
182
|
-
if (left < 1) {
|
|
183
|
-
left = 1;
|
|
184
|
-
} else if (left > tableEl.clientWidth - filterWidth - 1) {
|
|
185
|
-
left = tableEl.clientWidth - filterWidth - 1;
|
|
186
|
-
}
|
|
187
|
-
if ($xeGGWrapper) {
|
|
188
|
-
const wrapperEl = $xeGGWrapper.$refs.refElem;
|
|
189
|
-
if (wrapperEl) {
|
|
190
|
-
const wrapperRect = wrapperEl.getBoundingClientRect();
|
|
191
|
-
top += tableRect.top - wrapperRect.top;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
const fStys = {
|
|
196
|
-
top: (0, _dom.toCssUnit)(top),
|
|
197
|
-
left: (0, _dom.toCssUnit)(left)
|
|
198
|
-
};
|
|
199
|
-
if (zIndex) {
|
|
200
|
-
fStys.zIndex = zIndex;
|
|
201
|
-
}
|
|
202
|
-
filterStore.style = fStys;
|
|
203
|
-
// 筛选面板是自适应表格高度
|
|
204
|
-
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
205
|
-
maxHeight = 0;
|
|
206
|
-
} else {
|
|
207
|
-
if (customMaxHeight) {
|
|
208
|
-
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
// 判断面板不能大于表格高度
|
|
212
|
-
filterStore.maxHeight = maxHeight;
|
|
234
|
+
updatePopupStyle($xeTable);
|
|
213
235
|
});
|
|
214
236
|
}
|
|
215
237
|
$xeTable.dispatchEvent('filter-visible', {
|
|
@@ -536,6 +558,17 @@ var _default = exports.default = {
|
|
|
536
558
|
}
|
|
537
559
|
}
|
|
538
560
|
},
|
|
561
|
+
handleFilterStyle() {
|
|
562
|
+
const $xeTable = this;
|
|
563
|
+
const reactData = $xeTable;
|
|
564
|
+
const {
|
|
565
|
+
filterStore
|
|
566
|
+
} = reactData;
|
|
567
|
+
if (!filterStore.visible) {
|
|
568
|
+
return $xeTable.$nextTick();
|
|
569
|
+
}
|
|
570
|
+
return updatePopupStyle($xeTable);
|
|
571
|
+
},
|
|
539
572
|
/**
|
|
540
573
|
* 清空指定列的筛选条件
|
|
541
574
|
* 如果为空则清空所有列的筛选条件
|