vxe-table 4.20.2 → 4.20.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/all.esm.js +231 -114
  2. package/dist/style.css +1 -1
  3. package/es/locale/lang/ar-EG.js +7 -0
  4. package/es/locale/lang/de-DE.js +7 -0
  5. package/es/locale/lang/en-US.js +7 -0
  6. package/es/locale/lang/es-ES.js +7 -0
  7. package/es/locale/lang/fr-FR.js +7 -0
  8. package/es/locale/lang/hu-HU.js +7 -0
  9. package/es/locale/lang/hy-AM.js +7 -0
  10. package/es/locale/lang/id-ID.js +7 -0
  11. package/es/locale/lang/it-IT.js +7 -0
  12. package/es/locale/lang/ja-JP.js +7 -0
  13. package/es/locale/lang/ko-KR.js +7 -0
  14. package/es/locale/lang/ms-MY.js +7 -0
  15. package/es/locale/lang/nb-NO.js +7 -0
  16. package/es/locale/lang/pt-BR.js +7 -0
  17. package/es/locale/lang/ru-RU.js +7 -0
  18. package/es/locale/lang/th-TH.js +7 -0
  19. package/es/locale/lang/ug-CN.js +7 -0
  20. package/es/locale/lang/uk-UA.js +7 -0
  21. package/es/locale/lang/uz-UZ.js +7 -0
  22. package/es/locale/lang/vi-VN.js +7 -0
  23. package/es/locale/lang/zh-CHT.js +7 -0
  24. package/es/locale/lang/zh-CN.js +7 -0
  25. package/es/style.css +1 -1
  26. package/es/table/module/export/export-panel.js +61 -47
  27. package/es/table/module/export/hook.js +105 -27
  28. package/es/table/module/export/util.js +1 -1
  29. package/es/table/src/body.js +1 -1
  30. package/es/table/src/footer.js +1 -1
  31. package/es/table/src/header.js +5 -3
  32. package/es/table/src/table.js +48 -34
  33. package/es/table/src/util.js +1 -0
  34. package/es/ui/index.js +2 -1
  35. package/es/ui/src/log.js +1 -1
  36. package/lib/index.umd.js +164 -55
  37. package/lib/index.umd.min.js +1 -1
  38. package/lib/locale/lang/ar-EG.js +7 -0
  39. package/lib/locale/lang/ar-EG.min.js +1 -1
  40. package/lib/locale/lang/ar-EG.umd.js +7 -0
  41. package/lib/locale/lang/de-DE.js +7 -0
  42. package/lib/locale/lang/de-DE.min.js +1 -1
  43. package/lib/locale/lang/de-DE.umd.js +7 -0
  44. package/lib/locale/lang/en-US.js +7 -0
  45. package/lib/locale/lang/en-US.min.js +1 -1
  46. package/lib/locale/lang/en-US.umd.js +7 -0
  47. package/lib/locale/lang/es-ES.js +7 -0
  48. package/lib/locale/lang/es-ES.min.js +1 -1
  49. package/lib/locale/lang/es-ES.umd.js +7 -0
  50. package/lib/locale/lang/fr-FR.js +7 -0
  51. package/lib/locale/lang/fr-FR.min.js +1 -1
  52. package/lib/locale/lang/fr-FR.umd.js +7 -0
  53. package/lib/locale/lang/hu-HU.js +7 -0
  54. package/lib/locale/lang/hu-HU.min.js +1 -1
  55. package/lib/locale/lang/hu-HU.umd.js +7 -0
  56. package/lib/locale/lang/hy-AM.js +7 -0
  57. package/lib/locale/lang/hy-AM.min.js +1 -1
  58. package/lib/locale/lang/hy-AM.umd.js +7 -0
  59. package/lib/locale/lang/id-ID.js +7 -0
  60. package/lib/locale/lang/id-ID.min.js +1 -1
  61. package/lib/locale/lang/id-ID.umd.js +7 -0
  62. package/lib/locale/lang/it-IT.js +7 -0
  63. package/lib/locale/lang/it-IT.min.js +1 -1
  64. package/lib/locale/lang/it-IT.umd.js +7 -0
  65. package/lib/locale/lang/ja-JP.js +7 -0
  66. package/lib/locale/lang/ja-JP.min.js +1 -1
  67. package/lib/locale/lang/ja-JP.umd.js +7 -0
  68. package/lib/locale/lang/ko-KR.js +7 -0
  69. package/lib/locale/lang/ko-KR.min.js +1 -1
  70. package/lib/locale/lang/ko-KR.umd.js +7 -0
  71. package/lib/locale/lang/ms-MY.js +7 -0
  72. package/lib/locale/lang/ms-MY.min.js +1 -1
  73. package/lib/locale/lang/ms-MY.umd.js +7 -0
  74. package/lib/locale/lang/nb-NO.js +7 -0
  75. package/lib/locale/lang/nb-NO.min.js +1 -1
  76. package/lib/locale/lang/nb-NO.umd.js +7 -0
  77. package/lib/locale/lang/pt-BR.js +7 -0
  78. package/lib/locale/lang/pt-BR.min.js +1 -1
  79. package/lib/locale/lang/pt-BR.umd.js +7 -0
  80. package/lib/locale/lang/ru-RU.js +7 -0
  81. package/lib/locale/lang/ru-RU.min.js +1 -1
  82. package/lib/locale/lang/ru-RU.umd.js +7 -0
  83. package/lib/locale/lang/th-TH.js +7 -0
  84. package/lib/locale/lang/th-TH.min.js +1 -1
  85. package/lib/locale/lang/th-TH.umd.js +7 -0
  86. package/lib/locale/lang/ug-CN.js +7 -0
  87. package/lib/locale/lang/ug-CN.min.js +1 -1
  88. package/lib/locale/lang/ug-CN.umd.js +7 -0
  89. package/lib/locale/lang/uk-UA.js +7 -0
  90. package/lib/locale/lang/uk-UA.min.js +1 -1
  91. package/lib/locale/lang/uk-UA.umd.js +7 -0
  92. package/lib/locale/lang/uz-UZ.js +7 -0
  93. package/lib/locale/lang/uz-UZ.min.js +1 -1
  94. package/lib/locale/lang/uz-UZ.umd.js +7 -0
  95. package/lib/locale/lang/vi-VN.js +7 -0
  96. package/lib/locale/lang/vi-VN.min.js +1 -1
  97. package/lib/locale/lang/vi-VN.umd.js +7 -0
  98. package/lib/locale/lang/zh-CHT.js +7 -0
  99. package/lib/locale/lang/zh-CHT.min.js +1 -1
  100. package/lib/locale/lang/zh-CHT.umd.js +7 -0
  101. package/lib/locale/lang/zh-CN.js +7 -0
  102. package/lib/locale/lang/zh-CN.min.js +1 -1
  103. package/lib/locale/lang/zh-CN.umd.js +7 -0
  104. package/lib/style.css +1 -1
  105. package/lib/table/module/export/export-panel.js +32 -13
  106. package/lib/table/module/export/export-panel.min.js +1 -1
  107. package/lib/table/module/export/hook.js +105 -27
  108. package/lib/table/module/export/hook.min.js +1 -1
  109. package/lib/table/module/export/util.js +1 -1
  110. package/lib/table/module/export/util.min.js +1 -1
  111. package/lib/table/src/body.js +1 -1
  112. package/lib/table/src/body.min.js +1 -1
  113. package/lib/table/src/footer.js +1 -1
  114. package/lib/table/src/footer.min.js +1 -1
  115. package/lib/table/src/header.js +6 -3
  116. package/lib/table/src/header.min.js +1 -1
  117. package/lib/table/src/table.js +7 -7
  118. package/lib/table/src/table.min.js +1 -1
  119. package/lib/table/src/util.js +1 -0
  120. package/lib/table/src/util.min.js +1 -1
  121. package/lib/ui/index.js +2 -1
  122. package/lib/ui/index.min.js +1 -1
  123. package/lib/ui/src/log.js +1 -1
  124. package/lib/ui/src/log.min.js +1 -1
  125. package/package.json +2 -2
  126. package/packages/locale/lang/ar-EG.ts +7 -0
  127. package/packages/locale/lang/de-DE.ts +7 -0
  128. package/packages/locale/lang/en-US.ts +7 -0
  129. package/packages/locale/lang/es-ES.ts +7 -0
  130. package/packages/locale/lang/fr-FR.ts +7 -0
  131. package/packages/locale/lang/hu-HU.ts +7 -0
  132. package/packages/locale/lang/hy-AM.ts +7 -0
  133. package/packages/locale/lang/id-ID.ts +7 -0
  134. package/packages/locale/lang/it-IT.ts +7 -0
  135. package/packages/locale/lang/ja-JP.ts +7 -0
  136. package/packages/locale/lang/ko-KR.ts +7 -0
  137. package/packages/locale/lang/ms-MY.ts +7 -0
  138. package/packages/locale/lang/nb-NO.ts +7 -0
  139. package/packages/locale/lang/pt-BR.ts +7 -0
  140. package/packages/locale/lang/ru-RU.ts +7 -0
  141. package/packages/locale/lang/th-TH.ts +7 -0
  142. package/packages/locale/lang/ug-CN.ts +7 -0
  143. package/packages/locale/lang/uk-UA.ts +7 -0
  144. package/packages/locale/lang/uz-UZ.ts +7 -0
  145. package/packages/locale/lang/vi-VN.ts +7 -0
  146. package/packages/locale/lang/zh-CHT.ts +7 -0
  147. package/packages/locale/lang/zh-CN.ts +7 -0
  148. package/packages/table/module/export/export-panel.ts +120 -105
  149. package/packages/table/module/export/hook.ts +112 -28
  150. package/packages/table/module/export/util.ts +1 -1
  151. package/packages/table/src/body.ts +1 -1
  152. package/packages/table/src/footer.ts +1 -1
  153. package/packages/table/src/header.ts +5 -3
  154. package/packages/table/src/table.ts +48 -34
  155. package/packages/table/src/util.ts +3 -2
  156. package/packages/ui/index.ts +1 -0
  157. /package/es/{iconfont.1784122393131.ttf → iconfont.1784366386890.ttf} +0 -0
  158. /package/es/{iconfont.1784122393131.woff → iconfont.1784366386890.woff} +0 -0
  159. /package/es/{iconfont.1784122393131.woff2 → iconfont.1784366386890.woff2} +0 -0
  160. /package/lib/{iconfont.1784122393131.ttf → iconfont.1784366386890.ttf} +0 -0
  161. /package/lib/{iconfont.1784122393131.woff → iconfont.1784366386890.woff} +0 -0
  162. /package/lib/{iconfont.1784122393131.woff2 → iconfont.1784366386890.woff2} +0 -0
