ele-admin-plus 1.1.9-beta.8 → 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 (135) hide show
  1. package/es/ele-app/el.d.ts +6 -1
  2. package/es/ele-app/plus.d.ts +9 -0
  3. package/es/ele-config-provider/index.d.ts +2 -2
  4. package/es/ele-config-provider/props.d.ts +3 -3
  5. package/es/ele-config-provider/props.js +2 -2
  6. package/es/ele-config-provider/types.d.ts +2 -0
  7. package/es/ele-data-table/index.d.ts +2 -2
  8. package/es/ele-data-table/index.js +8 -0
  9. package/es/ele-data-table/style/index.scss +4 -0
  10. package/es/ele-data-table/types.d.ts +10 -0
  11. package/es/ele-data-table/util.d.ts +5 -0
  12. package/es/ele-data-table/util.js +14 -0
  13. package/es/ele-modal/style/index.scss +18 -29
  14. package/es/ele-pagination/index.d.ts +4 -2
  15. package/es/ele-pagination/index.js +17 -5
  16. package/es/ele-pagination/props.d.ts +3 -2
  17. package/es/ele-pagination/props.js +2 -0
  18. package/es/ele-pagination/style/index.scss +9 -0
  19. package/es/ele-pagination/types.d.ts +6 -1
  20. package/es/ele-printer/util.js +1 -1
  21. package/es/ele-pro-table/components/table-tools.d.ts +99 -8
  22. package/es/ele-pro-table/components/table-tools.js +125 -8
  23. package/es/ele-pro-table/components/tool-column-list.js +1 -0
  24. package/es/ele-pro-table/components/tool-column.js +6 -2
  25. package/es/ele-pro-table/components/tool-export.d.ts +457 -0
  26. package/es/ele-pro-table/components/tool-export.js +451 -0
  27. package/es/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
  28. package/es/ele-pro-table/components/tool-print-body-cell.js +88 -0
  29. package/es/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
  30. package/es/ele-pro-table/components/tool-print-header-cell.js +88 -0
  31. package/es/ele-pro-table/components/tool-print.d.ts +899 -0
  32. package/es/ele-pro-table/components/tool-print.js +547 -0
  33. package/es/ele-pro-table/index.d.ts +28 -9
  34. package/es/ele-pro-table/index.js +56 -8
  35. package/es/ele-pro-table/props.d.ts +11 -5
  36. package/es/ele-pro-table/props.js +6 -2
  37. package/es/ele-pro-table/style/index.js +9 -0
  38. package/es/ele-pro-table/style/index.scss +33 -5
  39. package/es/ele-pro-table/types.d.ts +147 -5
  40. package/es/ele-pro-table/util.d.ts +47 -3
  41. package/es/ele-pro-table/util.js +119 -13
  42. package/es/ele-table/index.d.ts +3 -0
  43. package/es/ele-table/index.js +2 -1
  44. package/es/ele-table/props.d.ts +2 -0
  45. package/es/ele-table/props.js +3 -1
  46. package/es/ele-table/style/index.scss +35 -0
  47. package/es/ele-tool/index.d.ts +1 -1
  48. package/es/ele-tool/index.js +2 -4
  49. package/es/ele-tool/props.d.ts +7 -0
  50. package/es/ele-tool/props.js +5 -0
  51. package/es/ele-virtual-table/components/body-cell.d.ts +0 -1
  52. package/es/ele-virtual-table/components/body-cell.js +32 -47
  53. package/es/ele-virtual-table/components/footer-row.d.ts +2 -2
  54. package/es/ele-virtual-table/components/footer-row.js +15 -10
  55. package/es/ele-virtual-table/types.d.ts +15 -1
  56. package/es/ele-virtual-table/util.d.ts +26 -3
  57. package/es/ele-virtual-table/util.js +44 -0
  58. package/es/icons/PrinterOutlined.d.ts +2 -0
  59. package/es/icons/PrinterOutlined.js +29 -0
  60. package/es/icons/VerticalLeftOutlined.js +2 -2
  61. package/es/icons/VerticalRightOutlined.js +2 -2
  62. package/es/icons/index.d.ts +1 -0
  63. package/es/icons/index.js +58 -56
  64. package/es/lang/en_US.js +13 -2
  65. package/es/lang/zh_CN.js +13 -2
  66. package/es/lang/zh_TW.js +12 -1
  67. package/es/utils/resolvers.js +2 -2
  68. package/lib/ele-app/el.d.ts +6 -1
  69. package/lib/ele-app/plus.d.ts +9 -0
  70. package/lib/ele-config-provider/index.d.ts +2 -2
  71. package/lib/ele-config-provider/props.cjs +2 -2
  72. package/lib/ele-config-provider/props.d.ts +3 -3
  73. package/lib/ele-config-provider/types.d.ts +2 -0
  74. package/lib/ele-data-table/index.cjs +8 -0
  75. package/lib/ele-data-table/index.d.ts +2 -2
  76. package/lib/ele-data-table/style/index.scss +4 -0
  77. package/lib/ele-data-table/types.d.ts +10 -0
  78. package/lib/ele-data-table/util.cjs +14 -0
  79. package/lib/ele-data-table/util.d.ts +5 -0
  80. package/lib/ele-modal/style/index.scss +18 -29
  81. package/lib/ele-pagination/index.cjs +16 -4
  82. package/lib/ele-pagination/index.d.ts +4 -2
  83. package/lib/ele-pagination/props.cjs +2 -0
  84. package/lib/ele-pagination/props.d.ts +3 -2
  85. package/lib/ele-pagination/style/index.scss +9 -0
  86. package/lib/ele-pagination/types.d.ts +6 -1
  87. package/lib/ele-printer/util.cjs +1 -1
  88. package/lib/ele-pro-table/components/table-tools.cjs +124 -7
  89. package/lib/ele-pro-table/components/table-tools.d.ts +99 -8
  90. package/lib/ele-pro-table/components/tool-column-list.cjs +1 -0
  91. package/lib/ele-pro-table/components/tool-column.cjs +6 -2
  92. package/lib/ele-pro-table/components/tool-export.cjs +450 -0
  93. package/lib/ele-pro-table/components/tool-export.d.ts +457 -0
  94. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +87 -0
  95. package/lib/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
  96. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +87 -0
  97. package/lib/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
  98. package/lib/ele-pro-table/components/tool-print.cjs +546 -0
  99. package/lib/ele-pro-table/components/tool-print.d.ts +899 -0
  100. package/lib/ele-pro-table/index.cjs +56 -8
  101. package/lib/ele-pro-table/index.d.ts +28 -9
  102. package/lib/ele-pro-table/props.cjs +6 -2
  103. package/lib/ele-pro-table/props.d.ts +11 -5
  104. package/lib/ele-pro-table/style/index.cjs +9 -0
  105. package/lib/ele-pro-table/style/index.scss +33 -5
  106. package/lib/ele-pro-table/types.d.ts +147 -5
  107. package/lib/ele-pro-table/util.cjs +119 -13
  108. package/lib/ele-pro-table/util.d.ts +47 -3
  109. package/lib/ele-table/index.cjs +2 -1
  110. package/lib/ele-table/index.d.ts +3 -0
  111. package/lib/ele-table/props.cjs +3 -1
  112. package/lib/ele-table/props.d.ts +2 -0
  113. package/lib/ele-table/style/index.scss +35 -0
  114. package/lib/ele-tool/index.cjs +1 -3
  115. package/lib/ele-tool/index.d.ts +1 -1
  116. package/lib/ele-tool/props.cjs +5 -0
  117. package/lib/ele-tool/props.d.ts +7 -0
  118. package/lib/ele-virtual-table/components/body-cell.cjs +31 -46
  119. package/lib/ele-virtual-table/components/body-cell.d.ts +0 -1
  120. package/lib/ele-virtual-table/components/footer-row.cjs +13 -8
  121. package/lib/ele-virtual-table/components/footer-row.d.ts +2 -2
  122. package/lib/ele-virtual-table/types.d.ts +15 -1
  123. package/lib/ele-virtual-table/util.cjs +44 -0
  124. package/lib/ele-virtual-table/util.d.ts +26 -3
  125. package/lib/icons/PrinterOutlined.cjs +28 -0
  126. package/lib/icons/PrinterOutlined.d.ts +2 -0
  127. package/lib/icons/VerticalLeftOutlined.cjs +2 -2
  128. package/lib/icons/VerticalRightOutlined.cjs +2 -2
  129. package/lib/icons/index.cjs +2 -0
  130. package/lib/icons/index.d.ts +1 -0
  131. package/lib/lang/en_US.cjs +13 -2
  132. package/lib/lang/zh_CN.cjs +13 -2
  133. package/lib/lang/zh_TW.cjs +12 -1
  134. package/lib/utils/resolvers.cjs +2 -2
  135. package/package.json +1 -1
