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.
- package/es/ele-app/el.d.ts +6 -1
- package/es/ele-app/plus.d.ts +9 -0
- package/es/ele-config-provider/index.d.ts +2 -2
- package/es/ele-config-provider/props.d.ts +3 -3
- package/es/ele-config-provider/props.js +2 -2
- package/es/ele-config-provider/types.d.ts +2 -0
- package/es/ele-data-table/index.d.ts +2 -2
- package/es/ele-data-table/index.js +8 -0
- package/es/ele-data-table/style/index.scss +4 -0
- package/es/ele-data-table/types.d.ts +10 -0
- package/es/ele-data-table/util.d.ts +5 -0
- package/es/ele-data-table/util.js +14 -0
- package/es/ele-modal/style/index.scss +18 -29
- package/es/ele-pagination/index.d.ts +4 -2
- package/es/ele-pagination/index.js +17 -5
- package/es/ele-pagination/props.d.ts +3 -2
- package/es/ele-pagination/props.js +2 -0
- package/es/ele-pagination/style/index.scss +9 -0
- package/es/ele-pagination/types.d.ts +6 -1
- package/es/ele-printer/util.js +1 -1
- package/es/ele-pro-table/components/table-tools.d.ts +99 -8
- package/es/ele-pro-table/components/table-tools.js +125 -8
- package/es/ele-pro-table/components/tool-column-list.js +1 -0
- package/es/ele-pro-table/components/tool-column.js +6 -2
- package/es/ele-pro-table/components/tool-export.d.ts +457 -0
- package/es/ele-pro-table/components/tool-export.js +451 -0
- package/es/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
- package/es/ele-pro-table/components/tool-print-body-cell.js +88 -0
- package/es/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
- package/es/ele-pro-table/components/tool-print-header-cell.js +88 -0
- package/es/ele-pro-table/components/tool-print.d.ts +899 -0
- package/es/ele-pro-table/components/tool-print.js +547 -0
- package/es/ele-pro-table/index.d.ts +28 -9
- package/es/ele-pro-table/index.js +56 -8
- package/es/ele-pro-table/props.d.ts +11 -5
- package/es/ele-pro-table/props.js +6 -2
- package/es/ele-pro-table/style/index.js +9 -0
- package/es/ele-pro-table/style/index.scss +33 -5
- package/es/ele-pro-table/types.d.ts +147 -5
- package/es/ele-pro-table/util.d.ts +47 -3
- package/es/ele-pro-table/util.js +119 -13
- package/es/ele-table/index.d.ts +3 -0
- package/es/ele-table/index.js +2 -1
- package/es/ele-table/props.d.ts +2 -0
- package/es/ele-table/props.js +3 -1
- package/es/ele-table/style/index.scss +35 -0
- package/es/ele-tool/index.d.ts +1 -1
- package/es/ele-tool/index.js +2 -4
- package/es/ele-tool/props.d.ts +7 -0
- package/es/ele-tool/props.js +5 -0
- package/es/ele-virtual-table/components/body-cell.d.ts +0 -1
- package/es/ele-virtual-table/components/body-cell.js +32 -47
- package/es/ele-virtual-table/components/footer-row.d.ts +2 -2
- package/es/ele-virtual-table/components/footer-row.js +15 -10
- package/es/ele-virtual-table/types.d.ts +15 -1
- package/es/ele-virtual-table/util.d.ts +26 -3
- package/es/ele-virtual-table/util.js +44 -0
- package/es/icons/PrinterOutlined.d.ts +2 -0
- package/es/icons/PrinterOutlined.js +29 -0
- package/es/icons/VerticalLeftOutlined.js +2 -2
- package/es/icons/VerticalRightOutlined.js +2 -2
- package/es/icons/index.d.ts +1 -0
- package/es/icons/index.js +58 -56
- package/es/lang/en_US.js +13 -2
- package/es/lang/zh_CN.js +13 -2
- package/es/lang/zh_TW.js +12 -1
- package/es/utils/resolvers.js +2 -2
- package/lib/ele-app/el.d.ts +6 -1
- package/lib/ele-app/plus.d.ts +9 -0
- package/lib/ele-config-provider/index.d.ts +2 -2
- package/lib/ele-config-provider/props.cjs +2 -2
- package/lib/ele-config-provider/props.d.ts +3 -3
- package/lib/ele-config-provider/types.d.ts +2 -0
- package/lib/ele-data-table/index.cjs +8 -0
- package/lib/ele-data-table/index.d.ts +2 -2
- package/lib/ele-data-table/style/index.scss +4 -0
- package/lib/ele-data-table/types.d.ts +10 -0
- package/lib/ele-data-table/util.cjs +14 -0
- package/lib/ele-data-table/util.d.ts +5 -0
- package/lib/ele-modal/style/index.scss +18 -29
- package/lib/ele-pagination/index.cjs +16 -4
- package/lib/ele-pagination/index.d.ts +4 -2
- package/lib/ele-pagination/props.cjs +2 -0
- package/lib/ele-pagination/props.d.ts +3 -2
- package/lib/ele-pagination/style/index.scss +9 -0
- package/lib/ele-pagination/types.d.ts +6 -1
- package/lib/ele-printer/util.cjs +1 -1
- package/lib/ele-pro-table/components/table-tools.cjs +124 -7
- package/lib/ele-pro-table/components/table-tools.d.ts +99 -8
- package/lib/ele-pro-table/components/tool-column-list.cjs +1 -0
- package/lib/ele-pro-table/components/tool-column.cjs +6 -2
- package/lib/ele-pro-table/components/tool-export.cjs +450 -0
- package/lib/ele-pro-table/components/tool-export.d.ts +457 -0
- package/lib/ele-pro-table/components/tool-print-body-cell.cjs +87 -0
- package/lib/ele-pro-table/components/tool-print-body-cell.d.ts +34 -0
- package/lib/ele-pro-table/components/tool-print-header-cell.cjs +87 -0
- package/lib/ele-pro-table/components/tool-print-header-cell.d.ts +34 -0
- package/lib/ele-pro-table/components/tool-print.cjs +546 -0
- package/lib/ele-pro-table/components/tool-print.d.ts +899 -0
- package/lib/ele-pro-table/index.cjs +56 -8
- package/lib/ele-pro-table/index.d.ts +28 -9
- package/lib/ele-pro-table/props.cjs +6 -2
- package/lib/ele-pro-table/props.d.ts +11 -5
- package/lib/ele-pro-table/style/index.cjs +9 -0
- package/lib/ele-pro-table/style/index.scss +33 -5
- package/lib/ele-pro-table/types.d.ts +147 -5
- package/lib/ele-pro-table/util.cjs +119 -13
- package/lib/ele-pro-table/util.d.ts +47 -3
- package/lib/ele-table/index.cjs +2 -1
- package/lib/ele-table/index.d.ts +3 -0
- package/lib/ele-table/props.cjs +3 -1
- package/lib/ele-table/props.d.ts +2 -0
- package/lib/ele-table/style/index.scss +35 -0
- package/lib/ele-tool/index.cjs +1 -3
- package/lib/ele-tool/index.d.ts +1 -1
- package/lib/ele-tool/props.cjs +5 -0
- package/lib/ele-tool/props.d.ts +7 -0
- package/lib/ele-virtual-table/components/body-cell.cjs +31 -46
- package/lib/ele-virtual-table/components/body-cell.d.ts +0 -1
- package/lib/ele-virtual-table/components/footer-row.cjs +13 -8
- package/lib/ele-virtual-table/components/footer-row.d.ts +2 -2
- package/lib/ele-virtual-table/types.d.ts +15 -1
- package/lib/ele-virtual-table/util.cjs +44 -0
- package/lib/ele-virtual-table/util.d.ts +26 -3
- package/lib/icons/PrinterOutlined.cjs +28 -0
- package/lib/icons/PrinterOutlined.d.ts +2 -0
- package/lib/icons/VerticalLeftOutlined.cjs +2 -2
- package/lib/icons/VerticalRightOutlined.cjs +2 -2
- package/lib/icons/index.cjs +2 -0
- package/lib/icons/index.d.ts +1 -0
- package/lib/lang/en_US.cjs +13 -2
- package/lib/lang/zh_CN.cjs +13 -2
- package/lib/lang/zh_TW.cjs +12 -1
- package/lib/utils/resolvers.cjs +2 -2
- package/package.json +1 -1
|
@@ -107,9 +107,41 @@ const _sfc_main = vue.defineComponent({
|
|
|
107
107
|
}
|
|
108
108
|
return tools || [];
|
|
109
109
|
});
|
|
110
|
-
const
|
|
110
|
+
const toolExportConfig = vue.computed(() => {
|
|
111
|
+
const globalExportConfig = globalProps.value.exportConfig || {};
|
|
112
|
+
const userExportConfig = props2.exportConfig || {};
|
|
113
|
+
return {
|
|
114
|
+
...globalExportConfig,
|
|
115
|
+
...userExportConfig,
|
|
116
|
+
modalProps: {
|
|
117
|
+
...globalExportConfig.modalProps || {},
|
|
118
|
+
...userExportConfig.modalProps || {}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
const toolPrintConfig = vue.computed(() => {
|
|
123
|
+
const globalPrintConfig = globalProps.value.printConfig || {};
|
|
124
|
+
const userPrintConfig = props2.printConfig || {};
|
|
125
|
+
return {
|
|
126
|
+
...globalPrintConfig,
|
|
127
|
+
...userPrintConfig,
|
|
128
|
+
modalProps: {
|
|
129
|
+
...globalPrintConfig.modalProps || {},
|
|
130
|
+
...userPrintConfig.modalProps || {}
|
|
131
|
+
},
|
|
132
|
+
printerProps: {
|
|
133
|
+
...globalPrintConfig.printerProps || {},
|
|
134
|
+
...userPrintConfig.printerProps || {}
|
|
135
|
+
},
|
|
136
|
+
tableProps: {
|
|
137
|
+
...globalPrintConfig.tableProps || {},
|
|
138
|
+
...userPrintConfig.tableProps || {}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
const loadingProps = vue.computed(() => {
|
|
111
143
|
const zIndex = props2.maximizedIndex ?? globalProps.value.maximizedIndex;
|
|
112
|
-
|
|
144
|
+
return {
|
|
113
145
|
...props2.loadingProps || {},
|
|
114
146
|
loading: tableLoading.value,
|
|
115
147
|
class: [
|
|
@@ -119,7 +151,6 @@ const _sfc_main = vue.defineComponent({
|
|
|
119
151
|
],
|
|
120
152
|
style: tableMaximized.value ? { zIndex } : void 0
|
|
121
153
|
};
|
|
122
|
-
return option;
|
|
123
154
|
});
|
|
124
155
|
const reload = (option, parent, resolve) => {
|
|
125
156
|
if (option) {
|
|
@@ -213,7 +244,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
213
244
|
if (resolve) {
|
|
214
245
|
resolve(data);
|
|
215
246
|
} else {
|
|
216
|
-
if (util$1.isAutoAmend(props2.pagination, globalProps.value.pagination) && !data.length && total && tablePage.value && tableLimit.value) {
|
|
247
|
+
if (util$1.isAutoAmend(props2.pagination, globalProps.value.pagination) && !data.length && total && "*" !== total && tablePage.value && tableLimit.value) {
|
|
217
248
|
const maxPage = Math.ceil(total / tableLimit.value);
|
|
218
249
|
if (maxPage && tablePage.value > maxPage) {
|
|
219
250
|
tablePage.value = maxPage;
|
|
@@ -433,13 +464,16 @@ const _sfc_main = vue.defineComponent({
|
|
|
433
464
|
return {
|
|
434
465
|
...methods,
|
|
435
466
|
tableViewRef,
|
|
467
|
+
tableData,
|
|
436
468
|
tableSize,
|
|
437
469
|
tableMaximized,
|
|
438
470
|
tableIndex,
|
|
439
471
|
paginationProps,
|
|
440
472
|
tableProps,
|
|
441
473
|
toolNames,
|
|
442
|
-
|
|
474
|
+
toolExportConfig,
|
|
475
|
+
toolPrintConfig,
|
|
476
|
+
loadingProps,
|
|
443
477
|
onRefresh,
|
|
444
478
|
onSizeChange,
|
|
445
479
|
onColumnsChange,
|
|
@@ -470,21 +504,35 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
470
504
|
const _component_EleDataTable = vue.resolveComponent("EleDataTable");
|
|
471
505
|
const _component_ElePagination = vue.resolveComponent("ElePagination");
|
|
472
506
|
const _component_EleLoading = vue.resolveComponent("EleLoading");
|
|
473
|
-
return vue.openBlock(), vue.createBlock(_component_EleLoading, vue.normalizeProps(vue.guardReactiveProps(_ctx.
|
|
507
|
+
return vue.openBlock(), vue.createBlock(_component_EleLoading, vue.normalizeProps(vue.guardReactiveProps(_ctx.loadingProps)), {
|
|
474
508
|
default: vue.withCtx(() => [
|
|
475
509
|
_ctx.toolbar ? (vue.openBlock(), vue.createBlock(_component_EleToolbar, vue.normalizeProps(vue.mergeProps({ key: 0 }, _ctx.toolbar === true ? {} : _ctx.toolbar)), {
|
|
476
510
|
tools: vue.withCtx(() => [
|
|
477
511
|
vue.renderSlot(_ctx.$slots, "tools"),
|
|
478
512
|
_ctx.toolNames && _ctx.toolNames.length ? (vue.openBlock(), vue.createBlock(_component_TableTools, {
|
|
479
513
|
key: 0,
|
|
514
|
+
tools: _ctx.toolNames,
|
|
480
515
|
size: _ctx.tableSize,
|
|
481
516
|
columns: _ctx.columns,
|
|
482
|
-
tools: _ctx.toolNames,
|
|
483
517
|
columnSortable: _ctx.columnSortable,
|
|
484
518
|
columnFixed: _ctx.columnFixed,
|
|
485
519
|
maximized: _ctx.tableMaximized,
|
|
486
520
|
cacheKey: _ctx.cacheKey,
|
|
487
521
|
locale: _ctx.locale,
|
|
522
|
+
selections: _ctx.selections,
|
|
523
|
+
pageData: _ctx.tableData,
|
|
524
|
+
spanMethod: _ctx.spanMethod,
|
|
525
|
+
showSummary: _ctx.showSummary,
|
|
526
|
+
sumText: _ctx.sumText,
|
|
527
|
+
summaryMethod: _ctx.summaryMethod,
|
|
528
|
+
cellStyle: _ctx.cellStyle,
|
|
529
|
+
cellClassName: _ctx.cellClassName,
|
|
530
|
+
headerCellStyle: _ctx.headerCellStyle,
|
|
531
|
+
headerCellClassName: _ctx.headerCellClassName,
|
|
532
|
+
pageIndex: _ctx.tableIndex,
|
|
533
|
+
fetch: _ctx.fetch,
|
|
534
|
+
exportConfig: _ctx.toolExportConfig,
|
|
535
|
+
printConfig: _ctx.toolPrintConfig,
|
|
488
536
|
onReload: _ctx.onRefresh,
|
|
489
537
|
"onUpdate:size": _ctx.onSizeChange,
|
|
490
538
|
"onUpdate:columns": _ctx.onColumnsChange,
|
|
@@ -507,7 +555,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
507
555
|
])
|
|
508
556
|
};
|
|
509
557
|
})
|
|
510
|
-
]), 1032, ["
|
|
558
|
+
]), 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"])) : vue.createCommentVNode("", true)
|
|
511
559
|
]),
|
|
512
560
|
default: vue.withCtx(() => [
|
|
513
561
|
vue.renderSlot(_ctx.$slots, "toolbar")
|
|
@@ -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,
|
|
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
|
-
|
|
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:
|
|
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: {
|
|
@@ -80,10 +80,14 @@ const proTableProps = {
|
|
|
80
80
|
cacheKey: String,
|
|
81
81
|
/** 是否虚拟滚动 */
|
|
82
82
|
virtual: Boolean,
|
|
83
|
-
/**
|
|
83
|
+
/** 虚拟滚动表格行高 */
|
|
84
84
|
rowHeight: Number,
|
|
85
85
|
/** 国际化 */
|
|
86
|
-
locale: Object
|
|
86
|
+
locale: Object,
|
|
87
|
+
/** 导出配置 */
|
|
88
|
+
exportConfig: Object,
|
|
89
|
+
/** 打印配置 */
|
|
90
|
+
printConfig: Object
|
|
87
91
|
};
|
|
88
92
|
const proTableEmits = {
|
|
89
93
|
...props.dataTableEmits,
|
|
@@ -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,14 @@ 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>;
|
|
85
89
|
width: (StringConstructor | NumberConstructor)[];
|
|
86
90
|
height: (StringConstructor | NumberConstructor)[];
|
|
87
91
|
size: {
|
|
@@ -180,10 +184,11 @@ export declare const proTableProps: {
|
|
|
180
184
|
};
|
|
181
185
|
slotNormalize: {
|
|
182
186
|
type: BooleanConstructor;
|
|
183
|
-
default: boolean;
|
|
187
|
+
default: boolean;
|
|
184
188
|
};
|
|
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
|
};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
require("element-plus/lib/components/checkbox/style/index");
|
|
3
3
|
require("element-plus/lib/components/icon/style/index");
|
|
4
|
+
require("element-plus/lib/components/form/style/index");
|
|
5
|
+
require("element-plus/lib/components/form-item/style/index");
|
|
6
|
+
require("element-plus/lib/components/input/style/index");
|
|
7
|
+
require("element-plus/lib/components/select/style/index");
|
|
8
|
+
require("element-plus/lib/components/option/style/index");
|
|
9
|
+
require("element-plus/lib/components/button/style/index");
|
|
4
10
|
require("../../ele-tooltip/style/index");
|
|
5
11
|
require("../../ele-dropdown/style/index");
|
|
6
12
|
require("../../ele-tool/style/index");
|
|
@@ -9,4 +15,7 @@ require("../../ele-loading/style/index");
|
|
|
9
15
|
require("../../ele-pagination/style/index");
|
|
10
16
|
require("../../ele-data-table/style/index");
|
|
11
17
|
require("../../ele-virtual-table/style/index");
|
|
18
|
+
require("../../ele-modal/style/index");
|
|
19
|
+
require("../../ele-printer/style/index");
|
|
20
|
+
require("../../ele-table/style/index");
|
|
12
21
|
require("./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-
|
|
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-
|
|
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-
|
|
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 =
|
|
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
|
}
|