@fecp/mobile 1.1.31 → 1.1.33

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 (185) hide show
  1. package/es/mobile.css +9 -9
  2. package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
  3. package/es/packages/mobile/src/components/dataDisplay/table/Table.vue.mjs +3 -3
  4. package/es/packages/mobile/src/components/feedback/dropdownMenu/DropdownMenu.vue.mjs +6 -2
  5. package/es/packages/mobile/src/components/form/uploader/Uploader.vue.mjs +9 -6
  6. package/lib/mobile.css +9 -9
  7. package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
  8. package/lib/packages/mobile/src/components/dataDisplay/table/Table.vue.js +3 -3
  9. package/lib/packages/mobile/src/components/feedback/dropdownMenu/DropdownMenu.vue.js +6 -2
  10. package/lib/packages/mobile/src/components/form/uploader/Uploader.vue.js +9 -6
  11. package/package.json +1 -1
  12. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.mjs +0 -121
  13. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.mjs +0 -55
  14. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.mjs +0 -44
  15. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.mjs +0 -24
  16. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/configStore.mjs +0 -9
  17. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/core.mjs +0 -10
  18. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/dataStore.mjs +0 -4
  19. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.mjs +0 -151
  20. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.mjs +0 -44
  21. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/hooks.mjs +0 -5
  22. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.mjs +0 -55
  23. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18nStore.mjs +0 -8
  24. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.mjs +0 -16
  25. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/iconStore.mjs +0 -4
  26. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.mjs +0 -49
  27. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/log.mjs +0 -17
  28. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.mjs +0 -44
  29. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.mjs +0 -60
  30. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.mjs +0 -34
  31. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.mjs +0 -80
  32. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.mjs +0 -39
  33. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/theme.mjs +0 -20
  34. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/themeStore.mjs +0 -6
  35. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/useFns.mjs +0 -27
  36. package/es/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/validators.mjs +0 -5
  37. package/es/node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/floating-bubble/FloatingBubble.mjs +0 -179
  38. package/es/node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/floating-bubble/index.mjs +0 -8
  39. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/colgroup/index.mjs +0 -14
  40. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/column/index.mjs +0 -14
  41. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/components.mjs +0 -23
  42. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/grid/index.mjs +0 -16
  43. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/grid/src/grid.mjs +0 -1221
  44. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/locale/lang/zh-CN.mjs +0 -714
  45. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/index.mjs +0 -25
  46. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/custom/hook.mjs +0 -256
  47. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/custom/panel.mjs +0 -987
  48. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/edit/hook.mjs +0 -875
  49. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/export-panel.mjs +0 -478
  50. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/hook.mjs +0 -1456
  51. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/import-panel.mjs +0 -221
  52. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/util.mjs +0 -23
  53. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/filter/hook.mjs +0 -343
  54. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/filter/panel.mjs +0 -220
  55. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/keyboard/hook.mjs +0 -474
  56. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/menu/hook.mjs +0 -283
  57. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/menu/panel.mjs +0 -150
  58. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/validator/hook.mjs +0 -471
  59. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/render/index.mjs +0 -953
  60. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/body.mjs +0 -772
  61. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/cell.mjs +0 -1058
  62. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/column.mjs +0 -166
  63. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/columnInfo.mjs +0 -161
  64. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/emits.mjs +0 -97
  65. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/footer.mjs +0 -349
  66. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/group.mjs +0 -45
  67. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/header.mjs +0 -367
  68. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/props.mjs +0 -279
  69. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/table.mjs +0 -10668
  70. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/use/cell-view.mjs +0 -37
  71. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/util.mjs +0 -537
  72. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/toolbar/index.mjs +0 -12
  73. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/toolbar/src/toolbar.mjs +0 -527
  74. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/index.mjs +0 -360
  75. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/dom.mjs +0 -157
  76. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/log.mjs +0 -9
  77. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/utils.mjs +0 -49
  78. package/es/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/vn.mjs +0 -42
  79. package/es/packages/mobile/src/components/feedback/dropdownItem/DropdownItem.vue.mjs +0 -29
  80. package/es/packages/mobile/src/components/feedback/dropdownItem/index.mjs +0 -10
  81. package/es/packages/mobile/src/components/form/calendar/Calendar.vue.mjs +0 -37
  82. package/es/packages/mobile/src/components/form/calendar/index.mjs +0 -7
  83. package/es/packages/mobile/src/components/form/cascader/Cascader.vue.mjs +0 -30
  84. package/es/packages/mobile/src/components/form/cascader/index.mjs +0 -7
  85. package/es/packages/mobile/src/components/form/datePicker/DatePicker.vue.mjs +0 -31
  86. package/es/packages/mobile/src/components/form/datePicker/index.mjs +0 -10
  87. package/es/packages/mobile/src/components/form/picker/Picker.vue.mjs +0 -31
  88. package/es/packages/mobile/src/components/form/picker/index.mjs +0 -7
  89. package/es/packages/mobile/src/components/form/pickerGroup/PickerGroup.vue.mjs +0 -30
  90. package/es/packages/mobile/src/components/form/pickerGroup/index.mjs +0 -10
  91. package/es/packages/mobile/src/components/form/radio/Radio.vue.mjs +0 -27
  92. package/es/packages/mobile/src/components/form/radio/index.mjs +0 -7
  93. package/es/packages/mobile/src/components/form/timePicker/TimePicker.vue.mjs +0 -31
  94. package/es/packages/mobile/src/components/form/timePicker/index.mjs +0 -10
  95. package/es/packages/mobile/src/components/navigation/gridItem/GridItem.vue.mjs +0 -26
  96. package/es/packages/mobile/src/components/navigation/gridItem/index.mjs +0 -7
  97. package/es/packages/mobile/src/components/navigation/tab/Tab.vue.mjs +0 -28
  98. package/es/packages/mobile/src/components/navigation/tab/index.mjs +0 -7
  99. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.js +0 -118
  100. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.js +0 -55
  101. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.js +0 -44
  102. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.js +0 -24
  103. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/configStore.js +0 -9
  104. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/core.js +0 -10
  105. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/dataStore.js +0 -4
  106. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.js +0 -151
  107. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.js +0 -44
  108. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/hooks.js +0 -5
  109. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.js +0 -55
  110. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18nStore.js +0 -8
  111. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.js +0 -16
  112. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/iconStore.js +0 -4
  113. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.js +0 -49
  114. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/log.js +0 -17
  115. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.js +0 -44
  116. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.js +0 -60
  117. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.js +0 -34
  118. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.js +0 -80
  119. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.js +0 -39
  120. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/theme.js +0 -20
  121. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/themeStore.js +0 -6
  122. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/useFns.js +0 -27
  123. package/lib/node_modules/.pnpm/@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/validators.js +0 -5
  124. package/lib/node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/floating-bubble/FloatingBubble.js +0 -179
  125. package/lib/node_modules/.pnpm/vant@4.9.17_vue@3.5.13_typescript@5.7.3_/node_modules/vant/es/floating-bubble/index.js +0 -7
  126. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/colgroup/index.js +0 -15
  127. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/column/index.js +0 -15
  128. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/components.js +0 -23
  129. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/grid/index.js +0 -16
  130. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/grid/src/grid.js +0 -1221
  131. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/locale/lang/zh-CN.js +0 -714
  132. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/index.js +0 -26
  133. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/custom/hook.js +0 -257
  134. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/custom/panel.js +0 -987
  135. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/edit/hook.js +0 -876
  136. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/export-panel.js +0 -478
  137. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/hook.js +0 -1457
  138. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/import-panel.js +0 -221
  139. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/export/util.js +0 -23
  140. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/filter/hook.js +0 -344
  141. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/filter/panel.js +0 -220
  142. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/keyboard/hook.js +0 -475
  143. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/menu/hook.js +0 -284
  144. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/menu/panel.js +0 -150
  145. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/module/validator/hook.js +0 -472
  146. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/render/index.js +0 -954
  147. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/body.js +0 -772
  148. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/cell.js +0 -1058
  149. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/column.js +0 -166
  150. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/columnInfo.js +0 -161
  151. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/emits.js +0 -97
  152. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/footer.js +0 -349
  153. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/group.js +0 -45
  154. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/header.js +0 -367
  155. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/props.js +0 -279
  156. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/table.js +0 -10668
  157. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/use/cell-view.js +0 -37
  158. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/table/src/util.js +0 -537
  159. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/toolbar/index.js +0 -13
  160. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/toolbar/src/toolbar.js +0 -527
  161. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/index.js +0 -360
  162. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/dom.js +0 -157
  163. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/log.js +0 -9
  164. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/utils.js +0 -49
  165. package/lib/node_modules/.pnpm/vxe-table@4.13.27_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/ui/src/vn.js +0 -42
  166. package/lib/packages/mobile/src/components/feedback/dropdownItem/DropdownItem.vue.js +0 -29
  167. package/lib/packages/mobile/src/components/feedback/dropdownItem/index.js +0 -10
  168. package/lib/packages/mobile/src/components/form/calendar/Calendar.vue.js +0 -37
  169. package/lib/packages/mobile/src/components/form/calendar/index.js +0 -7
  170. package/lib/packages/mobile/src/components/form/cascader/Cascader.vue.js +0 -30
  171. package/lib/packages/mobile/src/components/form/cascader/index.js +0 -7
  172. package/lib/packages/mobile/src/components/form/datePicker/DatePicker.vue.js +0 -31
  173. package/lib/packages/mobile/src/components/form/datePicker/index.js +0 -10
  174. package/lib/packages/mobile/src/components/form/picker/Picker.vue.js +0 -31
  175. package/lib/packages/mobile/src/components/form/picker/index.js +0 -7
  176. package/lib/packages/mobile/src/components/form/pickerGroup/PickerGroup.vue.js +0 -30
  177. package/lib/packages/mobile/src/components/form/pickerGroup/index.js +0 -10
  178. package/lib/packages/mobile/src/components/form/radio/Radio.vue.js +0 -27
  179. package/lib/packages/mobile/src/components/form/radio/index.js +0 -7
  180. package/lib/packages/mobile/src/components/form/timePicker/TimePicker.vue.js +0 -31
  181. package/lib/packages/mobile/src/components/form/timePicker/index.js +0 -10
  182. package/lib/packages/mobile/src/components/navigation/gridItem/GridItem.vue.js +0 -26
  183. package/lib/packages/mobile/src/components/navigation/gridItem/index.js +0 -7
  184. package/lib/packages/mobile/src/components/navigation/tab/Tab.vue.js +0 -28
  185. package/lib/packages/mobile/src/components/navigation/tab/index.js +0 -7