@@ -0,0 +1,547 @@
1
+ import { defineComponent, ref, reactive, watch, nextTick, resolveComponent, openBlock, createBlock, withCtx, createVNode, mergeProps, createTextVNode, toDisplayString, withModifiers, createCommentVNode, createElementVNode, createElementBlock, Fragment, renderList, createSlots, renderSlot, normalizeProps, guardReactiveProps } from "vue";
2
+ import { ElForm, ElFormItem, ElSelect, ElOption, ElCheckbox, ElButton, ElIcon } from "element-plus";
3
+ import { PrinterOutlined } from "../../icons";
4
+ import { eachTree } from "../../utils/core";
5
+ import EleTool from "../../ele-tool/index";
6
+ import EleModal from "../../ele-modal/index";
7
+ import ElePrinter from "../../ele-printer/index";
8
+ import EleTable from "../../ele-table/index";
9
+ import { CellRender } from "../../ele-virtual-table/util";
10
+ import { getColItems, exportColumnsfilter, getCheckedColumns, getExportData } from "../util";
11
+ import ToolColumnList from "./tool-column-list";
12
+ import ToolPrintBodyCell from "./tool-print-body-cell";
13
+ import ToolPrintHeaderCell from "./tool-print-header-cell";
14
+ const _sfc_main = defineComponent({
15
+ name: "ToolPrint",
16
+ components: {
17
+ ElForm,
18
+ ElFormItem,
19
+ ElSelect,
20
+ ElOption,
21
+ ElCheckbox,
22
+ ElButton,
23
+ ElIcon,
24
+ PrinterOutlined,
25
+ EleTool,
26
+ EleModal,
27
+ ElePrinter,
28
+ EleTable,
29
+ CellRender,
30
+ ToolColumnList,
31
+ ToolPrintBodyCell,
32
+ ToolPrintHeaderCell
33
+ },
34
+ props: {
35
+ /** 提示文字 */
36
+ title: String,
37
+ /** 提示位置 */
38
+ placement: String,
39
+ /** 全选文字 */
40
+ checkAllText: String,
41
+ /** 重置文字 */
42
+ resetText: String,
43
+ /** 无标题列文字 */
44
+ untitledText: String,
45
+ /** 选择数据文字 */
46
+ selectDataText: String,
47
+ /** 选择字段文字 */
48
+ selectColumnText: String,
49
+ /** 当前页数据文字 */
50
+ dataTypePageText: String,
51
+ /** 选中数据文字 */
52
+ dataTypeSelectedText: String,
53
+ /** 全部数据文字 */
54
+ dataTypeAllText: String,
55
+ /** 取消文字 */
56
+ cancelText: String,
57
+ /** 确定文字 */
58
+ okText: String,
59
+ /** 弹窗参数 */
60
+ modalProps: Object,
61
+ /** 打印组件参数 */
62
+ printerProps: Object,
63
+ /** 打印表格参数 */
64
+ tableProps: Object,
65
+ /** 列数据 */
66
+ columns: Array,
67
+ /** 表格选中数据 */
68
+ selections: Array,
69
+ /** 表格当前页数据 */
70
+ pageData: Array,
71
+ /** 表格全部数据 */
72
+ datasource: Array,
73
+ /** 单元格合并行列方法 */
74
+ spanMethod: Function,
75
+ /** 是否显示合计行 */
76
+ showSummary: Boolean,
77
+ /** 合计行文本 */
78
+ sumText: String,
79
+ /** 合计行自定义方法 */
80
+ summaryMethod: Function,
81
+ /** 单元格样式 */
82
+ cellStyle: [Object, Function],
83
+ /** 单元格类名自定义 */
84
+ cellClassName: [String, Function],
85
+ /** 单元格样式 */
86
+ headerCellStyle: [Object, Function],
87
+ /** 单元格类名自定义 */
88
+ headerCellClassName: [String, Function],
89
+ /** 序号列起始索引 */
90
+ pageIndex: Number,
91
+ /** 表格请求数据方法 */
92
+ fetch: Function,
93
+ /** 默认数据类型 */
94
+ defaultDataType: {
95
+ type: String,
96
+ default: "pageData"
97
+ },
98
+ /** 打印前的钩子函数 */
99
+ beforePrint: Function
100
+ },
101
+ setup(props) {
102
+ const visible = ref(false);
103
+ const loading = ref(false);
104
+ const dataType = ref(props.defaultDataType);
105
+ const colItems = ref([]);
106
+ const isCheckAll = ref(false);
107
+ const isIndeterminate = ref(false);
108
+ const printOptions = reactive({
109
+ printing: false,
110
+ headerData: [],
111
+ bodyData: [],
112
+ footerData: [],
113
+ hasHeader: false,
114
+ hasFooter: false,
115
+ bodyCols: []
116
+ });
117
+ const openModal = () => {
118
+ visible.value = true;
119
+ };
120
+ const closeModal = () => {
121
+ visible.value = false;
122
+ };
123
+ const showLoading = () => {
124
+ loading.value = true;
125
+ };
126
+ const hideLoading = () => {
127
+ loading.value = false;
128
+ };
129
+ const onPrintDone = () => {
130
+ hideLoading();
131
+ if (props.printerProps != null && typeof props.printerProps.onDone === "function") {
132
+ props.printerProps.onDone();
133
+ }
134
+ };
135
+ const printData = (data) => {
136
+ showLoading();
137
+ const columns = getCheckedColumns(
138
+ props.columns,
139
+ colItems.value,
140
+ true,
141
+ exportColumnsfilter
142
+ );
143
+ const { headerData, bodyData, footerData, bodyCols } = getExportData(
144
+ data,
145
+ columns,
146
+ props.spanMethod,
147
+ props.pageIndex,
148
+ props.showSummary,
149
+ props.sumText,
150
+ props.summaryMethod
151
+ );
152
+ if (typeof props.beforePrint === "function") {
153
+ const flag = props.beforePrint({
154
+ data,
155
+ columns,
156
+ headerData,
157
+ bodyData,
158
+ footerData,
159
+ bodyCols,
160
+ hideLoading,
161
+ closeModal
162
+ });
163
+ if (flag === false) {
164
+ return;
165
+ }
166
+ }
167
+ printOptions.headerData = headerData;
168
+ printOptions.bodyData = bodyData;
169
+ printOptions.footerData = footerData;
170
+ printOptions.hasHeader = !!printOptions.headerData.length;
171
+ printOptions.hasFooter = !!printOptions.footerData.length;
172
+ printOptions.bodyCols = bodyCols;
173
+ nextTick(() => {
174
+ printOptions.printing = true;
175
+ });
176
+ };
177
+ const handlePrint = () => {
178
+ if (dataType.value === "selections") {
179
+ printData([...props.selections || []]);
180
+ return;
181
+ }
182
+ if (dataType.value !== "data") {
183
+ printData([...props.pageData || []]);
184
+ return;
185
+ }
186
+ if (props.datasource == null || typeof props.datasource !== "function" || typeof props.fetch !== "function") {
187
+ return;
188
+ }
189
+ showLoading();
190
+ props.fetch((params) => {
191
+ props.datasource(params).then((result) => {
192
+ if (result == null) {
193
+ hideLoading();
194
+ return;
195
+ }
196
+ printData(result);
197
+ }).catch(() => {
198
+ hideLoading();
199
+ });
200
+ });
201
+ };
202
+ const initColItems = () => {
203
+ colItems.value = getColItems(
204
+ props.columns,
205
+ props.untitledText,
206
+ exportColumnsfilter
207
+ );
208
+ let checkAll = true;
209
+ let indeterminate = false;
210
+ eachTree(colItems.value, (d) => {
211
+ if (!d.checked && checkAll) {
212
+ checkAll = false;
213
+ }
214
+ if (d.checked && !indeterminate) {
215
+ indeterminate = true;
216
+ }
217
+ if (!checkAll && indeterminate) {
218
+ return false;
219
+ }
220
+ });
221
+ isCheckAll.value = colItems.value.length > 0 && checkAll;
222
+ isIndeterminate.value = !checkAll && indeterminate;
223
+ };
224
+ const onCheckedChange = (item, checked) => {
225
+ let checkAll = true;
226
+ let indeterminate = false;
227
+ eachTree(colItems.value, (d) => {
228
+ if (d.uid === item.uid) {
229
+ d.checked = checked;
230
+ }
231
+ if (!d.checked && checkAll) {
232
+ checkAll = false;
233
+ }
234
+ if (d.checked && !indeterminate) {
235
+ indeterminate = true;
236
+ }
237
+ if (d.uid === item.uid && !checkAll && indeterminate) {
238
+ return false;
239
+ }
240
+ });
241
+ isCheckAll.value = colItems.value.length > 0 && checkAll;
242
+ isIndeterminate.value = !checkAll && indeterminate;
243
+ };
244
+ const onSortChange = (items, parent) => {
245
+ if (!parent) {
246
+ colItems.value = items;
247
+ } else {
248
+ eachTree(colItems.value, (d) => {
249
+ if (d.uid === parent.uid) {
250
+ d.children = items;
251
+ return false;
252
+ }
253
+ });
254
+ }
255
+ };
256
+ const onCheckAllChange = (checked) => {
257
+ isCheckAll.value = checked;
258
+ isIndeterminate.value = false;
259
+ eachTree(colItems.value, (d) => {
260
+ if (d.checked !== checked) {
261
+ d.checked = checked;
262
+ }
263
+ });
264
+ };
265
+ const onReset = () => {
266
+ initColItems();
267
+ };
268
+ watch(visible, (visible2) => {
269
+ if (visible2) {
270
+ dataType.value = props.defaultDataType;
271
+ initColItems();
272
+ return;
273
+ }
274
+ printOptions.headerData = [];
275
+ printOptions.bodyData = [];
276
+ printOptions.footerData = [];
277
+ printOptions.bodyCols = [];
278
+ printOptions.hasHeader = false;
279
+ printOptions.hasFooter = false;
280
+ printOptions.printing = false;
281
+ loading.value = false;
282
+ });
283
+ return {
284
+ visible,
285
+ loading,
286
+ dataType,
287
+ colItems,
288
+ isCheckAll,
289
+ isIndeterminate,
290
+ printOptions,
291
+ openModal,
292
+ closeModal,
293
+ onPrintDone,
294
+ handlePrint,
295
+ onCheckedChange,
296
+ onSortChange,
297
+ onCheckAllChange,
298
+ onReset
299
+ };
300
+ }
301
+ });
302
+ const _export_sfc = (sfc, props) => {
303
+ const target = sfc.__vccOpts || sfc;
304
+ for (const [key, val] of props) {
305
+ target[key] = val;
306
+ }
307
+ return target;
308
+ };
309
+ const _hoisted_1 = { class: "ele-tool-column is-sortable" };
310
+ const _hoisted_2 = { class: "ele-tool-column-header" };
311
+ const _hoisted_3 = { class: "ele-tool-column-label" };
312
+ const _hoisted_4 = ["width"];
313
+ const _hoisted_5 = { key: 0 };
314
+ const _hoisted_6 = { key: 1 };
315
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
316
+ const _component_PrinterOutlined = resolveComponent("PrinterOutlined");
317
+ const _component_ElIcon = resolveComponent("ElIcon");
318
+ const _component_ElOption = resolveComponent("ElOption");
319
+ const _component_ElSelect = resolveComponent("ElSelect");
320
+ const _component_ElFormItem = resolveComponent("ElFormItem");
321
+ const _component_ElCheckbox = resolveComponent("ElCheckbox");
322
+ const _component_ToolColumnList = resolveComponent("ToolColumnList");
323
+ const _component_ElForm = resolveComponent("ElForm");
324
+ const _component_ElButton = resolveComponent("ElButton");
325
+ const _component_EleModal = resolveComponent("EleModal");
326
+ const _component_ToolPrintHeaderCell = resolveComponent("ToolPrintHeaderCell");
327
+ const _component_ToolPrintBodyCell = resolveComponent("ToolPrintBodyCell");
328
+ const _component_CellRender = resolveComponent("CellRender");
329
+ const _component_EleTable = resolveComponent("EleTable");
330
+ const _component_ElePrinter = resolveComponent("ElePrinter");
331
+ const _component_EleTool = resolveComponent("EleTool");
332
+ return openBlock(), createBlock(_component_EleTool, {
333
+ title: _ctx.title,
334
+ placement: _ctx.placement,
335
+ onClick: _ctx.openModal
336
+ }, {
337
+ default: withCtx(() => [
338
+ createVNode(_component_ElIcon, null, {
339
+ default: withCtx(() => [
340
+ createVNode(_component_PrinterOutlined)
341
+ ]),
342
+ _: 1
343
+ }),
344
+ createVNode(_component_EleModal, mergeProps({
345
+ form: true,
346
+ width: "460px",
347
+ title: _ctx.title,
348
+ position: "center"
349
+ }, _ctx.modalProps || {}, {
350
+ modelValue: _ctx.visible,
351
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.visible = $event)
352
+ }), {
353
+ footer: withCtx(() => [
354
+ createVNode(_component_ElButton, { onClick: _ctx.closeModal }, {
355
+ default: withCtx(() => [
356
+ createTextVNode(toDisplayString(_ctx.cancelText), 1)
357
+ ]),
358
+ _: 1
359
+ }, 8, ["onClick"]),
360
+ createVNode(_component_ElButton, {
361
+ loading: _ctx.loading,
362
+ type: "primary",
363
+ onClick: _ctx.handlePrint
364
+ }, {
365
+ default: withCtx(() => [
366
+ createTextVNode(toDisplayString(_ctx.okText), 1)
367
+ ]),
368
+ _: 1
369
+ }, 8, ["loading", "onClick"])
370
+ ]),
371
+ default: withCtx(() => [
372
+ createVNode(_component_ElForm, {
373
+ labelWidth: "80px",
374
+ onSubmit: _cache[2] || (_cache[2] = withModifiers(() => {
375
+ }, ["prevent"])),
376
+ class: "ele-tool-print-form"
377
+ }, {
378
+ default: withCtx(() => [
379
+ createVNode(_component_ElFormItem, { label: _ctx.selectDataText }, {
380
+ default: withCtx(() => [
381
+ createVNode(_component_ElSelect, {
382
+ modelValue: _ctx.dataType,
383
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.dataType = $event),
384
+ placeholder: _ctx.selectDataText
385
+ }, {
386
+ default: withCtx(() => [
387
+ _ctx.pageData != null ? (openBlock(), createBlock(_component_ElOption, {
388
+ key: 0,
389
+ value: "pageData",
390
+ label: _ctx.dataTypePageText
391
+ }, null, 8, ["label"])) : createCommentVNode("", true),
392
+ _ctx.selections != null ? (openBlock(), createBlock(_component_ElOption, {
393
+ key: 1,
394
+ value: "selections",
395
+ label: _ctx.dataTypeSelectedText
396
+ }, null, 8, ["label"])) : createCommentVNode("", true),
397
+ _ctx.datasource != null ? (openBlock(), createBlock(_component_ElOption, {
398
+ key: 2,
399
+ value: "data",
400
+ label: _ctx.dataTypeAllText
401
+ }, null, 8, ["label"])) : createCommentVNode("", true)
402
+ ]),
403
+ _: 1
404
+ }, 8, ["modelValue", "placeholder"])
405
+ ]),
406
+ _: 1
407
+ }, 8, ["label"]),
408
+ createVNode(_component_ElFormItem, { label: _ctx.selectColumnText }, {
409
+ default: withCtx(() => [
410
+ createElementVNode("div", _hoisted_1, [
411
+ createElementVNode("div", _hoisted_2, [
412
+ createElementVNode("div", _hoisted_3, [
413
+ createVNode(_component_ElCheckbox, {
414
+ modelValue: _ctx.isCheckAll,
415
+ indeterminate: _ctx.isIndeterminate,
416
+ "onUpdate:modelValue": _ctx.onCheckAllChange
417
+ }, {
418
+ default: withCtx(() => [
419
+ createTextVNode(toDisplayString(_ctx.checkAllText), 1)
420
+ ]),
421
+ _: 1
422
+ }, 8, ["modelValue", "indeterminate", "onUpdate:modelValue"])
423
+ ]),
424
+ createElementVNode("div", {
425
+ class: "ele-tool-column-link",
426
+ onClick: _cache[1] || (_cache[1] = (...args) => _ctx.onReset && _ctx.onReset(...args))
427
+ }, toDisplayString(_ctx.resetText), 1)
428
+ ]),
429
+ createVNode(_component_ToolColumnList, {
430
+ data: _ctx.colItems,
431
+ sortable: true,
432
+ onSortChange: _ctx.onSortChange,
433
+ onCheckedChange: _ctx.onCheckedChange
434
+ }, null, 8, ["data", "onSortChange", "onCheckedChange"])
435
+ ])
436
+ ]),
437
+ _: 1
438
+ }, 8, ["label"])
439
+ ]),
440
+ _: 1
441
+ })
442
+ ]),
443
+ _: 1
444
+ }, 16, ["title", "modelValue"]),
445
+ createVNode(_component_ElePrinter, mergeProps({ target: "_iframe" }, _ctx.printerProps || {}, {
446
+ modelValue: _ctx.printOptions.printing,
447
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.printOptions.printing = $event),
448
+ onDone: _ctx.onPrintDone
449
+ }), {
450
+ default: withCtx(() => [
451
+ createVNode(_component_EleTable, mergeProps({
452
+ border: true,
453
+ printSkin: true,
454
+ hasHeader: _ctx.printOptions.hasHeader,
455
+ hasFooter: _ctx.printOptions.hasFooter
456
+ }, _ctx.tableProps || {}), {
457
+ default: withCtx(() => [
458
+ createElementVNode("colgroup", null, [
459
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.printOptions.bodyCols, (col) => {
460
+ return openBlock(), createElementBlock("col", {
461
+ key: col.key,
462
+ width: col.width
463
+ }, null, 8, _hoisted_4);
464
+ }), 128))
465
+ ]),
466
+ _ctx.printOptions.hasHeader ? (openBlock(), createElementBlock("thead", _hoisted_5, [
467
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.printOptions.headerData, (item, index) => {
468
+ return openBlock(), createElementBlock("tr", { key: index }, [
469
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item, (col, columnIndex) => {
470
+ return openBlock(), createElementBlock(Fragment, null, [
471
+ col.rowspan != 0 && col.colspan != 0 ? (openBlock(), createBlock(_component_ToolPrintHeaderCell, {
472
+ key: col.key,
473
+ col,
474
+ columnIndex,
475
+ headerCellStyle: _ctx.headerCellStyle,
476
+ headerCellClass: _ctx.headerCellClassName
477
+ }, createSlots({ _: 2 }, [
478
+ renderList(Object.keys(_ctx.$slots), (name) => {
479
+ return {
480
+ name,
481
+ fn: withCtx((slotProps) => [
482
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
483
+ ])
484
+ };
485
+ })
486
+ ]), 1032, ["col", "columnIndex", "headerCellStyle", "headerCellClass"])) : createCommentVNode("", true)
487
+ ], 64);
488
+ }), 256))
489
+ ]);
490
+ }), 128))
491
+ ])) : createCommentVNode("", true),
492
+ createElementVNode("tbody", null, [
493
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.printOptions.bodyData, (item, index) => {
494
+ return openBlock(), createElementBlock("tr", { key: index }, [
495
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item, (col, columnIndex) => {
496
+ return openBlock(), createElementBlock(Fragment, null, [
497
+ col.rowspan != 0 && col.colspan != 0 ? (openBlock(), createBlock(_component_ToolPrintBodyCell, {
498
+ key: col.key,
499
+ col,
500
+ columnIndex,
501
+ bodyCellStyle: _ctx.cellStyle,
502
+ bodyCellClass: _ctx.cellClassName
503
+ }, createSlots({ _: 2 }, [
504
+ renderList(Object.keys(_ctx.$slots), (name) => {
505
+ return {
506
+ name,
507
+ fn: withCtx((slotProps) => [
508
+ renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps || {})))
509
+ ])
510
+ };
511
+ })
512
+ ]), 1032, ["col", "columnIndex", "bodyCellStyle", "bodyCellClass"])) : createCommentVNode("", true)
513
+ ], 64);
514
+ }), 256))
515
+ ]);
516
+ }), 128))
517
+ ]),
518
+ _ctx.printOptions.hasFooter ? (openBlock(), createElementBlock("tfoot", _hoisted_6, [
519
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.printOptions.footerData, (item, index) => {
520
+ return openBlock(), createElementBlock("tr", { key: index }, [
521
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item, (col) => {
522
+ return openBlock(), createElementBlock("td", {
523
+ key: col.key
524
+ }, [
525
+ createVNode(_component_CellRender, {
526
+ render: () => col.text,
527
+ params: []
528
+ }, null, 8, ["render"])
529
+ ]);
530
+ }), 128))
531
+ ]);
532
+ }), 128))
533
+ ])) : createCommentVNode("", true)
534
+ ]),
535
+ _: 3
536
+ }, 16, ["hasHeader", "hasFooter"])
537
+ ]),
538
+ _: 3
539
+ }, 16, ["modelValue", "onDone"])
540
+ ]),
541
+ _: 3
542
+ }, 8, ["title", "placement", "onClick"]);
543
+ }
544
+ const toolPrint = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
545
+ export {
546
+ toolPrint as default
547
+ };
@@ -1,7 +1,7 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { EleLoadingProps, ElePaginationProps, EleDataTableProps } from '../ele-app/plus';
3
3
  import type { DataItem, Columns, Sorter, Filter, TableSize } from '../ele-data-table/types';
