vxe-table 3.22.5 → 3.22.7

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 (174) hide show
  1. package/es/{iconfont.1784367592827.ttf → iconfont.1784868282490.ttf} +0 -0
  2. package/es/iconfont.1784868282490.woff +0 -0
  3. package/es/iconfont.1784868282490.woff2 +0 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +1 -1
  7. package/es/locale/lang/de-DE.js +1 -1
  8. package/es/locale/lang/en-US.js +1 -1
  9. package/es/locale/lang/es-ES.js +1 -1
  10. package/es/locale/lang/fr-FR.js +1 -1
  11. package/es/locale/lang/hu-HU.js +1 -1
  12. package/es/locale/lang/hy-AM.js +1 -1
  13. package/es/locale/lang/id-ID.js +1 -1
  14. package/es/locale/lang/it-IT.js +1 -1
  15. package/es/locale/lang/ja-JP.js +1 -1
  16. package/es/locale/lang/ko-KR.js +1 -1
  17. package/es/locale/lang/ms-MY.js +1 -1
  18. package/es/locale/lang/nb-NO.js +1 -1
  19. package/es/locale/lang/pt-BR.js +1 -1
  20. package/es/locale/lang/ru-RU.js +1 -1
  21. package/es/locale/lang/th-TH.js +1 -1
  22. package/es/locale/lang/ug-CN.js +1 -1
  23. package/es/locale/lang/uk-UA.js +1 -1
  24. package/es/locale/lang/uz-UZ.js +1 -1
  25. package/es/locale/lang/vi-VN.js +1 -1
  26. package/es/locale/lang/zh-CHT.js +1 -1
  27. package/es/locale/lang/zh-CN.js +1 -1
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/panel.js +2 -2
  31. package/es/table/module/export/mixin.js +69 -31
  32. package/es/table/module/export/util.js +1 -1
  33. package/es/table/src/table.js +4 -3
  34. package/es/table/style.css +43 -22
  35. package/es/table/style.min.css +1 -1
  36. package/es/ui/index.js +2 -2
  37. package/es/ui/src/dom.js +7 -0
  38. package/es/ui/src/log.js +2 -2
  39. package/es/vxe-table/style.css +43 -22
  40. package/es/vxe-table/style.min.css +1 -1
  41. package/lib/{iconfont.1784367592827.ttf → iconfont.1784868282490.ttf} +0 -0
  42. package/lib/iconfont.1784868282490.woff +0 -0
  43. package/lib/iconfont.1784868282490.woff2 +0 -0
  44. package/lib/index.css +1 -1
  45. package/lib/index.min.css +1 -1
  46. package/lib/index.umd.js +95 -43
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/locale/lang/ar-EG.js +1 -1
  49. package/lib/locale/lang/ar-EG.min.js +1 -1
  50. package/lib/locale/lang/ar-EG.umd.js +1 -1
  51. package/lib/locale/lang/de-DE.js +1 -1
  52. package/lib/locale/lang/de-DE.min.js +1 -1
  53. package/lib/locale/lang/de-DE.umd.js +1 -1
  54. package/lib/locale/lang/en-US.js +1 -1
  55. package/lib/locale/lang/en-US.min.js +1 -1
  56. package/lib/locale/lang/en-US.umd.js +1 -1
  57. package/lib/locale/lang/es-ES.js +1 -1
  58. package/lib/locale/lang/es-ES.min.js +1 -1
  59. package/lib/locale/lang/es-ES.umd.js +1 -1
  60. package/lib/locale/lang/fr-FR.js +1 -1
  61. package/lib/locale/lang/fr-FR.min.js +1 -1
  62. package/lib/locale/lang/fr-FR.umd.js +1 -1
  63. package/lib/locale/lang/hu-HU.js +1 -1
  64. package/lib/locale/lang/hu-HU.min.js +1 -1
  65. package/lib/locale/lang/hu-HU.umd.js +1 -1
  66. package/lib/locale/lang/hy-AM.js +1 -1
  67. package/lib/locale/lang/hy-AM.min.js +1 -1
  68. package/lib/locale/lang/hy-AM.umd.js +1 -1
  69. package/lib/locale/lang/id-ID.js +1 -1
  70. package/lib/locale/lang/id-ID.min.js +1 -1
  71. package/lib/locale/lang/id-ID.umd.js +1 -1
  72. package/lib/locale/lang/it-IT.js +1 -1
  73. package/lib/locale/lang/it-IT.min.js +1 -1
  74. package/lib/locale/lang/it-IT.umd.js +1 -1
  75. package/lib/locale/lang/ja-JP.js +1 -1
  76. package/lib/locale/lang/ja-JP.min.js +1 -1
  77. package/lib/locale/lang/ja-JP.umd.js +1 -1
  78. package/lib/locale/lang/ko-KR.js +1 -1
  79. package/lib/locale/lang/ko-KR.min.js +1 -1
  80. package/lib/locale/lang/ko-KR.umd.js +1 -1
  81. package/lib/locale/lang/ms-MY.js +1 -1
  82. package/lib/locale/lang/ms-MY.min.js +1 -1
  83. package/lib/locale/lang/ms-MY.umd.js +1 -1
  84. package/lib/locale/lang/nb-NO.js +1 -1
  85. package/lib/locale/lang/nb-NO.min.js +1 -1
  86. package/lib/locale/lang/nb-NO.umd.js +1 -1
  87. package/lib/locale/lang/pt-BR.js +1 -1
  88. package/lib/locale/lang/pt-BR.min.js +1 -1
  89. package/lib/locale/lang/pt-BR.umd.js +1 -1
  90. package/lib/locale/lang/ru-RU.js +1 -1
  91. package/lib/locale/lang/ru-RU.min.js +1 -1
  92. package/lib/locale/lang/ru-RU.umd.js +1 -1
  93. package/lib/locale/lang/th-TH.js +1 -1
  94. package/lib/locale/lang/th-TH.min.js +1 -1
  95. package/lib/locale/lang/th-TH.umd.js +1 -1
  96. package/lib/locale/lang/ug-CN.js +1 -1
  97. package/lib/locale/lang/ug-CN.min.js +1 -1
  98. package/lib/locale/lang/ug-CN.umd.js +1 -1
  99. package/lib/locale/lang/uk-UA.js +1 -1
  100. package/lib/locale/lang/uk-UA.min.js +1 -1
  101. package/lib/locale/lang/uk-UA.umd.js +1 -1
  102. package/lib/locale/lang/uz-UZ.js +1 -1
  103. package/lib/locale/lang/uz-UZ.min.js +1 -1
  104. package/lib/locale/lang/uz-UZ.umd.js +1 -1
  105. package/lib/locale/lang/vi-VN.js +1 -1
  106. package/lib/locale/lang/vi-VN.min.js +1 -1
  107. package/lib/locale/lang/vi-VN.umd.js +1 -1
  108. package/lib/locale/lang/zh-CHT.js +1 -1
  109. package/lib/locale/lang/zh-CHT.min.js +1 -1
  110. package/lib/locale/lang/zh-CHT.umd.js +1 -1
  111. package/lib/locale/lang/zh-CN.js +1 -1
  112. package/lib/locale/lang/zh-CN.min.js +1 -1
  113. package/lib/locale/lang/zh-CN.umd.js +1 -1
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/table/module/custom/panel.js +2 -2
  117. package/lib/table/module/custom/panel.min.js +1 -1
  118. package/lib/table/module/export/mixin.js +75 -32
  119. package/lib/table/module/export/mixin.min.js +1 -1
  120. package/lib/table/module/export/util.js +1 -1
  121. package/lib/table/module/export/util.min.js +1 -1
  122. package/lib/table/src/table.js +4 -3
  123. package/lib/table/src/table.min.js +1 -1
  124. package/lib/table/style/style.css +43 -22
  125. package/lib/table/style/style.min.css +1 -1
  126. package/lib/ui/index.js +2 -2
  127. package/lib/ui/index.min.js +1 -1
  128. package/lib/ui/src/dom.js +8 -0
  129. package/lib/ui/src/dom.min.js +1 -1
  130. package/lib/ui/src/log.js +2 -2
  131. package/lib/ui/src/log.min.js +1 -1
  132. package/lib/vxe-table/style/style.css +43 -22
  133. package/lib/vxe-table/style/style.min.css +1 -1
  134. package/package.json +2 -2
  135. package/packages/locale/lang/ar-EG.ts +1 -1
  136. package/packages/locale/lang/de-DE.ts +1 -1
  137. package/packages/locale/lang/en-US.ts +1 -1
  138. package/packages/locale/lang/es-ES.ts +1 -1
  139. package/packages/locale/lang/fr-FR.ts +1 -1
  140. package/packages/locale/lang/hu-HU.ts +1 -1
  141. package/packages/locale/lang/hy-AM.ts +1 -1
  142. package/packages/locale/lang/id-ID.ts +1 -1
  143. package/packages/locale/lang/it-IT.ts +1 -1
  144. package/packages/locale/lang/ja-JP.ts +1 -1
  145. package/packages/locale/lang/ko-KR.ts +1 -1
  146. package/packages/locale/lang/ms-MY.ts +1 -1
  147. package/packages/locale/lang/nb-NO.ts +1 -1
  148. package/packages/locale/lang/pt-BR.ts +1 -1
  149. package/packages/locale/lang/ru-RU.ts +1 -1
  150. package/packages/locale/lang/th-TH.ts +1 -1
  151. package/packages/locale/lang/ug-CN.ts +1 -1
  152. package/packages/locale/lang/uk-UA.ts +1 -1
  153. package/packages/locale/lang/uz-UZ.ts +1 -1
  154. package/packages/locale/lang/vi-VN.ts +1 -1
  155. package/packages/locale/lang/zh-CHT.ts +1 -1
  156. package/packages/locale/lang/zh-CN.ts +1 -1
  157. package/packages/table/module/custom/panel.ts +2 -2
  158. package/packages/table/module/export/mixin.ts +71 -31
  159. package/packages/table/module/export/util.ts +1 -1
  160. package/packages/table/src/table.ts +4 -3
  161. package/packages/ui/index.ts +1 -1
  162. package/packages/ui/src/dom.ts +8 -0
  163. package/packages/ui/src/log.ts +1 -1
  164. package/styles/components/icon.scss +5 -1
  165. package/styles/components/table.scss +1 -1
  166. package/styles/helpers/baseMixin.scss +16 -5
  167. package/styles/icon/iconfont.ttf +0 -0
  168. package/styles/icon/iconfont.woff +0 -0
  169. package/styles/icon/iconfont.woff2 +0 -0
  170. package/styles/theme/base.scss +1 -0
  171. package/es/iconfont.1784367592827.woff +0 -0
  172. package/es/iconfont.1784367592827.woff2 +0 -0
  173. package/lib/iconfont.1784367592827.woff +0 -0
  174. package/lib/iconfont.1784367592827.woff2 +0 -0