@@ -1,1456 +0,0 @@
1
- import { inject, nextTick } from "vue";
2
- import XEUtils from "../../../../../../../../../_virtual/index.mjs";
3
- import "../../../ui/index.mjs";
4
- import { isColumnInfo, getCellValue } from "../../src/util.mjs";
5
- import { parseFile, formatText, eqEmptyValue } from "../../../ui/src/utils.mjs";
6
- import { hasClass } from "../../../ui/src/dom.mjs";
7
- import { getExportBlobByContent, createHtmlPage } from "./util.mjs";
8
- import { errLog } from "../../../ui/src/log.mjs";
9
- import { VxeUI } from "../../../../../../../@vxe-ui_core@4.1.3_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.mjs";
10
- const { getI18n, hooks, renderer } = VxeUI;
11
- let htmlCellElem;
12
- const csvBOM = "\uFEFF";
13
- const enterSymbol = "\r\n";
14
- function defaultFilterExportColumn(column) {
15
- return column.field || ["seq", "checkbox", "radio"].indexOf(column.type) > -1;
16
- }
17
- const getConvertColumns = (columns) => {
18
- const result = [];
19
- columns.forEach((column) => {
20
- if (column.childNodes && column.childNodes.length) {
21
- result.push(column);
22
- result.push(...getConvertColumns(column.childNodes));
23
- } else {
24
- result.push(column);
25
- }
26
- });
27
- return result;
28
- };
29
- const convertToRows = (originColumns) => {
30
- let maxLevel = 1;
31
- const traverse = (column, parent) => {
32
- if (parent) {
33
- column._level = parent._level + 1;
34
- if (maxLevel < column._level) {
35
- maxLevel = column._level;
36
- }
37
- }
38
- if (column.childNodes && column.childNodes.length) {
39
- let colSpan = 0;
40
- column.childNodes.forEach((subColumn) => {
41
- traverse(subColumn, column);
42
- colSpan += subColumn._colSpan;
43
- });
44
- column._colSpan = colSpan;
45
- } else {
46
- column._colSpan = 1;
47
- }
48
- };
49
- originColumns.forEach((column) => {
50
- column._level = 1;
51
- traverse(column);
52
- });
53
- const rows = [];
54
- for (let i = 0; i < maxLevel; i++) {
55
- rows.push([]);
56
- }
57
- const allColumns = getConvertColumns(originColumns);
58
- allColumns.forEach((column) => {
59
- if (column.childNodes && column.childNodes.length) {
60
- column._rowSpan = 1;
61
- } else {
62
- column._rowSpan = maxLevel - column._level + 1;
63
- }
64
- rows[column._level - 1].push(column);
65
- });
66
- return rows;
67
- };
68
- function toTableBorder(border) {
69
- if (border === true) {
70
- return "full";
71
- }
72
- if (border) {
73
- return border;
74
- }
75
- return "default";
76
- }
77
- function getBooleanValue(cellValue) {
78
- return cellValue === "TRUE" || cellValue === "true" || cellValue === true;
79
- }
80
- function getFooterData($xeTable, opts, footerTableData) {
81
- const { footerFilterMethod } = opts;
82
- return footerFilterMethod ? footerTableData.filter((items, index) => footerFilterMethod({ $table: $xeTable, items, $rowIndex: index })) : footerTableData;
83
- }
84
- function getCsvCellTypeLabel(column, cellValue) {
85
- if (cellValue) {
86
- if (column.type === "seq") {
87
- return ` ${cellValue}`;
88
- }
89
- switch (column.cellType) {
90
- case "string":
91
- if (!isNaN(cellValue)) {
92
- return ` ${cellValue}`;
93
- }
94
- break;
95
- case "number":
96
- break;
97
- default:
98
- if (cellValue.length >= 12 && !isNaN(cellValue)) {
99
- return ` ${cellValue}`;
100
- }
101
- break;
102
- }
103
- }
104
- return cellValue;
105
- }
106
- function toTxtCellLabel(val) {
107
- if (/[",\s\n]/.test(val)) {
108
- return `"${val.replace(/"/g, '""')}"`;
109
- }
110
- return val;
111
- }
112
- function getElementsByTagName(elem, qualifiedName) {
113
- return elem.getElementsByTagName(qualifiedName);
114
- }
115
- function getTxtCellKey(now) {
116
- return `#${now}@${XEUtils.uniqueId()}`;
117
- }
118
- function replaceTxtCell(cell, vMaps) {
119
- return cell.replace(/#\d+@\d+/g, (key) => XEUtils.hasOwnProp(vMaps, key) ? vMaps[key] : key);
120
- }
121
- function getTxtCellValue(val, vMaps) {
122
- const rest = replaceTxtCell(val, vMaps);
123
- return rest.replace(/^"+$/g, (qVal) => '"'.repeat(Math.ceil(qVal.length / 2)));
124
- }
125
- function toExportField(tableConf, field) {
126
- const { fieldMaps, titleMaps } = tableConf;
127
- if (!fieldMaps[field]) {
128
- const teCol = titleMaps[field];
129
- if (teCol && teCol.field) {
130
- field = teCol.field;
131
- }
132
- }
133
- return field;
134
- }
135
- function parseCsvAndTxt(tableConf, content, cellSeparator) {
136
- const list = content.split(enterSymbol);
137
- const rows = [];
138
- let fields = [];
139
- if (list.length) {
140
- const vMaps = {};
141
- const now = Date.now();
142
- list.forEach((rVal) => {
143
- if (rVal) {
144
- const item = {};
145
- rVal = rVal.replace(/("")|(\n)/g, (text, dVal) => {
146
- const key = getTxtCellKey(now);
147
- vMaps[key] = dVal ? '"' : "\n";
148
- return key;
149
- }).replace(/"(.*?)"/g, (text, cVal) => {
150
- const key = getTxtCellKey(now);
151
- vMaps[key] = replaceTxtCell(cVal, vMaps);
152
- return key;
153
- });
154
- const cells = rVal.split(cellSeparator);
155
- if (!fields.length) {
156
- fields = cells.map((val) => toExportField(tableConf, getTxtCellValue(val.trim(), vMaps)));
157
- } else {
158
- cells.forEach((val, colIndex) => {
159
- if (colIndex < fields.length) {
160
- item[fields[colIndex]] = getTxtCellValue(val.trim(), vMaps);
161
- }
162
- });
163
- rows.push(item);
164
- }
165
- }
166
- });
167
- }
168
- return { fields, rows };
169
- }
170
- function parseCsv(tableConf, content) {
171
- return parseCsvAndTxt(tableConf, content, ",");
172
- }
173
- function parseTxt(tableConf, content) {
174
- return parseCsvAndTxt(tableConf, content, " ");
175
- }
176
- function parseHTML(tableConf, content) {
177
- const domParser = new DOMParser();
178
- const xmlDoc = domParser.parseFromString(content, "text/html");
179
- const bodyNodes = getElementsByTagName(xmlDoc, "body");
180
- const rows = [];
181
- const fields = [];
182
- if (bodyNodes.length) {
183
- const tableNodes = getElementsByTagName(bodyNodes[0], "table");
184
- if (tableNodes.length) {
185
- const theadNodes = getElementsByTagName(tableNodes[0], "thead");
186
- if (theadNodes.length) {
187
- XEUtils.arrayEach(getElementsByTagName(theadNodes[0], "tr"), (rowNode) => {
188
- XEUtils.arrayEach(getElementsByTagName(rowNode, "th"), (cellNode) => {
189
- fields.push(toExportField(tableConf, cellNode.textContent || ""));
190
- });
191
- });
192
- const tbodyNodes = getElementsByTagName(tableNodes[0], "tbody");
193
- if (tbodyNodes.length) {
194
- XEUtils.arrayEach(getElementsByTagName(tbodyNodes[0], "tr"), (rowNode) => {
195
- const item = {};
196
- XEUtils.arrayEach(getElementsByTagName(rowNode, "td"), (cellNode, colIndex) => {
197
- if (fields[colIndex]) {
198
- item[fields[colIndex]] = cellNode.textContent || "";
199
- }
200
- });
201
- rows.push(item);
202
- });
203
- }
204
- }
205
- }
206
- }
207
- return { fields, rows };
208
- }
209
- function parseXML(tableConf, content) {
210
- const domParser = new DOMParser();
211
- const xmlDoc = domParser.parseFromString(content, "application/xml");
212
- const sheetNodes = getElementsByTagName(xmlDoc, "Worksheet");
213
- const rows = [];
214
- const fields = [];
215
- if (sheetNodes.length) {
216
- const tableNodes = getElementsByTagName(sheetNodes[0], "Table");
217
- if (tableNodes.length) {
218
- const rowNodes = getElementsByTagName(tableNodes[0], "Row");
219
- if (rowNodes.length) {
220
- XEUtils.arrayEach(getElementsByTagName(rowNodes[0], "Cell"), (cellNode) => {
221
- fields.push(toExportField(tableConf, cellNode.textContent || ""));
222
- });
223
- XEUtils.arrayEach(rowNodes, (rowNode, index) => {
224
- if (index) {
225
- const item = {};
226
- const cellNodes = getElementsByTagName(rowNode, "Cell");
227
- XEUtils.arrayEach(cellNodes, (cellNode, colIndex) => {
228
- if (fields[colIndex]) {
229
- item[fields[colIndex]] = cellNode.textContent;
230
- }
231
- });
232
- rows.push(item);
233
- }
234
- });
235
- }
236
- }
237
- }
238
- return { fields, rows };
239
- }
240
- function clearColumnConvert(columns) {
241
- XEUtils.eachTree(columns, (column) => {
242
- delete column._level;
243
- delete column._colSpan;
244
- delete column._rowSpan;
245
- delete column._children;
246
- delete column.childNodes;
247
- }, { children: "children" });
248
- }
249
- const tableExportMethodKeys = ["exportData", "importByFile", "importData", "saveFile", "readFile", "print", "getPrintHtml", "openImport", "closeImport", "openExport", "closeExport", "openPrint", "closePrint"];
250
- hooks.add("tableExportModule", {
251
- setupTable($xeTable) {
252
- const { props, reactData, internalData } = $xeTable;
253
- const { computeTreeOpts, computePrintOpts, computeExportOpts, computeImportOpts, computeCustomOpts, computeSeqOpts, computeRadioOpts, computeCheckboxOpts, computeColumnOpts } = $xeTable.getComputeMaps();
254
- const $xeGrid = inject("$xeGrid", null);
255
- const hasTreeChildren = (row) => {
256
- const treeOpts = computeTreeOpts.value;
257
- const childrenField = treeOpts.children || treeOpts.childrenField;
258
- return row[childrenField] && row[childrenField].length;
259
- };
260
- const getSeq = (cellValue, row, $rowIndex, column, $columnIndex) => {
261
- const seqOpts = computeSeqOpts.value;
262
- const seqMethod = seqOpts.seqMethod || column.seqMethod;
263
- if (seqMethod) {
264
- return seqMethod({
265
- $table: $xeTable,
266
- row,
267
- rowIndex: $xeTable.getRowIndex(row),
268
- $rowIndex,
269
- column,
270
- columnIndex: $xeTable.getColumnIndex(column),
271
- $columnIndex
272
- });
273
- }
274
- return cellValue;
275
- };
276
- function getHeaderTitle(opts, column) {
277
- const columnOpts = computeColumnOpts.value;
278
- const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
279
- return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : (opts.isTitle ? column.getTitle() : column.field) || "";
280
- }
281
- const toBooleanValue = (cellValue) => {
282
- return XEUtils.isBoolean(cellValue) ? cellValue ? "TRUE" : "FALSE" : cellValue;
283
- };
284
- const toStringValue = (cellValue) => {
285
- return eqEmptyValue(cellValue) ? "" : `${cellValue}`;
286
- };
287
- const getBodyLabelData = (opts, columns, datas) => {
288
- const { isAllExpand, mode } = opts;
289
- const { treeConfig } = props;
290
- const radioOpts = computeRadioOpts.value;
291
- const checkboxOpts = computeCheckboxOpts.value;
292
- const treeOpts = computeTreeOpts.value;
293
- const columnOpts = computeColumnOpts.value;
294
- if (!htmlCellElem) {
295
- htmlCellElem = document.createElement("div");
296
- }
297
- if (treeConfig) {
298
- const childrenField = treeOpts.children || treeOpts.childrenField;
299
- const rest = [];
300
- const expandMaps = /* @__PURE__ */ new Map();
301
- XEUtils.eachTree(datas, (item, $rowIndex, items, path, parent, nodes) => {
302
- const row = item._row || item;
303
- const parentRow = parent && parent._row ? parent._row : parent;
304
- if (isAllExpand || !parentRow || expandMaps.has(parentRow) && $xeTable.isTreeExpandByRow(parentRow)) {
305
- const hasRowChild = hasTreeChildren(row);
306
- const item2 = {
307
- _row: row,
308
- _level: nodes.length - 1,
309
- _hasChild: hasRowChild,
310
- _expand: hasRowChild && $xeTable.isTreeExpandByRow(row)
311
- };
312
- columns.forEach((column, $columnIndex) => {
313
- let cellValue = "";
314
- const renderOpts = column.editRender || column.cellRender;
315
- let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
316
- if (!bodyExportMethod && renderOpts && renderOpts.name) {
317
- const compConf = renderer.get(renderOpts.name);
318
- if (compConf) {
319
- bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
320
- }
321
- }
322
- if (!bodyExportMethod) {
323
- bodyExportMethod = columnOpts.exportMethod;
324
- }
325
- if (bodyExportMethod) {
326
- cellValue = bodyExportMethod({ $table: $xeTable, row, column, options: opts });
327
- } else {
328
- switch (column.type) {
329
- case "seq": {
330
- const seqVal = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : ".").join("");
331
- cellValue = mode === "all" ? seqVal : getSeq(seqVal, row, $rowIndex, column, $columnIndex);
332
- break;
333
- }
334
- case "checkbox":
335
- cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
336
- item2._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : "";
337
- item2._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ $table: $xeTable, row });
338
- break;
339
- case "radio":
340
- cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
341
- item2._radioLabel = radioOpts.labelField ? XEUtils.get(row, radioOpts.labelField) : "";
342
- item2._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ $table: $xeTable, row });
343
- break;
344
- default:
345
- if (opts.original) {
346
- cellValue = getCellValue(row, column);
347
- } else {
348
- cellValue = $xeTable.getCellLabel(row, column);
349
- if (column.type === "html") {
350
- htmlCellElem.innerHTML = cellValue;
351
- cellValue = htmlCellElem.innerText.trim();
352
- } else {
353
- const cell = $xeTable.getCellElement(row, column);
354
- if (cell && !hasClass(cell, "is--progress")) {
355
- cellValue = cell.innerText.trim();
356
- }
357
- }
358
- }
359
- }
360
- }
361
- item2[column.id] = toStringValue(cellValue);
362
- });
363
- expandMaps.set(row, 1);
364
- rest.push(Object.assign(item2, row));
365
- }
366
- }, { children: childrenField });
367
- return rest;
368
- }
369
- return datas.map((row, $rowIndex) => {
370
- const item = {
371
- _row: row
372
- };
373
- columns.forEach((column, $columnIndex) => {
374
- let cellValue = "";
375
- const renderOpts = column.editRender || column.cellRender;
376
- let bodyExportMethod = column.exportMethod || columnOpts.exportMethod;
377
- if (!bodyExportMethod && renderOpts && renderOpts.name) {
378
- const compConf = renderer.get(renderOpts.name);
379
- if (compConf) {
380
- bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod;
381
- }
382
- }
383
- if (bodyExportMethod) {
384
- cellValue = bodyExportMethod({ $table: $xeTable, row, column, options: opts });
385
- } else {
386
- switch (column.type) {
387
- case "seq": {
388
- const seqValue = $rowIndex + 1;
389
- cellValue = mode === "all" ? seqValue : getSeq(seqValue, row, $rowIndex, column, $columnIndex);
390
- break;
391
- }
392
- case "checkbox":
393
- cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
394
- item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : "";
395
- item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ $table: $xeTable, row });
396
- break;
397
- case "radio":
398
- cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
399
- item._radioLabel = radioOpts.labelField ? XEUtils.get(row, radioOpts.labelField) : "";
400
- item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ $table: $xeTable, row });
401
- break;
402
- default:
403
- if (opts.original) {
404
- cellValue = getCellValue(row, column);
405
- } else {
406
- cellValue = $xeTable.getCellLabel(row, column);
407
- if (column.type === "html") {
408
- htmlCellElem.innerHTML = cellValue;
409
- cellValue = htmlCellElem.innerText.trim();
410
- } else {
411
- const cell = $xeTable.getCellElement(row, column);
412
- if (cell && !hasClass(cell, "is--progress")) {
413
- cellValue = cell.innerText.trim();
414
- }
415
- }
416
- }
417
- }
418
- }
419
- item[column.id] = toStringValue(cellValue);
420
- });
421
- return item;
422
- });
423
- };
424
- const getExportData = (opts) => {
425
- const { columns, dataFilterMethod } = opts;
426
- let datas = opts.data;
427
- if (dataFilterMethod) {
428
- datas = datas.filter((row, index) => dataFilterMethod({ $table: $xeTable, row, $rowIndex: index }));
429
- }
430
- return getBodyLabelData(opts, columns, datas);
431
- };
432
- const getFooterCellValue = (opts, row, column) => {
433
- const columnOpts = computeColumnOpts.value;
434
- const renderOpts = column.editRender || column.cellRender;
435
- let footLabelMethod = column.footerExportMethod;
436
- if (!footLabelMethod && renderOpts && renderOpts.name) {
437
- const compConf = renderer.get(renderOpts.name);
438
- if (compConf) {
439
- footLabelMethod = compConf.tableFooterExportMethod || compConf.footerExportMethod;
440
- }
441
- }
442
- if (!footLabelMethod) {
443
- footLabelMethod = columnOpts.footerExportMethod;
444
- }
445
- const _columnIndex = $xeTable.getVTColumnIndex(column);
446
- if (footLabelMethod) {
447
- return footLabelMethod({ $table: $xeTable, items: row, itemIndex: _columnIndex, row, _columnIndex, column, options: opts });
448
- }
449
- if (XEUtils.isArray(row)) {
450
- return XEUtils.toValueString(row[_columnIndex]);
451
- }
452
- return XEUtils.get(row, column.field);
453
- };
454
- const toCsv = ($xeTable2, opts, columns, datas) => {
455
- let content = csvBOM;
456
- if (opts.isHeader) {
457
- content += columns.map((column) => toTxtCellLabel(getHeaderTitle(opts, column))).join(",") + enterSymbol;
458
- }
459
- datas.forEach((row) => {
460
- content += columns.map((column) => toTxtCellLabel(getCsvCellTypeLabel(column, row[column.id]))).join(",") + enterSymbol;
461
- });
462
- if (opts.isFooter) {
463
- const { footerTableData } = reactData;
464
- const footers = getFooterData($xeTable2, opts, footerTableData);
465
- footers.forEach((row) => {
466
- content += columns.map((column) => toTxtCellLabel(getFooterCellValue(opts, row, column))).join(",") + enterSymbol;
467
- });
468
- }
469
- return content;
470
- };
471
- const toTxt = ($xeTable2, opts, columns, datas) => {
472
- let content = "";
473
- if (opts.isHeader) {
474
- content += columns.map((column) => toTxtCellLabel(getHeaderTitle(opts, column))).join(" ") + enterSymbol;
475
- }
476
- datas.forEach((row) => {
477
- content += columns.map((column) => toTxtCellLabel(row[column.id])).join(" ") + enterSymbol;
478
- });
479
- if (opts.isFooter) {
480
- const { footerTableData } = reactData;
481
- const footers = getFooterData($xeTable2, opts, footerTableData);
482
- footers.forEach((row) => {
483
- content += columns.map((column) => toTxtCellLabel(getFooterCellValue(opts, row, column))).join(" ") + enterSymbol;
484
- });
485
- }
486
- return content;
487
- };
488
- const hasEllipsis = (column, property, allColumnOverflow) => {
489
- const columnOverflow = column[property];
490
- const headOverflow = XEUtils.isUndefined(columnOverflow) || XEUtils.isNull(columnOverflow) ? allColumnOverflow : columnOverflow;
491
- const showEllipsis = headOverflow === "ellipsis";
492
- const showTitle = headOverflow === "title";
493
- const showTooltip = headOverflow === true || headOverflow === "tooltip";
494
- let isEllipsis = showTitle || showTooltip || showEllipsis;
495
- const { scrollXLoad, scrollYLoad } = reactData;
496
- if ((scrollXLoad || scrollYLoad) && !isEllipsis) {
497
- isEllipsis = true;
498
- }
499
- return isEllipsis;
500
- };
501
- const toHtml = (opts, columns, datas) => {
502
- const { id, border, treeConfig, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow } = props;
503
- const { isAllSelected, isIndeterminate } = reactData;
504
- const { mergeBodyCellMaps } = internalData;
505
- const treeOpts = computeTreeOpts.value;
506
- const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts;
507
- const allCls = "check-all";
508
- const clss = [
509
- "vxe-table",
510
- `border--${toTableBorder(border)}`,
511
- isPrint ? "is--print" : "",
512
- isHeader ? "is--header" : ""
513
- ].filter((cls) => cls);
514
- const tables = [
515
- `<table class="${clss.join(" ")}" border="0" cellspacing="0" cellpadding="0">`,
516
- `<colgroup>${columns.map((column) => `<col style="width:${column.renderWidth}px">`).join("")}</colgroup>`
517
- ];
518
- if (isHeader) {
519
- tables.push("<thead>");
520
- if (isColgroup && !original) {
521
- colgroups.forEach((cols) => {
522
- tables.push(`<tr>${cols.map((column) => {
523
- const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
524
- const classNames = hasEllipsis(column, "showHeaderOverflow", allColumnHeaderOverflow) ? ["col--ellipsis"] : [];
525
- const cellTitle = getHeaderTitle(opts, column);
526
- let childWidth = 0;
527
- let countChild = 0;
528
- XEUtils.eachTree([column], (item) => {
529
- if (!item.childNodes || !column.childNodes.length) {
530
- countChild++;
531
- }
532
- childWidth += item.renderWidth;
533
- }, { children: "childNodes" });
534
- const cellWidth = childWidth - countChild;
535
- if (headAlign) {
536
- classNames.push(`col--${headAlign}`);
537
- }
538
- if (column.type === "checkbox") {
539
- 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>`;
540
- }
541
- return `<th class="${classNames.join(" ")}" colspan="${column._colSpan}" rowspan="${column._rowSpan}" title="${cellTitle}"><div ${isPrint ? "" : `style="width: ${cellWidth}px"`}><span>${formatText(cellTitle, true)}</span></div></th>`;
542
- }).join("")}</tr>`);
543
- });
544
- } else {
545
- tables.push(`<tr>${columns.map((column) => {
546
- const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
547
- const classNames = hasEllipsis(column, "showHeaderOverflow", allColumnHeaderOverflow) ? ["col--ellipsis"] : [];
548
- const cellTitle = getHeaderTitle(opts, column);
549
- if (headAlign) {
550
- classNames.push(`col--${headAlign}`);
551
- }
552
- if (column.type === "checkbox") {
553
- return `<th class="${classNames.join(" ")}"><div ${isPrint ? "" : `style="width: ${column.renderWidth}px"`}><input type="checkbox" class="${allCls}" ${isAllSelected ? "checked" : ""}><span>${cellTitle}</span></div></th>`;
554
- }
555
- return `<th class="${classNames.join(" ")}" title="${cellTitle}"><div ${isPrint ? "" : `style="width: ${column.renderWidth}px"`}><span>${formatText(cellTitle, true)}</span></div></th>`;
556
- }).join("")}</tr>`);
557
- }
558
- tables.push("</thead>");
559
- }
560
- if (datas.length) {
561
- tables.push("<tbody>");
562
- if (treeConfig) {
563
- datas.forEach((item) => {
564
- tables.push("<tr>" + columns.map((column) => {
565
- const colid = column.id;
566
- const cellAlign = column.align || allAlign;
567
- const classNames = hasEllipsis(column, "showOverflow", allColumnOverflow) ? ["col--ellipsis"] : [];
568
- const cellValue = item[colid];
569
- if (cellAlign) {
570
- classNames.push(`col--${cellAlign}`);
571
- }
572
- if (column.treeNode) {
573
- let treeIcon = "";
574
- if (item._hasChild) {
575
- treeIcon = `<i class="${item._expand ? "vxe-table--tree-fold-icon" : "vxe-table--tree-unfold-icon"}"></i>`;
576
- }
577
- classNames.push("vxe-table--tree-node");
578
- if (column.type === "radio") {
579
- 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>`;
580
- } else if (column.type === "checkbox") {
581
- 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>`;
582
- }
583
- 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>`;
584
- }
585
- if (column.type === "radio") {
586
- 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>`;
587
- } else if (column.type === "checkbox") {
588
- 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>`;
589
- }
590
- return `<td class="${classNames.join(" ")}" title="${cellValue}"><div ${isPrint ? "" : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
591
- }).join("") + "</tr>");
592
- });
593
- } else {
594
- datas.forEach((item) => {
595
- tables.push("<tr>" + columns.map((column) => {
596
- const cellAlign = column.align || allAlign;
597
- const classNames = hasEllipsis(column, "showOverflow", allColumnOverflow) ? ["col--ellipsis"] : [];
598
- const cellValue = item[column.id];
599
- let rowSpan = 1;
600
- let colSpan = 1;
601
- if (isMerge) {
602
- const _rowIndex = $xeTable.getVTRowIndex(item._row);
603
- const _columnIndex = $xeTable.getVTColumnIndex(column);
604
- const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
605
- if (spanRest) {
606
- const { rowspan, colspan } = spanRest;
607
- if (!rowspan || !colspan) {
608
- return "";
609
- }
610
- if (rowspan > 1) {
611
- rowSpan = rowspan;
612
- }
613
- if (colspan > 1) {
614
- colSpan = colspan;
615
- }
616
- }
617
- }
618
- if (cellAlign) {
619
- classNames.push(`col--${cellAlign}`);
620
- }
621
- if (column.type === "radio") {
622
- 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>`;
623
- } else if (column.type === "checkbox") {
624
- 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>`;
625
- }
626
- return `<td class="${classNames.join(" ")}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? "" : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
627
- }).join("") + "</tr>");
628
- });
629
- }
630
- tables.push("</tbody>");
631
- }
632
- if (isFooter) {
633
- const { footerTableData } = reactData;
634
- const footers = getFooterData($xeTable, opts, footerTableData);
635
- if (footers.length) {
636
- tables.push("<tfoot>");
637
- footers.forEach((row) => {
638
- tables.push(`<tr>${columns.map((column) => {
639
- const footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;
640
- const classNames = hasEllipsis(column, "showOverflow", allColumnOverflow) ? ["col--ellipsis"] : [];
641
- const cellValue = getFooterCellValue(opts, row, column);
642
- if (footAlign) {
643
- classNames.push(`col--${footAlign}`);
644
- }
645
- return `<td class="${classNames.join(" ")}" title="${cellValue}"><div ${isPrint ? "" : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
646
- }).join("")}</tr>`);
647
- });
648
- tables.push("</tfoot>");
649
- }
650
- }
651
- const script = !isAllSelected && isIndeterminate ? `<script>(function(){var a=document.querySelector(".${allCls}");if(a){a.indeterminate=true}})()<\/script>` : "";
652
- tables.push("</table>", script);
653
- return isPrint ? tables.join("") : createHtmlPage(opts, tables.join(""));
654
- };
655
- const toXML = (opts, columns, datas) => {
656
- let xml = [
657
- '<?xml version="1.0"?>',
658
- '<?mso-application progid="Excel.Sheet"?>',
659
- '<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">',
660
- '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',
661
- "<Version>16.00</Version>",
662
- "</DocumentProperties>",
663
- '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',
664
- "<WindowHeight>7920</WindowHeight>",
665
- "<WindowWidth>21570</WindowWidth>",
666
- "<WindowTopX>32767</WindowTopX>",
667
- "<WindowTopY>32767</WindowTopY>",
668
- "<ProtectStructure>False</ProtectStructure>",
669
- "<ProtectWindows>False</ProtectWindows>",
670
- "</ExcelWorkbook>",
671
- `<Worksheet ss:Name="${opts.sheetName}">`,
672
- "<Table>",
673
- columns.map((column) => `<Column ss:Width="${column.renderWidth}"/>`).join("")
674
- ].join("");
675
- if (opts.isHeader) {
676
- xml += `<Row>${columns.map((column) => `<Cell><Data ss:Type="String">${getHeaderTitle(opts, column)}</Data></Cell>`).join("")}</Row>`;
677
- }
678
- datas.forEach((row) => {
679
- xml += "<Row>" + columns.map((column) => `<Cell><Data ss:Type="String">${row[column.id]}</Data></Cell>`).join("") + "</Row>";
680
- });
681
- if (opts.isFooter) {
682
- const { footerTableData } = reactData;
683
- const footers = getFooterData($xeTable, opts, footerTableData);
684
- footers.forEach((row) => {
685
- xml += `<Row>${columns.map((column) => `<Cell><Data ss:Type="String">${getFooterCellValue(opts, row, column)}</Data></Cell>`).join("")}</Row>`;
686
- });
687
- }
688
- return `${xml}</Table></Worksheet></Workbook>`;
689
- };
690
- const getContent = ($xeTable2, opts, columns, datas) => {
691
- if (columns.length) {
692
- switch (opts.type) {
693
- case "csv":
694
- return toCsv($xeTable2, opts, columns, datas);
695
- case "txt":
696
- return toTxt($xeTable2, opts, columns, datas);
697
- case "html":
698
- return toHtml(opts, columns, datas);
699
- case "xml":
700
- return toXML(opts, columns, datas);
701
- }
702
- }
703
- return "";
704
- };
705
- const downloadFile = (opts, content) => {
706
- const { filename, type, download } = opts;
707
- if (!download) {
708
- const blob = getExportBlobByContent(content, opts);
709
- return Promise.resolve({ type, content, blob });
710
- }
711
- if (VxeUI.saveFile) {
712
- VxeUI.saveFile({ filename, type, content }).then(() => {
713
- if (opts.message !== false) {
714
- if (VxeUI.modal) {
715
- VxeUI.modal.message({ content: getI18n("vxe.table.expSuccess"), status: "success" });
716
- }
717
- }
718
- });
719
- }
720
- };
721
- const handleExport = (opts) => {
722
- const { remote, columns, colgroups, exportMethod, afterExportMethod } = opts;
723
- return new Promise((resolve) => {
724
- if (remote) {
725
- const params = { options: opts, $table: $xeTable, $grid: $xeGrid };
726
- resolve(exportMethod ? exportMethod(params) : params);
727
- } else {
728
- const datas = getExportData(opts);
729
- resolve($xeTable.preventEvent(null, "event.export", { options: opts, columns, colgroups, datas }, () => {
730
- return downloadFile(opts, getContent($xeTable, opts, columns, datas));
731
- }));
732
- }
733
- }).then((params) => {
734
- clearColumnConvert(columns);
735
- if (!opts.print) {
736
- if (afterExportMethod) {
737
- afterExportMethod({ status: true, options: opts, $table: $xeTable, $grid: $xeGrid });
738
- }
739
- }
740
- return Object.assign({ status: true }, params);
741
- }).catch(() => {
742
- clearColumnConvert(columns);
743
- if (!opts.print) {
744
- if (afterExportMethod) {
745
- afterExportMethod({ status: false, options: opts, $table: $xeTable, $grid: $xeGrid });
746
- }
747
- }
748
- const params = { status: false };
749
- return Promise.reject(params);
750
- });
751
- };
752
- const handleImport = (content, opts) => {
753
- const { tableFullColumn, _importResolve, _importReject } = internalData;
754
- let rest = { fields: [], rows: [] };
755
- const tableFieldMaps = {};
756
- const tableTitleMaps = {};
757
- tableFullColumn.forEach((column) => {
758
- const field = column.field;
759
- const title = column.getTitle();
760
- if (field) {
761
- tableFieldMaps[field] = column;
762
- }
763
- if (title) {
764
- tableTitleMaps[column.getTitle()] = column;
765
- }
766
- });
767
- const tableConf = {
768
- fieldMaps: tableFieldMaps,
769
- titleMaps: tableTitleMaps
770
- };
771
- switch (opts.type) {
772
- case "csv":
773
- rest = parseCsv(tableConf, content);
774
- break;
775
- case "txt":
776
- rest = parseTxt(tableConf, content);
777
- break;
778
- case "html":
779
- rest = parseHTML(tableConf, content);
780
- break;
781
- case "xml":
782
- rest = parseXML(tableConf, content);
783
- break;
784
- }
785
- const { fields, rows } = rest;
786
- const status = fields.some((field) => tableFieldMaps[field] || tableTitleMaps[field]);
787
- if (status) {
788
- $xeTable.createData(rows).then((data) => {
789
- let loadRest;
790
- if (opts.mode === "insert" || opts.mode === "insertBottom") {
791
- loadRest = $xeTable.insertAt(data, -1);
792
- }
793
- if (opts.mode === "insertTop") {
794
- loadRest = $xeTable.insert(data);
795
- } else {
796
- loadRest = $xeTable.reloadData(data);
797
- }
798
- if (opts.message !== false) {
799
- if (VxeUI.modal) {
800
- VxeUI.modal.message({ content: getI18n("vxe.table.impSuccess", [rows.length]), status: "success" });
801
- }
802
- }
803
- return loadRest.then(() => {
804
- if (_importResolve) {
805
- _importResolve({ status: true });
806
- }
807
- });
808
- });
809
- } else if (opts.message !== false) {
810
- if (VxeUI.modal) {
811
- VxeUI.modal.message({ content: getI18n("vxe.error.impFields"), status: "error" });
812
- }
813
- if (_importReject) {
814
- _importReject({ status: false });
815
- }
816
- }
817
- };
818
- const handleFileImport = (file, opts) => {
819
- const { importMethod, afterImportMethod } = opts;
820
- const { type, filename } = parseFile(file);
821
- const importOpts = computeImportOpts.value;
822
- if (!importMethod && !XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)) {
823
- if (opts.message !== false) {
824
- if (VxeUI.modal) {
825
- VxeUI.modal.message({ content: getI18n("vxe.error.notType", [type]), status: "error" });
826
- }
827
- }
828
- const params = { status: false };
829
- return Promise.reject(params);
830
- }
831
- const rest = new Promise((resolve, reject) => {
832
- const _importResolve = (params) => {
833
- resolve(params);
834
- internalData._importResolve = null;
835
- internalData._importReject = null;
836
- };
837
- const _importReject = (params) => {
838
- reject(params);
839
- internalData._importResolve = null;
840
- internalData._importReject = null;
841
- };
842
- internalData._importResolve = _importResolve;
843
- internalData._importReject = _importReject;
844
- if (window.FileReader) {
845
- const options = Object.assign({ mode: "insertTop" }, opts, { type, filename });
846
- if (options.remote) {
847
- if (importMethod) {
848
- Promise.resolve(importMethod({ file, options, $table: $xeTable })).then(() => {
849
- _importResolve({ status: true });
850
- }).catch(() => {
851
- _importResolve({ status: true });
852
- });
853
- } else {
854
- _importResolve({ status: true });
855
- }
856
- } else {
857
- const { tableFullColumn } = internalData;
858
- $xeTable.preventEvent(null, "event.import", { file, options, columns: tableFullColumn }, () => {
859
- const reader = new FileReader();
860
- reader.onerror = () => {
861
- errLog("vxe.error.notType", [type]);
862
- _importReject({ status: false });
863
- };
864
- reader.onload = (e) => {
865
- handleImport(e.target.result, options);
866
- };
867
- reader.readAsText(file, options.encoding || "UTF-8");
868
- });
869
- }
870
- } else {
871
- errLog("vxe.error.notExp");
872
- _importResolve({ status: true });
873
- }
874
- });
875
- return rest.then(() => {
876
- if (afterImportMethod) {
877
- afterImportMethod({ status: true, options: opts, $table: $xeTable });
878
- }
879
- }).catch((e) => {
880
- if (afterImportMethod) {
881
- afterImportMethod({ status: false, options: opts, $table: $xeTable });
882
- }
883
- return Promise.reject(e);
884
- });
885
- };
886
- const handleFilterColumns = (exportOpts, column, columns) => {
887
- return columns.some((item) => {
888
- if (isColumnInfo(item)) {
889
- return column.id === item.id;
890
- } else if (XEUtils.isString(item)) {
891
- return column.field === item;
892
- } else {
893
- const colid = item.id || item.colId;
894
- const type = item.type;
895
- const field = item.field;
896
- if (colid) {
897
- return column.id === colid;
898
- } else if (field && type) {
899
- return column.field === field && column.type === type;
900
- } else if (field) {
901
- return column.field === field;
902
- } else if (type) {
903
- return column.type === type;
904
- }
905
- }
906
- return false;
907
- });
908
- };
909
- const handleFilterFields = (exportOpts, column, includeFields, excludeFields) => {
910
- if (excludeFields) {
911
- if (XEUtils.includes(excludeFields, column.field)) {
912
- return false;
913
- }
914
- }
915
- if (includeFields) {
916
- if (XEUtils.includes(includeFields, column.field)) {
917
- return true;
918
- }
919
- return false;
920
- }
921
- return exportOpts.original ? column.field : defaultFilterExportColumn(column);
922
- };
923
- const handleExportAndPrint = (options, isPrint) => {
924
- const { treeConfig, showHeader, showFooter } = props;
925
- const { initStore, isGroup, footerTableData, exportStore, exportParams } = reactData;
926
- const { collectColumn, mergeBodyList, mergeFooterList } = internalData;
927
- const exportOpts = computeExportOpts.value;
928
- const hasTree = treeConfig;
929
- const customOpts = computeCustomOpts.value;
930
- const selectRecords = $xeTable.getCheckboxRecords();
931
- const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {};
932
- const hasFooter = !!footerTableData.length;
933
- const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
934
- const defOpts = Object.assign({
935
- message: true,
936
- isHeader: showHeader,
937
- isTitle: showHeader,
938
- isFooter: showFooter,
939
- isColgroup: isGroup,
940
- isMerge: hasMerge,
941
- useStyle: true,
942
- current: "current",
943
- modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ["all"] : []).concat(["current", "selected", "empty"])
944
- }, options);
945
- const types = defOpts.types || XEUtils.keys(exportOpts._typeMaps);
946
- const modes = defOpts.modes || [];
947
- const checkMethod = customOpts.checkMethod;
948
- const exportColumns = collectColumn.slice(0);
949
- const { columns, excludeFields, includeFields } = defOpts;
950
- const typeList = types.map((value) => {
951
- return {
952
- value,
953
- label: getI18n(`vxe.export.types.${value}`)
954
- };
955
- });
956
- const modeList = modes.map((item) => {
957
- if (item && item.value) {
958
- return {
959
- value: item.value,
960
- label: item.label || item.value
961
- };
962
- }
963
- return {
964
- value: item,
965
- label: getI18n(`vxe.export.modes.${item}`)
966
- };
967
- });
968
- XEUtils.eachTree(exportColumns, (column, index, items, path, parent) => {
969
- const isColGroup = column.children && column.children.length;
970
- let isChecked = false;
971
- if (columns && columns.length) {
972
- isChecked = handleFilterColumns(defOpts, column, columns);
973
- } else if (excludeFields || includeFields) {
974
- isChecked = handleFilterFields(defOpts, column, includeFields, excludeFields);
975
- } else {
976
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
977
- }
978
- column.checked = isChecked;
979
- column.halfChecked = false;
980
- column.disabled = parent && parent.disabled || (checkMethod ? !checkMethod({ $table: $xeTable, column }) : false);
981
- });
982
- Object.assign(exportStore, {
983
- columns: exportColumns,
984
- typeList,
985
- modeList,
986
- hasFooter,
987
- hasMerge,
988
- hasTree,
989
- isPrint,
990
- hasColgroup: isGroup,
991
- visible: true
992
- });
993
- Object.assign(exportParams, {
994
- mode: selectRecords.length ? "selected" : "current"
995
- }, defOpts);
996
- const { filename, sheetName, mode, type } = exportParams;
997
- if (filename) {
998
- if (XEUtils.isFunction(filename)) {
999
- exportParams.filename = filename({
1000
- options: defOpts,
1001
- $table: $xeTable,
1002
- $grid: $xeGrid
1003
- });
1004
- } else {
1005
- exportParams.filename = `${filename}`;
1006
- }
1007
- }
1008
- if (sheetName) {
1009
- if (XEUtils.isFunction(sheetName)) {
1010
- exportParams.sheetName = sheetName({
1011
- options: defOpts,
1012
- $table: $xeTable,
1013
- $grid: $xeGrid
1014
- });
1015
- } else {
1016
- exportParams.sheetName = `${sheetName}`;
1017
- }
1018
- }
1019
- if (!modeList.some((item) => item.value === mode)) {
1020
- exportParams.mode = modeList[0].value;
1021
- }
1022
- if (!typeList.some((item) => item.value === type)) {
1023
- exportParams.type = typeList[0].value;
1024
- }
1025
- initStore.export = true;
1026
- return nextTick();
1027
- };
1028
- const handleCloseExport = () => {
1029
- if (VxeUI.modal) {
1030
- return VxeUI.modal.close("VXE_EXPORT_MODAL");
1031
- }
1032
- return Promise.resolve();
1033
- };
1034
- const exportMethods = {
1035
- /**
1036
- * 导出文件,支持 csv/html/xml/txt
1037
- * 如果是树表格,则默认是导出所有节点
1038
- * 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数转换数据
1039
- * @param {Object} options 参数
1040
- */
1041
- exportData(options) {
1042
- const { treeConfig, showHeader, showFooter } = props;
1043
- const { isGroup } = reactData;
1044
- const { tableFullColumn, afterFullData, collectColumn, mergeBodyList, mergeFooterList } = internalData;
1045
- const exportOpts = computeExportOpts.value;
1046
- const treeOpts = computeTreeOpts.value;
1047
- const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {};
1048
- const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
1049
- const opts = Object.assign({
1050
- message: true,
1051
- isHeader: showHeader,
1052
- isTitle: showHeader,
1053
- isFooter: showFooter,
1054
- isColgroup: isGroup,
1055
- isMerge: hasMerge,
1056
- useStyle: true,
1057
- current: "current",
1058
- modes: (proxyOpts.ajax && proxyOpts.ajax.queryAll ? ["all"] : []).concat(["current", "selected", "empty"]),
1059
- download: true,
1060
- type: "csv"
1061
- // filename: '',
1062
- // sheetName: '',
1063
- // original: false,
1064
- // isAllExpand: false,
1065
- // data: null,
1066
- // remote: false,
1067
- // dataFilterMethod: null,
1068
- // footerFilterMethod: null,
1069
- // exportMethod: null,
1070
- // columnFilterMethod: null,
1071
- // beforeExportMethod: null,
1072
- // afterExportMethod: null
1073
- }, exportOpts, options);
1074
- let { filename, sheetName, type, mode, columns, original, columnFilterMethod, beforeExportMethod, includeFields, excludeFields } = opts;
1075
- let groups = [];
1076
- const selectRecords = $xeTable.getCheckboxRecords();
1077
- if (!mode) {
1078
- mode = selectRecords.length ? "selected" : "current";
1079
- }
1080
- const customCols = columns && columns.length ? columns : XEUtils.searchTree(collectColumn, (column) => {
1081
- const isColGroup = column.children && column.children.length;
1082
- let isChecked = false;
1083
- if (columns && columns.length) {
1084
- isChecked = handleFilterColumns(opts, column, columns);
1085
- } else if (excludeFields || includeFields) {
1086
- isChecked = handleFilterFields(opts, column, includeFields, excludeFields);
1087
- } else {
1088
- isChecked = column.visible && (isColGroup || defaultFilterExportColumn(column));
1089
- }
1090
- return isChecked;
1091
- }, { children: "children", mapChildren: "childNodes", original: true });
1092
- const handleOptions = Object.assign({}, opts, { filename: "", sheetName: "" });
1093
- if (!customCols && !columnFilterMethod) {
1094
- handleOptions.columnFilterMethod = ({ column }) => {
1095
- if (excludeFields) {
1096
- if (XEUtils.includes(excludeFields, column.field)) {
1097
- return false;
1098
- }
1099
- }
1100
- if (includeFields) {
1101
- if (XEUtils.includes(includeFields, column.field)) {
1102
- return true;
1103
- }
1104
- return false;
1105
- }
1106
- return original ? column.field : defaultFilterExportColumn(column);
1107
- };
1108
- }
1109
- if (customCols) {
1110
- handleOptions._isCustomColumn = true;
1111
- groups = XEUtils.searchTree(XEUtils.mapTree(customCols, (item) => {
1112
- let targetColumn;
1113
- if (item) {
1114
- if (isColumnInfo(item)) {
1115
- targetColumn = item;
1116
- } else if (XEUtils.isString(item)) {
1117
- targetColumn = $xeTable.getColumnByField(item);
1118
- } else {
1119
- const colid = item.id || item.colId;
1120
- const type2 = item.type;
1121
- const field = item.field;
1122
- if (colid) {
1123
- targetColumn = $xeTable.getColumnById(colid);
1124
- } else if (field && type2) {
1125
- targetColumn = tableFullColumn.find((column) => column.field === field && column.type === type2);
1126
- } else if (field) {
1127
- targetColumn = $xeTable.getColumnByField(field);
1128
- } else if (type2) {
1129
- targetColumn = tableFullColumn.find((column) => column.type === type2);
1130
- }
1131
- }
1132
- return targetColumn || {};
1133
- }
1134
- }, {
1135
- children: "childNodes",
1136
- mapChildren: "_children"
1137
- }), (column, index) => isColumnInfo(column) && (!columnFilterMethod || columnFilterMethod({ $table: $xeTable, column, $columnIndex: index })), {
1138
- children: "_children",
1139
- mapChildren: "childNodes",
1140
- original: true
1141
- });
1142
- } else {
1143
- groups = XEUtils.searchTree(isGroup ? collectColumn : tableFullColumn, (column, index) => column.visible && (!columnFilterMethod || columnFilterMethod({ $table: $xeTable, column, $columnIndex: index })), { children: "children", mapChildren: "childNodes", original: true });
1144
- }
1145
- const cols = [];
1146
- XEUtils.eachTree(groups, (column) => {
1147
- const isColGroup = column.children && column.children.length;
1148
- if (!isColGroup) {
1149
- cols.push(column);
1150
- }
1151
- }, { children: "childNodes" });
1152
- handleOptions.columns = cols;
1153
- handleOptions.colgroups = convertToRows(groups);
1154
- if (filename) {
1155
- if (XEUtils.isFunction(filename)) {
1156
- handleOptions.filename = filename({
1157
- options: opts,
1158
- $table: $xeTable,
1159
- $grid: $xeGrid
1160
- });
1161
- } else {
1162
- handleOptions.filename = `${filename}`;
1163
- }
1164
- }
1165
- if (!handleOptions.filename) {
1166
- handleOptions.filename = getI18n(handleOptions.original ? "vxe.table.expOriginFilename" : "vxe.table.expFilename", [XEUtils.toDateString(Date.now(), "yyyyMMddHHmmss")]);
1167
- }
1168
- if (sheetName) {
1169
- if (XEUtils.isFunction(sheetName)) {
1170
- handleOptions.sheetName = sheetName({
1171
- options: opts,
1172
- $table: $xeTable,
1173
- $grid: $xeGrid
1174
- });
1175
- } else {
1176
- handleOptions.sheetName = `${sheetName}`;
1177
- }
1178
- }
1179
- if (!handleOptions.sheetName) {
1180
- handleOptions.sheetName = document.title || "";
1181
- }
1182
- if (!handleOptions.exportMethod && !XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)) {
1183
- errLog("vxe.error.notType", [type]);
1184
- const params = { status: false };
1185
- return Promise.reject(params);
1186
- }
1187
- if (!handleOptions.print) {
1188
- if (beforeExportMethod) {
1189
- beforeExportMethod({ options: handleOptions, $table: $xeTable, $grid: $xeGrid });
1190
- }
1191
- }
1192
- if (!handleOptions.data) {
1193
- handleOptions.data = [];
1194
- if (mode === "selected") {
1195
- if (["html", "pdf"].indexOf(type) > -1 && treeConfig) {
1196
- handleOptions.data = XEUtils.searchTree($xeTable.getTableData().fullData, (item) => $xeTable.findRowIndexOf(selectRecords, item) > -1, Object.assign({}, treeOpts, { data: "_row" }));
1197
- } else {
1198
- handleOptions.data = selectRecords;
1199
- }
1200
- } else if (mode === "all") {
1201
- if ($xeGrid && !handleOptions.remote) {
1202
- const gridReactData = $xeGrid.reactData;
1203
- const { computeProxyOpts } = $xeGrid.getComputeMaps();
1204
- const proxyOpts2 = computeProxyOpts.value;
1205
- const { sortData } = gridReactData;
1206
- const { beforeQueryAll, afterQueryAll, ajax = {} } = proxyOpts2;
1207
- const resConfigs = proxyOpts2.response || proxyOpts2.props || {};
1208
- const ajaxMethods = ajax.queryAll;
1209
- const queryAllSuccessMethods = ajax.queryAllSuccess;
1210
- const queryAllErrorMethods = ajax.queryAllError;
1211
- if (ajaxMethods) {
1212
- const params = {
1213
- $table: $xeTable,
1214
- $grid: $xeGrid,
1215
- sort: sortData.length ? sortData[0] : {},
1216
- sorts: sortData,
1217
- filters: gridReactData.filterData,
1218
- form: gridReactData.formData,
1219
- options: handleOptions
1220
- };
1221
- return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).then((rest) => {
1222
- const listProp = resConfigs.list;
1223
- handleOptions.data = (listProp ? XEUtils.isFunction(listProp) ? listProp({ data: rest, $grid: $xeGrid }) : XEUtils.get(rest, listProp) : rest) || [];
1224
- if (afterQueryAll) {
1225
- afterQueryAll(params);
1226
- }
1227
- if (queryAllSuccessMethods) {
1228
- queryAllSuccessMethods(Object.assign(Object.assign({}, params), { response: rest }));
1229
- }
1230
- return handleExport(handleOptions);
1231
- }).catch((rest) => {
1232
- if (queryAllErrorMethods) {
1233
- queryAllErrorMethods(Object.assign(Object.assign({}, params), { response: rest }));
1234
- }
1235
- });
1236
- }
1237
- }
1238
- }
1239
- if (mode === "current") {
1240
- handleOptions.data = afterFullData;
1241
- }
1242
- }
1243
- return handleExport(handleOptions);
1244
- },
1245
- importByFile(file, options) {
1246
- const opts = Object.assign({}, options);
1247
- const { beforeImportMethod } = opts;
1248
- if (beforeImportMethod) {
1249
- beforeImportMethod({ options: opts, $table: $xeTable });
1250
- }
1251
- return handleFileImport(file, opts);
1252
- },
1253
- importData(options) {
1254
- const importOpts = computeImportOpts.value;
1255
- const opts = Object.assign({
1256
- types: XEUtils.keys(importOpts._typeMaps)
1257
- // beforeImportMethod: null,
1258
- // afterImportMethod: null
1259
- }, importOpts, options);
1260
- const { beforeImportMethod, afterImportMethod } = opts;
1261
- if (beforeImportMethod) {
1262
- beforeImportMethod({ options: opts, $table: $xeTable });
1263
- }
1264
- return VxeUI.readFile(opts).catch((e) => {
1265
- if (afterImportMethod) {
1266
- afterImportMethod({ status: false, options: opts, $table: $xeTable });
1267
- }
1268
- return Promise.reject(e);
1269
- }).then((params) => {
1270
- const { file } = params;
1271
- return handleFileImport(file, opts);
1272
- });
1273
- },
1274
- saveFile(options) {
1275
- return VxeUI.saveFile(options);
1276
- },
1277
- readFile(options) {
1278
- return VxeUI.readFile(options);
1279
- },
1280
- print(options) {
1281
- const printOpts = computePrintOpts.value;
1282
- const opts = Object.assign({
1283
- original: false
1284
- // beforePrintMethod
1285
- }, printOpts, options, {
1286
- type: "html",
1287
- download: false,
1288
- remote: false,
1289
- print: true
1290
- });
1291
- const { sheetName } = opts;
1292
- let printTitle = "";
1293
- if (sheetName) {
1294
- if (XEUtils.isFunction(sheetName)) {
1295
- printTitle = sheetName({
1296
- options: opts,
1297
- $table: $xeTable,
1298
- $grid: $xeGrid
1299
- });
1300
- } else {
1301
- printTitle = `${sheetName}`;
1302
- }
1303
- }
1304
- if (!printTitle) {
1305
- printTitle = document.title || "";
1306
- }
1307
- const beforePrintMethod = opts.beforePrintMethod;
1308
- const tableHtml = opts.html || opts.content;
1309
- return new Promise((resolve, reject) => {
1310
- if (VxeUI.print) {
1311
- if (tableHtml) {
1312
- resolve(VxeUI.print({
1313
- title: printTitle,
1314
- html: tableHtml,
1315
- customStyle: opts.style,
1316
- beforeMethod: beforePrintMethod ? ({ html }) => {
1317
- return beforePrintMethod({
1318
- html,
1319
- content: html,
1320
- options: opts,
1321
- $table: $xeTable
1322
- });
1323
- } : void 0
1324
- }));
1325
- } else {
1326
- resolve(exportMethods.exportData(opts).then(({ content }) => {
1327
- return VxeUI.print({
1328
- title: printTitle,
1329
- html: content,
1330
- customStyle: opts.style,
1331
- beforeMethod: beforePrintMethod ? ({ html }) => {
1332
- return beforePrintMethod({
1333
- html,
1334
- content: html,
1335
- options: opts,
1336
- $table: $xeTable
1337
- });
1338
- } : void 0
1339
- });
1340
- }));
1341
- }
1342
- } else {
1343
- const e = { status: false };
1344
- reject(e);
1345
- }
1346
- });
1347
- },
1348
- getPrintHtml(options) {
1349
- const printOpts = computePrintOpts.value;
1350
- const opts = Object.assign({
1351
- original: false
1352
- // beforePrintMethod
1353
- }, printOpts, options, {
1354
- type: "html",
1355
- download: false,
1356
- remote: false,
1357
- print: true
1358
- });
1359
- return $xeTable.exportData(opts).then(({ content }) => {
1360
- return {
1361
- html: content
1362
- };
1363
- });
1364
- },
1365
- closeImport() {
1366
- if (VxeUI.modal) {
1367
- return VxeUI.modal.close("VXE_IMPORT_MODAL");
1368
- }
1369
- return Promise.resolve();
1370
- },
1371
- openImport(options) {
1372
- const { treeConfig, importConfig } = props;
1373
- const { initStore, importStore, importParams } = reactData;
1374
- const importOpts = computeImportOpts.value;
1375
- const defOpts = Object.assign({
1376
- mode: "insertTop",
1377
- message: true,
1378
- types: XEUtils.keys(importOpts._typeMaps),
1379
- modes: ["insertTop", "covering"]
1380
- }, importOpts, options);
1381
- const types = defOpts.types || [];
1382
- const modes = defOpts.modes || [];
1383
- const isTree = !!treeConfig;
1384
- if (isTree) {
1385
- if (defOpts.message) {
1386
- if (VxeUI.modal) {
1387
- VxeUI.modal.message({ content: getI18n("vxe.error.treeNotImp"), status: "error" });
1388
- }
1389
- }
1390
- return;
1391
- }
1392
- if (!importConfig) {
1393
- errLog("vxe.error.reqProp", ["import-config"]);
1394
- }
1395
- const typeList = types.map((value) => {
1396
- return {
1397
- value,
1398
- label: getI18n(`vxe.export.types.${value}`)
1399
- };
1400
- });
1401
- const modeList = modes.map((item) => {
1402
- if (item && item.value) {
1403
- return {
1404
- value: item.value,
1405
- label: item.label || item.value
1406
- };
1407
- }
1408
- return {
1409
- value: item,
1410
- label: getI18n(`vxe.import.modes.${item}`)
1411
- };
1412
- });
1413
- Object.assign(importStore, {
1414
- file: null,
1415
- type: "",
1416
- filename: "",
1417
- modeList,
1418
- typeList,
1419
- visible: true
1420
- });
1421
- Object.assign(importParams, defOpts);
1422
- if (!modeList.some((item) => item.value === importParams.mode)) {
1423
- importParams.mode = modeList[0].value;
1424
- }
1425
- initStore.import = true;
1426
- },
1427
- closeExport: handleCloseExport,
1428
- openExport(options) {
1429
- const exportOpts = computeExportOpts.value;
1430
- const defOpts = Object.assign({
1431
- message: true,
1432
- types: XEUtils.keys(exportOpts._typeMaps)
1433
- }, exportOpts, options);
1434
- if (!props.exportConfig) {
1435
- errLog("vxe.error.reqProp", ["export-config"]);
1436
- }
1437
- handleExportAndPrint(defOpts);
1438
- },
1439
- closePrint: handleCloseExport,
1440
- openPrint(options) {
1441
- const printOpts = computePrintOpts.value;
1442
- const defOpts = Object.assign({
1443
- message: true
1444
- }, printOpts, options);
1445
- if (!props.printConfig) {
1446
- errLog("vxe.error.reqProp", ["print-config"]);
1447
- }
1448
- handleExportAndPrint(defOpts, true);
1449
- }
1450
- };
1451
- return exportMethods;
1452
- },
1453
- setupGrid($xeGrid) {
1454
- return $xeGrid.extendTableMethods(tableExportMethodKeys);
1455
- }
1456
- });