@@ -50,6 +50,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
50
50
  const xButtonConfirm = (0, _vue.ref)();
51
51
  const xInputFilename = (0, _vue.ref)();
52
52
  const xInputSheetname = (0, _vue.ref)();
53
+ const computeColWidthModeOptions = (0, _vue.computed)(() => {
54
+ return [{
55
+ value: '',
56
+ label: getI18n('vxe.export.wdModes.default')
57
+ }, {
58
+ value: 'auto',
59
+ label: getI18n('vxe.export.wdModes.auto')
60
+ }, {
61
+ value: 'scale',
62
+ label: getI18n('vxe.export.wdModes.scale')
63
+ }];
64
+ });
53
65
  const computeCheckedAll = (0, _vue.computed)(() => {
54
66
  const {
55
67
  storeData
@@ -223,6 +235,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
223
235
  const showSheet = computeShowSheet.value;
224
236
  const supportMerge = computeSupportMerge.value;
225
237
  const supportStyle = computeSupportStyle.value;
238
+ const colWidthModeOptions = computeColWidthModeOptions.value;
226
239
  // const supportGroup = computeSupportGroup.value
227
240
  const slots = defaultOptions.slots || {};
228
241
  const topSlot = slots.top;
@@ -355,11 +368,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
355
368
  class: 'vxe-checkbox--label'
356
369
  }, getI18n('vxe.export.expCurrentColumn'))])]), (0, _vue.h)('ul', {
357
370
  class: 'vxe-table-export--panel-column-body'
358
- }, colVNs)])])]), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.export.expOpts')), parameterSlot ? (0, _vue.h)('td', [(0, _vue.h)('div', {
371
+ }, colVNs)])])]), isPrint ? (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.export.widthMode')), (0, _vue.h)('td', [VxeUISelectComponent ? (0, _vue.h)(VxeUISelectComponent, {
372
+ modelValue: defaultOptions.widthMode,
373
+ options: colWidthModeOptions,
374
+ 'onUpdate:modelValue'(value) {
375
+ defaultOptions.widthMode = value;
376
+ }
377
+ }) : renderEmptyElement($xeTable)])]) : renderEmptyElement($xeTable), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.export.expOpts')), parameterSlot ? (0, _vue.h)('td', [(0, _vue.h)('div', {
359
378
  class: 'vxe-table-export--panel-option-row'
360
379
  }, $xeTable.callSlot(parameterSlot, params))]) : (0, _vue.h)('td', [(0, _vue.h)('div', {
361
380
  class: 'vxe-table-export--panel-option-row'
362
- }, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
381
+ }, VxeUICheckboxComponent ? [(0, _vue.h)(VxeUICheckboxComponent, {
363
382
  modelValue: hasEmptyData || isHeader,
364
383
  disabled: hasEmptyData,
365
384
  title: getI18n('vxe.export.expHeaderTitle'),
@@ -367,7 +386,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
367
386
  'onUpdate:modelValue'(value) {
368
387
  defaultOptions.isHeader = value;
369
388
  }
370
- }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
389
+ }), (0, _vue.h)(VxeUICheckboxComponent, {
371
390
  modelValue: defaultOptions.isFooter,
372
391
  disabled: !storeData.hasFooter,
373
392
  title: getI18n('vxe.export.expFooterTitle'),
@@ -375,7 +394,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
375
394
  'onUpdate:modelValue'(value) {
376
395
  defaultOptions.isFooter = value;
377
396
  }
378
- }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
397
+ }), (0, _vue.h)(VxeUICheckboxComponent, {
379
398
  modelValue: isHeader ? defaultOptions.isTitle : false,
380
399
  disabled: !isHeader,
381
400
  title: getI18n('vxe.export.expTitleTitle'),
@@ -383,7 +402,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
383
402
  'onUpdate:modelValue'(value) {
384
403
  defaultOptions.isTitle = value;
385
404
  }
386
- }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
405
+ }), (0, _vue.h)(VxeUICheckboxComponent, {
387
406
  modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
388
407
  title: getI18n('vxe.export.expColgroupTitle'),
389
408
  disabled: !isHeader || !hasColgroup || !supportMerge,
@@ -391,9 +410,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
391
410
  'onUpdate:modelValue'(value) {
392
411
  defaultOptions.isColgroup = value;
393
412
  }
394
- }) : renderEmptyElement($xeTable)]), (0, _vue.h)('div', {
413
+ })] : []), (0, _vue.h)('div', {
395
414
  class: 'vxe-table-export--panel-option-row'
396
- }, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
415
+ }, VxeUICheckboxComponent ? [(0, _vue.h)(VxeUICheckboxComponent, {
397
416
  modelValue: hasEmptyData ? false : defaultOptions.original,
398
417
  disabled: hasEmptyData,
399
418
  title: getI18n('vxe.export.expOriginalTitle'),
@@ -401,7 +420,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
401
420
  'onUpdate:modelValue'(value) {
402
421
  defaultOptions.original = value;
403
422
  }
404
- }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
423
+ }), (0, _vue.h)(VxeUICheckboxComponent, {
405
424
  modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
406
425
  title: getI18n('vxe.export.expMergeTitle'),
407
426
  disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
@@ -409,7 +428,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
409
428
  'onUpdate:modelValue'(value) {
410
429
  defaultOptions.isMerge = value;
411
430
  }
412
- }) : renderEmptyElement($xeTable), isPrint || !VxeUICheckboxComponent ? renderEmptyElement($xeTable) : (0, _vue.h)(VxeUICheckboxComponent, {
431
+ }), isPrint ? renderEmptyElement($xeTable) : (0, _vue.h)(VxeUICheckboxComponent, {
413
432
  modelValue: supportStyle ? defaultOptions.useStyle : false,
414
433
  disabled: !supportStyle,
415
434
  title: getI18n('vxe.export.expUseStyleTitle'),
@@ -417,9 +436,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
417
436
  'onUpdate:modelValue'(value) {
418
437
  defaultOptions.useStyle = value;
419
438
  }
420
- })]), (0, _vue.h)('div', {
439
+ })] : []), (0, _vue.h)('div', {
421
440
  class: 'vxe-table-export--panel-option-row'
422
- }, [VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
441
+ }, VxeUICheckboxComponent ? [(0, _vue.h)(VxeUICheckboxComponent, {
423
442
  modelValue: hasTree ? defaultOptions.isTreeAllExpanded : false,
424
443
  disabled: hasEmptyData || !hasTree,
425
444
  title: getI18n('vxe.export.expTreeAllExpandTitle'),
@@ -427,7 +446,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
427
446
  'onUpdate:modelValue'(value) {
428
447
  defaultOptions.isTreeAllExpanded = value;
429
448
  }
430
- }) : renderEmptyElement($xeTable), VxeUICheckboxComponent ? (0, _vue.h)(VxeUICheckboxComponent, {
449
+ }), (0, _vue.h)(VxeUICheckboxComponent, {
431
450
  modelValue: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
432
451
  disabled: hasEmptyData || !hasRowGroup,
433
452
  title: getI18n('vxe.export.expRowGroupAllExpandTitle'),
@@ -435,7 +454,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
435
454
  'onUpdate:modelValue'(value) {
436
455
  defaultOptions.isRowGroupAllExpanded = value;
437
456
  }
438
- }) : renderEmptyElement($xeTable)])])])]])])]), bottomSlot ? (0, _vue.h)('div', {
457
+ })] : [])])])]])])]), bottomSlot ? (0, _vue.h)('div', {
439
458
  class: 'vxe-table-export--panel-bottom'
440
459
  }, $xeTable.callSlot(bottomSlot, params)) : renderEmptyElement($xeTable)]);
