ele-admin-plus 1.1.9 → 1.2.0-beta.1
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/core-export.d.ts +1 -0
- package/es/core-export.js +1 -0
- package/es/ele-alert/index.d.ts +2 -2
- package/es/ele-alert/props.d.ts +1 -1
- package/es/ele-app/components/message-body.d.ts +39 -0
- package/es/ele-app/components/message-body.js +92 -0
- package/es/ele-app/el.d.ts +2 -0
- package/es/ele-app/style/message/css-var.scss +0 -4
- package/es/ele-app/style/message/index.scss +199 -77
- package/es/ele-app/style/overwrite/input/index.scss +2 -0
- package/es/ele-app/style/overwrite/message-box/index.scss +31 -0
- package/es/ele-app/style/overwrite/tag/css-var.scss +0 -16
- package/es/ele-app/style/overwrite/tag/index.scss +57 -14
- package/es/ele-app/types.d.ts +6 -1
- package/es/ele-config-provider/components/receiver-view.js +3 -3
- package/es/ele-config-provider/index.d.ts +8 -4
- package/es/ele-config-provider/index.js +19 -5
- package/es/ele-config-provider/props.d.ts +9 -4
- package/es/ele-config-provider/props.js +9 -5
- package/es/ele-config-provider/receiver.js +2 -2
- package/es/ele-config-provider/types.d.ts +22 -1
- package/es/ele-data-table/types.d.ts +2 -0
- package/es/ele-drawer/index.d.ts +2 -2
- package/es/ele-edit-tag/index.d.ts +9 -4
- package/es/ele-edit-tag/index.js +4 -2
- package/es/ele-edit-tag/props.d.ts +3 -1
- package/es/ele-edit-tag/props.js +2 -0
- package/es/ele-edit-tag/style/index.scss +11 -4
- package/es/ele-icon-select/index.d.ts +10 -12
- package/es/ele-icon-select/props.d.ts +1 -1
- package/es/ele-map-picker/index.d.ts +1 -1
- package/es/ele-menus/index.d.ts +2 -2
- package/es/ele-menus/index.js +11 -0
- package/es/ele-modal/index.d.ts +3 -3
- package/es/ele-modal/style/index.scss +2 -0
- package/es/ele-modal/util.d.ts +1 -1
- package/es/ele-modal/util.js +2 -4
- package/es/ele-popconfirm/index.d.ts +3 -3
- package/es/ele-popconfirm/props.d.ts +1 -1
- package/es/ele-popover/index.d.ts +2 -2
- package/es/ele-pro-layout/components/pro-header.d.ts +1 -1
- package/es/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
- package/es/ele-pro-layout/index.js +1 -1
- package/es/ele-pro-layout/types.d.ts +4 -4
- package/es/ele-pro-table/components/table-tools.d.ts +11 -2
- package/es/ele-pro-table/components/table-tools.js +14 -26
- package/es/ele-pro-table/components/tool-column.d.ts +1 -0
- package/es/ele-pro-table/components/tool-export.d.ts +29 -56
- package/es/ele-pro-table/components/tool-export.js +100 -52
- package/es/ele-pro-table/components/tool-print-body-cell.js +50 -6
- package/es/ele-pro-table/components/tool-print-header-cell.js +4 -1
- package/es/ele-pro-table/components/tool-print.d.ts +29 -50
- package/es/ele-pro-table/components/tool-print.js +174 -69
- package/es/ele-pro-table/index.js +59 -50
- package/es/ele-pro-table/style/index.scss +9 -0
- package/es/ele-pro-table/types.d.ts +32 -0
- package/es/ele-pro-table/util.d.ts +18 -3
- package/es/ele-pro-table/util.js +160 -28
- package/es/ele-table/style/index.scss +16 -0
- package/es/ele-tooltip/index.d.ts +3 -3
- package/es/ele-virtual-table/util.d.ts +3 -1
- package/es/ele-virtual-table/util.js +7 -2
- package/es/icons/LoadingOutlined.js +1 -1
- package/es/lang/en_US.js +7 -1
- package/es/lang/zh_CN.js +7 -1
- package/es/lang/zh_TW.js +7 -1
- package/es/style/themes/default.scss +82 -85
- package/es/style/themes/rounded.scss +11 -15
- package/es/utils/core.d.ts +7 -0
- package/es/utils/core.js +16 -2
- package/es/utils/message-box.d.ts +25 -0
- package/es/utils/message-box.js +71 -0
- package/es/utils/message.d.ts +44 -20
- package/es/utils/message.js +220 -37
- package/lib/core-export.cjs +8 -0
- package/lib/core-export.d.ts +1 -0
- package/lib/ele-alert/index.d.ts +2 -2
- package/lib/ele-alert/props.d.ts +1 -1
- package/lib/ele-app/components/message-body.cjs +91 -0
- package/lib/ele-app/components/message-body.d.ts +39 -0
- package/lib/ele-app/el.d.ts +2 -0
- package/lib/ele-app/style/message/css-var.scss +0 -4
- package/lib/ele-app/style/message/index.scss +199 -77
- package/lib/ele-app/style/overwrite/input/index.scss +2 -0
- package/lib/ele-app/style/overwrite/message-box/index.scss +31 -0
- package/lib/ele-app/style/overwrite/tag/css-var.scss +0 -16
- package/lib/ele-app/style/overwrite/tag/index.scss +57 -14
- package/lib/ele-app/types.d.ts +6 -1
- package/lib/ele-config-provider/components/receiver-view.cjs +1 -1
- package/lib/ele-config-provider/index.cjs +18 -4
- package/lib/ele-config-provider/index.d.ts +8 -4
- package/lib/ele-config-provider/props.cjs +9 -5
- package/lib/ele-config-provider/props.d.ts +9 -4
- package/lib/ele-config-provider/receiver.cjs +1 -1
- package/lib/ele-config-provider/types.d.ts +22 -1
- package/lib/ele-data-table/types.d.ts +2 -0
- package/lib/ele-drawer/index.d.ts +2 -2
- package/lib/ele-edit-tag/index.cjs +4 -2
- package/lib/ele-edit-tag/index.d.ts +9 -4
- package/lib/ele-edit-tag/props.cjs +2 -0
- package/lib/ele-edit-tag/props.d.ts +3 -1
- package/lib/ele-edit-tag/style/index.scss +11 -4
- package/lib/ele-icon-select/index.d.ts +10 -12
- package/lib/ele-icon-select/props.d.ts +1 -1
- package/lib/ele-map-picker/index.d.ts +1 -1
- package/lib/ele-menus/index.cjs +11 -0
- package/lib/ele-menus/index.d.ts +2 -2
- package/lib/ele-modal/index.d.ts +3 -3
- package/lib/ele-modal/style/index.scss +2 -0
- package/lib/ele-modal/util.cjs +1 -3
- package/lib/ele-modal/util.d.ts +1 -1
- package/lib/ele-popconfirm/index.d.ts +3 -3
- package/lib/ele-popconfirm/props.d.ts +1 -1
- package/lib/ele-popover/index.d.ts +2 -2
- package/lib/ele-pro-layout/components/pro-header.d.ts +1 -1
- package/lib/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
- package/lib/ele-pro-layout/index.cjs +1 -1
- package/lib/ele-pro-layout/types.d.ts +4 -4
- package/lib/ele-pro-table/components/table-tools.cjs +14 -26
- package/lib/ele-pro-table/components/table-tools.d.ts +11 -2
- package/lib/ele-pro-table/components/tool-column.d.ts +1 -0
- package/lib/ele-pro-table/components/tool-export.cjs +99 -51
- package/lib/ele-pro-table/components/tool-export.d.ts +29 -56
- package/lib/ele-pro-table/components/tool-print-body-cell.cjs +49 -5
- package/lib/ele-pro-table/components/tool-print-header-cell.cjs +4 -1
- package/lib/ele-pro-table/components/tool-print.cjs +172 -67
- package/lib/ele-pro-table/components/tool-print.d.ts +29 -50
- package/lib/ele-pro-table/index.cjs +59 -50
- package/lib/ele-pro-table/style/index.scss +9 -0
- package/lib/ele-pro-table/types.d.ts +32 -0
- package/lib/ele-pro-table/util.cjs +160 -28
- package/lib/ele-pro-table/util.d.ts +18 -3
- package/lib/ele-table/style/index.scss +16 -0
- package/lib/ele-tooltip/index.d.ts +3 -3
- package/lib/ele-virtual-table/util.cjs +7 -2
- package/lib/ele-virtual-table/util.d.ts +3 -1
- package/lib/icons/LoadingOutlined.cjs +1 -1
- package/lib/lang/en_US.cjs +7 -1
- package/lib/lang/zh_CN.cjs +7 -1
- package/lib/lang/zh_TW.cjs +7 -1
- package/lib/style/themes/default.scss +82 -85
- package/lib/style/themes/rounded.scss +11 -15
- package/lib/utils/core.cjs +16 -2
- package/lib/utils/core.d.ts +7 -0
- package/lib/utils/message-box.cjs +71 -0
- package/lib/utils/message-box.d.ts +25 -0
- package/lib/utils/message.cjs +216 -33
- package/lib/utils/message.d.ts +44 -20
- package/package.json +14 -14
|
@@ -1,33 +1,16 @@
|
|
|
1
|
-
import { ExportDataType, BeforeExport, Datasource, FetchFunction, ColItem, TablePrintOptions } from '../types';
|
|
1
|
+
import { TableLocale, ExportDataType, BeforeExport, Datasource, FetchFunction, ColItem, TablePrintOptions } from '../types';
|
|
2
2
|
import { Columns, DataItem } from '../../ele-data-table/types';
|
|
3
3
|
import { EleModalProps, ElePrinterProps, EleTableProps } from '../../ele-app/plus';
|
|
4
4
|
import { PropType } from 'vue';
|
|
5
5
|
|
|
6
6
|
declare const _default: import('vue').DefineComponent<{
|
|
7
|
-
/** 提示文字 */
|
|
8
|
-
title: StringConstructor;
|
|
9
7
|
/** 提示位置 */
|
|
10
8
|
placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
untitledText: StringConstructor;
|
|
17
|
-
/** 选择数据文字 */
|
|
18
|
-
selectDataText: StringConstructor;
|
|
19
|
-
/** 选择字段文字 */
|
|
20
|
-
selectColumnText: StringConstructor;
|
|
21
|
-
/** 当前页数据文字 */
|
|
22
|
-
dataTypePageText: StringConstructor;
|
|
23
|
-
/** 选中数据文字 */
|
|
24
|
-
dataTypeSelectedText: StringConstructor;
|
|
25
|
-
/** 全部数据文字 */
|
|
26
|
-
dataTypeAllText: StringConstructor;
|
|
27
|
-
/** 取消文字 */
|
|
28
|
-
cancelText: StringConstructor;
|
|
29
|
-
/** 确定文字 */
|
|
30
|
-
okText: StringConstructor;
|
|
9
|
+
/** 表格国际化 */
|
|
10
|
+
locale: {
|
|
11
|
+
type: PropType<TableLocale>;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
31
14
|
/** 弹窗参数 */
|
|
32
15
|
modalProps: PropType<EleModalProps>;
|
|
33
16
|
/** 打印组件参数 */
|
|
@@ -45,14 +28,15 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
45
28
|
/** 单元格合并行列方法 */
|
|
46
29
|
spanMethod: PropType<((data: {
|
|
47
30
|
row: DataItem;
|
|
48
|
-
/**
|
|
49
|
-
rowIndex: number;
|
|
31
|
+
rowIndex: number; /** 序号列起始索引 */
|
|
50
32
|
column: import('element-plus').TableColumnCtx<DataItem>;
|
|
51
33
|
columnIndex: number;
|
|
52
34
|
}) => number[] | {
|
|
53
35
|
rowspan: number;
|
|
54
36
|
colspan: number;
|
|
55
37
|
} | undefined) | undefined>;
|
|
38
|
+
/** 表格是否有表头 */
|
|
39
|
+
tableHeader: BooleanConstructor;
|
|
56
40
|
/** 是否显示合计行 */
|
|
57
41
|
showSummary: BooleanConstructor;
|
|
58
42
|
/** 合计行文本 */
|
|
@@ -69,6 +53,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
69
53
|
headerCellClassName: PropType<import('element-plus').CellCls<DataItem> | undefined>;
|
|
70
54
|
/** 序号列起始索引 */
|
|
71
55
|
pageIndex: NumberConstructor;
|
|
56
|
+
/** 子级字段名 */
|
|
57
|
+
childrenField: StringConstructor;
|
|
72
58
|
/** 表格请求数据方法 */
|
|
73
59
|
fetch: PropType<FetchFunction>;
|
|
74
60
|
/** 默认数据类型 */
|
|
@@ -88,43 +74,32 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
88
74
|
checked?: boolean | undefined;
|
|
89
75
|
fixed?: string | boolean | undefined;
|
|
90
76
|
children?: any[] | undefined;
|
|
77
|
+
type?: string | undefined;
|
|
91
78
|
}[]>;
|
|
92
79
|
isCheckAll: import('vue').Ref<boolean>;
|
|
93
80
|
isIndeterminate: import('vue').Ref<boolean>;
|
|
81
|
+
showHeader: import('vue').Ref<boolean>;
|
|
82
|
+
showFooter: import('vue').Ref<boolean>;
|
|
83
|
+
showTreeIndex: import('vue').Ref<boolean>;
|
|
84
|
+
treeIndexDisabled: import('vue').Ref<boolean>;
|
|
94
85
|
printOptions: TablePrintOptions;
|
|
95
86
|
openModal: () => void;
|
|
96
87
|
closeModal: () => void;
|
|
97
88
|
onPrintDone: () => void;
|
|
98
89
|
handlePrint: () => void;
|
|
99
|
-
onCheckedChange: (item
|
|
90
|
+
onCheckedChange: (item?: ColItem, checked?: boolean, type?: string) => void;
|
|
100
91
|
onSortChange: (items: ColItem[], parent?: ColItem) => void;
|
|
101
92
|
onCheckAllChange: (checked: boolean) => void;
|
|
102
93
|
onReset: () => void;
|
|
94
|
+
handleTreeIndexChange: (checked?: boolean | string | number) => void;
|
|
103
95
|
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
104
|
-
/** 提示文字 */
|
|
105
|
-
title: StringConstructor;
|
|
106
96
|
/** 提示位置 */
|
|
107
97
|
placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
|
|
108
|
-
/**
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
untitledText: StringConstructor;
|
|
114
|
-
/** 选择数据文字 */
|
|
115
|
-
selectDataText: StringConstructor;
|
|
116
|
-
/** 选择字段文字 */
|
|
117
|
-
selectColumnText: StringConstructor;
|
|
118
|
-
/** 当前页数据文字 */
|
|
119
|
-
dataTypePageText: StringConstructor;
|
|
120
|
-
/** 选中数据文字 */
|
|
121
|
-
dataTypeSelectedText: StringConstructor;
|
|
122
|
-
/** 全部数据文字 */
|
|
123
|
-
dataTypeAllText: StringConstructor;
|
|
124
|
-
/** 取消文字 */
|
|
125
|
-
cancelText: StringConstructor;
|
|
126
|
-
/** 确定文字 */
|
|
127
|
-
okText: StringConstructor;
|
|
98
|
+
/** 表格国际化 */
|
|
99
|
+
locale: {
|
|
100
|
+
type: PropType<TableLocale>;
|
|
101
|
+
required: true;
|
|
102
|
+
};
|
|
128
103
|
/** 弹窗参数 */
|
|
129
104
|
modalProps: PropType<EleModalProps>;
|
|
130
105
|
/** 打印组件参数 */
|
|
@@ -142,14 +117,15 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
142
117
|
/** 单元格合并行列方法 */
|
|
143
118
|
spanMethod: PropType<((data: {
|
|
144
119
|
row: DataItem;
|
|
145
|
-
/**
|
|
146
|
-
rowIndex: number;
|
|
120
|
+
rowIndex: number; /** 序号列起始索引 */
|
|
147
121
|
column: import('element-plus').TableColumnCtx<DataItem>;
|
|
148
122
|
columnIndex: number;
|
|
149
123
|
}) => number[] | {
|
|
150
124
|
rowspan: number;
|
|
151
125
|
colspan: number;
|
|
152
126
|
} | undefined) | undefined>;
|
|
127
|
+
/** 表格是否有表头 */
|
|
128
|
+
tableHeader: BooleanConstructor;
|
|
153
129
|
/** 是否显示合计行 */
|
|
154
130
|
showSummary: BooleanConstructor;
|
|
155
131
|
/** 合计行文本 */
|
|
@@ -166,6 +142,8 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
166
142
|
headerCellClassName: PropType<import('element-plus').CellCls<DataItem> | undefined>;
|
|
167
143
|
/** 序号列起始索引 */
|
|
168
144
|
pageIndex: NumberConstructor;
|
|
145
|
+
/** 子级字段名 */
|
|
146
|
+
childrenField: StringConstructor;
|
|
169
147
|
/** 表格请求数据方法 */
|
|
170
148
|
fetch: PropType<FetchFunction>;
|
|
171
149
|
/** 默认数据类型 */
|
|
@@ -177,6 +155,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
177
155
|
beforePrint: PropType<BeforeExport>;
|
|
178
156
|
}>>, {
|
|
179
157
|
showSummary: boolean;
|
|
158
|
+
tableHeader: boolean;
|
|
180
159
|
defaultDataType: ExportDataType;
|
|
181
160
|
}, {}>;
|
|
182
161
|
export default _default;
|
|
@@ -229,6 +229,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
229
229
|
});
|
|
230
230
|
};
|
|
231
231
|
const requestCallback = (data, total, parent, response, resolve) => {
|
|
232
|
+
var _a;
|
|
232
233
|
if (!Array.isArray(data)) {
|
|
233
234
|
tableData.value = [];
|
|
234
235
|
tableLoading.value = false;
|
|
@@ -246,6 +247,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
246
247
|
return;
|
|
247
248
|
}
|
|
248
249
|
if (resolve) {
|
|
250
|
+
if (parent != null) {
|
|
251
|
+
parent[((_a = props2.treeProps) == null ? void 0 : _a.children) || "children"] = data;
|
|
252
|
+
}
|
|
249
253
|
resolve(data);
|
|
250
254
|
} else {
|
|
251
255
|
if (util$1.isAutoAmend(props2.pagination, globalProps.value.pagination) && !data.length && total && "*" !== total && tablePage.value && tableLimit.value) {
|
|
@@ -513,56 +517,61 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
513
517
|
return vue.openBlock(), vue.createBlock(_component_EleLoading, vue.normalizeProps(vue.guardReactiveProps(_ctx.loadingProps)), {
|
|
514
518
|
default: vue.withCtx(() => [
|
|
515
519
|
_ctx.toolbar ? (vue.openBlock(), vue.createBlock(_component_EleToolbar, vue.normalizeProps(vue.mergeProps({ key: 0 }, _ctx.toolbar === true ? {} : _ctx.toolbar)), {
|
|
516
|
-
tools: vue.withCtx(() =>
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
520
|
+
tools: vue.withCtx(() => {
|
|
521
|
+
var _a;
|
|
522
|
+
return [
|
|
523
|
+
vue.renderSlot(_ctx.$slots, "tools"),
|
|
524
|
+
_ctx.toolNames && _ctx.toolNames.length ? (vue.openBlock(), vue.createBlock(_component_TableTools, {
|
|
525
|
+
key: 0,
|
|
526
|
+
tools: _ctx.toolNames,
|
|
527
|
+
size: _ctx.tableSize,
|
|
528
|
+
columns: _ctx.columns,
|
|
529
|
+
columnSortable: _ctx.columnSortable,
|
|
530
|
+
columnFixed: _ctx.columnFixed,
|
|
531
|
+
maximized: _ctx.tableMaximized,
|
|
532
|
+
cacheKey: _ctx.cacheKey,
|
|
533
|
+
locale: _ctx.locale,
|
|
534
|
+
selections: _ctx.selections,
|
|
535
|
+
pageData: _ctx.tableData,
|
|
536
|
+
spanMethod: _ctx.spanMethod,
|
|
537
|
+
tableHeader: _ctx.showHeader,
|
|
538
|
+
showSummary: _ctx.showSummary,
|
|
539
|
+
sumText: _ctx.sumText,
|
|
540
|
+
summaryMethod: _ctx.summaryMethod,
|
|
541
|
+
cellStyle: _ctx.cellStyle,
|
|
542
|
+
cellClassName: _ctx.cellClassName,
|
|
543
|
+
headerCellStyle: _ctx.headerCellStyle,
|
|
544
|
+
headerCellClassName: _ctx.headerCellClassName,
|
|
545
|
+
pageIndex: _ctx.tableIndex,
|
|
546
|
+
childrenField: (_a = _ctx.treeProps) == null ? void 0 : _a.children,
|
|
547
|
+
fetch: _ctx.fetch,
|
|
548
|
+
exportConfig: _ctx.toolExportConfig,
|
|
549
|
+
printConfig: _ctx.toolPrintConfig,
|
|
550
|
+
onReload: _ctx.onRefresh,
|
|
551
|
+
"onUpdate:size": _ctx.onSizeChange,
|
|
552
|
+
"onUpdate:columns": _ctx.onColumnsChange,
|
|
553
|
+
"onUpdate:maximized": _ctx.onMaximizedChange
|
|
554
|
+
}, vue.createSlots({ _: 2 }, [
|
|
555
|
+
vue.renderList(Object.keys(_ctx.$slots).filter(
|
|
556
|
+
(k) => ![
|
|
557
|
+
"default",
|
|
558
|
+
"toolbar",
|
|
559
|
+
"tools",
|
|
560
|
+
"footer",
|
|
561
|
+
"empty",
|
|
562
|
+
"append"
|
|
563
|
+
].includes(k)
|
|
564
|
+
), (name) => {
|
|
565
|
+
return {
|
|
566
|
+
name,
|
|
567
|
+
fn: vue.withCtx((slotProps) => [
|
|
568
|
+
vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(slotProps || {})))
|
|
569
|
+
])
|
|
570
|
+
};
|
|
571
|
+
})
|
|
572
|
+
]), 1032, ["tools", "size", "columns", "columnSortable", "columnFixed", "maximized", "cacheKey", "locale", "selections", "pageData", "spanMethod", "tableHeader", "showSummary", "sumText", "summaryMethod", "cellStyle", "cellClassName", "headerCellStyle", "headerCellClassName", "pageIndex", "childrenField", "fetch", "exportConfig", "printConfig", "onReload", "onUpdate:size", "onUpdate:columns", "onUpdate:maximized"])) : vue.createCommentVNode("", true)
|
|
573
|
+
];
|
|
574
|
+
}),
|
|
566
575
|
default: vue.withCtx(() => [
|
|
567
576
|
vue.renderSlot(_ctx.$slots, "toolbar")
|
|
568
577
|
]),
|
|
@@ -227,6 +227,8 @@ export interface ColItem {
|
|
|
227
227
|
fixed?: boolean | string;
|
|
228
228
|
/** 子级数据 */
|
|
229
229
|
children?: ColItem[];
|
|
230
|
+
/** 列类型 */
|
|
231
|
+
type?: string;
|
|
230
232
|
}
|
|
231
233
|
|
|
232
234
|
/**
|
|
@@ -291,6 +293,20 @@ export type TableViewInstance =
|
|
|
291
293
|
*/
|
|
292
294
|
export type ExportDataType = 'selections' | 'pageData' | 'data';
|
|
293
295
|
|
|
296
|
+
/**
|
|
297
|
+
* 导出主体数据节点
|
|
298
|
+
*/
|
|
299
|
+
export interface ExportBodyNode {
|
|
300
|
+
/** 数据 */
|
|
301
|
+
row: DataItem;
|
|
302
|
+
/** 索引 */
|
|
303
|
+
index: number;
|
|
304
|
+
/** 所处深度 */
|
|
305
|
+
level: number;
|
|
306
|
+
/** 子级数量 */
|
|
307
|
+
childSize: number;
|
|
308
|
+
}
|
|
309
|
+
|
|
294
310
|
/**
|
|
295
311
|
* 导出的数据每一项
|
|
296
312
|
*/
|
|
@@ -309,6 +325,16 @@ export interface ExportDataItem {
|
|
|
309
325
|
colspan?: number;
|
|
310
326
|
/** 所占行数 */
|
|
311
327
|
rowspan?: number;
|
|
328
|
+
/** 是否是展开行的单元格 */
|
|
329
|
+
isExpandCell?: boolean;
|
|
330
|
+
/** 是否是层级序号 */
|
|
331
|
+
isTreeIndex?: boolean;
|
|
332
|
+
/** 是否显示树展开图标 */
|
|
333
|
+
isTreeCell?: boolean;
|
|
334
|
+
/** 是否是树叶子节点 */
|
|
335
|
+
isTreeLeaf?: boolean;
|
|
336
|
+
/** 树层级缩进 */
|
|
337
|
+
indent?: number;
|
|
312
338
|
}
|
|
313
339
|
|
|
314
340
|
/**
|
|
@@ -418,6 +444,8 @@ export interface TableLocale {
|
|
|
418
444
|
columnTitle: string;
|
|
419
445
|
columnReset: string;
|
|
420
446
|
columnUntitled: string;
|
|
447
|
+
columnIndex: string;
|
|
448
|
+
columnExpand: string;
|
|
421
449
|
columnFixedLeft: string;
|
|
422
450
|
columnFixedRight: string;
|
|
423
451
|
exportOk: string;
|
|
@@ -429,4 +457,8 @@ export interface TableLocale {
|
|
|
429
457
|
exportDataTypePage: string;
|
|
430
458
|
exportDataTypeSelected: string;
|
|
431
459
|
exportDataTypeAll: string;
|
|
460
|
+
exportOther: string;
|
|
461
|
+
exportOtherHeader: string;
|
|
462
|
+
exportOtherFooter: string;
|
|
463
|
+
exportOtherTreeIndex: string;
|
|
432
464
|
}
|
|
@@ -320,7 +320,7 @@ function getCheckedColumns(columns, cols, sortable, filter) {
|
|
|
320
320
|
});
|
|
321
321
|
return data;
|
|
322
322
|
}
|
|
323
|
-
function getColItems(columns, untitledText, filter, sortFixed, cancelFixed) {
|
|
323
|
+
function getColItems(columns, untitledText, indexText, expandText, filter, sortFixed, cancelFixed) {
|
|
324
324
|
const temp = columns == null ? [] : [...columns];
|
|
325
325
|
if (sortFixed) {
|
|
326
326
|
temp.sort((a, b) => {
|
|
@@ -336,9 +336,10 @@ function getColItems(columns, untitledText, filter, sortFixed, cancelFixed) {
|
|
|
336
336
|
uid: colId,
|
|
337
337
|
//prop: d.prop,
|
|
338
338
|
//columnKey: d.columnKey,
|
|
339
|
-
label: d.label || untitledText,
|
|
339
|
+
label: d.label || (d.type === "index" ? indexText : d.type === "expand" ? expandText : untitledText),
|
|
340
340
|
checked: !d.hideInTable,
|
|
341
|
-
fixed: cancelFixed ? false : parent == null ? d.fixed : false
|
|
341
|
+
fixed: cancelFixed ? false : parent == null ? d.fixed : false,
|
|
342
|
+
type: d.type
|
|
342
343
|
};
|
|
343
344
|
});
|
|
344
345
|
}
|
|
@@ -426,56 +427,186 @@ function getHeaderCellText(column, index) {
|
|
|
426
427
|
}
|
|
427
428
|
return column.label == null ? "" : String(column.label);
|
|
428
429
|
}
|
|
429
|
-
function
|
|
430
|
+
function getExportBodyNode(data, childrenField = "children", level = 0, parents = []) {
|
|
431
|
+
const bodyDodes = [];
|
|
432
|
+
let maxDepth = 0;
|
|
433
|
+
data.forEach((row, index) => {
|
|
434
|
+
const node = { row, index, level, childSize: 0 };
|
|
435
|
+
bodyDodes.push(node);
|
|
436
|
+
parents.forEach((parent) => {
|
|
437
|
+
parent.childSize++;
|
|
438
|
+
});
|
|
439
|
+
const children = row[childrenField];
|
|
440
|
+
if (children && children.length) {
|
|
441
|
+
const { depth, nodes } = getExportBodyNode(
|
|
442
|
+
children,
|
|
443
|
+
childrenField,
|
|
444
|
+
level + 1,
|
|
445
|
+
[...parents, node]
|
|
446
|
+
);
|
|
447
|
+
maxDepth = Math.max(maxDepth, depth);
|
|
448
|
+
nodes.forEach((n) => {
|
|
449
|
+
bodyDodes.push(n);
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
});
|
|
453
|
+
return { depth: maxDepth + 1, nodes: bodyDodes };
|
|
454
|
+
}
|
|
455
|
+
function getExportData(data, columns, spanMethod, pageIndex, showSummary, sumText, summaryMethod, childrenField, showTreeIndex, showHeader) {
|
|
456
|
+
const { nodes, depth } = getExportBodyNode(data, childrenField);
|
|
430
457
|
const { rows: headerRows, cols: bodyCols } = util$1.analyseColumns(columns);
|
|
458
|
+
const showExpandIndex = bodyCols.some((c) => {
|
|
459
|
+
var _a;
|
|
460
|
+
return ((_a = c.originalCol) == null ? void 0 : _a.type) === "expand";
|
|
461
|
+
}) ? showTreeIndex : false;
|
|
462
|
+
if (depth <= 1 || showExpandIndex) {
|
|
463
|
+
showTreeIndex = false;
|
|
464
|
+
}
|
|
465
|
+
const treeIconIndex = showTreeIndex ? void 0 : bodyCols.findIndex(
|
|
466
|
+
(c) => {
|
|
467
|
+
var _a;
|
|
468
|
+
return !((_a = c.originalCol) == null ? void 0 : _a.type) || !["index", "expand", "selection"].includes(c.originalCol.type);
|
|
469
|
+
}
|
|
470
|
+
);
|
|
431
471
|
const bodyData = [];
|
|
432
|
-
|
|
472
|
+
nodes.forEach((node, index) => {
|
|
473
|
+
const row = node.row;
|
|
433
474
|
const bodyRowData = [];
|
|
475
|
+
const expandRowData = [];
|
|
434
476
|
bodyCols.forEach((col, columnIndex) => {
|
|
435
|
-
const { key, originalCol: column } = col;
|
|
477
|
+
const { key: colKey, originalCol: column } = col;
|
|
478
|
+
const key = `${index}-${columnIndex}-${colKey}`;
|
|
436
479
|
const { colspan, rowspan } = util$1.getCellSpan(
|
|
437
480
|
{ column, columnIndex, row, rowIndex: index },
|
|
438
481
|
spanMethod
|
|
439
482
|
);
|
|
440
483
|
const isNone = colspan == 0 || rowspan == 0;
|
|
441
484
|
const text = isNone ? "" : getCellText(column, row, index, pageIndex);
|
|
442
|
-
|
|
485
|
+
const dataItem = {
|
|
486
|
+
key,
|
|
487
|
+
row,
|
|
488
|
+
index,
|
|
489
|
+
column,
|
|
490
|
+
text,
|
|
491
|
+
colspan,
|
|
492
|
+
rowspan,
|
|
493
|
+
isTreeCell: depth > 1 ? columnIndex === treeIconIndex : false,
|
|
494
|
+
isTreeLeaf: !node.childSize,
|
|
495
|
+
indent: node.level
|
|
496
|
+
};
|
|
497
|
+
if (column.type === "expand") {
|
|
498
|
+
dataItem.text = showExpandIndex ? String(node.index + 1) : "";
|
|
499
|
+
if (showExpandIndex && !expandRowData.length) {
|
|
500
|
+
dataItem.rowspan = 2;
|
|
501
|
+
}
|
|
502
|
+
const expandDataItem = {
|
|
503
|
+
key: "_expand_" + key,
|
|
504
|
+
row,
|
|
505
|
+
index,
|
|
506
|
+
column,
|
|
507
|
+
text,
|
|
508
|
+
colspan: showExpandIndex ? bodyCols.length - 1 : bodyCols.length,
|
|
509
|
+
isExpandCell: true
|
|
510
|
+
};
|
|
511
|
+
if (showExpandIndex) {
|
|
512
|
+
expandRowData[0] = {
|
|
513
|
+
key: "_expand_0-" + key,
|
|
514
|
+
row,
|
|
515
|
+
index,
|
|
516
|
+
rowspan: 0,
|
|
517
|
+
colspan: 0,
|
|
518
|
+
isExpandCell: true
|
|
519
|
+
};
|
|
520
|
+
expandRowData[1] = expandDataItem;
|
|
521
|
+
} else {
|
|
522
|
+
expandRowData[0] = expandDataItem;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
bodyRowData.push(dataItem);
|
|
443
526
|
});
|
|
444
527
|
bodyData.push(bodyRowData);
|
|
528
|
+
if (expandRowData.length) {
|
|
529
|
+
bodyData.push(expandRowData);
|
|
530
|
+
}
|
|
531
|
+
if (showTreeIndex) {
|
|
532
|
+
for (let i = depth - 1; i >= 0; i--) {
|
|
533
|
+
const colspan = i < node.level ? 0 : 1;
|
|
534
|
+
bodyRowData.unshift({
|
|
535
|
+
key: `_index_${index}-${i}`,
|
|
536
|
+
index,
|
|
537
|
+
text: i === node.level ? String(node.index + 1) : void 0,
|
|
538
|
+
colspan,
|
|
539
|
+
rowspan: i === node.level ? node.childSize + 1 : colspan,
|
|
540
|
+
isTreeIndex: true
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
}
|
|
445
544
|
});
|
|
446
545
|
const headerData = [];
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
546
|
+
if (showHeader) {
|
|
547
|
+
headerRows.forEach((headerCols, index) => {
|
|
548
|
+
const headerRowData = [];
|
|
549
|
+
headerCols.forEach((col) => {
|
|
550
|
+
const { key, colspan, rowspan, originalCol: column } = col;
|
|
551
|
+
const isNone = colspan == 0 || rowspan == 0;
|
|
552
|
+
const text = isNone ? "" : getHeaderCellText(column, index);
|
|
553
|
+
headerRowData.push({ key, index, column, text, colspan, rowspan });
|
|
554
|
+
});
|
|
555
|
+
headerData.push(headerRowData);
|
|
556
|
+
if (showTreeIndex) {
|
|
557
|
+
for (let i = depth - 1; i >= 0; i--) {
|
|
558
|
+
headerRowData.unshift({
|
|
559
|
+
key: `_index_th_${index}-${i}`,
|
|
560
|
+
index,
|
|
561
|
+
colspan: i === 0 ? index === 0 ? depth : 0 : 0,
|
|
562
|
+
rowspan: i === 0 ? index === 0 ? headerRows.length : 0 : 0,
|
|
563
|
+
isTreeIndex: true
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
}
|
|
454
567
|
});
|
|
455
|
-
|
|
456
|
-
});
|
|
568
|
+
}
|
|
457
569
|
const footerData = [];
|
|
458
570
|
if (showSummary && data.length) {
|
|
459
571
|
const footerRowData = [];
|
|
460
|
-
const
|
|
572
|
+
const uSum = util$1.getUserSums(summaryMethod, bodyCols, data);
|
|
461
573
|
bodyCols.forEach((col, i) => {
|
|
462
|
-
const { key, dataKey, originalCol: column } = col;
|
|
463
|
-
const
|
|
464
|
-
footerRowData.push({
|
|
465
|
-
key,
|
|
466
|
-
column,
|
|
467
|
-
text: userSums == null ? i === 0 ? sumText : sumValue : userSums[i],
|
|
468
|
-
index: 0
|
|
469
|
-
});
|
|
574
|
+
const { key, dataKey: dKey, originalCol: column } = col;
|
|
575
|
+
const text = uSum == null ? util$1.getSumValue(data, dKey, i, sumText) : uSum[i];
|
|
576
|
+
footerRowData.push({ key, column, text, index: 0 });
|
|
470
577
|
});
|
|
471
578
|
footerData.push(footerRowData);
|
|
579
|
+
if (showTreeIndex) {
|
|
580
|
+
for (let i = depth - 1; i >= 0; i--) {
|
|
581
|
+
footerRowData.unshift({
|
|
582
|
+
key: `_index_tf-${i}`,
|
|
583
|
+
index: 0,
|
|
584
|
+
colspan: i === 0 ? depth : 0,
|
|
585
|
+
rowspan: i === 0 ? headerRows.length : 0,
|
|
586
|
+
isTreeIndex: true
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
if (showTreeIndex) {
|
|
592
|
+
for (let i = depth - 1; i >= 0; i--) {
|
|
593
|
+
bodyCols.unshift({ key: `_index_${i}`, width: 26 });
|
|
594
|
+
}
|
|
472
595
|
}
|
|
473
596
|
return { headerData, bodyData, footerData, bodyCols };
|
|
474
597
|
}
|
|
475
598
|
function exportCSV(fileName, headerData, bodyData, footerData) {
|
|
476
599
|
const csvRows = [];
|
|
477
600
|
[...headerData, ...bodyData, ...footerData].forEach((item) => {
|
|
478
|
-
|
|
601
|
+
const cells = item.map((d) => {
|
|
602
|
+
const text = (d.text ?? "").replace(/,/g, ",").replace(/\n/g, " ");
|
|
603
|
+
if (!d.isTreeCell || !d.indent) {
|
|
604
|
+
return text;
|
|
605
|
+
}
|
|
606
|
+
const indent = Array.from({ length: d.indent }).fill(" ").join("");
|
|
607
|
+
return indent + text;
|
|
608
|
+
});
|
|
609
|
+
csvRows.push(cells.join(","));
|
|
479
610
|
});
|
|
480
611
|
const content = encodeURIComponent(csvRows.join("\n"));
|
|
481
612
|
const a = document.createElement("a");
|
|
@@ -490,13 +621,13 @@ function columnsExportFilter(item) {
|
|
|
490
621
|
if (item.hideInExport) {
|
|
491
622
|
return false;
|
|
492
623
|
}
|
|
493
|
-
return !item.type || !["selection"
|
|
624
|
+
return !item.type || !["selection"].includes(item.type);
|
|
494
625
|
}
|
|
495
626
|
function columnsPrintFilter(item) {
|
|
496
627
|
if (item.hideInPrint) {
|
|
497
628
|
return false;
|
|
498
629
|
}
|
|
499
|
-
return !item.type || !["selection"
|
|
630
|
+
return !item.type || !["selection"].includes(item.type);
|
|
500
631
|
}
|
|
501
632
|
exports.columnsExportFilter = columnsExportFilter;
|
|
502
633
|
exports.columnsPrintFilter = columnsPrintFilter;
|
|
@@ -509,6 +640,7 @@ exports.getColId = getColId;
|
|
|
509
640
|
exports.getColItems = getColItems;
|
|
510
641
|
exports.getColsCacheKey = getColsCacheKey;
|
|
511
642
|
exports.getDefaultFilter = getDefaultFilter;
|
|
643
|
+
exports.getExportBodyNode = getExportBodyNode;
|
|
512
644
|
exports.getExportData = getExportData;
|
|
513
645
|
exports.getHeaderCellText = getHeaderCellText;
|
|
514
646
|
exports.getInitCacheColumns = getInitCacheColumns;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Pages, Orders, Filters, OrderItem, RequestOption, ResponseOption, TablePagination, DatasourceResult, ResponseResult, ReloadDataResult, ColItem, ProProps, ExportDataItem, ExportDataResult } from './types';
|
|
1
|
+
import { Pages, Orders, Filters, OrderItem, RequestOption, ResponseOption, TablePagination, DatasourceResult, ResponseResult, ReloadDataResult, ColItem, ProProps, ExportBodyNode, ExportDataItem, ExportDataResult } from './types';
|
|
2
2
|
import { DataItem, Column, Columns, Sorter, Filter, TableSize, TreeProps, RowKey, SpanMethod, SummaryMethod } from '../ele-data-table/types';
|
|
3
3
|
import { ElePaginationProps } from '../ele-app/plus';
|
|
4
4
|
|
|
@@ -141,11 +141,13 @@ export declare function getCheckedColumns(columns: Columns | undefined, cols: Co
|
|
|
141
141
|
* 获取列展示列表数据
|
|
142
142
|
* @param columns 列配置
|
|
143
143
|
* @param untitledText 未命名列文字
|
|
144
|
+
* @param indexText 序号列文字
|
|
145
|
+
* @param expandText 展开列文字
|
|
144
146
|
* @param filter 过滤列的方法
|
|
145
147
|
* @param sortFixed 是否对固定列排序
|
|
146
148
|
* @param cancelFixed 是否取消固定列
|
|
147
149
|
*/
|
|
148
|
-
export declare function getColItems(columns?: Columns, untitledText?: string, filter?: (item: Column) => boolean, sortFixed?: boolean, cancelFixed?: boolean): ColItem[];
|
|
150
|
+
export declare function getColItems(columns?: Columns, untitledText?: string, indexText?: string, expandText?: string, filter?: (item: Column) => boolean, sortFixed?: boolean, cancelFixed?: boolean): ColItem[];
|
|
149
151
|
/**
|
|
150
152
|
* 获取列配置
|
|
151
153
|
* @param columns 列数据
|
|
@@ -190,6 +192,17 @@ export declare function getCellText(column: Column | undefined, row: DataItem, i
|
|
|
190
192
|
* @param index 行索引
|
|
191
193
|
*/
|
|
192
194
|
export declare function getHeaderCellText(column: Column | undefined, index: number): string;
|
|
195
|
+
/**
|
|
196
|
+
* 获取主体数据封装节点
|
|
197
|
+
* @param data 数据
|
|
198
|
+
* @param childrenField 子级字段名
|
|
199
|
+
* @param level 树形所处深度
|
|
200
|
+
* @param parents 父级节点
|
|
201
|
+
*/
|
|
202
|
+
export declare function getExportBodyNode(data: DataItem[], childrenField?: string, level?: number, parents?: ExportBodyNode[]): {
|
|
203
|
+
depth: number;
|
|
204
|
+
nodes: ExportBodyNode[];
|
|
205
|
+
};
|
|
193
206
|
/**
|
|
194
207
|
* 获取导出的数据
|
|
195
208
|
* @param data 元数据
|
|
@@ -199,8 +212,10 @@ export declare function getHeaderCellText(column: Column | undefined, index: num
|
|
|
199
212
|
* @param showSummary 是否显示合计行
|
|
200
213
|
* @param sumText 合计行文本
|
|
201
214
|
* @param summaryMethod 合计行自定义方法
|
|
215
|
+
* @param childrenField 子级字段名
|
|
216
|
+
* @param showTreeIndex 是否显示层级序号
|
|
202
217
|
*/
|
|
203
|
-
export declare function getExportData(data: DataItem[], columns: Columns, spanMethod?: SpanMethod, pageIndex?: number, showSummary?: boolean, sumText?: string, summaryMethod?: SummaryMethod): ExportDataResult;
|
|
218
|
+
export declare function getExportData(data: DataItem[], columns: Columns, spanMethod?: SpanMethod, pageIndex?: number, showSummary?: boolean, sumText?: string, summaryMethod?: SummaryMethod, childrenField?: string, showTreeIndex?: boolean, showHeader?: boolean): ExportDataResult;
|
|
204
219
|
/**
|
|
205
220
|
* 导出csv文件
|
|
206
221
|
* @param fileName 文件名
|