package/lib/index.umd.js CHANGED
@@ -3311,7 +3311,7 @@ function getClass(property, params) {
3311
3311
  /* unused harmony import specifier */ var VxeUI;
3312
3312
 
3313
3313
 
3314
- const version = "3.22.5";
3314
+ const version = "3.22.7";
3315
3315
  core_.VxeUI.version = version;
3316
3316
  core_.VxeUI.tableVersion = version;
3317
3317
  core_.VxeUI.setConfig({
@@ -3693,7 +3693,7 @@ core_.VxeUI.setIcon({
3693
3693
  TOOLBAR_TOOLS_PRINT: iconPrefix + 'print',
3694
3694
  TOOLBAR_TOOLS_FULLSCREEN: iconPrefix + 'fullscreen',
3695
3695
  TOOLBAR_TOOLS_MINIMIZE: iconPrefix + 'minimize',
3696
- TOOLBAR_TOOLS_CUSTOM: iconPrefix + 'custom-column',
3696
+ TOOLBAR_TOOLS_CUSTOM: iconPrefix + 'setting',
3697
3697
  TOOLBAR_TOOLS_FIXED_LEFT: iconPrefix + 'fixed-left',
3698
3698
  TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE: iconPrefix + 'fixed-left-fill',
3699
3699
  TOOLBAR_TOOLS_FIXED_RIGHT: iconPrefix + 'fixed-right',
@@ -3851,6 +3851,7 @@ var es_iterator_reduce = __webpack_require__(8237);
3851
3851
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
3852
3852
  var es_iterator_some = __webpack_require__(3579);
3853
3853
  ;// ./packages/ui/src/dom.ts
3854
+ /* unused harmony import specifier */ var XEUtils;
3854
3855
 
3855
3856
 
3856
3857
  const reClsMap = {};
@@ -4082,17 +4083,24 @@ function wheelScrollTopTo(diffNum, cb) {
4082
4083
  wtaFrame = null;
4083
4084
  });
4084
4085
  }
4086
+ function getPopupContainer(appendTo) {
4087
+ const selectElem = appendTo && XEUtils.isFunction(appendTo) ? appendTo({}) : appendTo;
4088
+ if (XEUtils.isString(selectElem)) {
4089
+ return document.querySelector(selectElem) || document.body;
4090
+ }
4091
+ return selectElem || document.body;
4092
+ }
4085
4093
  ;// ./packages/ui/src/log.ts
4086
4094
 
4087
4095
  const {
4088
4096
  log: log_log
4089
4097
  } = core_.VxeUI;
4090
- const tableVersion = `table v${"3.22.5"}`;
4098
+ const tableVersion = `table v${"3.22.7"}`;
4091
4099
  function createComponentLog(name) {
4092
4100
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4093
4101
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
4094
4102
  const designVersion = core_.VxeUI.designVersion ? `design v${core_.VxeUI.designVersion}` : '';
4095
- const versionInfo = [uiVersion, tableVersion, ganttVersion, designVersion].join(' ');
4103
+ const versionInfo = [uiVersion, tableVersion, ganttVersion, designVersion].filter(v => v).join(' ');
4096
4104
  return {
4097
4105
  warnLog: log_log.create('warn', versionInfo + '] [' + name),
4098
4106
  errLog: log_log.create('error', versionInfo + '] [' + name)
@@ -12191,8 +12199,8 @@ function panel_hideDropTip($xeTableCustomPanel) {
12191
12199
  immediate: false,
12192
12200
  disabled: isHidden,
12193
12201
  value: column.renderResizeWidth,
12194
- min: customMinWidth || undefined,
12195
- max: customMaxWidth || undefined
12202
+ min: customMinWidth || 0,
12203
+ max: customMaxWidth || 9999
12196
12204
  },
12197
12205
  on: {
12198
12206
  modelValue(value) {
@@ -16467,7 +16475,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16467
16475
  });
16468
16476
  ;// ./packages/table/module/export/util.ts
16469
16477
  // 默认导出或打印的 HTML 样式
16470
- const defaultHtmlStyle = 'body{padding:0;color:rgba(0,0,0,0.7);font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu;}body *{-webkit-box-sizing:border-box;box-sizing:border-box;}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0;}.vxe-table.is--default-width,.vxe-table.is--auto-width{width:100%;}.vxe-table.is--scale-width{table-layout:fixed;}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{word-break:break-all;border-color:#D0D0D0;border-style:solid;border-width:0;}.border--default,.border--full,.border--outer{border-top-width:1px;}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px;}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px;}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9;}.vxe-table td>div,.vxe-table th>div{padding:0.5em 0.4em;}.col--center{text-align:center;}.col--right{text-align:right;}.vxe-table .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;}.vxe-table--tree-node{text-align:left;}.vxe-table--tree-node-wrapper{position:relative;}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:0.5em;border-right-color:transparent;border-bottom-color:transparent;}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent;}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599;}.vxe-table--tree-cell{display:block;padding-left:1.5em;}.vxe-table input[type="checkbox"]{margin:0;}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';
16478
+ const defaultHtmlStyle = 'body{padding:0;color:rgba(0,0,0,0.7);font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table.is--default-width,.vxe-table.is--auto-width{width:100%}.vxe-table.is--scale-width{table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{white-space:pre-line;word-break:break-all;border-color:#D0D0D0;border-style:solid;border-width:0}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:0.5em 0.4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:0.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';
16471
16479
  function getExportBlobByContent(content, options) {
16472
16480
  return new Blob([content], {
16473
16481
  type: `text/${options.type};charset=utf-8;`
@@ -17002,7 +17010,7 @@ function toTxtCellLabel(val) {
17002
17010
  if (/[",\s\n]/.test(val)) {
17003
17011
  return `"${val.replace(/"/g, '""')}"`;
17004
17012
  }
17005
- return val;
17013
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(val) ? '' : val;
17006
17014
  }
17007
17015
  function toCsv($xeTable, opts, columns, datas) {
17008
17016
  const reactData = $xeTable;
@@ -17857,19 +17865,23 @@ function handleFilterColumns(exportOpts, column, columns) {
17857
17865
  return false;
17858
17866
  });
17859
17867
  }
17860
- function handleFilterFields(exportOpts, column, includeFields, excludeFields) {
17861
- if (excludeFields) {
17862
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(excludeFields, column.field)) {
17863
- return false;
17864
- }
17868
+ function handleFilterFields(exportOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps) {
17869
+ const {
17870
+ field
17871
+ } = column;
17872
+ if (excludeFdMaps[field]) {
17873
+ return false;
17865
17874
  }
17866
17875
  if (includeFields) {
17867
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(includeFields, column.field)) {
17876
+ if (includeFdMaps[field]) {
17868
17877
  return true;
17869
17878
  }
17870
17879
  return false;
17871
17880
  }
17872
- return exportOpts.original ? !!column.field : defaultFilterExportColumn(column);
17881
+ if (extraFdMaps[field]) {
17882
+ return true;
17883
+ }
17884
+ return exportOpts.original ? !!field : defaultFilterExportColumn(column);
17873
17885
  }
17874
17886
  function handleExportAndPrint($xeTable, options, isPrint) {
17875
17887
  const props = $xeTable;
@@ -17927,7 +17939,8 @@ function handleExportAndPrint($xeTable, options, isPrint) {
17927
17939
  const {
17928
17940
  columns,
17929
17941
  excludeFields,
17930
- includeFields
17942
+ includeFields,
17943
+ extraFields
17931
17944
  } = defOpts;
17932
17945
  // 处理类型
17933
17946
  const typeList = types.map(value => {
@@ -17948,20 +17961,44 @@ function handleExportAndPrint($xeTable, options, isPrint) {
17948
17961
  label: export_mixin_getI18n(`vxe.export.modes.${item}`)
17949
17962
  };
17950
17963
  });
17964
+ const excludeFdMaps = {};
17965
+ if (excludeFields && excludeFields.length) {
17966
+ excludeFields.forEach(field => {
17967
+ excludeFdMaps[field] = 1;
17968
+ });
17969
+ }
17970
+ const includeFdMaps = {};
17971
+ if (includeFields && includeFields.length) {
17972
+ includeFields.forEach(field => {
17973
+ includeFdMaps[field] = 1;
17974
+ });
17975
+ }
17976
+ const extraFdMaps = {};
17977
+ if (extraFields) {
17978
+ extraFields.forEach(field => {
17979
+ extraFdMaps[field] = 1;
17980
+ });
17981
+ }
17951
17982
  // 默认选中
17952
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(exportColumns, (column, index, items, path, parent) => {
17983
+ // 优先级 columns > excludeFields > (includeFields || extraFields)
17984
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(exportColumns, (column, index, items, path, parentColumn) => {
17953
17985
  const isColGroup = column.children && column.children.length > 0;
17954
17986
  let isChecked = false;
17987
+ const isExtraChecked = extraFdMaps[column.field];
17955
17988
  if (columns && columns.length) {
17956
17989
  isChecked = handleFilterColumns(defOpts, column, columns);
17957
17990
  } else if (excludeFields || includeFields) {
17958
- isChecked = handleFilterFields(defOpts, column, includeFields, excludeFields);
17991
+ isChecked = handleFilterFields(defOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps);
17959
17992
  } else {
17960
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
17993
+ if (isExtraChecked) {
17994
+ isChecked = true;
17995
+ } else {
17996
+ isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
17997
+ }
17961
17998
  }
17962
17999
  column.checked = isChecked;
17963
18000
  column.halfChecked = false;
17964
- column.disabled = parent && parent.disabled || (checkMethod ? !checkMethod({
18001
+ column.disabled = parentColumn && parentColumn.disabled || (checkMethod ? !checkMethod({
17965
18002
  $table: $xeTable,
17966
18003
  column
17967
18004
  }) : false);
@@ -18147,32 +18184,59 @@ const convertToRows = originColumns => {
18147
18184
  type,
18148
18185
  mode,
18149
18186
  columns,
18150
- original,
18151
18187
  columnFilterMethod,
18152
18188
  beforeExportMethod,
18153
18189
  includeFields,
18154
- excludeFields
18190
+ excludeFields,
18191
+ extraFields
18155
18192
  } = opts;
18156
18193
  let groups = [];
18157
18194
  const selectRecords = $xeTable.getCheckboxRecords();
18158
18195
  if (!mode) {
18159
18196
  mode = selectRecords.length ? 'selected' : 'current';
18160
18197
  }
18198
+ const excludeFdMaps = {};
18199
+ if (excludeFields && excludeFields.length) {
18200
+ excludeFields.forEach(field => {
18201
+ excludeFdMaps[field] = 1;
18202
+ });
18203
+ }
18204
+ const includeFdMaps = {};
18205
+ if (includeFields && includeFields.length) {
18206
+ includeFields.forEach(field => {
18207
+ includeFdMaps[field] = 1;
18208
+ });
18209
+ }
18210
+ const extraFdMaps = {};
18211
+ if (extraFields) {
18212
+ extraFields.forEach(field => {
18213
+ extraFdMaps[field] = 1;
18214
+ });
18215
+ }
18161
18216
  let isCustomCol = false;
18162
18217
  let customCols = [];
18163
18218
  if (columns && columns.length) {
18164
18219
  isCustomCol = true;
18165
- customCols = columns;
18220
+ customCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(columns, () => true, {
18221
+ children: 'children',
18222
+ mapChildren: 'childNodes',
18223
+ original: true
18224
+ });
18166
18225
  } else {
18167
18226
  customCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(collectColumn, column => {
18168
18227
  const isColGroup = column.children && column.children.length > 0;
18169
18228
  let isChecked = false;
18229
+ const isExtraChecked = extraFdMaps[column.field];
18170
18230
  if (columns && columns.length) {
18171
18231
  isChecked = handleFilterColumns(opts, column, columns);
18172
18232
  } else if (excludeFields || includeFields) {
18173
- isChecked = handleFilterFields(opts, column, includeFields, excludeFields);
18233
+ isChecked = handleFilterFields(opts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps);
18174
18234
  } else {
18175
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
18235
+ if (isExtraChecked) {
18236
+ isChecked = true;
18237
+ } else {
18238
+ isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
18239
+ }
18176
18240
  }
18177
18241
  return isChecked;
18178
18242
  }, {
@@ -18190,20 +18254,7 @@ const convertToRows = originColumns => {
18190
18254
  if (!isCustomCol && !columnFilterMethod) {
18191
18255
  columnFilterMethod = ({
18192
18256
  column
18193
- }) => {
18194
- if (excludeFields) {
18195
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(excludeFields, column.field)) {
18196
- return false;
18197
- }
18198
- }
18199
- if (includeFields) {
18200
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(includeFields, column.field)) {
18201
- return true;
18202
- }
18203
- return false;
18204
- }
18205
- return original ? !!column.field : defaultFilterExportColumn(column);
18206
- };
18257
+ }) => handleFilterFields(handleOptions, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps);
18207
18258
  handleOptions.columnFilterMethod = columnFilterMethod;
18208
18259
  }
18209
18260
  if (customCols) {
@@ -21953,15 +22004,16 @@ function renderBody(h, $xeTable) {
21953
22004
  } = editDirtyOpts;
21954
22005
  const kpFields = [];
21955
22006
  if (updateColFlag) {
21956
- if (includeFields && includeFields.length) {
21957
- return includeFields;
21958
- }
22007
+ // 优先级 excludeFields > (includeFields || extraFields)
21959
22008
  const excludeFdMaps = {};
21960
22009
  if (excludeFields && excludeFields.length) {
21961
22010
  excludeFields.forEach(field => {
21962
22011
  excludeFdMaps[field] = 1;
21963
22012
  });
21964
22013
  }
22014
+ if (includeFields && includeFields.length) {
22015
+ return excludeFields && excludeFields.length ? includeFields.filter(field => !excludeFdMaps[field]) : includeFields;
22016
+ }
21965
22017
  const addFdMaps = {};
21966
22018
  if (extraFields && extraFields.length) {
21967
22019
  extraFields.forEach(field => {
@@ -28446,7 +28498,7 @@ const Toolbar = VxeToolbar;
28446
28498
  expMode: '选择数据',
28447
28499
  expCurrentColumn: '全部字段',
28448
28500
  expColumn: '选择字段',
28449
- widthMode: '列宽方式',
28501
+ widthMode: '列宽设置',
28450
28502
  wModeTitle: '设置打印时列宽的渲染方式',
28451
28503
  wdModes: {
28452
28504
  default: '默认',