441
460
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(f){let T=_ui.VxeUI.getComponent("VxeModal"),V=_ui.VxeUI.getComponent("VxeButton"),k=_ui.VxeUI.getComponent("VxeSelect"),O=_ui.VxeUI.getComponent("VxeInput"),U=_ui.VxeUI.getComponent("VxeCheckbox"),A=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=A.getComputeMaps(),D=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),L=(0,_vue.ref)(),M=(0,_vue.ref)(),H=(0,_vue.ref)(),w=(0,_vue.computed)(()=>{var e=f.storeData;return e.columns.every(e=>e.checked)}),N=(0,_vue.computed)(()=>{var e=f.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),q=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=f;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),B=(0,_vue.computed)(()=>{var e=f.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),S=t=>{var e=f.storeData,e=_xeUtils.default.findTree(e.columns,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.checked=e.children.every(e=>e.checked),e.halfChecked=!e.checked&&e.children.some(e=>e.checked||e.halfChecked),S(e))},K=()=>{var e=f.storeData,e=e.columns;D.isAll=e.every(e=>e.disabled||e.checked),D.isIndeterminate=!D.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},P=()=>{var e=f.storeData;let t=!D.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),D.isAll=t,K()},R=()=>{(0,_vue.nextTick)(()=>{var e=M.value,t=H.value,l=L.value,e=e||t||l;e&&e.focus()}),K()},r=()=>{var{storeData:e,defaultOptions:t}=f,{hasMerge:e,columns:l}=e,o=w.value,r=q.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&r&&o)&&t.isMerge})},t=()=>{var e=f.storeData,t=o.value;e.visible=!1,A.print(Object.assign({},t,r()))},a=()=>{let e=f.storeData;var t=l.value;D.loading=!0,A.exportData(Object.assign({},t,r())).then(()=>{D.loading=!1,e.visible=!1}).catch(()=>{D.loading=!1})},X=()=>{var e=f.storeData;e.visible=!1},j=()=>{var e=f.storeData;(e.isPrint?t:a)()};return(0,_vue.nextTick)(()=>{T||errLog("vxe.error.reqComp",["vxe-modal"]),V||errLog("vxe.error.reqComp",["vxe-button"]),k||errLog("vxe.error.reqComp",["vxe-select"]),O||errLog("vxe.error.reqComp",["vxe-input"]),U||errLog("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=A.xeGrid,o=A.xeGantt,{defaultOptions:r,storeData:a}=f,{isAll:n,isIndeterminate:p}=D,{hasTree:i,hasRowGroup:d,hasMerge:u,isPrint:s,hasColgroup:x,columns:v}=a,c=r.isHeader,m=[],h=w.value,_=N.value,g=q.value,E=B.value;var e=r.slots||{};let b=e.top,C=e.bottom,I=e.default,t=e.footer,y=e.parameter;return _xeUtils.default.eachTree(v,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,r=e.halfChecked,a="html"===e.type;m.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":r,"is--disabled":e.disabled}],title:a?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),S(e),K()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",r?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),a?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),T?(0,_vue.h)(T,{id:"VXE_EXPORT_MODAL",modelValue:a.visible,title:getI18n(s?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:D.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:R},{default:()=>{var e={$table:A,$grid:l,$gantt:o,options:r,columns:v,params:r.params},t="empty"===r.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[b?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},A.callSlot(b,e)):renderEmptyElement(A),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},I?A.callSlot(I,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[s?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:M,modelValue:r.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){r.filename=e}}):renderEmptyElement(A)])]),s?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:r.type,options:a.typeList,"onUpdate:modelValue"(e){r.type=e}}):renderEmptyElement(A)])]),s||_?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{ref:H,modelValue:r.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){r.sheetName=e}}):renderEmptyElement(A)])]):renderEmptyElement(A),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[k?(0,_vue.h)(k,{modelValue:r.mode,options:a.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){r.mode=e}}):renderEmptyElement(A)])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":n,"is--indeterminate":p}],title:getI18n("vxe.table.allTitle"),onClick:P},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},m)])])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),y?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A.callSlot(y,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:t||c,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){r.isHeader=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:r.isFooter,disabled:!a.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){r.isFooter=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!c&&r.isTitle,disabled:!c,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){r.isTitle=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!(c&&x&&g)&&r.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!c||!x||!g,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){r.isColgroup=e}}):renderEmptyElement(A)]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:!t&&r.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){r.original=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!(u&&g&&h)&&r.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!g||!h,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){r.isMerge=e}}):renderEmptyElement(A),s||!U?renderEmptyElement(A):(0,_vue.h)(U,{modelValue:!!E&&r.useStyle,disabled:!E,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){r.useStyle=e}})]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},[U?(0,_vue.h)(U,{modelValue:!!i&&r.isTreeAllExpanded,disabled:t||!i,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand"),"onUpdate:modelValue"(e){r.isTreeAllExpanded=e}}):renderEmptyElement(A),U?(0,_vue.h)(U,{modelValue:!!d&&r.isRowGroupAllExpanded,disabled:t||!d,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand"),"onUpdate:modelValue"(e){r.isRowGroupAllExpanded=e}}):renderEmptyElement(A)])])])]])])]),C?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},A.callSlot(C,e)):renderEmptyElement(A)])},footer(){var e={$table:A,$grid:l,$gantt:o,options:r,columns:v,params:r.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?A.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[V?(0,_vue.h)(V,{content:getI18n("vxe.export.expCancel"),onClick:X}):renderEmptyElement(A),V?(0,_vue.h)(V,{ref:L,status:"primary",content:getI18n(s?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:j}):renderEmptyElement(A)])])}}):renderEmptyElement(A)}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table").errLog,{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableExportPanel",props:{defaultOptions:{type:Object,default:()=>({})},storeData:{type:Object,default:()=>({})}},setup(V){let y=_ui.VxeUI.getComponent("VxeModal"),k=_ui.VxeUI.getComponent("VxeButton"),O=_ui.VxeUI.getComponent("VxeSelect"),U=_ui.VxeUI.getComponent("VxeInput"),M=_ui.VxeUI.getComponent("VxeCheckbox"),A=(0,_vue.inject)("$xeTable",{}),{computeExportOpts:l,computePrintOpts:o}=A.getComputeMaps(),D=(0,_vue.reactive)({isAll:!1,isIndeterminate:!1,loading:!1}),w=(0,_vue.ref)(),L=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.computed)(()=>[{value:"",label:getI18n("vxe.export.wdModes.default")},{value:"auto",label:getI18n("vxe.export.wdModes.auto")},{value:"scale",label:getI18n("vxe.export.wdModes.scale")}]),q=(0,_vue.computed)(()=>{var e=V.storeData;return e.columns.every(e=>e.checked)}),B=(0,_vue.computed)(()=>{var e=V.defaultOptions;return-1<["html","xml","xlsx","pdf"].indexOf(e.type)}),S=(0,_vue.computed)(()=>{var{storeData:e,defaultOptions:t}=V;return!t.original&&"current"===t.mode&&(e.isPrint||-1<["html","xlsx"].indexOf(t.type))}),K=(0,_vue.computed)(()=>{var e=V.defaultOptions;return!e.original&&-1<["xlsx"].indexOf(e.type)}),P=t=>{var e=V.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),P(e))},R=()=>{var e=V.storeData,e=e.columns;D.isAll=e.every(e=>e.disabled||e.checked),D.isIndeterminate=!D.isAll&&e.some(e=>!e.disabled&&(e.checked||e.halfChecked))},X=()=>{var e=V.storeData;let t=!D.isAll;_xeUtils.default.eachTree(e.columns,e=>{e.disabled||(e.checked=t,e.halfChecked=!1)}),D.isAll=t,R()},j=()=>{(0,_vue.nextTick)(()=>{var e=L.value,t=H.value,l=w.value,e=e||t||l;e&&e.focus()}),R()},a=()=>{var{storeData:e,defaultOptions:t}=V,{hasMerge:e,columns:l}=e,o=q.value,a=S.value,l=_xeUtils.default.searchTree(l,e=>e.checked,{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},t,{columns:l,isMerge:!!(e&&a&&o)&&t.isMerge})},t=()=>{var e=V.storeData,t=o.value;e.visible=!1,A.print(Object.assign({},t,a()))},r=()=>{let e=V.storeData;var t=l.value;D.loading=!0,A.exportData(Object.assign({},t,a())).then(()=>{D.loading=!1,e.visible=!1}).catch(()=>{D.loading=!1})},G=()=>{var e=V.storeData;e.visible=!1},$=()=>{var e=V.storeData;(e.isPrint?t:r)()};return(0,_vue.nextTick)(()=>{y||errLog("vxe.error.reqComp",["vxe-modal"]),k||errLog("vxe.error.reqComp",["vxe-button"]),O||errLog("vxe.error.reqComp",["vxe-select"]),U||errLog("vxe.error.reqComp",["vxe-input"]),M||errLog("vxe.error.reqComp",["vxe-checkbox"])}),()=>{let l=A.xeGrid,o=A.xeGantt,{defaultOptions:a,storeData:r}=V,{isAll:n,isIndeterminate:p}=D,{hasTree:d,hasRowGroup:i,hasMerge:u,isPrint:x,hasColgroup:s,columns:v}=r,c=a.isHeader,m=[],h=q.value,_=B.value,g=S.value,b=K.value,E=N.value;var e=a.slots||{};let I=e.top,C=e.bottom,f=e.default,t=e.footer,T=e.parameter;return _xeUtils.default.eachTree(v,e=>{var t=(0,_utils.formatText)(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,a=e.halfChecked,r="html"===e.type;m.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-export--panel-column-option","level--"+e.level,{"is--group":l,"is--checked":o,"is--indeterminate":a,"is--disabled":e.disabled}],title:r?"":t,onClick:()=>{e.disabled||(e=>{let t=!e.checked;_xeUtils.default.eachTree([e],e=>{e.checked=t,e.halfChecked=!1}),P(e),R()})(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),r?(0,_vue.h)("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):(0,_vue.h)("span",{key:"0",class:"vxe-checkbox--label"},t)]))}),y?(0,_vue.h)(y,{id:"VXE_EXPORT_MODAL",modelValue:r.visible,title:getI18n(x?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:D.loading,"onUpdate:modelValue"(e){r.visible=e},onShow:j},{default:()=>{var e={$table:A,$grid:l,$gantt:o,options:a,columns:v,params:a.params},t="empty"===a.mode;return(0,_vue.h)("div",{class:"vxe-table-export--panel"},[I?(0,_vue.h)("div",{class:"vxe-table-export--panel-top"},A.callSlot(I,e)):renderEmptyElement(A),(0,_vue.h)("div",{class:"vxe-table-export--panel-body"},f?A.callSlot(f,e):[(0,_vue.h)("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[[x?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expName")),(0,_vue.h)("td",[U?(0,_vue.h)(U,{ref:L,modelValue:a.filename,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){a.filename=e}}):renderEmptyElement(A)])]),x?renderEmptyElement(A):(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expType")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{modelValue:a.type,options:r.typeList,"onUpdate:modelValue"(e){a.type=e}}):renderEmptyElement(A)])]),x||_?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expSheetName")),(0,_vue.h)("td",[U?(0,_vue.h)(U,{ref:H,modelValue:a.sheetName,type:"text",clearable:!0,placeholder:getI18n("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){a.sheetName=e}}):renderEmptyElement(A)])]):renderEmptyElement(A),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expMode")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{modelValue:a.mode,options:r.modeList.map(e=>({value:e.value,label:getI18n(e.label)})),"onUpdate:modelValue"(e){a.mode=e}}):renderEmptyElement(A)])]),(0,_vue.h)("tr",[(0,_vue.h)("td",[getI18n("vxe.export.expColumn")]),(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-column"},[(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-header"},[(0,_vue.h)("li",{class:["vxe-table-export--panel-column-option",{"is--checked":n,"is--indeterminate":p}],title:getI18n("vxe.table.allTitle"),onClick:X},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.export.expCurrentColumn"))])]),(0,_vue.h)("ul",{class:"vxe-table-export--panel-column-body"},m)])])]),x?(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.widthMode")),(0,_vue.h)("td",[O?(0,_vue.h)(O,{modelValue:a.widthMode,options:E,"onUpdate:modelValue"(e){a.widthMode=e}}):renderEmptyElement(A)])]):renderEmptyElement(A),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.export.expOpts")),T?(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},A.callSlot(T,e))]):(0,_vue.h)("td",[(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},M?[(0,_vue.h)(M,{modelValue:t||c,disabled:t,title:getI18n("vxe.export.expHeaderTitle"),content:getI18n("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){a.isHeader=e}}),(0,_vue.h)(M,{modelValue:a.isFooter,disabled:!r.hasFooter,title:getI18n("vxe.export.expFooterTitle"),content:getI18n("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){a.isFooter=e}}),(0,_vue.h)(M,{modelValue:!!c&&a.isTitle,disabled:!c,title:getI18n("vxe.export.expTitleTitle"),content:getI18n("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){a.isTitle=e}}),(0,_vue.h)(M,{modelValue:!!(c&&s&&g)&&a.isColgroup,title:getI18n("vxe.export.expColgroupTitle"),disabled:!c||!s||!g,content:getI18n("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){a.isColgroup=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},M?[(0,_vue.h)(M,{modelValue:!t&&a.original,disabled:t,title:getI18n("vxe.export.expOriginalTitle"),content:getI18n("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){a.original=e}}),(0,_vue.h)(M,{modelValue:!!(u&&g&&h)&&a.isMerge,title:getI18n("vxe.export.expMergeTitle"),disabled:t||!u||!g||!h,content:getI18n("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){a.isMerge=e}}),x?renderEmptyElement(A):(0,_vue.h)(M,{modelValue:!!b&&a.useStyle,disabled:!b,title:getI18n("vxe.export.expUseStyleTitle"),content:getI18n("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){a.useStyle=e}})]:[]),(0,_vue.h)("div",{class:"vxe-table-export--panel-option-row"},M?[(0,_vue.h)(M,{modelValue:!!d&&a.isTreeAllExpanded,disabled:t||!d,title:getI18n("vxe.export.expTreeAllExpandTitle"),content:getI18n("vxe.export.expOptTreeAllExpand"),"onUpdate:modelValue"(e){a.isTreeAllExpanded=e}}),(0,_vue.h)(M,{modelValue:!!i&&a.isRowGroupAllExpanded,disabled:t||!i,title:getI18n("vxe.export.expRowGroupAllExpandTitle"),content:getI18n("vxe.export.expOptRowGroupAllExpand"),"onUpdate:modelValue"(e){a.isRowGroupAllExpanded=e}})]:[])])])]])])]),C?(0,_vue.h)("div",{class:"vxe-table-export--panel-bottom"},A.callSlot(C,e)):renderEmptyElement(A)])},footer(){var e={$table:A,$grid:l,$gantt:o,options:a,columns:v,params:a.params};return(0,_vue.h)("div",{class:"vxe-table-export--panel-footer"},t?A.callSlot(t,e):[(0,_vue.h)("div",{class:"vxe-table-export--panel-btns"},[k?(0,_vue.h)(k,{content:getI18n("vxe.export.expCancel"),onClick:G}):renderEmptyElement(A),k?(0,_vue.h)(k,{ref:w,status:"primary",content:getI18n(x?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:$}):renderEmptyElement(A)])])}}):renderEmptyElement(A)}}});
@@ -794,6 +794,9 @@ hooks.add('tableExportModule', {
794
794
  }
795
795
  return isEllipsis;
796
796
  };
