ele-admin-plus 1.1.9-beta.7 → 1.1.9-beta.9

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 (307) hide show
  1. package/es/ele-alert/index.js +2 -4
  2. package/es/ele-app/el.d.ts +6 -1
  3. package/es/ele-app/plus.d.ts +12 -0
  4. package/es/ele-avatar-group/index.d.ts +1 -1
  5. package/es/ele-avatar-group/index.js +1 -3
  6. package/es/ele-basic-select/index.d.ts +8 -8
  7. package/es/ele-basic-select/index.js +17 -13
  8. package/es/ele-check-card/index.d.ts +2 -2
  9. package/es/ele-check-card/index.js +0 -5
  10. package/es/ele-config-provider/components/receiver-view.d.ts +17 -0
  11. package/es/ele-config-provider/components/receiver-view.js +45 -0
  12. package/es/ele-config-provider/index.d.ts +2 -2
  13. package/es/ele-config-provider/props.d.ts +3 -3
  14. package/es/ele-config-provider/props.js +2 -2
  15. package/es/ele-config-provider/types.d.ts +2 -0
  16. package/es/ele-copyable/index.d.ts +4 -6
  17. package/es/ele-copyable/index.js +1 -5
  18. package/es/ele-cropper/index.d.ts +6 -6
  19. package/es/ele-cropper/index.js +1 -5
  20. package/es/ele-dashboard/index.d.ts +0 -1
  21. package/es/ele-dashboard/index.js +8 -17
  22. package/es/ele-data-table/index.d.ts +2 -2
  23. package/es/ele-data-table/index.js +8 -0
  24. package/es/ele-data-table/style/index.scss +4 -0
  25. package/es/ele-data-table/types.d.ts +10 -0
  26. package/es/ele-data-table/util.d.ts +5 -0
  27. package/es/ele-data-table/util.js +14 -0
  28. package/es/ele-dot/index.d.ts +2 -4
  29. package/es/ele-dot/index.js +4 -10
  30. package/es/ele-drawer/index.d.ts +6 -6
  31. package/es/ele-drawer/index.js +14 -11
  32. package/es/ele-dropdown/index.js +6 -10
  33. package/es/ele-dropdown/style/index.scss +2 -2
  34. package/es/ele-edit-tag/index.d.ts +6 -0
  35. package/es/ele-edit-tag/index.js +17 -15
  36. package/es/ele-edit-tag/props.d.ts +4 -0
  37. package/es/ele-edit-tag/props.js +5 -1
  38. package/es/ele-edit-tag/style/index.scss +13 -0
  39. package/es/ele-ellipsis/index.d.ts +3 -3
  40. package/es/ele-ellipsis/index.js +2 -4
  41. package/es/ele-file-list/components/file-grid-item.js +16 -9
  42. package/es/ele-file-list/components/file-grid.js +54 -50
  43. package/es/ele-file-list/components/file-table-item.js +20 -15
  44. package/es/ele-file-list/components/file-table.js +92 -86
  45. package/es/ele-file-list/index.d.ts +4 -4
  46. package/es/ele-file-list/index.js +1 -11
  47. package/es/ele-file-list-tool/index.d.ts +3 -3
  48. package/es/ele-file-list-tool/index.js +2 -2
  49. package/es/ele-icon-select/index.d.ts +22 -10
  50. package/es/ele-icon-select/index.js +33 -10
  51. package/es/ele-icon-select/props.d.ts +6 -1
  52. package/es/ele-icon-select/props.js +6 -1
  53. package/es/ele-icon-select/style/index.js +1 -0
  54. package/es/ele-icon-select/style/index.scss +16 -2
  55. package/es/ele-loading/index.d.ts +0 -2
  56. package/es/ele-loading/index.js +32 -30
  57. package/es/ele-map-picker/components/map-view.d.ts +2 -2
  58. package/es/ele-menus/index.d.ts +3 -3
  59. package/es/ele-menus/index.js +6 -7
  60. package/es/ele-menus/style/index.js +2 -0
  61. package/es/ele-menus/style/index.scss +2 -1
  62. package/es/ele-modal/index.d.ts +2 -2
  63. package/es/ele-modal/index.js +14 -8
  64. package/es/ele-modal/style/index.scss +18 -29
  65. package/es/ele-pagination/index.d.ts +10 -8
  66. package/es/ele-pagination/index.js +19 -13
  67. package/es/ele-pagination/props.d.ts +3 -2
  68. package/es/ele-pagination/props.js +2 -0
  69. package/es/ele-pagination/style/index.scss +9 -0
  70. package/es/ele-pagination/types.d.ts +6 -1
  71. package/es/ele-popconfirm/style/index.js +1 -1
  72. package/es/ele-popover/style/index.js +0 -1
  73. package/es/ele-printer/index.d.ts +6 -6
  74. package/es/ele-printer/index.js +11 -11
  75. package/es/ele-printer/util.js +1 -1
  76. package/es/ele-pro-layout/components/pro-sidebox.js +3 -1
  77. package/es/ele-pro-layout/index.d.ts +26 -26
  78. package/es/ele-pro-layout/index.js +7 -14
  79. package/es/ele-pro-table/components/table-tools.d.ts +99 -8
  80. package/es/ele-pro-table/components/table-tools.js +125 -8
  81. package/es/ele-pro-table/components/tool-column-list.js +1 -0
  82. package/es/ele-pro-table/components/tool-column.js +6 -2
  83. package/es/ele-pro-table/components/tool-export.d.ts +457 -0
  84. package/es/ele-pro-table/components/tool-export.js +451 -0
  85. package/es/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
  86. package/es/ele-pro-table/components/tool-print-body-cell.js +88 -0
  87. package/es/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
  88. package/es/ele-pro-table/components/tool-print-header-cell.js +88 -0
  89. package/es/ele-pro-table/components/tool-print.d.ts +899 -0
  90. package/es/ele-pro-table/components/tool-print.js +547 -0
  91. package/es/ele-pro-table/index.d.ts +31 -12
  92. package/es/ele-pro-table/index.js +57 -14
  93. package/es/ele-pro-table/props.d.ts +14 -8
  94. package/es/ele-pro-table/props.js +6 -2
  95. package/es/ele-pro-table/style/index.js +9 -0
  96. package/es/ele-pro-table/style/index.scss +33 -5
  97. package/es/ele-pro-table/types.d.ts +147 -5
  98. package/es/ele-pro-table/util.d.ts +47 -3
  99. package/es/ele-pro-table/util.js +119 -13
  100. package/es/ele-segmented/index.js +1 -3
  101. package/es/ele-split-panel/index.d.ts +9 -8
  102. package/es/ele-split-panel/index.js +63 -59
  103. package/es/ele-steps/index.d.ts +0 -1
  104. package/es/ele-steps/index.js +2 -4
  105. package/es/ele-table/index.d.ts +3 -0
  106. package/es/ele-table/index.js +2 -1
  107. package/es/ele-table/props.d.ts +2 -0
  108. package/es/ele-table/props.js +3 -1
  109. package/es/ele-table/style/index.scss +35 -0
  110. package/es/ele-table-select/index.d.ts +1 -1
  111. package/es/ele-tabs/index.d.ts +7 -5
  112. package/es/ele-tabs/index.js +1 -6
  113. package/es/ele-tabs/props.d.ts +1 -1
  114. package/es/ele-tool/index.d.ts +1 -1
  115. package/es/ele-tool/index.js +2 -4
  116. package/es/ele-tool/props.d.ts +7 -0
  117. package/es/ele-tool/props.js +5 -0
  118. package/es/ele-tooltip/index.js +9 -13
  119. package/es/ele-tooltip/style/css-var.scss +4 -0
  120. package/es/ele-tooltip/style/index.scss +23 -0
  121. package/es/ele-tour/index.js +80 -77
  122. package/es/ele-upload-list/components/list-item.d.ts +1 -1
  123. package/es/ele-upload-list/index.d.ts +6 -4
  124. package/es/ele-upload-list/index.js +2 -3
  125. package/es/ele-virtual-table/components/body-cell.d.ts +0 -1
  126. package/es/ele-virtual-table/components/body-cell.js +32 -47
  127. package/es/ele-virtual-table/components/footer-row.d.ts +2 -2
  128. package/es/ele-virtual-table/components/footer-row.js +15 -10
  129. package/es/ele-virtual-table/index.d.ts +1 -1
  130. package/es/ele-virtual-table/types.d.ts +15 -1
  131. package/es/ele-virtual-table/util.d.ts +26 -3
  132. package/es/ele-virtual-table/util.js +44 -0
  133. package/es/ele-watermark/index.d.ts +9 -0
  134. package/es/ele-watermark/index.js +1 -1
  135. package/es/ele-watermark/props.d.ts +5 -0
  136. package/es/ele-watermark/props.js +5 -0
  137. package/es/icons/PrinterOutlined.d.ts +2 -0
  138. package/es/icons/PrinterOutlined.js +29 -0
  139. package/es/icons/VerticalLeftOutlined.js +2 -2
  140. package/es/icons/VerticalRightOutlined.js +2 -2
  141. package/es/icons/index.d.ts +1 -0
  142. package/es/icons/index.js +58 -56
  143. package/es/lang/en_US.js +13 -2
  144. package/es/lang/zh_CN.js +13 -2
  145. package/es/lang/zh_TW.js +12 -1
  146. package/es/style/index.scss +1 -43
  147. package/es/style/plus.scss +43 -0
  148. package/es/style/themes/default.scss +5 -2
  149. package/es/style/themes/theme-util.scss +0 -2
  150. package/es/utils/resolvers.d.ts +2 -2
  151. package/es/utils/resolvers.js +33 -20
  152. package/lib/ele-alert/index.cjs +2 -4
  153. package/lib/ele-app/el.d.ts +6 -1
  154. package/lib/ele-app/plus.d.ts +12 -0
  155. package/lib/ele-avatar-group/index.cjs +1 -3
  156. package/lib/ele-avatar-group/index.d.ts +1 -1
  157. package/lib/ele-basic-select/index.cjs +16 -12
  158. package/lib/ele-basic-select/index.d.ts +8 -8
  159. package/lib/ele-check-card/index.cjs +0 -5
  160. package/lib/ele-check-card/index.d.ts +2 -2
  161. package/lib/ele-config-provider/components/receiver-view.cjs +44 -0
  162. package/lib/ele-config-provider/components/receiver-view.d.ts +17 -0
  163. package/lib/ele-config-provider/index.d.ts +2 -2
  164. package/lib/ele-config-provider/props.cjs +2 -2
  165. package/lib/ele-config-provider/props.d.ts +3 -3
  166. package/lib/ele-config-provider/types.d.ts +2 -0
  167. package/lib/ele-copyable/index.cjs +0 -4
  168. package/lib/ele-copyable/index.d.ts +4 -6
  169. package/lib/ele-cropper/index.cjs +0 -4
  170. package/lib/ele-cropper/index.d.ts +6 -6
  171. package/lib/ele-dashboard/index.cjs +7 -16
  172. package/lib/ele-dashboard/index.d.ts +0 -1
  173. package/lib/ele-data-table/index.cjs +8 -0
  174. package/lib/ele-data-table/index.d.ts +2 -2
  175. package/lib/ele-data-table/style/index.scss +4 -0
  176. package/lib/ele-data-table/types.d.ts +10 -0
  177. package/lib/ele-data-table/util.cjs +14 -0
  178. package/lib/ele-data-table/util.d.ts +5 -0
  179. package/lib/ele-dot/index.cjs +3 -9
  180. package/lib/ele-dot/index.d.ts +2 -4
  181. package/lib/ele-drawer/index.cjs +13 -10
  182. package/lib/ele-drawer/index.d.ts +6 -6
  183. package/lib/ele-dropdown/index.cjs +6 -10
  184. package/lib/ele-dropdown/style/index.scss +2 -2
  185. package/lib/ele-edit-tag/index.cjs +16 -14
  186. package/lib/ele-edit-tag/index.d.ts +6 -0
  187. package/lib/ele-edit-tag/props.cjs +5 -1
  188. package/lib/ele-edit-tag/props.d.ts +4 -0
  189. package/lib/ele-edit-tag/style/index.scss +13 -0
  190. package/lib/ele-ellipsis/index.cjs +2 -4
  191. package/lib/ele-ellipsis/index.d.ts +3 -3
  192. package/lib/ele-file-list/components/file-grid-item.cjs +15 -8
  193. package/lib/ele-file-list/components/file-grid.cjs +53 -49
  194. package/lib/ele-file-list/components/file-table-item.cjs +19 -14
  195. package/lib/ele-file-list/components/file-table.cjs +91 -85
  196. package/lib/ele-file-list/index.cjs +0 -10
  197. package/lib/ele-file-list/index.d.ts +4 -4
  198. package/lib/ele-file-list-tool/index.cjs +2 -2
  199. package/lib/ele-file-list-tool/index.d.ts +3 -3
  200. package/lib/ele-icon-select/index.cjs +39 -16
  201. package/lib/ele-icon-select/index.d.ts +22 -10
  202. package/lib/ele-icon-select/props.cjs +6 -1
  203. package/lib/ele-icon-select/props.d.ts +6 -1
  204. package/lib/ele-icon-select/style/index.cjs +1 -0
  205. package/lib/ele-icon-select/style/index.scss +16 -2
  206. package/lib/ele-loading/index.cjs +31 -29
  207. package/lib/ele-loading/index.d.ts +0 -2
  208. package/lib/ele-map-picker/components/map-view.d.ts +2 -2
  209. package/lib/ele-menus/index.cjs +6 -7
  210. package/lib/ele-menus/index.d.ts +3 -3
  211. package/lib/ele-menus/style/index.cjs +2 -0
  212. package/lib/ele-menus/style/index.scss +2 -1
  213. package/lib/ele-modal/index.cjs +13 -7
  214. package/lib/ele-modal/index.d.ts +2 -2
  215. package/lib/ele-modal/style/index.scss +18 -29
  216. package/lib/ele-pagination/index.cjs +18 -12
  217. package/lib/ele-pagination/index.d.ts +10 -8
  218. package/lib/ele-pagination/props.cjs +2 -0
  219. package/lib/ele-pagination/props.d.ts +3 -2
  220. package/lib/ele-pagination/style/index.scss +9 -0
  221. package/lib/ele-pagination/types.d.ts +6 -1
  222. package/lib/ele-popconfirm/style/index.cjs +1 -1
  223. package/lib/ele-popover/style/index.cjs +0 -1
  224. package/lib/ele-printer/index.cjs +10 -10
  225. package/lib/ele-printer/index.d.ts +6 -6
  226. package/lib/ele-printer/util.cjs +1 -1
  227. package/lib/ele-pro-layout/components/pro-sidebox.cjs +3 -1
  228. package/lib/ele-pro-layout/index.cjs +6 -13
  229. package/lib/ele-pro-layout/index.d.ts +26 -26
  230. package/lib/ele-pro-table/components/table-tools.cjs +124 -7
  231. package/lib/ele-pro-table/components/table-tools.d.ts +99 -8
  232. package/lib/ele-pro-table/components/tool-column-list.cjs +1 -0
  233. package/lib/ele-pro-table/components/tool-column.cjs +6 -2
  234. package/lib/ele-pro-table/components/tool-export.cjs +450 -0
  235. package/lib/ele-pro-table/components/tool-export.d.ts +457 -0
  236. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +87 -0
  237. package/lib/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
  238. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +87 -0
  239. package/lib/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
  240. package/lib/ele-pro-table/components/tool-print.cjs +546 -0
  241. package/lib/ele-pro-table/components/tool-print.d.ts +899 -0
  242. package/lib/ele-pro-table/index.cjs +56 -13
  243. package/lib/ele-pro-table/index.d.ts +31 -12
  244. package/lib/ele-pro-table/props.cjs +6 -2
  245. package/lib/ele-pro-table/props.d.ts +14 -8
  246. package/lib/ele-pro-table/style/index.cjs +9 -0
  247. package/lib/ele-pro-table/style/index.scss +33 -5
  248. package/lib/ele-pro-table/types.d.ts +147 -5
  249. package/lib/ele-pro-table/util.cjs +119 -13
  250. package/lib/ele-pro-table/util.d.ts +47 -3
  251. package/lib/ele-segmented/index.cjs +1 -3
  252. package/lib/ele-split-panel/index.cjs +62 -58
  253. package/lib/ele-split-panel/index.d.ts +9 -8
  254. package/lib/ele-steps/index.cjs +2 -4
  255. package/lib/ele-steps/index.d.ts +0 -1
  256. package/lib/ele-table/index.cjs +2 -1
  257. package/lib/ele-table/index.d.ts +3 -0
  258. package/lib/ele-table/props.cjs +3 -1
  259. package/lib/ele-table/props.d.ts +2 -0
  260. package/lib/ele-table/style/index.scss +35 -0
  261. package/lib/ele-table-select/index.d.ts +1 -1
  262. package/lib/ele-tabs/index.cjs +1 -6
  263. package/lib/ele-tabs/index.d.ts +7 -5
  264. package/lib/ele-tabs/props.d.ts +1 -1
  265. package/lib/ele-tool/index.cjs +1 -3
  266. package/lib/ele-tool/index.d.ts +1 -1
  267. package/lib/ele-tool/props.cjs +5 -0
  268. package/lib/ele-tool/props.d.ts +7 -0
  269. package/lib/ele-tooltip/index.cjs +9 -13
  270. package/lib/ele-tooltip/style/css-var.scss +4 -0
  271. package/lib/ele-tooltip/style/index.scss +23 -0
  272. package/lib/ele-tour/index.cjs +79 -76
  273. package/lib/ele-upload-list/components/list-item.d.ts +1 -1
  274. package/lib/ele-upload-list/index.cjs +1 -2
  275. package/lib/ele-upload-list/index.d.ts +6 -4
  276. package/lib/ele-virtual-table/components/body-cell.cjs +31 -46
  277. package/lib/ele-virtual-table/components/body-cell.d.ts +0 -1
  278. package/lib/ele-virtual-table/components/footer-row.cjs +13 -8
  279. package/lib/ele-virtual-table/components/footer-row.d.ts +2 -2
  280. package/lib/ele-virtual-table/index.d.ts +1 -1
  281. package/lib/ele-virtual-table/types.d.ts +15 -1
  282. package/lib/ele-virtual-table/util.cjs +44 -0
  283. package/lib/ele-virtual-table/util.d.ts +26 -3
  284. package/lib/ele-watermark/index.cjs +1 -1
  285. package/lib/ele-watermark/index.d.ts +9 -0
  286. package/lib/ele-watermark/props.cjs +5 -0
  287. package/lib/ele-watermark/props.d.ts +5 -0
  288. package/lib/icons/PrinterOutlined.cjs +28 -0
  289. package/lib/icons/PrinterOutlined.d.ts +2 -0
  290. package/lib/icons/VerticalLeftOutlined.cjs +2 -2
  291. package/lib/icons/VerticalRightOutlined.cjs +2 -2
  292. package/lib/icons/index.cjs +2 -0
  293. package/lib/icons/index.d.ts +1 -0
  294. package/lib/lang/en_US.cjs +13 -2
  295. package/lib/lang/zh_CN.cjs +13 -2
  296. package/lib/lang/zh_TW.cjs +12 -1
  297. package/lib/style/index.scss +1 -43
  298. package/lib/style/plus.scss +43 -0
  299. package/lib/style/themes/default.scss +5 -2
  300. package/lib/style/themes/theme-util.scss +0 -2
  301. package/lib/utils/resolvers.cjs +33 -20
  302. package/lib/utils/resolvers.d.ts +2 -2
  303. package/package.json +1 -1
  304. package/es/ele-popover/style/css-var.scss +0 -8
  305. package/es/ele-popover/style/index.scss +0 -27
  306. package/lib/ele-popover/style/css-var.scss +0 -8
  307. package/lib/ele-popover/style/index.scss +0 -27
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, computed, watch, onMounted, nextTick, resolveComponent, openBlock, createBlock, normalizeProps, guardReactiveProps, withCtx, mergeProps as mergeProps$1, renderSlot, createSlots, renderList, createCommentVNode, createElementBlock, normalizeStyle } from "vue";
2
2
  import { pick } from "../utils/core";