4
- import type { ReloadFunction, DoneParams, FetchCallback, TableViewInstance } from './types';
4
+ import type { ReloadFunction, DoneParams, FetchFunction, TableViewInstance, ExportConfig, PrintConfig } from './types';
5
5
  declare const _default: import("vue").DefineComponent<{
6
6
  rowKey: {
7
7
  type: import("vue").PropType<string | ((row: DataItem) => string) | undefined>;
@@ -54,7 +54,9 @@ declare const _default: import("vue").DefineComponent<{
54
54
  cacheKey: StringConstructor;
55
55
  virtual: BooleanConstructor;
56
56
  rowHeight: NumberConstructor;
57
- locale: import("vue").PropType<Partial<import("./types").TableLocale>>; /** 表格组件 */
57
+ locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
58
+ exportConfig: import("vue").PropType<ExportConfig>; /** 表格组件 */
59
+ printConfig: import("vue").PropType<PrintConfig>;
58
60
  width: (StringConstructor | NumberConstructor)[];
59
61
  height: (StringConstructor | NumberConstructor)[];
60
62
  size: {
@@ -168,13 +170,28 @@ declare const _default: import("vue").DefineComponent<{
168
170
  selectedRowKeys: import("vue").PropType<import("../ele-data-table/types").DataKey[]>;
169
171
  }, {
170
172
  tableViewRef: Ref<TableViewInstance>;
173
+ tableData: Ref<{
174
+ [x: string]: any;
175
+ [x: number]: any;
176
+ [x: symbol]: any;
177
+ children?: any[] | undefined;
178
+ _isMock?: boolean | undefined;
179
+ _rowKey?: import("../ele-data-table/types").DataKey | null | undefined;
180
+ _rowIndex?: number | undefined;
181
+ _rowDisabled?: boolean | undefined;
182
+ _isExpandRow?: boolean | undefined;
183
+ _expandParent?: any | undefined;
184
+ _expandParantIndex?: number | undefined;
185
+ }[]>;
171
186
  tableSize: Ref<"" | "default" | "small" | "large" | undefined>;
172
187
  tableMaximized: Ref<boolean>;
173
188
  tableIndex: import("vue").ComputedRef<number>;
174
189
  paginationProps: import("vue").ComputedRef<ElePaginationProps | null>;
175
190
  tableProps: import("vue").ComputedRef<EleDataTableProps>;
176
191
  toolNames: import("vue").ComputedRef<string[]>;
177
- rootProps: import("vue").ComputedRef<EleLoadingProps>;
192
+ toolExportConfig: import("vue").ComputedRef<ExportConfig>;
193
+ toolPrintConfig: import("vue").ComputedRef<PrintConfig>;
194
+ loadingProps: import("vue").ComputedRef<EleLoadingProps>;
178
195
  onRefresh: () => void;
179
196
  onSizeChange: (size: TableSize) => void;
180
197
  onColumnsChange: (columns: Columns) => void;
@@ -187,7 +204,7 @@ declare const _default: import("vue").DefineComponent<{
187
204
  getData: () => DataItem[];
188
205
  setData: (data: DataItem[]) => void;
189
206
  goPageByRowKey: (key: unknown) => void;
190
- fetch: (callback: FetchCallback) => void;
207
+ fetch: FetchFunction;
191
208
  clearSelection: () => void;
192
209
  getSelectionRows: () => DataItem[] | undefined;
193
210
  toggleRowSelection: (row: DataItem, selected?: boolean | undefined) => void;
@@ -200,12 +217,12 @@ declare const _default: import("vue").DefineComponent<{
200
217
  sort: (prop: string, order: string) => void;
201
218
  scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
202
219
  setScrollTop: (top?: number | undefined) => void;
203
- setScrollLeft: (left?: number | undefined) => void;
220
+ setScrollLeft: (left?: number | undefined) => void; /** 表格组件 */
204
221
  setCurrentRowKey: (key?: import("../ele-data-table/types").DataKey | null | undefined) => void;
205
222
  getCurrentRow: () => DataItem | undefined;
206
223
  setSelectedRows: (rows?: DataItem[] | undefined) => void;
207
224
  setSelectedRowKeys: (keys?: import("../ele-data-table/types").DataKey[] | undefined, rows?: DataItem[] | undefined) => void;
208
- toggleRowExpansionAll: (expanded?: boolean | undefined) => void; /** 数据请求状态 */
225
+ toggleRowExpansionAll: (expanded?: boolean | undefined) => void;
209
226
  updateSelectedAndChecked: () => void;
210
227
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
211
228
  done: (_result: DoneParams<DataItem>, _parent?: DataItem | undefined) => boolean;
@@ -230,9 +247,9 @@ declare const _default: import("vue").DefineComponent<{
230
247
  headerContextmenu: (_column: import("./types").Column, _e: MouseEvent) => boolean;
231
248
  sortChange: (_sorter: Sorter) => boolean;
232
249
  filterChange: (_filter: Filter) => boolean;
233
- currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean; /** 数据总数量 */
250
+ currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
234
251
  headerDragend: (_width: number, _old: number, _column: import("./types").Column, _e: MouseEvent) => boolean;
235
- expandChange: (_row: DataItem, _expanded: boolean) => boolean;
252
+ expandChange: (_row: DataItem, _expanded: boolean) => boolean; /** 数据请求状态 */
236
253
  'update:currentRowKey': (_currentRowKey?: import("../ele-data-table/types").DataKey | undefined) => boolean;
237
254
  'update:selectedRowKeys': (_selectedRowKeys?: import("../ele-data-table/types").DataKey[] | undefined) => boolean;
238
255
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -287,7 +304,9 @@ declare const _default: import("vue").DefineComponent<{
287
304
  cacheKey: StringConstructor;
288
305
  virtual: BooleanConstructor;
289
306
  rowHeight: NumberConstructor;
290
- locale: import("vue").PropType<Partial<import("./types").TableLocale>>; /** 表格组件 */
307
+ locale: import("vue").PropType<Partial<import("./types").TableLocale>>;
308
+ exportConfig: import("vue").PropType<ExportConfig>; /** 表格组件 */
309
+ printConfig: import("vue").PropType<PrintConfig>;
291
310
  width: (StringConstructor | NumberConstructor)[];
292
311
  height: (StringConstructor | NumberConstructor)[];
293
312
  size: {