797
+ const getCustomColKey = conf => {
798
+ return `${conf.field || ''}:${conf.type || ''}`;
799
+ };
797
800
  const toHtml = (opts, columns, datas) => {
798
801
  const {
799
802
  id,
@@ -816,42 +819,113 @@ hooks.add('tableExportModule', {
816
819
  const treeOpts = computeTreeOpts.value;
817
820
  const {
818
821
  print: isPrint,
822
+ widthMode,
819
823
  isHeader,
820
824
  isFooter,
821
825
  isColgroup,
822
826
  isMerge,
823
827
  colgroups,
828
+ _columnConfs,
824
829
  original
825
830
  } = opts;
826
- const allCls = 'check-all';
827
- const clss = ['vxe-table', `border--${toTableBorder(border)}`, isPrint ? 'is--print' : '', isHeader ? 'is--header' : ''].filter(cls => cls);
828
- const tables = [`<table class="${clss.join(' ')}" border="0" cellspacing="0" cellpadding="0">`, `<colgroup>${columns.map(column => `<col style="width:${column.renderWidth}px">`).join('')}</colgroup>`];
829
- if (isHeader) {
830
- tables.push('<thead>');
831
- if (isColgroup && !original) {
831
+ const isAutoWidth = widthMode === 'auto';
832
+ const isScaleWidth = widthMode === 'scale';
833
+ const isDefaultWidth = !isAutoWidth && !isScaleWidth;
834
+ const customWidthMaps = {};
835
+ if (_columnConfs) {
836
+ _columnConfs.forEach(conf => {
837
+ if (!(0, _util.isColumnInfo)(conf)) {
838
+ if ((conf.field || conf.type) && conf.width) {
839
+ customWidthMaps[getCustomColKey(conf)] = conf.width;
840
+ }
841
+ }
842
+ });
843
+ }
844
+ // 计算宽度
845
+ const colWidthMaps = {};
846
+ const printWidthMaps = {};
847
+ if (isPrint) {
848
+ let tableWidth = 0;
849
+ columns.forEach(column => {
850
+ tableWidth += column.renderWidth;
851
+ });
852
+ if (colgroups) {
832
853
  colgroups.forEach(cols => {
833
- tables.push(`<tr>${cols.map(column => {
834
- const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
835
- const classNames = hasEllipsis(column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];
836
- const cellTitle = getHeaderTitle(opts, column);
854
+ cols.forEach(column => {
855
+ if (!column.childNodes || !column.childNodes.length) {
856
+ return;
857
+ }
837
858
  let childWidth = 0;
838
859
  let countChild = 0;
839
860
  _xeUtils.default.eachTree([column], item => {
840
861
  if (!item.childNodes || !column.childNodes.length) {
841
862
  countChild++;
842
863
  }
843
- childWidth += item.renderWidth;
864
+ const ptWidth = printWidthMaps[item.id];
865
+ childWidth += ptWidth || 0;
844
866
  }, {
845
867
  children: 'childNodes'
846
868
  });
847
- const cellWidth = childWidth - countChild;
869
+ const colWidth = childWidth - countChild;
870
+ colWidthMaps[column.id] = colWidth;
871
+ printWidthMaps[column.id] = _xeUtils.default.floor(colWidth / tableWidth * 180, 2);
872
+ });
873
+ });
874
+ }
875
+ columns.forEach(column => {
876
+ const colWidth = column.renderWidth;
877
+ if (column.width) {
878
+ colWidthMaps[column.id] = colWidth;
879
+ }
880
+ printWidthMaps[column.id] = _xeUtils.default.floor(colWidth / tableWidth * 180, 2);
881
+ });
882
+ }
883
+ const getHeaderWidthStyle = column => {
884
+ const cmColKey = getCustomColKey(column);
885
+ const cmWidthMaps = customWidthMaps[cmColKey];
886
+ if (cmWidthMaps) {
887
+ return 'width:' + (0, _dom.toCssUnit)(cmWidthMaps);
888
+ }
889
+ if (isAutoWidth) {
890
+ return '';
891
+ }
892
+ if (isScaleWidth) {
893
+ return printWidthMaps[column.id] ? 'width:' + printWidthMaps[column.id] + 'mm' : '';
894
+ }
895
+ return colWidthMaps[column.id] ? 'width:' + (0, _dom.toCssUnit)(colWidthMaps[column.id]) : '';
896
+ };
897
+ const getCellWidthStyle = column => {
898
+ const cmColKey = getCustomColKey(column);
899
+ const cmWidthMaps = customWidthMaps[cmColKey];
900
+ if (cmWidthMaps) {
901
+ return 'width:' + (0, _dom.toCssUnit)(cmWidthMaps);
902
+ }
903
+ if (isAutoWidth || isDefaultWidth) {
904
+ return '';
905
+ }
906
+ if (isScaleWidth) {
907
+ return printWidthMaps[column.id] ? 'width:' + printWidthMaps[column.id] + 'mm' : '';
908
+ }
909
+ return colWidthMaps[column.id] ? 'width:' + (0, _dom.toCssUnit)(colWidthMaps[column.id]) : '';
910
+ };
911
+ const allCls = 'check-all';
912
+ const clss = ['vxe-table', `border--${toTableBorder(border)}`, isPrint ? 'is--print' : '', isAutoWidth ? 'is--auto-width' : '', isScaleWidth ? 'is--scale-width' : '', isDefaultWidth ? 'is--default-width' : '', isHeader ? 'is--header' : ''].filter(cls => cls);
913
+ const tables = [`<table class="${clss.join(' ')}" border="0" cellspacing="0" cellpadding="0">`, `<colgroup>${columns.map(column => `<col style="${getHeaderWidthStyle(column)}">`).join('')}</colgroup>`];
914
+ if (isHeader) {
915
+ tables.push('<thead>');
916
+ if (isColgroup && !original) {
917
+ colgroups.forEach(cols => {
918
+ tables.push(`<tr>${cols.map(column => {
919
+ const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
920
+ const classNames = hasEllipsis(column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];
921
+ const cellTitle = getHeaderTitle(opts, column);
848
922
  if (headAlign) {
849
923
  classNames.push(`col--${headAlign}`);
850
924
  }
851
925
  if (column.type === 'checkbox') {
852
- return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}"><div ${isPrint ? '' : `style="width: ${cellWidth}px"`}><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
926
+ return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}"><div style="${getCellWidthStyle(column)}"><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
853
927
  }
854
- return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}" title="${cellTitle}"><div ${isPrint ? '' : `style="width: ${cellWidth}px"`}><span>${(0, _utils.formatText)(cellTitle, true)}</span></div></th>`;
928
+ return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}" title="${cellTitle}"><div style="${getCellWidthStyle(column)}"><span>${(0, _utils.formatText)(cellTitle, true)}</span></div></th>`;
855
929
  }).join('')}</tr>`);
856
930
  });
857
931
  } else {
@@ -863,9 +937,9 @@ hooks.add('tableExportModule', {
863
937
  classNames.push(`col--${headAlign}`);
864
938
  }
865
939
  if (column.type === 'checkbox') {
866
- return `<th class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
940
+ return `<th class="${classNames.join(' ')}"><div style="${getCellWidthStyle(column)}"><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
867
941
  }
868
- return `<th class="${classNames.join(' ')}" title="${cellTitle}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><span>${(0, _utils.formatText)(cellTitle, true)}</span></div></th>`;
942
+ return `<th class="${classNames.join(' ')}" title="${cellTitle}"><div style="${getCellWidthStyle(column)}"><span>${(0, _utils.formatText)(cellTitle, true)}</span></div></th>`;
869
943
  }).join('')}</tr>`);
870
944
  }
871
945
  tables.push('</thead>');
@@ -889,18 +963,18 @@ hooks.add('tableExportModule', {
889
963
  }
890
964
  classNames.push('vxe-table--tree-node');
891
965
  if (column.type === 'radio') {
892
- return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></div></div></td>`;
966
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div style="${getCellWidthStyle(column)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></div></div></td>`;
893
967
  } else if (column.type === 'checkbox') {
894
- return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></div></div></td>`;
968
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div style="${getCellWidthStyle(column)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></div></div></td>`;
895
969
  }
896
- return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell">${cellValue}</div></div></div></td>`;
970
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div style="${getCellWidthStyle(column)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell">${cellValue}</div></div></div></td>`;
897
971
  }
898
972
  if (column.type === 'radio') {
899
- return `<td class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
973
+ return `<td class="${classNames.join(' ')}"><div style="${getCellWidthStyle(column)}"><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
900
974
  } else if (column.type === 'checkbox') {
901
- return `<td class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
975
+ return `<td class="${classNames.join(' ')}"><div style="${getCellWidthStyle(column)}"><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
902
976
  }
903
- return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${(0, _utils.formatText)(cellValue, true)}</div></td>`;
977
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div style="${getCellWidthStyle(column)}">${(0, _utils.formatText)(cellValue, true)}</div></td>`;
904
978
  }).join('') + '</tr>');
905
979
  });
906
980
  } else {
@@ -935,11 +1009,11 @@ hooks.add('tableExportModule', {
935
1009
  classNames.push(`col--${cellAlign}`);
936
1010
  }
937
1011
  if (column.type === 'radio') {
938
- return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
1012
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div style="${getCellWidthStyle(column)}"><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
939
1013
  } else if (column.type === 'checkbox') {
940
- return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
1014
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div style="${getCellWidthStyle(column)}"><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
941
1015
  }
942
- return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${(0, _utils.formatText)(cellValue, true)}</div></td>`;
1016
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div style="${getCellWidthStyle(column)}">${(0, _utils.formatText)(cellValue, true)}</div></td>`;
943
1017
  }).join('') + '</tr>');
944
1018
  });
945
1019
  }
@@ -982,7 +1056,7 @@ hooks.add('tableExportModule', {
982
1056
  if (footAlign) {
983
1057
  classNames.push(`col--${footAlign}`);
984
1058
  }
985
- return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${(0, _utils.formatText)(cellValue, true)}</div></td>`;
1059
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div style="${getCellWidthStyle(column)}">${(0, _utils.formatText)(cellValue, true)}</div></td>`;
986
1060
  }).join('')}</tr>`);
987
1061
  });
