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,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,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const util = require("../ele-data-table/util");
4
3
  const core = require("../utils/core");
4
+ const util = require("../ele-data-table/util");
5
+ const util$1 = require("../ele-virtual-table/util");
5
6
  function mergeProps(props, globalProps) {
6
7
  if (props == null) {
7
8
  return globalProps ?? true;
@@ -232,7 +233,7 @@ function getInitCacheColumns(columns, cacheKey, sortable) {
232
233
  }
233
234
  return getCheckedColumns(columns, cache, sortable);
234
235
  }
235
- function getCheckedColumns(columns, cols, sortable) {
236
+ function getCheckedColumns(columns, cols, sortable, filter) {
236
237
  const data = [];
237
238
  if (!columns || !columns.length) {
238
239
  return data;
@@ -242,26 +243,23 @@ function getCheckedColumns(columns, cols, sortable) {
242
243
  if (colId == null) {
243
244
  return;
244
245
  }
245
- let temp;
246
- core.eachTree(cols, (t) => {
247
- if (t.uid === colId) {
248
- temp = t;
249
- return false;
250
- }
251
- });
246
+ if (filter && !filter(d)) {
247
+ return;
248
+ }
249
+ const temp = core.findTree(cols, (t) => t.uid === colId);
252
250
  if (temp && !temp.checked) {
253
251
  return;
254
252
  }
255
253
  const fixed = (temp == null ? void 0 : temp.fixed) ?? d.fixed;
256
254
  const uid = core.uuid(8);
257
- if (d.children) {
258
- const children = getCheckedColumns(d.children, cols, sortable);
255
+ if (d.children && d.children.length) {
256
+ const children = getCheckedColumns(d.children, cols, sortable, filter);
259
257
  if (children.length) {
260
258
  data.push({ ...d, fixed, uid, children });
261
259
  }
262
- } else {
263
- data.push({ ...d, fixed, uid });
260
+ return;
264
261
  }
262
+ data.push({ ...d, fixed, uid });
265
263
  });
266
264
  if (!sortable || !data.length) {
267
265
  return data;
@@ -307,6 +305,22 @@ function getCheckedColumns(columns, cols, sortable) {
307
305
  });
308
306
  return data;
309
307
  }
308
+ function getColItems(columns, untitledText, filter) {
309
+ return core.mapTree(columns, (d) => {
310
+ const colId = getColId(d);
311
+ if (!colId || filter && !filter(d)) {
312
+ return;
313
+ }
314
+ return {
315
+ uid: colId,
316
+ prop: d.prop,
317
+ columnKey: d.columnKey,
318
+ label: d.label || untitledText,
319
+ checked: !d.hideInTable,
320
+ fixed: d.fixed
321
+ };
322
+ });
323
+ }
310
324
  function getSettingCols(columns, untitledText, cacheKey) {
311
325
  const cacheResult = getCacheCols(cacheKey);
312
326
  if (cacheResult) {
@@ -377,14 +391,106 @@ function addDefaultRowKey(data, rowKey, page) {
377
391
  return item;
378
392
  });
379
393
  }
394
+ function getCellText(column, row, index, pageIndex) {
395
+ if (!column) {
396
+ return "";
397
+ }
398
+ if (column.type === "index") {
399
+ return util$1.getIndexValue(index, column.index, pageIndex);
400
+ }
401
+ const propValue = util.getValue(row, column.prop);
402
+ if (typeof column.formatter === "function") {
403
+ return column.formatter(row, column, propValue, index, "export");
404
+ }
405
+ return propValue == null ? "" : String(propValue);
406
+ }
407
+ function getHeaderCellText(column, index) {
408
+ if (!column) {
409
+ return "";
410
+ }
411
+ if (typeof column.renderHeader === "function") {
412
+ const params = { column, $index: index, action: "export" };
413
+ return column.renderHeader(params);
414
+ }
415
+ return column.label == null ? "" : String(column.label);
416
+ }
417
+ function getExportData(data, columns, spanMethod, pageIndex, showSummary, sumText, summaryMethod) {
418
+ const { rows: headerRows, cols: bodyCols } = util$1.analyseColumns(columns);
419
+ const bodyData = [];
420
+ data.forEach((row, index) => {
421
+ const bodyRowData = [];
422
+ bodyCols.forEach((col, columnIndex) => {
423
+ const { key, originalCol: column } = col;
424
+ const { colspan, rowspan } = util$1.getCellSpan(
425
+ { column, columnIndex, row, rowIndex: index },
426
+ spanMethod
427
+ );
428
+ const isNone = colspan == 0 || rowspan == 0;
429
+ const text = isNone ? "" : getCellText(column, row, index, pageIndex);
430
+ bodyRowData.push({ key, row, index, column, text, colspan, rowspan });
431
+ });
432
+ bodyData.push(bodyRowData);
433
+ });
434
+ const headerData = [];
435
+ headerRows.forEach((headerCols, index) => {
436
+ const headerRowData = [];
437
+ headerCols.forEach((col) => {
438
+ const { key, colspan, rowspan, originalCol: column } = col;
439
+ const isNone = colspan == 0 || rowspan == 0;
440
+ const text = isNone ? "" : getHeaderCellText(column, index);
441
+ headerRowData.push({ key, index, column, text, colspan, rowspan });
442
+ });
443
+ headerData.push(headerRowData);
444
+ });
445
+ const footerData = [];
446
+ if (showSummary && data.length) {
447
+ const footerRowData = [];
448
+ const userSums = util$1.getUserSums(summaryMethod, bodyCols, data);
449
+ bodyCols.forEach((col, i) => {
450
+ const { key, dataKey, originalCol: column } = col;
451
+ const sumValue = util$1.getSumValue(data, dataKey);
452
+ footerRowData.push({
453
+ key,
454
+ column,
455
+ text: userSums == null ? i === 0 ? sumText : sumValue : userSums[i],
456
+ index: 0
457
+ });
458
+ });
459
+ footerData.push(footerRowData);
460
+ }
461
+ return { headerData, bodyData, footerData, bodyCols };
462
+ }
463
+ function exportCSV(fileName, headerData, bodyData, footerData) {
464
+ const csvRows = [];
465
+ [...headerData, ...bodyData, ...footerData].forEach((item) => {
466
+ csvRows.push(item.map((d) => d.text ?? "").join(","));
467
+ });
468
+ const content = encodeURIComponent(csvRows.join("\n"));
469
+ const a = document.createElement("a");
470
+ a.href = "data:text/csv;charset=utf-8," + content;
471
+ a.download = fileName + ".csv";
472
+ a.style.display = "none";
473
+ document.body.appendChild(a);
474
+ a.click();
475
+ document.body.removeChild(a);
476
+ }
477
+ function exportColumnsfilter(item) {
478
+ return !item.type || !["selection", "expand"].includes(item.type);
479
+ }
380
480
  exports.addDefaultRowKey = addDefaultRowKey;
481
+ exports.exportCSV = exportCSV;
482
+ exports.exportColumnsfilter = exportColumnsfilter;
381
483
  exports.getCacheCols = getCacheCols;
382
484
  exports.getCacheSize = getCacheSize;
485
+ exports.getCellText = getCellText;
383
486
  exports.getCheckedColumns = getCheckedColumns;
384
487
  exports.getColId = getColId;
488
+ exports.getColItems = getColItems;
385
489
  exports.getColsCacheKey = getColsCacheKey;
386
490
  exports.getDefaultFilter = getDefaultFilter;
387
491
  exports.getDefaultRowKey = getDefaultRowKey;
492
+ exports.getExportData = getExportData;
493
+ exports.getHeaderCellText = getHeaderCellText;
388
494
  exports.getInitCacheColumns = getInitCacheColumns;
389
495
  exports.getInitColumns = getInitColumns;
390
496
  exports.getOrderItems = getOrderItems;
@@ -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;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const elementPlus = require("element-plus");
4
- const receiver = require("../ele-config-provider/receiver");
5
4
  const props = require("./props");
6
5
  const _sfc_main = vue.defineComponent({
7
6
  name: "EleSegmented",
@@ -9,10 +8,9 @@ const _sfc_main = vue.defineComponent({
9
8
  props: props.segmentedProps,
10
9
  emits: props.segmentedEmits,
11
10
  setup(props2, { emit }) {
12
- const { authenticated } = receiver.useLicense();
13
11
  const tabRef = vue.ref(null);
14
12
  const onUpdateModelValue = (value) => {
15
- if (authenticated.value && props2.modelValue !== value) {
13
+ if (props2.modelValue !== value) {
16
14
  emit("update:modelValue", value);
17
15
  emit("change", value);
18
16
  }
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const elementPlus = require("element-plus");
4
- const receiver = require("../ele-config-provider/receiver");
5
4
  const icons = require("../icons");
5
+ const ReceiverView = require("../ele-config-provider/components/receiver-view");
6
+ const receiver = require("../ele-config-provider/receiver");
6
7
  const props = require("./props");
7
8
  const _sfc_main = vue.defineComponent({
8
9
  name: "EleSplitPanel",
9
- components: { ElIcon: elementPlus.ElIcon, ArrowLeft: icons.ArrowLeft, ArrowUp: icons.ArrowUp },
10
+ components: { ElIcon: elementPlus.ElIcon, ArrowLeft: icons.ArrowLeft, ArrowUp: icons.ArrowUp, ReceiverView },
10
11
  props: props.splitPanelProps,
11
12
  emits: props.splitPanelEmits,
12
13
  setup(props2, { emit }) {
13
- const { authenticated } = receiver.useLicense();
14
14
  const isResponsive = receiver.useResponsive(props2);
15
15
  const rootRef = vue.ref(null);
16
16
  const wrapRef = vue.ref(null);
@@ -19,9 +19,6 @@ const _sfc_main = vue.defineComponent({
19
19
  const resizedSize = vue.ref(null);
20
20
  const resizing = vue.ref(false);
21
21
  const toggleCollapse = (collapse) => {
22
- if (!authenticated.value) {
23
- return;
24
- }
25
22
  isCollapse.value = typeof collapse === "boolean" ? collapse : !isCollapse.value;
26
23
  emit("update:collapse", isCollapse.value);
27
24
  };
@@ -41,9 +38,10 @@ const _sfc_main = vue.defineComponent({
41
38
  return Math.min(props2.maxSize, size);
42
39
  };
43
40
  const onResize = (event) => {
44
- const rootEl = rootRef.value;
41
+ var _a;
42
+ const rootEl = (_a = rootRef.value) == null ? void 0 : _a.$el;
45
43
  const sideEl = sideRef.value;
46
- if (!authenticated.value || !rootEl || !sideEl) {
44
+ if (!rootEl || !sideEl) {
47
45
  return;
48
46
  }
49
47
  resizing.value = true;
@@ -68,7 +66,7 @@ const _sfc_main = vue.defineComponent({
68
66
  vue.watch(
69
67
  [() => props2.collapse, () => props2.allowCollapse],
70
68
  () => {
71
- if (!authenticated.value || !props2.allowCollapse) {
69
+ if (!props2.allowCollapse) {
72
70
  isCollapse.value = false;
73
71
  } else {
74
72
  isCollapse.value = props2.collapse;
@@ -94,8 +92,10 @@ const _sfc_main = vue.defineComponent({
94
92
  vue.watch(
95
93
  () => props2.maxSize,
96
94
  () => {
97
- if (resizedSize.value && rootRef.value) {
98
- const max = getMaxSize(rootRef.value);
95
+ var _a;
96
+ const rootEl = (_a = rootRef.value) == null ? void 0 : _a.$el;
97
+ if (resizedSize.value && rootEl) {
98
+ const max = getMaxSize(rootEl);
99
99
  if (Number.parseInt(resizedSize.value) > max) {
100
100
  resizedSize.value = max + "px";
101
101
  }
@@ -132,7 +132,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
132
132
  const _component_ArrowUp = vue.resolveComponent("ArrowUp");
133
133
  const _component_ArrowLeft = vue.resolveComponent("ArrowLeft");
134
134
  const _component_ElIcon = vue.resolveComponent("ElIcon");
135
- return vue.openBlock(), vue.createElementBlock("div", {
135
+ const _component_ReceiverView = vue.resolveComponent("ReceiverView");
136
+ return vue.openBlock(), vue.createBlock(_component_ReceiverView, {
136
137
  ref: "rootRef",
137
138
  class: vue.normalizeClass([
138
139
  "ele-split-panel",
@@ -147,55 +148,58 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
147
148
  "--ele-split-size": _ctx.resizedSize || _ctx.size,
148
149
  "--ele-split-space": _ctx.space
149
150
  })
150
- }, [
151
- vue.createElementVNode("div", _hoisted_1, [
151
+ }, {
152
+ default: vue.withCtx(() => [
153
+ vue.createElementVNode("div", _hoisted_1, [
154
+ vue.createElementVNode("div", {
155
+ ref: "sideRef",
156
+ class: "ele-split-panel-side",
157
+ style: vue.normalizeStyle(_ctx.customStyle)
158
+ }, [
159
+ vue.renderSlot(_ctx.$slots, "default")
160
+ ], 4),
161
+ vue.createElementVNode("div", _hoisted_2, [
162
+ _ctx.resizable ? (vue.openBlock(), vue.createElementBlock("div", {
163
+ key: 0,
164
+ class: "ele-split-resize-line",
165
+ onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.onResize && _ctx.onResize(...args))
166
+ }, null, 32)) : vue.createCommentVNode("", true)
167
+ ])
168
+ ], 512),
152
169
  vue.createElementVNode("div", {
153
- ref: "sideRef",
154
- class: "ele-split-panel-side",
155
- style: vue.normalizeStyle(_ctx.customStyle)
170
+ class: "ele-split-panel-body",
171
+ style: vue.normalizeStyle(_ctx.bodyStyle)
156
172
  }, [
157
- vue.renderSlot(_ctx.$slots, "default")
173
+ vue.renderSlot(_ctx.$slots, "body", { collapse: _ctx.isCollapse })
158
174
  ], 4),
159
- vue.createElementVNode("div", _hoisted_2, [
160
- _ctx.resizable ? (vue.openBlock(), vue.createElementBlock("div", {
161
- key: 0,
162
- class: "ele-split-resize-line",
163
- onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.onResize && _ctx.onResize(...args))
164
- }, null, 32)) : vue.createCommentVNode("", true)
165
- ])
166
- ], 512),
167
- vue.createElementVNode("div", {
168
- class: "ele-split-panel-body",
169
- style: vue.normalizeStyle(_ctx.bodyStyle)
170
- }, [
171
- vue.renderSlot(_ctx.$slots, "body", { collapse: _ctx.isCollapse })
172
- ], 4),
173
- _ctx.allowCollapse ? (vue.openBlock(), vue.createElementBlock("div", {
174
- key: 0,
175
- style: vue.normalizeStyle(_ctx.collapseStyle),
176
- class: "ele-split-collapse-button",
177
- onClick: _cache[1] || (_cache[1] = ($event) => _ctx.toggleCollapse())
178
- }, [
179
- vue.renderSlot(_ctx.$slots, "collapse", { collapse: _ctx.isCollapse }, () => [
180
- vue.createVNode(_component_ElIcon, { class: "ele-split-collapse-icon" }, {
181
- default: vue.withCtx(() => [
182
- _ctx.vertical ? (vue.openBlock(), vue.createBlock(_component_ArrowUp, {
183
- key: 0,
184
- style: { "margin-top": "-1.25px" }
185
- })) : (vue.openBlock(), vue.createBlock(_component_ArrowLeft, {
186
- key: 1,
187
- style: { "margin-left": "-1.25px" }
188
- }))
189
- ]),
190
- _: 1
191
- })
192
- ])
193
- ], 4)) : vue.createCommentVNode("", true),
194
- vue.createElementVNode("div", {
195
- class: "ele-split-panel-mask",
196
- onClick: _cache[2] || (_cache[2] = ($event) => _ctx.toggleCollapse())
197
- })
198
- ], 6);
175
+ _ctx.allowCollapse ? (vue.openBlock(), vue.createElementBlock("div", {
176
+ key: 0,
177
+ style: vue.normalizeStyle(_ctx.collapseStyle),
178
+ class: "ele-split-collapse-button",
179
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.toggleCollapse())
180
+ }, [
181
+ vue.renderSlot(_ctx.$slots, "collapse", { collapse: _ctx.isCollapse }, () => [
182
+ vue.createVNode(_component_ElIcon, { class: "ele-split-collapse-icon" }, {
183
+ default: vue.withCtx(() => [
184
+ _ctx.vertical ? (vue.openBlock(), vue.createBlock(_component_ArrowUp, {
185
+ key: 0,
186
+ style: { "margin-top": "-1.25px" }
187
+ })) : (vue.openBlock(), vue.createBlock(_component_ArrowLeft, {
188
+ key: 1,
189
+ style: { "margin-left": "-1.25px" }
190
+ }))
191
+ ]),
192
+ _: 1
193
+ })
194
+ ])
195
+ ], 4)) : vue.createCommentVNode("", true),
196
+ vue.createElementVNode("div", {
197
+ class: "ele-split-panel-mask",
198
+ onClick: _cache[2] || (_cache[2] = ($event) => _ctx.toggleCollapse())
199
+ })
200
+ ]),
201
+ _: 3
202
+ }, 8, ["class", "style"]);
199
203
  }
200
204
  const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
201
205
  module.exports = index;