3
- import { useGlobalProps, useLicense, UNAUTHORIZED_TIP } from "../ele-config-provider/receiver";
3
+ import { useGlobalProps } from "../ele-config-provider/receiver";
4
4
  import EleLoading from "../ele-loading/index";
5
5
  import ElePagination from "../ele-pagination/index";
6
6
  import { dataTablePropKeys } from "../ele-data-table/props";
@@ -27,7 +27,6 @@ const _sfc_main = defineComponent({
27
27
  const events = useEmits(emit);
28
28
  const methods = useMethods(() => getTableRef());
29
29
  const globalProps = useGlobalProps("table");
30
- const { authenticated } = useLicense();
31
30
  const tableState = {
32
31
  sorter: props.defaultSort ?? {},
33
32
  filter: getDefaultFilter(props.columns),
@@ -107,9 +106,41 @@ const _sfc_main = defineComponent({
107
106
  }
108
107
  return tools || [];
109
108
  });
110
- const rootProps = computed(() => {
109
+ const toolExportConfig = computed(() => {
110
+ const globalExportConfig = globalProps.value.exportConfig || {};
111
+ const userExportConfig = props.exportConfig || {};
112
+ return {
113
+ ...globalExportConfig,
114
+ ...userExportConfig,
115
+ modalProps: {
116
+ ...globalExportConfig.modalProps || {},
117
+ ...userExportConfig.modalProps || {}
118
+ }
119
+ };
120
+ });
121
+ const toolPrintConfig = computed(() => {
122
+ const globalPrintConfig = globalProps.value.printConfig || {};
123
+ const userPrintConfig = props.printConfig || {};
124
+ return {
125
+ ...globalPrintConfig,
126
+ ...userPrintConfig,
127
+ modalProps: {
128
+ ...globalPrintConfig.modalProps || {},
129
+ ...userPrintConfig.modalProps || {}
130
+ },
131
+ printerProps: {
132
+ ...globalPrintConfig.printerProps || {},
133
+ ...userPrintConfig.printerProps || {}
134
+ },
135
+ tableProps: {
136
+ ...globalPrintConfig.tableProps || {},
137
+ ...userPrintConfig.tableProps || {}
138
+ }
139
+ };
140
+ });
141
+ const loadingProps = computed(() => {
111
142
  const zIndex = props.maximizedIndex ?? globalProps.value.maximizedIndex;
112
- const option = {
143
+ return {
113
144
  ...props.loadingProps || {},
114
145
  loading: tableLoading.value,
115
146
  class: [
@@ -119,13 +150,8 @@ const _sfc_main = defineComponent({
119
150
  ],
120
151
  style: tableMaximized.value ? { zIndex } : void 0
121
152
  };
122
- return option;
123
153
  });
124
154
  const reload = (option, parent, resolve) => {
125
- if (!authenticated.value) {
126
- errorText.value = UNAUTHORIZED_TIP;
127
- return;
128
- }
129
155
  if (option) {
130
156
  if (option.page) {
131
157
  tablePage.value = option.page;
@@ -217,7 +243,7 @@ const _sfc_main = defineComponent({
217
243
  if (resolve) {
218
244
  resolve(data);
219
245
  } else {
220
- if (isAutoAmend(props.pagination, globalProps.value.pagination) && !data.length && total && tablePage.value && tableLimit.value) {
246
+ if (isAutoAmend(props.pagination, globalProps.value.pagination) && !data.length && total && "*" !== total && tablePage.value && tableLimit.value) {
221
247
  const maxPage = Math.ceil(total / tableLimit.value);
222
248
  if (maxPage && tablePage.value > maxPage) {
223
249
  tablePage.value = maxPage;
@@ -437,13 +463,16 @@ const _sfc_main = defineComponent({
437
463
  return {
438
464
  ...methods,
439
465
  tableViewRef,
466
+ tableData,
440
467
  tableSize,
441
468
  tableMaximized,
442
469
  tableIndex,
443
470
  paginationProps,
444
471
  tableProps,
445
472
  toolNames,
446
- rootProps,
473
+ toolExportConfig,
474
+ toolPrintConfig,
475
+ loadingProps,
447
476
  onRefresh,
448
477
  onSizeChange,
449
478
  onColumnsChange,
@@ -474,21 +503,35 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
474
503
  const _component_EleDataTable = resolveComponent("EleDataTable");
475
504
  const _component_ElePagination = resolveComponent("ElePagination");
476
505
  const _component_EleLoading = resolveComponent("EleLoading");
477
- return openBlock(), createBlock(_component_EleLoading, normalizeProps(guardReactiveProps(_ctx.rootProps)), {
506
+ return openBlock(), createBlock(_component_EleLoading, normalizeProps(guardReactiveProps(_ctx.loadingProps)), {
478
507
  default: withCtx(() => [
479
508
  _ctx.toolbar ? (openBlock(), createBlock(_component_EleToolbar, normalizeProps(mergeProps$1({ key: 0 }, _ctx.toolbar === true ? {} : _ctx.toolbar)), {
480
509
  tools: withCtx(() => [
481
510
  renderSlot(_ctx.$slots, "tools"),
482
511
  _ctx.toolNames && _ctx.toolNames.length ? (openBlock(), createBlock(_component_TableTools, {
483
512
  key: 0,
513
+ tools: _ctx.toolNames,
484
514
  size: _ctx.tableSize,
485
515
  columns: _ctx.columns,
486
- tools: _ctx.toolNames,
487
516
  columnSortable: _ctx.columnSortable,
488
517
  columnFixed: _ctx.columnFixed,
489
518
  maximized: _ctx.tableMaximized,
490
519
  cacheKey: _ctx.cacheKey,
491
520
  locale: _ctx.locale,
521
+ selections: _ctx.selections,
522
+ pageData: _ctx.tableData,
523
+ spanMethod: _ctx.spanMethod,
524
+ showSummary: _ctx.showSummary,
525
+ sumText: _ctx.sumText,
526
+ summaryMethod: _ctx.summaryMethod,
527
+ cellStyle: _ctx.cellStyle,
528
+ cellClassName: _ctx.cellClassName,
529
+ headerCellStyle: _ctx.headerCellStyle,
530
+ headerCellClassName: _ctx.headerCellClassName,
531
+ pageIndex: _ctx.tableIndex,
532
+ fetch: _ctx.fetch,
533
+ exportConfig: _ctx.toolExportConfig,
534
+ printConfig: _ctx.toolPrintConfig,
492
535
  onReload: _ctx.onRefresh,
493
536
  "onUpdate:size": _ctx.onSizeChange,
494
537
  "onUpdate:columns": _ctx.onColumnsChange,
@@ -511,7 +554,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
511
554
  ])
512
555
  };
513
556
  })
514
- ]), 1032, ["size", "columns", "tools", "columnSortable", "columnFixed", "maximized", "cacheKey", "locale", "onReload", "onUpdate:size", "onUpdate:columns", "onUpdate:maximized"])) : createCommentVNode("", true)
557
+ ]), 1032, ["tools", "size", "columns", "columnSortable", "columnFixed", "maximized", "cacheKey", "locale", "selections", "pageData", "spanMethod", "showSummary", "sumText", "summaryMethod", "cellStyle", "cellClassName", "headerCellStyle", "headerCellClassName", "pageIndex", "fetch", "exportConfig", "printConfig", "onReload", "onUpdate:size", "onUpdate:columns", "onUpdate:maximized"])) : createCommentVNode("", true)
515
558
  ]),
516
559
  default: withCtx(() => [
517
560
  renderSlot(_ctx.$slots, "toolbar")
@@ -1,7 +1,7 @@
1
1
  import type { PropType, ExtractPropTypes } from 'vue';
2
2
  import type { EleLoadingProps, EleToolbarProps } from '../ele-app/plus';
3
3
  import type { DataItem, Columns, TableSize } from '../ele-data-table/types';
4
- import type { Where, Datasource, RequestOption, ResponseOption, ParseData, DoneParams, TablePagination, TableLocale } from './types';
4
+ import type { Where, Datasource, RequestOption, ResponseOption, ParseData, DoneParams, TablePagination, TableLocale, ExportConfig, PrintConfig } from './types';
5
5
  /**
6
6
  * 属性
7
7
  */
@@ -78,10 +78,16 @@ export declare const proTableProps: {
78
78
  cacheKey: StringConstructor;
79
79
  /** 是否虚拟滚动 */
80
80
  virtual: BooleanConstructor;
81
- /** 行高 */
81
+ /** 虚拟滚动表格行高 */
82
82
  rowHeight: NumberConstructor;
83
83
  /** 国际化 */
84
84
  locale: PropType<Partial<TableLocale>>;
85
+ /** 导出配置 */
86
+ exportConfig: PropType<ExportConfig>;
87
+ /** 打印配置 */
88
+ printConfig: PropType<PrintConfig>;
89
+ width: (StringConstructor | NumberConstructor)[];
90
+ height: (StringConstructor | NumberConstructor)[];
85
91
  size: {
86
92
  readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", never>>;
87
93
  readonly required: false;
@@ -97,13 +103,11 @@ export declare const proTableProps: {
97
103
  type: StringConstructor;
98
104
  default: string;
99
105
  };
100
- width: (StringConstructor | NumberConstructor)[];
101
106
  lazy: BooleanConstructor;
102
107
  columns: {
103
108
  type: PropType<Columns>;
104
109
  required: boolean;
105
110
  };
106
- height: (StringConstructor | NumberConstructor)[];
107
111
  scrollbarAlwaysOn: {
108
112
  type: BooleanConstructor;
109
113
  default: boolean;
@@ -173,17 +177,18 @@ export declare const proTableProps: {
173
177
  default: string;
174
178
  };
175
179
  flexible: BooleanConstructor;
180
+ sticky: BooleanConstructor;
176
181
  headerEllipsis: {
177
182
  type: BooleanConstructor;
178
183
  default: boolean;
179
184
  };
180
185
  slotNormalize: {
181
186
  type: BooleanConstructor;
182
- default: boolean; /** 自定义请求参数名称 */
187
+ default: boolean;
183
188
  };
184
- sticky: BooleanConstructor;
185
189
  bottomLine: {
186
190
  type: BooleanConstructor;
191
+ /** 自定义响应参数名称 */
187
192
  default: boolean;
188
193
  };
189
194
  emptyProps: {
@@ -223,14 +228,15 @@ export declare const proTableEmits: {
223
228
  cellContextmenu: (_row: DataItem, _column: import("./types").Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
224
229
  rowClick: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
225
230
  rowContextmenu: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
231
+ /** 导出配置 */
226
232
  rowDblclick: (_row: DataItem, _column: import("./types").Column, _e: MouseEvent) => boolean;
227
233
  headerClick: (_column: import("./types").Column, _e: MouseEvent) => boolean;
228
234
  headerContextmenu: (_column: import("./types").Column, _e: MouseEvent) => boolean;
229
235
  sortChange: (_sorter: import("./types").Sorter) => boolean;
230
236
  filterChange: (_filter: import("./types").Filter) => boolean;
231
237
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
232
- headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean; /** 表格最大化切换事件 */
238
+ headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean;
233
239
  expandChange: (_row: DataItem, _expanded: boolean) => boolean;
234
240
  'update:currentRowKey': (_currentRowKey?: import("../ele-data-table/types").DataKey | undefined) => boolean;
235
- 'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean;
241
+ 'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean; /** 数组数据源时刷新按钮点击事件 */
236
242
  };
@@ -78,10 +78,14 @@ const proTableProps = {
78
78
  cacheKey: String,
79
79
  /** 是否虚拟滚动 */
80
80
  virtual: Boolean,
81
- /** 行高 */
81
+ /** 虚拟滚动表格行高 */
82
82
  rowHeight: Number,
83
83
  /** 国际化 */
84
- locale: Object
84
+ locale: Object,
85
+ /** 导出配置 */
86
+ exportConfig: Object,
87
+ /** 打印配置 */
88
+ printConfig: Object
85
89
  };
86
90
  const proTableEmits = {
87
91
  ...dataTableEmits,
@@ -1,5 +1,11 @@
1
1
  import 'element-plus/es/components/checkbox/style/index';
2
2
  import 'element-plus/es/components/icon/style/index';
3
+ import 'element-plus/es/components/form/style/index';
4
+ import 'element-plus/es/components/form-item/style/index';
5
+ import 'element-plus/es/components/input/style/index';
6
+ import 'element-plus/es/components/select/style/index';
7
+ import 'element-plus/es/components/option/style/index';
8
+ import 'element-plus/es/components/button/style/index';
3
9
  import '../../ele-tooltip/style/index';
4
10
  import '../../ele-dropdown/style/index';
5
11
  import '../../ele-tool/style/index';
@@ -8,4 +14,7 @@ import '../../ele-loading/style/index';
8
14
  import '../../ele-pagination/style/index';
9
15
  import '../../ele-data-table/style/index';
10
16
  import '../../ele-virtual-table/style/index';
17
+ import '../../ele-modal/style/index';
18
+ import '../../ele-printer/style/index';
19
+ import '../../ele-table/style/index';
11
20
  import './index.scss';
@@ -107,7 +107,12 @@
107
107
  }
108
108
 
109
109
  /* 列配置 */
110
- .ele-tool-column.ele-popover {
110
+ .ele-tool-column-popover.ele-popover {
111
+ width: eleVar('tool-column', 'width');
112
+ max-width: 100%;
113
+ }
114
+
115
+ .ele-tool-column {
111
116
  width: eleVar('tool-column', 'width');
112
117
  max-width: 100%;
113
118
  }
@@ -131,7 +136,8 @@
131
136
  }
132
137
  }
133
138
 
134
- .ele-tool-column.ele-popover.ele-popper.el-popper {
139
+ .ele-tool-column .ele-tool-column-item .ele-tool-column-item-body,
140
+ .ele-tool-column .ele-tool-column-header .ele-tool-column-label {
135
141
  .el-checkbox {
136
142
  height: eleVar('tool-column', 'item-height');
137
143
  line-height: eleVar('tool-column', 'item-height');
@@ -153,7 +159,7 @@
153
159
  box-sizing: border-box;
154
160
  }
155
161
 
156
- .ele-popover-body > .ele-tool-column-list {
162
+ .ele-tool-column > .ele-tool-column-list {
157
163
  padding: eleVar('tool-column', 'body-padding');
158
164
  max-height: eleVar('tool-column', 'max-height');
159
165
  box-sizing: border-box;
@@ -182,6 +188,7 @@
182
188
 
183
189
  &.sortable-chosen {
184
190
  background: eleVar('tool-column', 'item-hover-bg');
191
+ opacity: 1 !important;
185
192
 
186
193
  & > .ele-tool-column-item-body {
187
194
  background: none;
@@ -189,7 +196,7 @@
189
196
  }
190
197
 
191
198
  &.sortable-ghost {
192
- opacity: 0;
199
+ opacity: 0 !important;
193
200
  }
194
201
 
195
202
  & > .ele-tool-column-list {
@@ -230,9 +237,13 @@
230
237
  color: eleVar('tool-column', 'btn-active-color');
231
238
  background: eleVar('tool-column', 'btn-active-bg');
232
239
  }
240
+
241
+ & > .el-icon > svg {
242
+ stroke-width: 5;
243
+ }
233
244
  }
234
245
 
235
- .ele-popover-body.is-sortable {
246
+ .ele-tool-column.is-sortable {
236
247
  .ele-tool-column-item-body {
237
248
  padding-left: 6px;
238
249
  }
@@ -241,3 +252,20 @@
241
252
  padding-left: calc(22px - #{eleVar('tool-column', 'item-padding')});
242
253
  }
243
254
  }
255
+
256
+ /* 导出和打印的列选择 */
257
+ .ele-tool-export-form,
258
+ .ele-tool-print-form {
259
+ .ele-tool-column {
260
+ border: 1px solid elVar('border-color', 'light');
261
+ border-radius: elVar('border-radius', 'base');
262
+ line-height: normal;
263
+ width: 100%;
264
+ }
265
+
266
+ .ele-tool-column-header {
267
+ background: elVar('fill-color', 'lighter');
268
+ border-top-left-radius: elVar('border-radius', 'base');
269
+ border-top-right-radius: elVar('border-radius', 'base');
270
+ }
271
+ }
@@ -1,8 +1,12 @@
1
1
  import type {
2
2
  EleDataTableInstance,
3
3
  EleVirtualTableInstance,
4
- ElePaginationProps
4
+ ElePaginationProps,
5
+ EleModalProps,
6
+ ElePrinterProps,
7
+ EleTableProps
5
8
  } from '../ele-app/plus';
9
+ import type { PaginationTotal } from '../ele-pagination/types';
6
10
  import type {
7
11
  DataItem,
8
12
  Column,
@@ -13,6 +17,7 @@ import type {
13
17
  TableSize,
14
18
  ResolveFunction
15
19
  } from '../ele-data-table/types';
20
+ import type { BodyColumns } from '../ele-virtual-table/types';
16
21
  export type {
17
22
  DataItem,
18
23
  Column,
@@ -137,7 +142,7 @@ export interface ResponseOption {
137
142
  }
138
143
 
139
144
  /**
140
- * 响应数据解析
145
+ * 响应数据解析方法
141
146
  */
142
147
  export type ParseData = (data: unknown) => DatasourceResult;
143
148
 
@@ -159,10 +164,10 @@ export interface OrderItem {
159
164
  export interface DoneParams<T> {
160
165
  /** 当前页数据 */
161
166
  data: T[];
167
+ /** 总数量 */
168
+ total?: PaginationTotal;
162
169
  /** 当前页码 */
163
170
  page?: number;
164
- /** 总数量 */
165
- total?: number;
166
171
  /** 数据源原始数据 */
167
172
  response?: any;
168
173
  }
@@ -188,7 +193,14 @@ export interface TablePagination extends ElePaginationProps {
188
193
  /**
189
194
  * 内置工具按钮
190
195
  */
191
- export type TableTool = 'reload' | 'size' | 'columns' | 'maximized' | string;
196
+ export type TableTool =
197
+ | 'reload'
198
+ | 'size'
199
+ | 'columns'
200
+ | 'maximized'
201
+ | 'export'
202
+ | 'print'
203
+ | string;
192
204
 
193
205
  /**
194
206
  * 列配置
@@ -211,6 +223,11 @@ export interface ColItem {
211
223
  */
212
224
  export type FetchCallback = (options: DatasourceParams) => void;
213
225
 
226
+ /**
227
+ * 请求方法
228
+ */
229
+ export type FetchFunction = (callback: FetchCallback) => void;
230
+
214
231
  /**
215
232
  * 前端分页排序方法返回结果
216
233
  */
@@ -258,6 +275,120 @@ export type TableViewInstance =
258
275
  | EleVirtualTableInstance
259
276
  | null;
260
277
 
278
+ /**
279
+ * 导出的数据来源类型
280
+ */
281
+ export type ExportDataType = 'selections' | 'pageData' | 'data';
282
+
283
+ /**
284
+ * 导出的数据每一项
285
+ */
286
+ export interface ExportDataItem {
287
+ /** 唯一值 */
288
+ key?: string;
289
+ /** 行数据 */
290
+ row?: DataItem;
291
+ /** 行索引 */
292
+ index: number;
293
+ /** 列配置 */
294
+ column?: Column;
295
+ /** 文本 */
296
+ text?: string;
297
+ /** 所占列数 */
298
+ colspan?: number;
299
+ /** 所占行数 */
300
+ rowspan?: number;
301
+ }
302
+
303
+ /**
304
+ * 导出数据封装返回结果
305
+ */
306
+ export interface ExportDataResult {
307
+ /** 表头数据 */
308
+ headerData: ExportDataItem[][];
309
+ /** 主体数据 */
310
+ bodyData: ExportDataItem[][];
311
+ /** 表尾数据 */
312
+ footerData: ExportDataItem[][];
313
+ /** 主体列配置 */
314
+ bodyCols: BodyColumns;
315
+ }
316
+
317
+ /**
318
+ * 导出数据前的钩子函数的参数
319
+ */
320
+ export interface BeforeExportParams {
321
+ /** 导出的数据 */
322
+ data: DataItem[];
323
+ /** 导出的列配置 */
324
+ columns?: Columns;
325
+ /** 导出的表头数据封装 */
326
+ headerData: ExportDataItem[][];
327
+ /** 导出的主体数据封装 */
328
+ bodyData: ExportDataItem[][];
329
+ /** 导出的页脚数据封装 */
330
+ footerData: ExportDataItem[][];
331
+ /** 主体列配置 */
332
+ bodyCols: BodyColumns;
333
+ /** 文件名 */
334
+ fileName?: string;
335
+ /** 关闭确定按钮的加载状态 */
336
+ hideLoading: () => void;
337
+ /** 关闭弹窗 */
338
+ closeModal: () => void;
339
+ }
340
+
341
+ /**
342
+ * 导出数据前的钩子函数
343
+ */
344
+ export type BeforeExport = (params: BeforeExportParams) => boolean | void;
345
+
346
+ /**
347
+ * 导出配置
348
+ */
349
+ export interface ExportConfig {
350
+ /** 弹窗参数 */
351
+ modalProps?: EleModalProps;
352
+ /** 表格全部数据 */
353
+ datasource?: Datasource;
354
+ /** 导出前的钩子函数 */
355
+ beforeExport?: BeforeExport;
356
+ /** 默认数据类型 */
357
+ dataType?: ExportDataType;
358
+ /** 默认文件名 */
359
+ fileName?: string;
360
+ }
361
+
362
+ /**
363
+ * 打印配置
364
+ */
365
+ export interface PrintConfig {
366
+ /** 弹窗参数 */
367
+ modalProps?: EleModalProps;
368
+ /** 打印组件参数 */
369
+ printerProps?: ElePrinterProps;
370
+ /** 打印表格参数 */
371
+ tableProps?: EleTableProps;
372
+ /** 表格全部数据 */
373
+ datasource?: Datasource;
374
+ /** 打印前的钩子函数 */
375
+ beforePrint?: BeforeExport;
376
+ /** 默认数据类型 */
377
+ dataType?: ExportDataType;
378
+ }
379
+
380
+ /**
381
+ * 打印参数
382
+ */
383
+ export interface TablePrintOptions extends ExportDataResult {
384
+ /** 是否开始打印 */
385
+ printing: boolean;
386
+ /** 是否有表头 */
387
+ hasHeader: boolean;
388
+ /** 是否有表尾 */
389
+ hasFooter: boolean;
390
+ }
391
+
261
392
  /**
262
393
  * 国际化
263
394
  */
@@ -266,6 +397,8 @@ export interface TableLocale {
266
397
  sizes: string;
267
398
  columns: string;
268
399
  maximized: string;
400
+ export: string;
401
+ print: string;
269
402
  sizeLarge: string;
270
403
  sizeDefault: string;
271
404
  sizeSmall: string;
@@ -274,4 +407,13 @@ export interface TableLocale {
274
407
  columnUntitled: string;
275
408
  columnFixedLeft: string;
276
409
  columnFixedRight: string;
410
+ exportOk: string;
411
+ exportCancel: string;
412
+ exportFileName: string;
413
+ exportFileNamePlaceholder: string;
414
+ exportSelectData: string;
415
+ exportSelectColumn: string;
416
+ exportDataTypePage: string;
417
+ exportDataTypeSelected: string;
418
+ exportDataTypeAll: string;
277
419
  }
@@ -1,6 +1,6 @@
1
1
  import type { ElePaginationProps } from '../ele-app/plus';
2
- import type { DataItem, Column, Columns, Sorter, Filter, TableSize, TreeProps, RowKey } from '../ele-data-table/types';
3
- import type { Orders, Filters, OrderItem, RequestOption, ResponseOption, TablePagination, DatasourceResult, ResponseResult, ReloadDataResult, ColItem, ProProps } from './types';
2
+ import type { DataItem, Column, Columns, Sorter, Filter, TableSize, TreeProps, RowKey, SpanMethod, SummaryMethod } from '../ele-data-table/types';
3
+ import type { Orders, Filters, OrderItem, RequestOption, ResponseOption, TablePagination, DatasourceResult, ResponseResult, ReloadDataResult, ColItem, ProProps, ExportDataItem, ExportDataResult } from './types';
4
4
  /**
5
5
  * 合并复合属性
6
6
  * @param props 属性
@@ -127,7 +127,14 @@ export declare function getInitCacheColumns(columns: Columns, cacheKey?: string,
127
127
  * @param cols 列配置数据
128
128
  * @param sortable 是否进行排序
129
129
  */
130
- export declare function getCheckedColumns(columns: Columns | undefined, cols: ColItem[], sortable?: boolean): Columns;
130
+ export declare function getCheckedColumns(columns: Columns | undefined, cols: ColItem[], sortable?: boolean, filter?: (item: Column) => boolean): Columns;
131
+ /**
132
+ * 获取列展示列表数据
133
+ * @param columns 列数据
134
+ * @param untitledText 未命名列文字
135
+ * @param filter 过滤的方法
136
+ */
137
+ export declare function getColItems(columns?: Columns, untitledText?: string, filter?: (item: Column) => boolean): ColItem[];
131
138
  /**
132
139
  * 获取列配置
133
140
  * @param columns 列数据
@@ -170,3 +177,40 @@ export declare function getRowKey(rowKey?: RowKey): string | ((row: DataItem) =>
170
177
  * @param page 页码
171
178
  */
172
179
  export declare function addDefaultRowKey(data: DataItem[], rowKey: string | undefined, page: number): DataItem[];
180
+ /**
181
+ * 导出获取单元格文本
182
+ * @param column 列配置
183
+ * @param row 行数据
184
+ * @param index 行索引
185
+ * @param pageIndex 序号列起始索引
186
+ */
187
+ export declare function getCellText(column: Column | undefined, row: DataItem, index: number, pageIndex?: number): string;
188
+ /**
189
+ * 导出获取表头单元格文本
190
+ * @param column 列配置
191
+ * @param index 行索引
192
+ */
193
+ export declare function getHeaderCellText(column: Column | undefined, index: number): string;
194
+ /**
195
+ * 获取导出的数据
196
+ * @param data 元数据
197
+ * @param columns 列配置
198
+ * @param spanMethod 单元格合并方法
199
+ * @param pageIndex 序号列起始索引
200
+ * @param showSummary 是否显示合计行
201
+ * @param sumText 合计行文本
202
+ * @param summaryMethod 合计行自定义方法
203
+ */
204
+ export declare function getExportData(data: DataItem[], columns: Columns, spanMethod?: SpanMethod, pageIndex?: number, showSummary?: boolean, sumText?: string, summaryMethod?: SummaryMethod): ExportDataResult;
205
+ /**
206
+ * 导出csv文件
207
+ * @param fileName 文件名
208
+ * @param headerData 表头数据
209
+ * @param bodyData 主体数据
210
+ */
211
+ export declare function exportCSV(fileName: string, headerData: ExportDataItem[][], bodyData: ExportDataItem[][], footerData: ExportDataItem[][]): void;
212
+ /**
213
+ * 导出判断列是否显示
214
+ * @param item 列配置
215
+ */
216
+ export declare function exportColumnsfilter(item: Column): boolean;