988
1062
  tables.push('</tfoot>');
@@ -1502,6 +1576,9 @@ hooks.add('tableExportModule', {
1502
1576
  if (!typeList.some(item => item.value === type)) {
1503
1577
  exportParams.type = typeList[0].value;
1504
1578
  }
1579
+ if (!exportParams.widthMode) {
1580
+ exportParams.widthMode = '';
1581
+ }
1505
1582
  initStore.export = true;
1506
1583
  return (0, _vue.nextTick)();
1507
1584
  };
@@ -1615,7 +1692,8 @@ hooks.add('tableExportModule', {
1615
1692
  }
1616
1693
  const handleOptions = Object.assign({}, opts, {
1617
1694
  filename: '',
1618
- sheetName: ''
1695
+ sheetName: '',
1696
+ _columnConfs: columns
1619
1697
  });
1620
1698
  // 如果设置源数据,则默认导出设置了字段的列
1621
1699
  if (!isCustomCol && !columnFilterMethod) {
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=l.xeGrid,o=l.xeGantt,a=e.footerFilterMethod;return a?t.filter((e,t)=>a({$table:l,$grid:r,$gantt:o,items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(D){let{props:O,reactData:N,internalData:V}=D,{computeTreeOpts:B,computePrintOpts:n,computeExportOpts:P,computeImportOpts:c,computeCustomOpts:F,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:u,computeAggregateOpts:p}=D.getComputeMaps(),L=(e,t,l,r,o)=>{var a=i.value.seqMethod||r.seqMethod;return a?a({$table:D,row:t,rowIndex:D.getRowIndex(t),_rowIndex:D.getVTRowIndex(t),$rowIndex:l,column:r,columnIndex:D.getColumnIndex(r),_columnIndex:D.getVTColumnIndex(r),$columnIndex:o}):e};function T(e,t){var l=u.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:D}):(e.isTitle?D.getHeaderCellLabel(t):t.field)||""}let R=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,S=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,m,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=O.treeConfig,l=N.isRowGroupStatus;let F=V.fullColumnFieldData,U=a.value,I=s.value;var r=B.value;let j=u.value;var o=p.value;htmlCellElem=htmlCellElem||document.createElement("div");let x=(0,_util.createHandleGetRowId)(D).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:T,mapChildrenField:E}=o,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,b,l,r)=>{let v=e._row||e;var o=x(v);if(!n[o]){e=l&&l._row?l._row:l,l=e?x(e):"";if(d||!e||s[l]&&D.isRowExpandByRow(e)){var a=E&&v[E]&&v[E].length;let g={_row:v,_level:r.length-1,_hasChild:a,_expand:a&&D.isRowExpandByRow(v)};m.forEach((e,t)=>{var{field:l,editRender:r,cellRender:o,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,h,r=r||o;let m=e.exportMethod||j.exportMethod;if(m=(m=!m&&r&&r.name&&(o=renderer.get(r.name))?o.tableExportMethod||o.exportMethod:m)||j.exportMethod)s=m({$table:D,row:v,column:e,options:M});else switch(e.type){case"seq":var x=b.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===k?x:L(x,v,f,e,t);break;case"checkbox":s=R(D.isCheckedByCheckboxRow(v)),g._checkboxLabel=I.labelField?_xeUtils.default.get(v,I.labelField):"",g._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:v});break;case"radio":s=R(D.isCheckedByRadioRow(v)),g._radioLabel=U.labelField?_xeUtils.default.get(v,U.labelField):"",g._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:v});break;default:l&&v.isAggregate?(n=(n=(x=v).aggData)?n[l]:null,u=x.groupField,d=x.groupContent,h=E&&x[E]||[],c=x.childCount,p=F[u]||{},u={$table:D,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:h,childCount:c,aggValue:null,children:h,totalValue:c},("column"===_?l===x.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):D.getPivotTableAggregateCellAggValue?(p={$table:D,row:v,column:e},s=D.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,T)&&(s=T(u))):M.original?s=(0,_util.getCellValue)(v,e):(s=D.getCellLabel(v,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(h=D.getCellElement(v,e))&&!(0,_dom.hasClass)(h,"is--progress")&&(s=h.innerText.trim()))}g[e.id]=S(s)}),n[o]=!0,l&&(s[l]=!0),i.push(Object.assign(g,v))}}},{children:E}),i}if(t){let c=r.children||r.childrenField,u=[],p={},h={};return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;var o=x(d);if(!h[o]){e=l&&l._row?l._row:l,l=e?x(e):"";if(i||!e||p[l]&&D.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:r.length-1,_hasChild:a,_expand:a&&D.isTreeExpandByRow(d)};m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||j.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||j.exportMethod)l=o({$table:D,row:d,column:e,options:M});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:L(a,d,s,e,t);break;case"checkbox":l=R(D.isCheckedByCheckboxRow(d)),i._checkboxLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:d});break;case"radio":l=R(D.isCheckedByRadioRow(d)),i._radioLabel=U.labelField?_xeUtils.default.get(d,U.labelField):"",i._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=D.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=D.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=S(l)}),h[o]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,s)=>{let n={_row:i};return m.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||j.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:D,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===k?a:L(a,i,s,e,t);break;case"checkbox":l=R(D.isCheckedByCheckboxRow(i)),n._checkboxLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",n._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:i});break;case"radio":l=R(D.isCheckedByRadioRow(i)),n._radioLabel=U.labelField?_xeUtils.default.get(i,U.labelField):"",n._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=D.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=D.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=S(l)}),n})},E=(e,t,l)=>{var r=u.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod)?(o=D.getVTColumnIndex(l),a({$table:D,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e})):D.getFooterCellLabel(t,l)},h=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(T(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=N.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(E(l,t,e))).join(",")+enterSymbol})),o},m=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(T(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=N.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(E(l,t,e))).join("\t")+enterSymbol})),o},M=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=N;return r=l||e?r||!0:r},x=(c,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:s,align:u,footerAlign:p,showOverflow:h,showHeaderOverflow:n}=O,{isAllSelected:m,isIndeterminate:o}=N,{mergeBodyCellMaps:x,mergeFooterCellMaps:g}=V,a=B.value,{print:f,isHeader:i,isFooter:b,isColgroup:v,isMerge:_,colgroups:$,original:y}=c,w="check-all";let C=[`<table class="${["vxe-table","border--"+toTableBorder(l),f?"is--print":"",i?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];i&&(C.push("<thead>"),v&&!y?$.forEach(e=>{C.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=M(t,"showHeaderOverflow",n)?["col--ellipsis"]:[],r=T(c,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${f?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${f?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):C.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=M(e,"showHeaderOverflow",n)?["col--ellipsis"]:[],r=T(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),C.push("</thead>")),t.length&&(C.push("<tbody>"),r?t.forEach(o=>{C.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,r=M(t,"showOverflow",h)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${f?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${f?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{C.push("<tr>"+e.map(e=>{var t=e.align||u,l=M(e,"showOverflow",h)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(_){var i=D.getVTRowIndex(n._row),s=D.getVTColumnIndex(e),i=x[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${f?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),C.push("</tbody>")),b&&(t=N.footerTableData,(t=getFooterData(D,c,t)).length)&&(C.push("<tfoot>"),t.forEach((n,d)=>{C.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=M(e,"showOverflow",h)?["col--ellipsis"]:[],r=E(c,n,e);let o=1,a=1;if(_){var i=d,s=D.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${f?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),C.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return C.push("</table>",t),f?C.join(""):(0,_util2.createHtmlPage)(c,C.join(""))},g=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=N.footerTableData,getFooterData(D,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${E(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},A=l=>{let r=D.xeGrid,o=D.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:D,$grid:r,$gantt:o};t(n?n(e):e)}else{let e=(e=>{let l=D.xeGrid,r=D.xeGantt,{columns:t,dataFilterMethod:o}=e,a=e.data;return o&&(a=a.filter((e,t)=>o({$table:D,$grid:l,$gantt:r,row:e,$rowIndex:t}))),d(e,t,a)})(l);t(D.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return h(e,t,l,r);case"txt":return m(e,t,l,r);case"html":return x(t,l,r);case"xml":return g(t,l,r)}return""})(D,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:D,$grid:r,$gantt:o}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:D,$grid:r,$gantt:o});return Promise.reject({status:!1})})},f=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),V._importResolve=null,V._importReject=null},r=e=>{l(e),V._importResolve=null,V._importReject=null};if(V._importResolve=e,V._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:D})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=V.tableFullColumn,D.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=V,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=D.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?D.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?D.insertAt(e,-1):"insertTop"===l.mode?D.insert(e):D.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:D})}).catch(e=>(t&&t({status:!1,options:i,$table:D}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},W=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),q=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var l=D.xeGrid,r=D.xeGantt,o=l||r,{treeConfig:a,showHeader:i,showFooter:s}=O,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:h}=N,{collectColumn:m,mergeBodyList:x,mergeFooterList:g}=V,f=P.value,a=!!a,c=0<c.length,b=F.value,v=D.getCheckboxRecords(),o=o?o.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,x=!(!x.length&&!g.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:x,useStyle:!0,current:"current",modes:(o.ajax&&o.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);g=_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=b.checkMethod;s=m.slice(0);let{columns:y,excludeFields:w,includeFields:C}=_;o=g.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)});_xeUtils.default.eachTree(s,(e,t,l,r,o)=>{var a=e.children&&0<e.children.length;let i=!1;i=y&&y.length?W(_,e,y):w||C?q(_,e,C,w):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!$&&!$({$table:D,column:e})}),p.columns=s,p.typeList=o,p.modeList=e,p.hasFooter=u,p.hasMerge=x,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(h,{mode:v.length?"selected":"current"},_);let{filename:T,sheetName:E,mode:M,type:k}=h;return T&&(_xeUtils.default.isFunction(T)?h.filename=T({options:_,$table:D,$grid:l,$gantt:r}):h.filename=""+T),E&&(_xeUtils.default.isFunction(E)?h.sheetName=E({options:_,$table:D,$grid:l,$gantt:r}):h.sheetName=""+E),e.some(e=>e.value===M)||(h.mode=e[0].value),o.some(e=>e.value===k)||(h.type=o[0].value),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let b={exportData(n){let d=D.xeGrid,c=D.xeGantt;var r=d||c,{treeConfig:e,showHeader:u,showFooter:p}=O,t=N.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:o,collectColumn:i,mergeBodyList:s,mergeFooterList:h}=V;var m=P.value,x=B.value;let g=r?r.getComputeMaps().computeProxyOpts.value:{};var f=!(!s.length&&!h.length);let b=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:t,isMerge:f,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},m,n),{filename:v,sheetName:_,type:$,mode:y,columns:w,original:C,columnFilterMethod:T,beforeExportMethod:E,includeFields:M,excludeFields:k}=(_xeUtils.default.isBoolean(b.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),b.isTreeAllExpanded=b.isAllExpand),b),F=[],U=D.getCheckboxRecords(),I=(y=y||(U.length?"selected":"current"),!1),j=[],L=(j=w&&w.length?(I=!0,w):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?W(b,e,w):k||M?q(b,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},b,{filename:"",sheetName:""})),R=(I||T||(T=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):C?!!e.field:defaultFilterExportColumn(e)),L.columnFilterMethod=T),F=j?(L._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(j,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=D.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=D.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=D.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!T||T({$table:D,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?i:a,(e,t)=>e.visible&&(!T||T({$table:D,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||R.push(e)},{children:"childNodes"}),L.columns=R,L.colgroups=convertToRows(F),v&&(_xeUtils.default.isFunction(v)?L.filename=v({options:b,$table:D,$grid:d,$gantt:c}):L.filename=""+v),L.filename||(L.filename=getI18n(L.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(_xeUtils.default.isFunction(_)?L.sheetName=_({options:b,$table:D,$grid:d,$gantt:c}):L.sheetName=""+_),L.sheetName||(L.sheetName=document.title||""),!L.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(m._typeMaps),$))return errLog("vxe.error.notType",[$]),["xlsx","pdf"].includes($)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(L.print||E&&E({options:L,$table:D,$grid:d,$gantt:c}),L.data)L._isCustomData=!0;else{if(L.data=[],"selected"===y)-1<["html","pdf"].indexOf($)&&e?L.data=_xeUtils.default.searchTree(D.getTableData().fullData,e=>-1<D.findRowIndexOf(U,e),Object.assign({},x,{data:"_row"})):L.data=U;else if("all"===y&&(r||errLog("vxe.error.errProp",["all","mode=current,selected"]),r)&&!L.remote){u=r.reactData,p=r.getComputeMaps().computeProxyOpts;let e=p.value;f=u.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,a=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,s=l.queryAllError;if(n||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let r={$table:D,$grid:d,$gantt:c,sort:f.length?f[0]:{},sorts:f,filters:u.filterData,form:u.formData,options:L};return Promise.resolve((t||n)(r)).then(e=>{var t=a.list;let l=[];return t?l=_xeUtils.default.isFunction(t)?t({data:e,$table:D,$grid:d,$gantt:c}):_xeUtils.default.isArray(e)?e:_xeUtils.default.get(e,t):_xeUtils.default.isArray(e)&&(l=e),L.data=l,o&&o(r),i&&i(Object.assign(Object.assign({},r),{response:e})),A(L)}).catch(e=>{s&&s(Object.assign(Object.assign({},r),{response:e}))})}}"current"===y&&(L.data=e?o:l)}return A(L)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:D}),f(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:D}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:D}),Promise.reject(e))).then(e=>{e=e.file;return f(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=D.xeGrid,r=D.xeGantt;var t=n.value;let o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=o.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:o,$table:D,$grid:l,$gantt:r}):""+t:a)||document.title||"",o.beforePrintMethod),s=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:a,html:s,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:D,$grid:l,$gantt:r}):void 0})):e(b.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:D,$grid:l,$gantt:r}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=n.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return D.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}=O;let{initStore:r,importStore:o,importParams:a}=N;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=P.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return O.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=n.value,t=Object.assign({message:!0},t,e);return O.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return b},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("table"),{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,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};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let 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,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let 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);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),o))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let 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 clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(D){let{props:N,reactData:O,internalData:V}=D,{computeTreeOpts:B,computePrintOpts:n,computeExportOpts:P,computeImportOpts:c,computeCustomOpts:F,computeSeqOpts:i,computeRadioOpts:a,computeCheckboxOpts:s,computeColumnOpts:u,computeAggregateOpts:p}=D.getComputeMaps(),L=(e,t,l,o,r)=>{var a=i.value.seqMethod||o.seqMethod;return a?a({$table:D,row:t,rowIndex:D.getRowIndex(t),_rowIndex:D.getVTRowIndex(t),$rowIndex:l,column:o,columnIndex:D.getColumnIndex(o),_columnIndex:D.getVTColumnIndex(o),$columnIndex:r}):e};function R(e,t){var l=u.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:D}):(e.isTitle?D.getHeaderCellLabel(t):t.field)||""}let S=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,A=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(M,h,e)=>{let{isTreeAllExpanded:i,isRowGroupAllExpanded:d,mode:k}=M;var t=N.treeConfig,l=O.isRowGroupStatus;let F=V.fullColumnFieldData,U=a.value,I=s.value;var o=B.value;let j=u.value;var r=p.value;htmlCellElem=htmlCellElem||document.createElement("div");let g=(0,_util.createHandleGetRowId)(D).handleGetRowId;if(l){let{mode:_,showTotal:$,totalMethod:y,countFields:w,contentMethod:C,formatValuesMethod:T,mapChildrenField:E}=r,i=[],s={},n={};return _xeUtils.default.eachTree(e,(e,f,t,v,l,o)=>{let b=e._row||e;var r=g(b);if(!n[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(d||!e||s[l]&&D.isRowExpandByRow(e)){var a=E&&b[E]&&b[E].length;let x={_row:b,_level:o.length-1,_hasChild:a,_expand:a&&D.isRowExpandByRow(b)};h.forEach((e,t)=>{var{field:l,editRender:o,cellRender:r,aggFunc:a,rowGroupNode:i}=e;let s="";var n,d,c,u,p,m,o=o||r;let h=e.exportMethod||j.exportMethod;if(h=(h=!h&&o&&o.name&&(r=renderer.get(o.name))?r.tableExportMethod||r.exportMethod:h)||j.exportMethod)s=h({$table:D,row:b,column:e,options:M});else switch(e.type){case"seq":var g=v.map((e,t)=>t%2==0?Number(e)+1:".").join("");s="all"===k?g:L(g,b,f,e,t);break;case"checkbox":s=S(D.isCheckedByCheckboxRow(b)),x._checkboxLabel=I.labelField?_xeUtils.default.get(b,I.labelField):"",x._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:b});break;case"radio":s=S(D.isCheckedByRadioRow(b)),x._radioLabel=U.labelField?_xeUtils.default.get(b,U.labelField):"",x._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:b});break;default:l&&b.isAggregate?(n=(n=(g=b).aggData)?n[l]:null,u=g.groupField,d=g.groupContent,m=E&&g[E]||[],c=g.childCount,p=F[u]||{},u={$table:D,groupField:u,groupColumn:p?p.column:null,column:e,groupValue:d,childList:m,childCount:c,aggValue:null,children:m,totalValue:c},("column"===_?l===g.groupField:i)?(s=d,C&&(s=""+C(u)),$&&(s=getI18n("vxe.table.rowGroupContentTotal",[s,y?y(u):c,c]))):D.getPivotTableAggregateCellAggValue?(p={$table:D,row:b,column:e},s=D.getPivotTableAggregateCellAggValue(p)):(!0===a||w&&w.includes(l))&&(s=n?n.value:c,u.aggValue=s,T)&&(s=T(u))):M.original?s=(0,_util.getCellValue)(b,e):(s=D.getCellLabel(b,e),"html"===e.type?(htmlCellElem.innerHTML=s,s=htmlCellElem.innerText.trim()):(m=D.getCellElement(b,e))&&!(0,_dom.hasClass)(m,"is--progress")&&(s=m.innerText.trim()))}x[e.id]=A(s)}),n[r]=!0,l&&(s[l]=!0),i.push(Object.assign(x,b))}}},{children:E}),i}if(t){let c=o.children||o.childrenField,u=[],p={},m={};return _xeUtils.default.eachTree(e,(e,s,t,n,l,o)=>{let d=e._row||e;var r=g(d);if(!m[r]){e=l&&l._row?l._row:l,l=e?g(e):"";if(i||!e||p[l]&&D.isTreeExpandByRow(e)){var a=d[c]&&d[c].length;let i={_row:d,_level:o.length-1,_hasChild:a,_expand:a&&D.isTreeExpandByRow(d)};h.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||j.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||j.exportMethod)l=r({$table:D,row:d,column:e,options:M});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===k?a:L(a,d,s,e,t);break;case"checkbox":l=S(D.isCheckedByCheckboxRow(d)),i._checkboxLabel=I.labelField?_xeUtils.default.get(d,I.labelField):"",i._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:d});break;case"radio":l=S(D.isCheckedByRadioRow(d)),i._radioLabel=U.labelField?_xeUtils.default.get(d,U.labelField):"",i._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:d});break;default:M.original?l=(0,_util.getCellValue)(d,e):(l=D.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=D.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=A(l)}),m[r]=!0,l&&(p[l]=!0),u.push(Object.assign(i,d))}}},{children:c}),u}return e.map((i,s)=>{let n={_row:i};return h.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||j.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:D,row:i,column:e,options:M});else switch(e.type){case"seq":var a=s+1;l="all"===k?a:L(a,i,s,e,t);break;case"checkbox":l=S(D.isCheckedByCheckboxRow(i)),n._checkboxLabel=I.labelField?_xeUtils.default.get(i,I.labelField):"",n._checkboxDisabled=I.checkMethod&&!I.checkMethod({$table:D,row:i});break;case"radio":l=S(D.isCheckedByRadioRow(i)),n._radioLabel=U.labelField?_xeUtils.default.get(i,U.labelField):"",n._radioDisabled=U.checkMethod&&!U.checkMethod({$table:D,row:i});break;default:M.original?l=(0,_util.getCellValue)(i,e):(l=D.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=D.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=A(l)}),n})},q=(e,t,l)=>{var o=u.value,r=l.editRender||l.cellRender;let a=l.footerExportMethod;return(a=(a=!a&&r&&r.name&&(r=renderer.get(r.name))?r.tableFooterExportMethod||r.footerExportMethod:a)||o.footerExportMethod)?(r=D.getVTColumnIndex(l),a({$table:D,items:t,itemIndex:r,row:t,_columnIndex:r,column:l,options:e})):D.getFooterCellLabel(t,l)},m=(e,l,o,t)=>{let r=csvBOM;return l.isHeader&&(r+=o.map(e=>toTxtCellLabel(R(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=o.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=O.footerTableData,getFooterData(e,l,t).forEach(t=>{r+=o.map(e=>toTxtCellLabel(q(l,t,e))).join(",")+enterSymbol})),r},h=(e,l,o,t)=>{let r="";return l.isHeader&&(r+=o.map(e=>toTxtCellLabel(R(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=o.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=O.footerTableData,getFooterData(e,l,t).forEach(t=>{r+=o.map(e=>toTxtCellLabel(q(l,t,e))).join("\t")+enterSymbol})),r},H=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=O;return o=l||e?o||!0:o},G=e=>`${e.field||""}:`+(e.type||""),g=(c,e,t)=>{let{id:d,border:l,treeConfig:o,headerAlign:r,align:u,footerAlign:p,showOverflow:m,showHeaderOverflow:a}=N,{isAllSelected:i,isIndeterminate:s}=O,{mergeBodyCellMaps:h,mergeFooterCellMaps:g}=V,n=B.value,{print:x,widthMode:f,isHeader:v,isFooter:b,isColgroup:_,isMerge:$,colgroups:y,_columnConfs:w,original:C}=c,T="auto"===f,E="scale"===f,M=!T&&!E,k={},F=(w&&w.forEach(e=>{(0,_util.isColumnInfo)(e)||(e.field||e.type)&&e.width&&(k[G(e)]=e.width)}),{}),U={};if(x){let r=0;e.forEach(e=>{r+=e.renderWidth}),y&&y.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=U[e.id];t+=e||0},{children:"childNodes"});var e=t-l;F[o.id]=e,U[o.id]=_xeUtils.default.floor(e/r*180,2)}})}),e.forEach(e=>{var t=e.renderWidth;e.width&&(F[e.id]=t),U[e.id]=_xeUtils.default.floor(t/r*180,2)})}let I=e=>{var t=G(e),t=k[t];return t?"width:"+(0,_dom.toCssUnit)(t):T||M?"":E?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""},j="check-all";let L=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",T?"is--auto-width":"",E?"is--scale-width":"",M?"is--default-width":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>{return`<col style="${e=e,t=G(e),t=k[t],t?"width:"+(0,_dom.toCssUnit)(t):T?"":E?U[e.id]?"width:"+U[e.id]+"mm":"":F[e.id]?"width:"+(0,_dom.toCssUnit)(F[e.id]):""}">`;var t}).join("")}</colgroup>`];v&&(L.push("<thead>"),_&&!C?y.forEach(e=>{L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||r||u,l=H(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],o=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}"><div style="${I(e)}"><input type="checkbox" class="${j}" ${i?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${e._colSpan}" rowspan="${e._rowSpan}" title="${o}"><div style="${I(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):L.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||r||u,l=H(e,"showHeaderOverflow",a)?["col--ellipsis"]:[],o=R(c,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div style="${I(e)}"><input type="checkbox" class="${j}" ${i?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div style="${I(e)}"><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),L.push("</thead>")),t.length&&(L.push("<tbody>"),o?t.forEach(r=>{L.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||u,o=H(t,"showOverflow",m)?["col--ellipsis"]:[],l=r[l];if(e&&o.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>`),o.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${o.join(" ")}" title="${l}"><div style="${I(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${o.join(" ")}" title="${l}"><div style="${I(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${o.join(" ")}" title="${l}"><div style="${I(t)}"><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${o.join(" ")}"><div style="${I(t)}"><input type="radio" name="radio_${d}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${o.join(" ")}"><div style="${I(t)}"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" title="${l}"><div style="${I(t)}">${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{L.push("<tr>"+e.map(e=>{var t=e.align||u,l=H(e,"showOverflow",m)?["col--ellipsis"]:[],o=n[e.id];let r=1,a=1;if($){var i=D.getVTRowIndex(n._row),s=D.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(r=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${I(e)}"><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}"><div style="${I(e)}"><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div style="${I(e)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),L.push("</tbody>")),b&&(t=O.footerTableData,(t=getFooterData(D,c,t)).length)&&(L.push("<tfoot>"),t.forEach((n,d)=>{L.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||p||u,l=H(e,"showOverflow",m)?["col--ellipsis"]:[],o=q(c,n,e);let r=1,a=1;if($){var i=d,s=D.getVTColumnIndex(e),i=g[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(r=s),1<i&&(a=i)}}return t&&l.push("col--"+t),`<td class="${l.join(" ")}" rowspan="${r}" colspan="${a}" title="${o}"><div style="${I(e)}">${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),L.push("</tfoot>"));t=!i&&s?`<script>(function(){var a=document.querySelector(".${j}");if(a){a.indeterminate=true}})()</script>`:"";return L.push("</table>",t),x?L.join(""):(0,_util2.createHtmlPage)(c,L.join(""))},x=(l,e,t)=>{let o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${R(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=O.footerTableData,getFooterData(D,l,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${q(l,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"},W=l=>{let o=D.xeGrid,r=D.xeGantt,{remote:a,columns:i,colgroups:s,exportMethod:n,afterExportMethod:t}=l;return new Promise(t=>{if(a){var e={options:l,$table:D,$grid:o,$gantt:r};t(n?n(e):e)}else{let e=(e=>{let l=D.xeGrid,o=D.xeGantt,{columns:t,dataFilterMethod:r}=e,a=e.data;return r&&(a=a.filter((e,t)=>r({$table:D,$grid:l,$gantt:o,row:e,$rowIndex:t}))),d(e,t,a)})(l);t(D.preventEvent(null,"event.export",{options:l,columns:i,colgroups:s,datas:e},()=>((e,t)=>{var{filename:l,type:o,download:r}=e;if(!r)return r=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:o,content:t,blob:r});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:o,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l,o)=>{if(l.length)switch(t.type){case"csv":return m(e,t,l,o);case"txt":return h(e,t,l,o);case"html":return g(t,l,o);case"xml":return x(t,l,o)}return""})(D,l,i,e))))}}).then(e=>(clearColumnConvert(i),l.print||t&&t({status:!0,options:l,$table:D,$grid:o,$gantt:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(i),l.print||t&&t({status:!1,options:l,$table:D,$grid:o,$gantt:r});return Promise.reject({status:!1})})},f=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),V._importResolve=null,V._importReject=null},o=e=>{l(e),V._importResolve=null,V._importReject=null};if(V._importResolve=e,V._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var r;t.remote?s?Promise.resolve(s({file:a,options:t,$table:D})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=V.tableFullColumn,D.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{errLog("vxe.error.notType",[n]),o({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:o,_importReject:r}=V,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=D.getHeaderCellLabel(e);t&&(i[t]=e),l&&(s[l]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?D.createData(c).then(e=>{let t;return t="insert"===l.mode||"insertBottom"===l.mode?D.insertAt(e,-1):"insertTop"===l.mode?D.insert(e):D.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{o&&o({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),r)&&r({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else errLog("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:D})}).catch(e=>(t&&t({status:!1,options:i,$table:D}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},X=(e,o,t)=>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)}),K=(e,t,l,o)=>(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?!!t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var l=D.xeGrid,o=D.xeGantt,r=l||o,{treeConfig:a,showHeader:i,showFooter:s}=N,{initStore:n,isGroup:d,rowGroupList:c,footerTableData:u,exportStore:p,exportParams:m}=O,{collectColumn:h,mergeBodyList:g,mergeFooterList:x}=V,f=P.value,a=!!a,c=0<c.length,v=F.value,b=D.getCheckboxRecords(),r=r?r.getComputeMaps().computeProxyOpts.value:{},u=!!u.length,g=!(!g.length&&!x.length);let _=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:s,isColgroup:d,isMerge:g,useStyle:!0,current:"current",modes:(r.ajax&&r.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);_xeUtils.default.isBoolean(_.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),_.isTreeAllExpanded=_.isAllExpand);x=_.types||_xeUtils.default.keys(f._typeMaps),i=_.modes||[];let $=v.checkMethod;s=h.slice(0);let{columns:y,excludeFields:w,includeFields:C}=_;r=x.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(s,(e,t,l,o,r)=>{var a=e.children&&0<e.children.length;let i=!1;i=y&&y.length?X(_,e,y):w||C?K(_,e,C,w):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=r&&r.disabled||!!$&&!$({$table:D,column:e})}),p.columns=s,p.typeList=r,p.modeList=e,p.hasFooter=u,p.hasMerge=g,p.hasTree=a,p.hasRowGroup=c,p.isPrint=!!t,p.hasColgroup=d,p.visible=!0,Object.assign(m,{mode:b.length?"selected":"current"},_);let{filename:T,sheetName:E,mode:M,type:k}=m;return T&&(_xeUtils.default.isFunction(T)?m.filename=T({options:_,$table:D,$grid:l,$gantt:o}):m.filename=""+T),E&&(_xeUtils.default.isFunction(E)?m.sheetName=E({options:_,$table:D,$grid:l,$gantt:o}):m.sheetName=""+E),e.some(e=>e.value===M)||(m.mode=e[0].value),r.some(e=>e.value===k)||(m.type=r[0].value),m.widthMode||(m.widthMode=""),n.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let v={exportData(n){let d=D.xeGrid,c=D.xeGantt;var o=d||c,{treeConfig:e,showHeader:u,showFooter:p}=N,t=O.isGroup;let{tableFullColumn:a,afterFullData:l,afterTreeFullData:r,collectColumn:i,mergeBodyList:s,mergeFooterList:m}=V;var h=P.value,g=B.value;let x=o?o.getComputeMaps().computeProxyOpts.value:{};var f=!(!s.length&&!m.length);let v=Object.assign({message:!0,isHeader:u,isTitle:u,isFooter:p,isColgroup:t,isMerge:f,useStyle:!0,current:"current",modes:(x.ajax&&x.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},h,n),{filename:b,sheetName:_,type:$,mode:y,columns:w,original:C,columnFilterMethod:T,beforeExportMethod:E,includeFields:M,excludeFields:k}=(_xeUtils.default.isBoolean(v.isAllExpand)&&(warnLog("vxe.error.delProp",["isAllExpand","isTreeAllExpanded"]),v.isTreeAllExpanded=v.isAllExpand),v),F=[],U=D.getCheckboxRecords(),I=(y=y||(U.length?"selected":"current"),!1),j=[],L=(j=w&&w.length?(I=!0,w):_xeUtils.default.searchTree(i,e=>{var t=e.children&&0<e.children.length;let l=!1;return l=w&&w.length?X(v,e,w):k||M?K(v,e,M,k):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0}),Object.assign({},v,{filename:"",sheetName:"",_columnConfs:w})),R=(I||T||(T=({column:e})=>(!k||!_xeUtils.default.includes(k,e.field))&&(M?!!_xeUtils.default.includes(M,e.field):C?!!e.field:defaultFilterExportColumn(e)),L.columnFilterMethod=T),F=j?(L._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(j,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=D.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=D.getColumnById(r):l&&t?o=a.find(e=>e.field===l&&e.type===t):l?o=D.getColumnByField(l):t&&(o=a.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!T||T({$table:D,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?i:a,(e,t)=>e.visible&&(!T||T({$table:D,$grid:d,$gantt:c,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(F,e=>{e.children&&e.children.length||R.push(e)},{children:"childNodes"}),L.columns=R,L.colgroups=convertToRows(F),b&&(_xeUtils.default.isFunction(b)?L.filename=b({options:v,$table:D,$grid:d,$gantt:c}):L.filename=""+b),L.filename||(L.filename=getI18n(L.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(_xeUtils.default.isFunction(_)?L.sheetName=_({options:v,$table:D,$grid:d,$gantt:c}):L.sheetName=""+_),L.sheetName||(L.sheetName=document.title||""),!L.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(h._typeMaps),$))return errLog("vxe.error.notType",[$]),["xlsx","pdf"].includes($)&&warnLog("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(L.print||E&&E({options:L,$table:D,$grid:d,$gantt:c}),L.data)L._isCustomData=!0;else{if(L.data=[],"selected"===y)-1<["html","pdf"].indexOf($)&&e?L.data=_xeUtils.default.searchTree(D.getTableData().fullData,e=>-1<D.findRowIndexOf(U,e),Object.assign({},g,{data:"_row"})):L.data=U;else if("all"===y&&(o||errLog("vxe.error.errProp",["all","mode=current,selected"]),o)&&!L.remote){u=o.reactData,p=o.getComputeMaps().computeProxyOpts;let e=p.value;f=u.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,a=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,s=l.queryAllError;if(n||errLog("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let o={$table:D,$grid:d,$gantt:c,sort:f.length?f[0]:{},sorts:f,filters:u.filterData,form:u.formData,options:L};return Promise.resolve((t||n)(o)).then(e=>{var t=a.list;let l=[];return t?l=_xeUtils.default.isFunction(t)?t({data:e,$table:D,$grid:d,$gantt:c}):_xeUtils.default.isArray(e)?e:_xeUtils.default.get(e,t):_xeUtils.default.isArray(e)&&(l=e),L.data=l,r&&r(o),i&&i(Object.assign(Object.assign({},o),{response:e})),W(L)}).catch(e=>{s&&s(Object.assign(Object.assign({},o),{response:e}))})}}"current"===y&&(L.data=e?r:l)}return W(L)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:D}),f(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:D}),_ui.VxeUI.readFile(l).catch(e=>(r&&r({status:!1,options:l,$table:D}),Promise.reject(e))).then(e=>{e=e.file;return f(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){let l=D.xeGrid,o=D.xeGantt;var t=n.value;let r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=r.sheetName;let a="",i=(a=(a=t?_xeUtils.default.isFunction(t)?t({options:r,$table:D,$grid:l,$gantt:o}):""+t:a)||document.title||"",r.beforePrintMethod),s=r.html||r.content;return new Promise((e,t)=>{_ui.VxeUI.print?s?e(_ui.VxeUI.print({title:a,html:s,customStyle:r.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:r,$table:D,$grid:l,$gantt:o}):void 0})):e(v.exportData(r).then(({content:e})=>_ui.VxeUI.print({title:a,html:e,customStyle:r.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:r,$table:D,$grid:l,$gantt:o}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=n.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return D.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}=N;let{initStore:o,importStore:r,importParams:a}=O;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||errLog("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(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&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=P.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);return N.exportConfig||errLog("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=n.value,t=Object.assign({message:!0},t,e);return N.printConfig||errLog("vxe.error.reqProp",["print-config"]),l(t,!0)}};return v},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)},setupGantt(e){return e.extendTableMethods(tableExportMethodKeys)}});