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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.22.5",
3
+ "version": "3.22.7",
4
4
  "description": "A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -65,7 +65,7 @@
65
65
  "vue-i18n": "^8.15.1",
66
66
  "vue-router": "^3.5.1",
67
67
  "vue-template-compiler": "2.6.14",
68
- "vxe-pc-ui": "3.16.15"
68
+ "vxe-pc-ui": "3.16.21"
69
69
  },
70
70
  "vetur": {
71
71
  "tags": "helper/vetur/tags.json",
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'حدد البيانات',
241
241
  expCurrentColumn: 'جميع الحقول',
242
242
  expColumn: 'حدد الحقل',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Daten auswählen',
241
241
  expCurrentColumn: 'Alle Felder',
242
242
  expColumn: 'Wählen Sie ein Feld aus',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Select data',
241
241
  expCurrentColumn: 'All fields',
242
242
  expColumn: 'Select field',
243
- widthMode: 'Column width mode',
243
+ widthMode: 'Column width settings',
244
244
  wModeTitle: 'Set the rendering mode for column width during printing',
245
245
  wdModes: {
246
246
  default: 'Default',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Seleccionar datos',
241
241
  expCurrentColumn: 'Todos los campos',
242
242
  expColumn: 'Seleccione un campo',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Sélectionner des données',
241
241
  expCurrentColumn: 'Tous les champs',
242
242
  expColumn: 'Sélectionner le champ',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Válassza ki az adatokat',
241
241
  expCurrentColumn: 'Minden mező',
242
242
  expColumn: 'Válassza ki a mezőt',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: '选择数据',
241
241
  expCurrentColumn: '全部字段',
242
242
  expColumn: '选择字段',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Pilih Data',
241
241
  expCurrentColumn: 'Semua bidang',
242
242
  expColumn: 'Pilih bidang',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Seleziona i dati',
241
241
  expCurrentColumn: 'Tutti i campi',
242
242
  expColumn: 'Seleziona il campo',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'データを選択します',
241
241
  expCurrentColumn: 'すべてのフィールド',
242
242
  expColumn: 'フィールドを選択します',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: '데이터를 선택하십시오',
241
241
  expCurrentColumn: '모든 필드',
242
242
  expColumn: '필드를 선택하십시오',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Pilih data',
241
241
  expCurrentColumn: 'Semua bidang',
242
242
  expColumn: 'Pilih medan',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Velg data',
241
241
  expCurrentColumn: 'Alle felt',
242
242
  expColumn: 'Velg felt',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Selecione dados',
241
241
  expCurrentColumn: 'Todos os campos',
242
242
  expColumn: 'Selecione o campo',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Выберите данные',
241
241
  expCurrentColumn: 'Все поля',
242
242
  expColumn: 'Выберите поле',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'เลือกข้อมูล',
241
241
  expCurrentColumn: 'ทั้งหมดฟิลด์',
242
242
  expColumn: 'เลือกฟิลด์',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'ئۇچۇر تاللاش',
241
241
  expCurrentColumn: 'بارلىق سۆز بۆلەك',
242
242
  expColumn: 'سۆز بولىكىنى تاللاش',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Виберіть дані',
241
241
  expCurrentColumn: 'Всі поля',
242
242
  expColumn: 'Виберіть поле',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: "Ma'lumotni tanlang",
241
241
  expCurrentColumn: 'Barcha maydonlar',
242
242
  expColumn: 'Maydonni tanlang',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: 'Chọn dữ liệu',
241
241
  expCurrentColumn: 'Tất cả các lĩnh vực',
242
242
  expColumn: 'Chọn một trường',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: '選擇數據',
241
241
  expCurrentColumn: '全部字段',
242
242
  expColumn: '選擇字段',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -240,7 +240,7 @@ export default {
240
240
  expMode: '选择数据',
241
241
  expCurrentColumn: '全部字段',
242
242
  expColumn: '选择字段',
243
- widthMode: '列宽方式',
243
+ widthMode: '列宽设置',
244
244
  wModeTitle: '设置打印时列宽的渲染方式',
245
245
  wdModes: {
246
246
  default: '默认',
@@ -1445,8 +1445,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
1445
1445
  immediate: false,
1446
1446
  disabled: isHidden,
1447
1447
  value: column.renderResizeWidth,
1448
- min: customMinWidth || undefined,
1449
- max: customMaxWidth || undefined
1448
+ min: customMinWidth || 0,
1449
+ max: customMaxWidth || 9999
1450
1450
  },
1451
1451
  on: {
1452
1452
  modelValue (value: any) {
@@ -431,7 +431,7 @@ function toTxtCellLabel (val: any) {
431
431
  if (/[",\s\n]/.test(val)) {
432
432
  return `"${val.replace(/"/g, '""')}"`
433
433
  }
434
- return val
434
+ return XEUtils.eqNull(val) ? '' : val
435
435
  }
436
436
 
437
437
  function toCsv ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, opts: VxeTablePropTypes.ExportHandleOptions, columns: VxeTableDefines.ColumnInfo[], datas: any[]) {
@@ -1221,19 +1221,21 @@ function handleFilterColumns (exportOpts: VxeTablePropTypes.ExportConfig, column
1221
1221
  })
1222
1222
  }
1223
1223
 
1224
- function handleFilterFields (exportOpts: VxeTablePropTypes.ExportConfig, column: VxeTableDefines.ColumnInfo, includeFields: string[] | undefined, excludeFields: string[] | undefined) {
1225
- if (excludeFields) {
1226
- if (XEUtils.includes(excludeFields, column.field)) {
1227
- return false
1228
- }
1224
+ function handleFilterFields (exportOpts: VxeTablePropTypes.ExportConfig, column: VxeTableDefines.ColumnInfo, includeFields: string[] | undefined, includeFdMaps: Record<string, number>, excludeFdMaps: Record<string, number>, extraFdMaps: Record<string, number>) {
1225
+ const { field } = column
1226
+ if (excludeFdMaps[field]) {
1227
+ return false
1229
1228
  }
1230
1229
  if (includeFields) {
1231
- if (XEUtils.includes(includeFields, column.field)) {
1230
+ if (includeFdMaps[field]) {
1232
1231
  return true
1233
1232
  }
1234
1233
  return false
1235
1234
  }
1236
- return exportOpts.original ? !!column.field : defaultFilterExportColumn(column)
1235
+ if (extraFdMaps[field]) {
1236
+ return true
1237
+ }
1238
+ return exportOpts.original ? !!field : defaultFilterExportColumn(column)
1237
1239
  }
1238
1240
 
1239
1241
  function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTablePropTypes.ExportOpts | VxeTablePropTypes.ExportConfig, isPrint?: any) {
@@ -1277,7 +1279,7 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1277
1279
  const modes = defOpts.modes || []
1278
1280
  const checkMethod = customOpts.checkMethod
1279
1281
  const exportColumns = collectColumn.slice(0)
1280
- const { columns, excludeFields, includeFields } = defOpts
1282
+ const { columns, excludeFields, includeFields, extraFields } = defOpts
1281
1283
  // 处理类型
1282
1284
  const typeList = types.map((value) => {
1283
1285
  return {
@@ -1297,20 +1299,46 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1297
1299
  label: getI18n(`vxe.export.modes.${item}`)
1298
1300
  }
1299
1301
  })
1302
+
1303
+ const excludeFdMaps: Record<string, number> = {}
1304
+ if (excludeFields && excludeFields.length) {
1305
+ excludeFields.forEach(field => {
1306
+ excludeFdMaps[field] = 1
1307
+ })
1308
+ }
1309
+ const includeFdMaps: Record<string, number> = {}
1310
+ if (includeFields && includeFields.length) {
1311
+ includeFields.forEach(field => {
1312
+ includeFdMaps[field] = 1
1313
+ })
1314
+ }
1315
+ const extraFdMaps: Record<string, number> = {}
1316
+ if (extraFields) {
1317
+ extraFields.forEach(field => {
1318
+ extraFdMaps[field] = 1
1319
+ })
1320
+ }
1321
+
1300
1322
  // 默认选中
1301
- XEUtils.eachTree(exportColumns, (column, index, items, path, parent) => {
1323
+ // 优先级 columns > excludeFields > (includeFields || extraFields)
1324
+ XEUtils.eachTree(exportColumns, (column, index, items, path, parentColumn) => {
1302
1325
  const isColGroup = column.children && column.children.length > 0
1303
1326
  let isChecked = false
1327
+ const isExtraChecked = extraFdMaps[column.field]
1304
1328
  if (columns && columns.length) {
1305
1329
  isChecked = handleFilterColumns(defOpts, column, columns)
1306
1330
  } else if (excludeFields || includeFields) {
1307
- isChecked = handleFilterFields(defOpts, column, includeFields, excludeFields)
1331
+ isChecked = handleFilterFields(defOpts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
1308
1332
  } else {
1309
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column))
1333
+ if (isExtraChecked) {
1334
+ isChecked = true
1335
+ } else {
1336
+ isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column))
1337
+ }
1310
1338
  }
1311
1339
  column.checked = isChecked
1312
1340
  column.halfChecked = false
1313
- column.disabled = (parent && parent.disabled) || (checkMethod ? !checkMethod({ $table: $xeTable, column }) : false)
1341
+ column.disabled = (parentColumn && parentColumn.disabled) || (checkMethod ? !checkMethod({ $table: $xeTable, column }) : false)
1314
1342
  })
1315
1343
  // 更新条件
1316
1344
  exportStore.columns = exportColumns
@@ -1480,27 +1508,52 @@ export default {
1480
1508
  opts.isTreeAllExpanded = (opts as any).isAllExpand
1481
1509
  }
1482
1510
 
1483
- let { filename, sheetName, type, mode, columns, original, columnFilterMethod, beforeExportMethod, includeFields, excludeFields } = opts
1511
+ let { filename, sheetName, type, mode, columns, columnFilterMethod, beforeExportMethod, includeFields, excludeFields, extraFields } = opts
1484
1512
  let groups: any[] = []
1485
1513
  const selectRecords = $xeTable.getCheckboxRecords()
1486
1514
  if (!mode) {
1487
1515
  mode = selectRecords.length ? 'selected' : 'current'
1488
1516
  }
1517
+
1518
+ const excludeFdMaps: Record<string, number> = {}
1519
+ if (excludeFields && excludeFields.length) {
1520
+ excludeFields.forEach(field => {
1521
+ excludeFdMaps[field] = 1
1522
+ })
1523
+ }
1524
+ const includeFdMaps: Record<string, number> = {}
1525
+ if (includeFields && includeFields.length) {
1526
+ includeFields.forEach(field => {
1527
+ includeFdMaps[field] = 1
1528
+ })
1529
+ }
1530
+ const extraFdMaps: Record<string, number> = {}
1531
+ if (extraFields) {
1532
+ extraFields.forEach(field => {
1533
+ extraFdMaps[field] = 1
1534
+ })
1535
+ }
1536
+
1489
1537
  let isCustomCol = false
1490
1538
  let customCols = []
1491
1539
  if (columns && columns.length) {
1492
1540
  isCustomCol = true
1493
- customCols = columns
1541
+ customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true })
1494
1542
  } else {
1495
1543
  customCols = XEUtils.searchTree(collectColumn, column => {
1496
1544
  const isColGroup = column.children && column.children.length > 0
1497
1545
  let isChecked = false
1546
+ const isExtraChecked = extraFdMaps[column.field]
1498
1547
  if (columns && columns.length) {
1499
1548
  isChecked = handleFilterColumns(opts, column, columns)
1500
1549
  } else if (excludeFields || includeFields) {
1501
- isChecked = handleFilterFields(opts, column, includeFields, excludeFields)
1550
+ isChecked = handleFilterFields(opts, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
1502
1551
  } else {
1503
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column))
1552
+ if (isExtraChecked) {
1553
+ isChecked = true
1554
+ } else {
1555
+ isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column))
1556
+ }
1504
1557
  }
1505
1558
  return isChecked
1506
1559
  }, { children: 'children', mapChildren: 'childNodes', original: true })
@@ -1508,20 +1561,7 @@ export default {
1508
1561
  const handleOptions: VxeTablePropTypes.ExportHandleOptions = Object.assign({ } as { data: any[], colgroups: any[], columns: any[] }, opts, { filename: '', sheetName: '', _columnConfs: columns })
1509
1562
  // 如果设置源数据,则默认导出设置了字段的列
1510
1563
  if (!isCustomCol && !columnFilterMethod) {
1511
- columnFilterMethod = ({ column }) => {
1512
- if (excludeFields) {
1513
- if (XEUtils.includes(excludeFields, column.field)) {
1514
- return false
1515
- }
1516
- }
1517
- if (includeFields) {
1518
- if (XEUtils.includes(includeFields, column.field)) {
1519
- return true
1520
- }
1521
- return false
1522
- }
1523
- return original ? !!column.field : defaultFilterExportColumn(column)
1524
- }
1564
+ columnFilterMethod = ({ column }) => handleFilterFields(handleOptions, column, includeFields, includeFdMaps, excludeFdMaps, extraFdMaps)
1525
1565
  handleOptions.columnFilterMethod = columnFilterMethod
1526
1566
  }
1527
1567
  if (customCols) {
@@ -1,7 +1,7 @@
1
1
  import type { VxeTablePropTypes } from '../../../../types'
2
2
 
3
3
  // 默认导出或打印的 HTML 样式
4
- 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}'
4
+ 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}'
5
5
 
6
6
  export function getExportBlobByContent (content: string, options: { type: string }) {
7
7
  return new Blob([content], { type: `text/${options.type};charset=utf-8;` })
@@ -1358,15 +1358,16 @@ export default {
1358
1358
  const { extraFields, includeFields, excludeFields } = editDirtyOpts
1359
1359
  const kpFields: string[] = []
1360
1360
  if (updateColFlag) {
1361
- if (includeFields && includeFields.length) {
1362
- return includeFields
1363
- }
1361
+ // 优先级 excludeFields > (includeFields || extraFields)
1364
1362
  const excludeFdMaps: Record<string, number> = {}
1365
1363
  if (excludeFields && excludeFields.length) {
1366
1364
  excludeFields.forEach(field => {
1367
1365
  excludeFdMaps[field] = 1
1368
1366
  })
1369
1367
  }
1368
+ if (includeFields && includeFields.length) {
1369
+ return excludeFields && excludeFields.length ? includeFields.filter(field => !excludeFdMaps[field]) : includeFields
1370
+ }
1370
1371
  const addFdMaps: Record<string, number> = {}
1371
1372
  if (extraFields && extraFields.length) {
1372
1373
  extraFields.forEach(field => {
@@ -393,7 +393,7 @@ VxeUI.setIcon({
393
393
  TOOLBAR_TOOLS_PRINT: iconPrefix + 'print',
394
394
  TOOLBAR_TOOLS_FULLSCREEN: iconPrefix + 'fullscreen',
395
395
  TOOLBAR_TOOLS_MINIMIZE: iconPrefix + 'minimize',
396
- TOOLBAR_TOOLS_CUSTOM: iconPrefix + 'custom-column',
396
+ TOOLBAR_TOOLS_CUSTOM: iconPrefix + 'setting',
397
397
  TOOLBAR_TOOLS_FIXED_LEFT: iconPrefix + 'fixed-left',
398
398
  TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE: iconPrefix + 'fixed-left-fill',
399
399
  TOOLBAR_TOOLS_FIXED_RIGHT: iconPrefix + 'fixed-right',
@@ -240,3 +240,11 @@ export function wheelScrollTopTo (diffNum: number, cb: (progress: number) => voi
240
240
  wtaFrame = null
241
241
  })
242
242
  }
243
+
244
+ export function getPopupContainer (appendTo: string | HTMLElement | ((params: any) => string | HTMLElement) | undefined) {
245
+ const selectElem = appendTo && XEUtils.isFunction(appendTo) ? appendTo({}) : appendTo
246
+ if (XEUtils.isString(selectElem)) {
247
+ return document.querySelector(selectElem) || document.body
248
+ }
249
+ return selectElem || document.body
250
+ }
@@ -8,7 +8,7 @@ export function createComponentLog (name: string) {
8
8
  const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : ''
9
9
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : ''
10
10
  const designVersion = VxeUI.designVersion ? `design v${VxeUI.designVersion}` : ''
11
- const versionInfo = [uiVersion, tableVersion, ganttVersion, designVersion].join(' ')
11
+ const versionInfo = [uiVersion, tableVersion, ganttVersion, designVersion].filter(v => v).join(' ')
12
12
  return {
13
13
  warnLog: log.create('warn', versionInfo + '] [' + name),
14
14
  errLog: log.create('error', versionInfo + '] [' + name)
@@ -4,7 +4,7 @@
4
4
 
5
5
  @font-face {
6
6
  font-family: "vxetableiconfont";
7
- src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
7
+ src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
8
8
  }
9
9
 
10
10
  @keyframes rollCircle {
@@ -78,6 +78,10 @@ $btnThemeList: (
78
78
  }
79
79
  }
80
80
 
81
+ .vxe-table-icon-setting:before {
82
+ content: "\e8b8";
83
+ }
84
+
81
85
  .vxe-table-icon-top:before {
82
86
  content: "\e614";
83
87
  }
@@ -2447,7 +2447,7 @@ $btnThemeList: (
2447
2447
  width: 100%;
2448
2448
  position: absolute;
2449
2449
  left: 50%;
2450
- font-size: 12px;
2450
+ font-size: var(--vxe-ui-table-validate-error-font-size);
2451
2451
  line-height: 1em;
2452
2452
  transform: translate(-50%, -2px);
2453
2453
  text-align: left;