dynamicformdjx 0.4.4 → 0.6.0
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/README.md +802 -327
- package/dist/elementPlus/EleDynamicForm.d.ts +3 -3
- package/dist/elementPlus/ElePopupModal.d.ts +89 -0
- package/dist/elementPlus/EleZealCard.d.ts +58 -0
- package/dist/elementPlus/EleZealTableTool.d.ts +284 -0
- package/dist/elementPlus/hooks/useZealTool.d.ts +7 -0
- package/dist/elementPlus/index.cjs +1 -1
- package/dist/elementPlus/index.d.ts +13 -6
- package/dist/elementPlus/index.mjs +988 -426
- package/dist/hooks/useTool.d.ts +14 -0
- package/dist/hooks/zealForm.d.ts +14 -0
- package/dist/index-BAqRAwDC.cjs +1 -0
- package/dist/index-BQKYL550.js +213 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.mjs +522 -298
- package/dist/naiveUi/NaiPopupModal.d.ts +79 -0
- package/dist/naiveUi/NaiZealCard.d.ts +58 -0
- package/dist/naiveUi/NaiZealTableTool.d.ts +187 -0
- package/dist/naiveUi/hooks/useZealTool.d.ts +7 -0
- package/dist/naiveUi/index.cjs +1 -1
- package/dist/naiveUi/index.d.ts +13 -6
- package/dist/naiveUi/index.mjs +910 -416
- package/dist/origin/LoadedScroll.d.ts +180 -0
- package/dist/types/form.d.ts +30 -0
- package/dist/types/index.d.ts +30 -1
- package/dist/types/slots.d.ts +40 -0
- package/dist/utils/tools.d.ts +10 -2
- package/dist/vite-env.d.ts +6 -0
- package/package.json +2 -1
- package/dist/index-B7xg-BCF.js +0 -42
- package/dist/index-DyThWcVg.cjs +0 -1
|
@@ -4,7 +4,7 @@ import { DynamicFormSlots, PresetType } from '../types';
|
|
|
4
4
|
import { FormRules, FormProps, RowProps } from 'element-plus';
|
|
5
5
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
6
6
|
formConfig: {
|
|
7
|
-
type: PropType<FormProps
|
|
7
|
+
type: PropType<Partial<FormProps>>;
|
|
8
8
|
default: () => {
|
|
9
9
|
labelPosition: string;
|
|
10
10
|
size: string;
|
|
@@ -32,7 +32,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
32
32
|
};
|
|
33
33
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
34
34
|
formConfig: {
|
|
35
|
-
type: PropType<FormProps
|
|
35
|
+
type: PropType<Partial<FormProps>>;
|
|
36
36
|
default: () => {
|
|
37
37
|
labelPosition: string;
|
|
38
38
|
size: string;
|
|
@@ -59,7 +59,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
59
59
|
require: boolean;
|
|
60
60
|
};
|
|
61
61
|
}>> & Readonly<{}>, {
|
|
62
|
-
formConfig: FormProps
|
|
62
|
+
formConfig: Partial<FormProps>;
|
|
63
63
|
rowConfig: RowProps;
|
|
64
64
|
preset: PresetType;
|
|
65
65
|
}, SlotsType<DynamicFormSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { PropType, SlotsType, VNodeChild } from 'vue';
|
|
2
|
+
import { DialogProps } from 'element-plus/es/components/dialog/src/dialog';
|
|
3
|
+
type ElDialogSlots = {
|
|
4
|
+
default?: () => VNodeChild;
|
|
5
|
+
footer?: () => VNodeChild;
|
|
6
|
+
title?: () => VNodeChild;
|
|
7
|
+
header?: (scope: {
|
|
8
|
+
close: () => void;
|
|
9
|
+
titleId: string;
|
|
10
|
+
titleClass: string;
|
|
11
|
+
}) => VNodeChild;
|
|
12
|
+
};
|
|
13
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
14
|
+
title: {
|
|
15
|
+
type: StringConstructor;
|
|
16
|
+
};
|
|
17
|
+
modalProps: {
|
|
18
|
+
type: PropType<DialogProps>;
|
|
19
|
+
};
|
|
20
|
+
to: {
|
|
21
|
+
type: PropType<string | HTMLElement>;
|
|
22
|
+
};
|
|
23
|
+
showClose: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
closeOnMask: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
width: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
onCancel: {
|
|
36
|
+
type: PropType<() => boolean | Promise<boolean | void> | void>;
|
|
37
|
+
default: () => boolean;
|
|
38
|
+
};
|
|
39
|
+
onSubmit: {
|
|
40
|
+
type: PropType<() => boolean | Promise<boolean | void> | void>;
|
|
41
|
+
default: () => boolean;
|
|
42
|
+
};
|
|
43
|
+
footerTxt: {
|
|
44
|
+
type: PropType<string[]>;
|
|
45
|
+
default: () => string[];
|
|
46
|
+
};
|
|
47
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
48
|
+
title: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
};
|
|
51
|
+
modalProps: {
|
|
52
|
+
type: PropType<DialogProps>;
|
|
53
|
+
};
|
|
54
|
+
to: {
|
|
55
|
+
type: PropType<string | HTMLElement>;
|
|
56
|
+
};
|
|
57
|
+
showClose: {
|
|
58
|
+
type: BooleanConstructor;
|
|
59
|
+
default: boolean;
|
|
60
|
+
};
|
|
61
|
+
closeOnMask: {
|
|
62
|
+
type: BooleanConstructor;
|
|
63
|
+
default: boolean;
|
|
64
|
+
};
|
|
65
|
+
width: {
|
|
66
|
+
type: StringConstructor;
|
|
67
|
+
default: string;
|
|
68
|
+
};
|
|
69
|
+
onCancel: {
|
|
70
|
+
type: PropType<() => boolean | Promise<boolean | void> | void>;
|
|
71
|
+
default: () => boolean;
|
|
72
|
+
};
|
|
73
|
+
onSubmit: {
|
|
74
|
+
type: PropType<() => boolean | Promise<boolean | void> | void>;
|
|
75
|
+
default: () => boolean;
|
|
76
|
+
};
|
|
77
|
+
footerTxt: {
|
|
78
|
+
type: PropType<string[]>;
|
|
79
|
+
default: () => string[];
|
|
80
|
+
};
|
|
81
|
+
}>> & Readonly<{}>, {
|
|
82
|
+
onSubmit: () => boolean | Promise<boolean | void> | void;
|
|
83
|
+
onCancel: () => boolean | Promise<boolean | void> | void;
|
|
84
|
+
width: string;
|
|
85
|
+
showClose: boolean;
|
|
86
|
+
closeOnMask: boolean;
|
|
87
|
+
footerTxt: string[];
|
|
88
|
+
}, SlotsType<ElDialogSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
89
|
+
export default _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { PropType, SlotsType } from 'vue';
|
|
2
|
+
import { ZealCardSlots } from '../types/slots.ts';
|
|
3
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
4
|
+
title: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
zealHeight: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
default: string;
|
|
10
|
+
};
|
|
11
|
+
outPadding: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
searchBtnTxt: {
|
|
16
|
+
type: PropType<string[]>;
|
|
17
|
+
default: () => string[];
|
|
18
|
+
};
|
|
19
|
+
checkWindowSize: {
|
|
20
|
+
type: PropType<number[]>;
|
|
21
|
+
default: number[];
|
|
22
|
+
};
|
|
23
|
+
observeDelay: {
|
|
24
|
+
type: NumberConstructor;
|
|
25
|
+
default: number;
|
|
26
|
+
};
|
|
27
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
28
|
+
title: {
|
|
29
|
+
type: StringConstructor;
|
|
30
|
+
};
|
|
31
|
+
zealHeight: {
|
|
32
|
+
type: StringConstructor;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
outPadding: {
|
|
36
|
+
type: NumberConstructor;
|
|
37
|
+
default: number;
|
|
38
|
+
};
|
|
39
|
+
searchBtnTxt: {
|
|
40
|
+
type: PropType<string[]>;
|
|
41
|
+
default: () => string[];
|
|
42
|
+
};
|
|
43
|
+
checkWindowSize: {
|
|
44
|
+
type: PropType<number[]>;
|
|
45
|
+
default: number[];
|
|
46
|
+
};
|
|
47
|
+
observeDelay: {
|
|
48
|
+
type: NumberConstructor;
|
|
49
|
+
default: number;
|
|
50
|
+
};
|
|
51
|
+
}>> & Readonly<{}>, {
|
|
52
|
+
zealHeight: string;
|
|
53
|
+
outPadding: number;
|
|
54
|
+
searchBtnTxt: string[];
|
|
55
|
+
checkWindowSize: number[];
|
|
56
|
+
observeDelay: number;
|
|
57
|
+
}, SlotsType<ZealCardSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
58
|
+
export default _default;
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { ExtractPropTypes, PropType, SlotsType } from 'vue';
|
|
2
|
+
import { DyFormItem, ZealColumn, ZealPagination } from '../types/form';
|
|
3
|
+
import { EleZealTablePaginationSlots, EleZealTableSlots, ZealTableBtnControlSlots, ZealTableSearchSlots } from '../types/slots';
|
|
4
|
+
import { TableProps } from 'element-plus';
|
|
5
|
+
import { PaginationProps } from 'element-plus/es/components/pagination/src/pagination';
|
|
6
|
+
import { TableBtnType } from '../types';
|
|
7
|
+
import { dropdownProps } from 'element-plus/es/components/dropdown/src/dropdown';
|
|
8
|
+
import { buttonProps } from 'element-plus/es/components/button/src/button';
|
|
9
|
+
export declare const EleZealTableSearch: import('vue').DefineComponent<ExtractPropTypes<{
|
|
10
|
+
title: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
};
|
|
13
|
+
drawerTitle: {
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
};
|
|
16
|
+
searchItems: {
|
|
17
|
+
type: PropType<Array<DyFormItem>>;
|
|
18
|
+
default: never[];
|
|
19
|
+
};
|
|
20
|
+
searchFormMaxHeight: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: string;
|
|
23
|
+
};
|
|
24
|
+
size: {
|
|
25
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
26
|
+
default: number;
|
|
27
|
+
};
|
|
28
|
+
drawerOpenTxt: {
|
|
29
|
+
type: StringConstructor;
|
|
30
|
+
default: string;
|
|
31
|
+
};
|
|
32
|
+
searchBtnTxt: {
|
|
33
|
+
type: PropType<string[]>;
|
|
34
|
+
default: () => string[];
|
|
35
|
+
};
|
|
36
|
+
mobileDrawer: {
|
|
37
|
+
type: BooleanConstructor;
|
|
38
|
+
default: boolean;
|
|
39
|
+
};
|
|
40
|
+
closeDrawerAuto: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
44
|
+
copyDefault: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
isMobile: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
53
|
+
onReset: () => true;
|
|
54
|
+
onSearch: (data: object) => true;
|
|
55
|
+
}, string, import('vue').PublicProps, Readonly<ExtractPropTypes<{
|
|
56
|
+
title: {
|
|
57
|
+
type: StringConstructor;
|
|
58
|
+
};
|
|
59
|
+
drawerTitle: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
};
|
|
62
|
+
searchItems: {
|
|
63
|
+
type: PropType<Array<DyFormItem>>;
|
|
64
|
+
default: never[];
|
|
65
|
+
};
|
|
66
|
+
searchFormMaxHeight: {
|
|
67
|
+
type: StringConstructor;
|
|
68
|
+
default: string;
|
|
69
|
+
};
|
|
70
|
+
size: {
|
|
71
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
72
|
+
default: number;
|
|
73
|
+
};
|
|
74
|
+
drawerOpenTxt: {
|
|
75
|
+
type: StringConstructor;
|
|
76
|
+
default: string;
|
|
77
|
+
};
|
|
78
|
+
searchBtnTxt: {
|
|
79
|
+
type: PropType<string[]>;
|
|
80
|
+
default: () => string[];
|
|
81
|
+
};
|
|
82
|
+
mobileDrawer: {
|
|
83
|
+
type: BooleanConstructor;
|
|
84
|
+
default: boolean;
|
|
85
|
+
};
|
|
86
|
+
closeDrawerAuto: {
|
|
87
|
+
type: BooleanConstructor;
|
|
88
|
+
default: boolean;
|
|
89
|
+
};
|
|
90
|
+
copyDefault: {
|
|
91
|
+
type: BooleanConstructor;
|
|
92
|
+
default: boolean;
|
|
93
|
+
};
|
|
94
|
+
isMobile: {
|
|
95
|
+
type: BooleanConstructor;
|
|
96
|
+
default: boolean;
|
|
97
|
+
};
|
|
98
|
+
}>> & Readonly<{
|
|
99
|
+
onOnReset?: (() => any) | undefined;
|
|
100
|
+
onOnSearch?: ((data: object) => any) | undefined;
|
|
101
|
+
}>, {
|
|
102
|
+
size: string | number;
|
|
103
|
+
searchBtnTxt: string[];
|
|
104
|
+
isMobile: boolean;
|
|
105
|
+
searchItems: DyFormItem<any, any>[];
|
|
106
|
+
searchFormMaxHeight: string;
|
|
107
|
+
drawerOpenTxt: string;
|
|
108
|
+
mobileDrawer: boolean;
|
|
109
|
+
closeDrawerAuto: boolean;
|
|
110
|
+
copyDefault: boolean;
|
|
111
|
+
}, SlotsType<ZealTableSearchSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
112
|
+
export declare const EleZealTablePaginationControl: import('vue').DefineComponent<ExtractPropTypes<{
|
|
113
|
+
pagination: {
|
|
114
|
+
type: PropType<ZealPagination>;
|
|
115
|
+
required: true;
|
|
116
|
+
};
|
|
117
|
+
pageConfig: {
|
|
118
|
+
type: PropType<PaginationProps>;
|
|
119
|
+
};
|
|
120
|
+
isMobile: {
|
|
121
|
+
type: BooleanConstructor;
|
|
122
|
+
default: boolean;
|
|
123
|
+
};
|
|
124
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ExtractPropTypes<{
|
|
125
|
+
pagination: {
|
|
126
|
+
type: PropType<ZealPagination>;
|
|
127
|
+
required: true;
|
|
128
|
+
};
|
|
129
|
+
pageConfig: {
|
|
130
|
+
type: PropType<PaginationProps>;
|
|
131
|
+
};
|
|
132
|
+
isMobile: {
|
|
133
|
+
type: BooleanConstructor;
|
|
134
|
+
default: boolean;
|
|
135
|
+
};
|
|
136
|
+
}>> & Readonly<{}>, {
|
|
137
|
+
isMobile: boolean;
|
|
138
|
+
}, SlotsType<EleZealTablePaginationSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
139
|
+
export declare const EleZealTable: import('vue').DefineComponent<ExtractPropTypes<{
|
|
140
|
+
data: {
|
|
141
|
+
type: PropType<any[]>;
|
|
142
|
+
default: () => never[];
|
|
143
|
+
};
|
|
144
|
+
columns: {
|
|
145
|
+
type: PropType<ZealColumn<any>[]>;
|
|
146
|
+
default: () => never[];
|
|
147
|
+
};
|
|
148
|
+
loading: {
|
|
149
|
+
type: BooleanConstructor;
|
|
150
|
+
default: boolean;
|
|
151
|
+
};
|
|
152
|
+
maxHeight: {
|
|
153
|
+
type: PropType<number | string>;
|
|
154
|
+
};
|
|
155
|
+
columnAlign: {
|
|
156
|
+
type: PropType<ZealColumn<any>["align"]>;
|
|
157
|
+
};
|
|
158
|
+
stripe: {
|
|
159
|
+
type: BooleanConstructor;
|
|
160
|
+
default: boolean;
|
|
161
|
+
};
|
|
162
|
+
border: {
|
|
163
|
+
type: BooleanConstructor;
|
|
164
|
+
default: boolean;
|
|
165
|
+
};
|
|
166
|
+
tableConfig: {
|
|
167
|
+
type: PropType<Partial<TableProps<any>>>;
|
|
168
|
+
};
|
|
169
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ExtractPropTypes<{
|
|
170
|
+
data: {
|
|
171
|
+
type: PropType<any[]>;
|
|
172
|
+
default: () => never[];
|
|
173
|
+
};
|
|
174
|
+
columns: {
|
|
175
|
+
type: PropType<ZealColumn<any>[]>;
|
|
176
|
+
default: () => never[];
|
|
177
|
+
};
|
|
178
|
+
loading: {
|
|
179
|
+
type: BooleanConstructor;
|
|
180
|
+
default: boolean;
|
|
181
|
+
};
|
|
182
|
+
maxHeight: {
|
|
183
|
+
type: PropType<number | string>;
|
|
184
|
+
};
|
|
185
|
+
columnAlign: {
|
|
186
|
+
type: PropType<ZealColumn<any>["align"]>;
|
|
187
|
+
};
|
|
188
|
+
stripe: {
|
|
189
|
+
type: BooleanConstructor;
|
|
190
|
+
default: boolean;
|
|
191
|
+
};
|
|
192
|
+
border: {
|
|
193
|
+
type: BooleanConstructor;
|
|
194
|
+
default: boolean;
|
|
195
|
+
};
|
|
196
|
+
tableConfig: {
|
|
197
|
+
type: PropType<Partial<TableProps<any>>>;
|
|
198
|
+
};
|
|
199
|
+
}>> & Readonly<{}>, {
|
|
200
|
+
data: any[];
|
|
201
|
+
loading: boolean;
|
|
202
|
+
border: boolean;
|
|
203
|
+
stripe: boolean;
|
|
204
|
+
columns: ZealColumn<any>[];
|
|
205
|
+
}, SlotsType<EleZealTableSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
206
|
+
export declare const EleZealTableBtnControl: import('vue').DefineComponent<ExtractPropTypes<{
|
|
207
|
+
isMobile: {
|
|
208
|
+
type: BooleanConstructor;
|
|
209
|
+
default: boolean;
|
|
210
|
+
};
|
|
211
|
+
btnItems: {
|
|
212
|
+
type: PropType<(TableBtnType & Partial<ExtractPropTypes<typeof buttonProps>>)[]>;
|
|
213
|
+
default: () => never[];
|
|
214
|
+
};
|
|
215
|
+
size: {
|
|
216
|
+
type: PropType<"small" | "large">;
|
|
217
|
+
default: string;
|
|
218
|
+
};
|
|
219
|
+
dropDownProps: {
|
|
220
|
+
type: PropType<Partial<ExtractPropTypes<typeof dropdownProps>>>;
|
|
221
|
+
};
|
|
222
|
+
dropDownText: {
|
|
223
|
+
type: StringConstructor;
|
|
224
|
+
default: string;
|
|
225
|
+
};
|
|
226
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
227
|
+
onSelect: (k: string) => true;
|
|
228
|
+
}, string, import('vue').PublicProps, Readonly<ExtractPropTypes<{
|
|
229
|
+
isMobile: {
|
|
230
|
+
type: BooleanConstructor;
|
|
231
|
+
default: boolean;
|
|
232
|
+
};
|
|
233
|
+
btnItems: {
|
|
234
|
+
type: PropType<(TableBtnType & Partial<ExtractPropTypes<typeof buttonProps>>)[]>;
|
|
235
|
+
default: () => never[];
|
|
236
|
+
};
|
|
237
|
+
size: {
|
|
238
|
+
type: PropType<"small" | "large">;
|
|
239
|
+
default: string;
|
|
240
|
+
};
|
|
241
|
+
dropDownProps: {
|
|
242
|
+
type: PropType<Partial<ExtractPropTypes<typeof dropdownProps>>>;
|
|
243
|
+
};
|
|
244
|
+
dropDownText: {
|
|
245
|
+
type: StringConstructor;
|
|
246
|
+
default: string;
|
|
247
|
+
};
|
|
248
|
+
}>> & Readonly<{
|
|
249
|
+
onOnSelect?: ((k: string) => any) | undefined;
|
|
250
|
+
}>, {
|
|
251
|
+
size: "small" | "large";
|
|
252
|
+
isMobile: boolean;
|
|
253
|
+
btnItems: (TableBtnType & Partial<ExtractPropTypes<{
|
|
254
|
+
readonly size: {
|
|
255
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
|
|
256
|
+
readonly required: false;
|
|
257
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
258
|
+
__epPropKey: true;
|
|
259
|
+
};
|
|
260
|
+
readonly disabled: BooleanConstructor;
|
|
261
|
+
readonly type: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "" | "text" | "default" | "primary" | "success" | "warning" | "info" | "danger", unknown, "", boolean>;
|
|
262
|
+
readonly icon: {
|
|
263
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown>>;
|
|
264
|
+
readonly required: false;
|
|
265
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
266
|
+
__epPropKey: true;
|
|
267
|
+
};
|
|
268
|
+
readonly nativeType: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, "button" | "reset" | "submit", unknown, "button", boolean>;
|
|
269
|
+
readonly loading: BooleanConstructor;
|
|
270
|
+
readonly loadingIcon: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown, () => any, boolean>;
|
|
271
|
+
readonly plain: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
272
|
+
readonly text: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
273
|
+
readonly link: BooleanConstructor;
|
|
274
|
+
readonly bg: BooleanConstructor;
|
|
275
|
+
readonly autofocus: BooleanConstructor;
|
|
276
|
+
readonly round: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
277
|
+
readonly circle: BooleanConstructor;
|
|
278
|
+
readonly color: StringConstructor;
|
|
279
|
+
readonly dark: BooleanConstructor;
|
|
280
|
+
readonly autoInsertSpace: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
281
|
+
readonly tag: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | ((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component))[], unknown, unknown, "button", boolean>;
|
|
282
|
+
}>>)[];
|
|
283
|
+
dropDownText: string;
|
|
284
|
+
}, SlotsType<ZealTableBtnControlSlots>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { eleZealCardRef } from '..';
|
|
2
|
+
import { ZealColumnType } from '../../types';
|
|
3
|
+
import { ZealColumn } from '../../types/form.ts';
|
|
4
|
+
export declare function useZealColumnTool<T extends Record<string, any>>(createColumn: ((obj: ZealColumnType) => ZealColumn<T>[]), config?: ZealColumn<T>): {
|
|
5
|
+
eleZealCardRef: import('vue').Ref<eleZealCardRef | null, eleZealCardRef | null>;
|
|
6
|
+
tableColumns: import('vue').ComputedRef<ZealColumn<T>[]>;
|
|
7
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),F=require("../index-DyThWcVg.cjs"),y=require("element-plus"),H=r.defineComponent({name:"EleDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:e=>`${Date.now()}_${e??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":e=>!0,onReset:()=>!0,onMerge:(e,d)=>!0},slots:Object,setup(e,{emit:d,expose:a,slots:t}){const s={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...e.btnConfigs},o={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,hideArrayBtn:!1,hideNumberBtn:!1,...e.configs},f={arraySplitSymbol:",",...e.dyListConfigs},l=e.size,i=r.ref(F.tranArr(e.modelValue,e.randomFun,f.arraySplitSymbol)),h=r.ref(null);r.watch(i,m=>{if(!e.isController)return;const C=F.resetObj(m,f.arraySplitSymbol);d("update:modelValue",C),d("onMerge",C,r.toRaw(i.value))},{deep:!0}),a({onSet:m=>{i.value=F.tranArr(m??e.modelValue,e.randomFun,f.arraySplitSymbol)},getResult:(m="res")=>m==="ori"?r.toRaw(i.value):F.resetObj(i.value,f.arraySplitSymbol)});const c=()=>i.value.push({rId:e.randomFun(),key:"",value:""}),v=()=>{i.value=F.tranArr(e.modelValue,e.randomFun,f.arraySplitSymbol),d("onReset")},n=()=>{i.value.sort((C,p)=>+C.rId-+p.rId);const m=F.resetObj(i.value,f.arraySplitSymbol);d("update:modelValue",m),d("onMerge",m,r.toRaw(i.value)),i.value=F.tranArr(m,e.randomFun,f.arraySplitSymbol)};return()=>r.createVNode("div",{class:e.dyCls??`dynamicForm ${l}`,style:{maxHeight:o.maxHeight}},[r.createVNode("div",{class:`dyFormList ${i.value.length?"":"noList"}`,ref:h},[i.value.map((m,C,p)=>{const b={row:m,index:C,isLast:C===p.length-1,addItem:()=>{i.value.push({rId:e.randomFun(),key:"",value:""}),o.autoScroll&&r.nextTick(()=>{const g=h.value;g?.scrollTo({top:g.scrollHeight,behavior:"smooth"})})},removeItem:()=>{i.value=i.value.filter(g=>g.rId!==m.rId)},toggleArray:()=>m.isArray=!m.isArray,toggleNumber:()=>m.isNumber=!m.isNumber};return r.createVNode("div",{class:"dItem",key:m.rId},[r.createVNode("div",{class:"input"},[r.createVNode(y.ElInput,{size:l,modelValue:m.key,class:"key",onInput:g=>{m.key=g}},null),r.createTextVNode(":"),r.createVNode(y.ElInput,{size:l,modelValue:m.value,class:"value",onInput:g=>{o.allowFilter&&m.isNumber?m.value=F.formatNumberInput(g,m.isArray,f.arraySplitSymbol):m.value=g}},{prefix:()=>t.typeTools?t.typeTools(b):r.createVNode(r.Fragment,null,[!o.hideArrayBtn&&r.createVNode(y.ElButton,{class:"typeBtn",type:m.isArray?"success":"default",size:"small",onClick:b.toggleArray},{default:()=>[r.createTextVNode("Array")]}),!o.hideNumberBtn&&r.createVNode(y.ElButton,{class:"typeBtn",type:m.isNumber?"success":"default",size:"small",onClick:b.toggleNumber},{default:()=>[r.createTextVNode("Number")]})])})]),r.createVNode("div",{class:"btn"},[t.rowActions?t.rowActions(b):r.createVNode(r.Fragment,null,[r.createVNode(y.ElButton,{type:"success",size:l,disabled:!b.isLast,onClick:b.addItem},{default:()=>[r.createTextVNode("+")]}),r.createVNode(y.ElButton,{size:l,type:"danger",onClick:b.removeItem},{default:()=>[r.createTextVNode("-")]})])])])})]),r.createVNode("div",{class:`control ${i.value.length?"":"noList"}`},[!i.value.length&&(t.newBtn?t.newBtn({newItem:c}):r.createVNode(y.ElButton,{size:l,type:"success",onClick:c},{default:()=>[s.newTxt]})),!e.isController&&r.createVNode(r.Fragment,null,[!o.hideReset&&(t.resetBtn?t.resetBtn({reset:v}):r.createVNode(y.ElButton,{size:l,type:"default",onClick:v},{default:()=>[s.resetTxt]})),t.mergeBtn?t.mergeBtn({merge:n}):r.createVNode(y.ElButton,{size:l,type:"info",onClick:n},{default:()=>[s.mergeTxt]})])])])}});function K(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const J=r.defineComponent({name:"EleDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:e=>`${Date.now()}_${e??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:e=>`添加 '${e.key}' 子项`}},emits:{"update:modelValue":e=>!0,onReset:()=>!0,onMerge:(e,d)=>!0},slots:Object,setup(e,{emit:d,expose:a,slots:t}){const s={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...e.btnConfigs},o={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,hideArrayBtn:!1,hideNumberBtn:!1,showPad:!0,retractLen:0,borderColors:[],...e.configs},f={arraySplitSymbol:",",...e.dyListConfigs},l=p=>["string","number"].includes(p),i=p=>Object.keys(p).map((b,g)=>{let u=p[b];const N=Array.isArray(u),E=N?u.every(R=>typeof R=="number"):typeof u=="number",S=u===null;return l(typeof u)&&(u=p[b]),S&&(u=""),{rId:e.randomFun(g),key:b,value:Object.prototype.toString.call(u)==="[object Object]"?i(p[b]):N?u.join(f.arraySplitSymbol):u,isArray:N||void 0,isNumber:E||void 0}}),h=p=>p.reduce((b,g)=>{const u=g.value;return g.key.trim().length&&(b[g.key]=Array.isArray(u)?h(u):F.parseValue(g.value,g.isArray,g.isNumber,f.arraySplitSymbol)),b},{}),c=r.ref(i(e.modelValue)),v=(p,b=1,g)=>r.createVNode("div",{class:[`depth-${b}`,o.showBorder?"":"no-border",o.showPad?"":"no-pad"],style:{"--depth":b,["--c"+[b]]:F.saferRepairColor(o.borderColors,b)}},[p.map((u,N,E)=>{const S=Array.isArray(u.value),R=l(typeof u.value),I={row:u,index:N,isLast:N===E.length-1,addItem:()=>{p.push({rId:e.randomFun(),key:"",value:""})},addChild:()=>{R&&(u.value=[],u.isArray=void 0),u.value.push({rId:e.randomFun(),key:"",value:""})},removeItem:()=>{if(p.splice(N,1),p.length<1){if(g===void 0)return h([]);const k=c.value.findIndex(q=>q.rId===g?.rId);b<1?c.value.splice(k,1,{...g,value:""}):g.value=""}},toggleArray:()=>u.isArray=!u.isArray,toggleNumber:()=>u.isNumber=!u.isNumber};return r.createVNode("div",{class:"dItem",key:u.rId,style:{marginLeft:b>1?`${b*o.retractLen}px`:"0"}},[r.createVNode("div",{class:"input"},[!S&&r.createVNode(r.Fragment,null,[r.createVNode(y.ElInput,{modelValue:u.key,class:"key",onInput:k=>u.key=k},null),r.createTextVNode(":")]),r.createVNode(y.ElInput,{class:`value ${S?"isKey":""}`,modelValue:R?u.value:u.key,onInput:k=>{if(S){u.key=k;return}o.allowFilter&&u.isNumber?u.value=F.formatNumberInput(k,u.isArray,f.arraySplitSymbol):u.value=k}},{prefix:Array.isArray(u.value)?void 0:()=>t.typeTools?t.typeTools(I):r.createVNode(r.Fragment,null,[!o.hideArrayBtn&&r.createVNode(y.ElButton,{type:u.isArray?"success":"default",size:"small",onClick:I.toggleArray},{default:()=>[r.createTextVNode("Array")]}),r.createTextVNode(" "),!o.hideNumberBtn&&r.createVNode(y.ElButton,{type:u.isNumber?"success":"default",size:"small",onClick:I.toggleNumber},{default:()=>[r.createTextVNode("Number")]})]),suffix:()=>{let k;return b<e.depth?!S&&(t.newChild?t.newChild(I):r.createVNode(y.ElButton,{type:"success",size:"small",onClick:()=>{R&&(u.value=[],u.isArray=void 0),u.value.push({rId:e.randomFun(),key:"",value:""})}},K(k=e.newChildTxt(u))?k:{default:()=>[k]})):null}})]),r.createVNode("div",{class:"btn"},[t.rowActions?t.rowActions(I):r.createVNode(r.Fragment,null,[r.createVNode(y.ElButton,{type:"success",disabled:!I.isLast,onClick:I.addItem},{default:()=>[r.createTextVNode("+")]}),r.createVNode(y.ElButton,{type:"danger",onClick:I.removeItem},{default:()=>[r.createTextVNode("-")]})])]),Array.isArray(u.value)&&v(u.value,b+1,u)])})]);r.watch(c,p=>{if(!e.isController)return;const b=h(p);d("update:modelValue",b),d("onMerge",b,r.toRaw(c.value))},{deep:!0}),a({onSet:p=>{c.value=i(p??e.modelValue)},getResult:(p="res")=>p==="ori"?r.toRaw(c.value):h(c.value)});const n=()=>c.value.push({rId:e.randomFun(),key:"",value:""}),m=()=>{c.value=i(e.modelValue),d("onReset")},C=()=>{const p=h(c.value);d("update:modelValue",p),d("onMerge",p,r.toRaw(c.value)),c.value=i(p)};return()=>r.createVNode("div",{class:`dynamicCascadeForm ${e.dyCls}`},[r.createVNode("div",{class:`dyFormList ${c.value.length?"":"noObj"}`,style:{maxHeight:o.maxHeight}},[v(c.value)]),r.createVNode("div",{class:`control ${c.value.length?"":"noObj"}`},[!c.value.length&&(t.newBtn?t.newBtn({newItem:n}):r.createVNode(y.ElButton,{type:"success",onClick:n},{default:()=>[s.newTxt]})),!e.isController&&r.createVNode(r.Fragment,null,[!o.hideReset&&(t.resetBtn?t.resetBtn({reset:m}):r.createVNode(y.ElButton,{type:"default",onClick:m},{default:()=>[s.resetTxt]})),t.mergeBtn?t.mergeBtn({merge:C}):r.createVNode(y.ElButton,{type:"info",onClick:C},{default:()=>[s.mergeTxt]})])])])}}),Q=r.defineComponent({name:"EleDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPosition:"left",size:"default"})},rowConfig:{type:Object,default:()=>({gutter:10,justify:"start",align:"top"})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:e=>["fullRow","grid"].includes(e)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},slots:Object,setup(e,{expose:d,slots:a}){const t=r.ref(null),s=r.computed(()=>(e.items??[]).filter(c=>!c.hidden)),o=r.computed(()=>s.value?s.value.reduce((c,v)=>(c[v.key]=v.value.value,c),{}):{}),f=r.computed(()=>({...s.value?.reduce((v,n)=>{let m=n.rule;return n.required&&!n.rule&&(m={required:!0,message:n.requiredHint?.(n.label??"")??`${n.label}不能为空`,trigger:"blur"}),v[n.key]=m,v},{}),...e.rules})),l=r.computed(()=>[...s.value].sort((v,n)=>{const m=v.sort??1/0,C=n.sort??1/0;return Number(m)-Number(C)}));function i(c=null){s.value&&s.value.forEach(v=>{v.value.value=c})}function h(){return new Promise((c,v)=>{t.value?.validate((n,m)=>{n?c(o.value):v(m)})})}if(d({reset:i,validator:h,getResult:(c="res")=>c==="ori"?s.value:o.value}),!e.items)throw new Error("prop items must be not null");return()=>r.createVNode("div",{class:"naiDynamicForm"},[a.header&&r.createVNode("div",{class:"header"},[a.header?.()]),r.createVNode(y.ElForm,r.mergeProps({ref:t},e.formConfig,{model:o.value,rules:f.value}),{default(){const c=l.value;return e.preset==="grid"?r.h(y.ElRow,{...e.rowConfig},{default:()=>c?.map(v=>r.h(y.ElCol,{span:v.span??24,offset:v.offset??0},{default:()=>r.h(y.ElFormItem,{label:v.label,prop:v.path||v.key},{default:A(v)})}))}):c?.map(v=>r.h(y.ElFormItem,{label:v.label,prop:v.path||v.key},{default:A(v)}))}}),a.footer&&r.h("div",{class:"footer"},a.footer?.())])}});function A(e){return function(){return e.render2?e.render2(e):null}}function V(e,d,a){return e?.[d]??a}function W(e){return!!e&&(e.type==="group"||Array.isArray(e.children)||Array.isArray(e.options))}function T(e){return(e??[]).map(d=>{if(W(d)){const a=d.children??d.options??[];return{...d,__isGroup:!0,__children:a}}return{...d,__isGroup:!1}})}function X(e,d,a="label",t="value"){const s=T(d);for(const o of s)if(o.__isGroup){for(const f of o.__children)if(V(f,t,f.value)===e)return V(f,a,f.label)}else if(V(o,t,o.value)===e)return V(o,a,o.label);return""}function B(e,d={},a){const{onChange:t,value:s,...o}=a;return r.h(y.ElInput,{...o,modelValue:e.value,"onUpdate:modelValue":f=>{e.value=f,a?.onChange?.(f,a)},...d})}function w(e,d,a={},t){const{onChange:s,labelField:o,valueField:f,options:l,...i}=t??{},h=o??"label",c=f??"value",v=T(l??d);return r.h(y.ElSelect,{...i,modelValue:e.value,"onUpdate:modelValue":n=>{e.value=n,t?.onChange?.(n,t,v)},...a},{default:()=>v.map((n,m)=>{if(n.__isGroup)return r.h(y.ElOptionGroup,{key:n.key??`g-${m}`,label:V(n,h,n.label)},{default:()=>(n.__children??[]).map((b,g)=>{const u=V(b,h,b.label),N=V(b,c,b.value);return r.h(y.ElOption,{key:b.key??`${m}-${g}`,label:u,value:N,disabled:b.disabled})})});const C=V(n,h,n.label),p=V(n,c,n.value);return r.h(y.ElOption,{key:n.key??`${m}`,label:C,value:p,disabled:n.disabled})})})}function x(e,d,a={},t,s){const{labelField:o,valueField:f,options:l,onChange:i,...h}=t??{},c=o??"label",v=f??"value",n=l??d,m=T(n),C=()=>{if(s)return s;const p=Array.isArray(e.value)?e.value.length?`已选 ${e.value.length} 项`:"请选择":e.value!=null?X(e.value,n,c,v)||String(e.value):"请选择";return r.h(y.ElButton,null,{default:()=>p})};return Array.isArray(e.value)?r.createVNode(y.ElPopover,{trigger:"click",...h,...a},{reference:()=>C(),default:()=>r.h(y.ElCheckboxGroup,{modelValue:e.value,"onUpdate:modelValue":p=>{e.value=p,t?.onChange?.(p,t,m)}},{default:()=>r.h(y.ElSpace,{wrap:!0},{default:()=>m.flatMap((p,b)=>(p.__isGroup?p.__children??[]:[p]).map((u,N)=>{const E=V(u,c,u.label),S=V(u,v,u.value);return r.h(y.ElCheckbox,{key:u.key??`${b}-${N}`,label:S,disabled:u.disabled},{default:()=>E})}))})})}):r.createVNode(y.ElDropdown,{trigger:"click",...h,onCommand:p=>{e.value=p,t?.onChange?.(p,t,m)},...a},{default:()=>C(),dropdown:()=>r.h(y.ElDropdownMenu,null,{default:()=>m.flatMap((p,b)=>(p.__isGroup?p.__children??[]:[p]).map((u,N)=>{const E=V(u,c,u.label),S=V(u,v,u.value);return r.h(y.ElDropdownItem,{key:u.key??`${b}-${N}`,command:S,disabled:u.disabled},{default:()=>E})}))})})}function O(e,d,a={},t){const{valueField:s="value",labelField:o="label",childrenField:f="children",onChange:l,options:i,...h}=t??{},c=i??d;return r.h(y.ElTreeSelect,{...h,data:c,modelValue:e.value,"onUpdate:modelValue":v=>{e.value=v,t?.onChange?.(v,t,c)},props:{value:s,label:o,children:f,disabled:"disabled"},...a})}function P(e,d,a={},t){const{onChange:s,labelField:o,valueField:f,options:l,...i}=t??{},h=o??"label",c=f??"value",v=l??d;return r.h(y.ElRadioGroup,{...i,modelValue:e.value,"onUpdate:modelValue":n=>{e.value=n,t?.onChange?.(n,t,v)},...a},{default:()=>(v??[]).map((n,m)=>{const C=V(n,h,n.label),p=V(n,c,n.value);return r.h(y.ElRadio,{key:n.key??m,label:p,disabled:n.disabled},()=>C)})})}function j(e,d,a={},t){const{onChange:s,labelField:o,valueField:f,options:l,...i}=t??{},h=o??"label",c=f??"value",v=l??d;return r.h(y.ElRadioGroup,{...i,modelValue:e.value,"onUpdate:modelValue":n=>{e.value=n,t?.onChange?.(n,t,v)},...a},{default:()=>(v??[]).map((n,m)=>{const C=V(n,h,n.label),p=V(n,c,n.value);return r.h(y.ElRadioButton,{key:n.key??m,label:p,disabled:n.disabled},()=>C)})})}function _(e,d,a={},t){const{onChange:s,labelField:o,valueField:f,options:l,...i}=t??{},h=o??"label",c=f??"value",v=l??d;return r.h(y.ElCheckboxGroup,{...i,modelValue:e.value,"onUpdate:modelValue":n=>{e.value=n,t?.onChange?.(n,t,v)},...a},{default:()=>r.h(y.ElSpace,{wrap:!0},{default:()=>(v??[]).map((n,m)=>{const C=V(n,h,n.label),p=V(n,c,n.value);return r.h(y.ElCheckbox,{key:n.key??m,label:p,disabled:n.disabled},()=>C)})})})}function D(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElSwitch,{...s,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o,a?.onChange?.(o,a)},...d})}function $(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElDatePicker,{...s,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o,a?.onChange?.(o,a)},...d})}function G(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElTimePicker,{...s,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o,a?.onChange?.(o,a)},...d})}function z(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElCheckbox,{...s,label:d?.label??a?.label,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o,a?.onChange?.(e.value,a)},...d})}function L(e,d={},a){const{onChange:t,value:s,labelField:o="label",valueField:f,...l}=a??{};return r.h(y.ElInputTag,{...l,modelValue:f?e.value.map(i=>i[f]):e.value,"onUpdate:modelValue":i=>{e.value=f?i.map(h=>({[o]:h,[f]:h})):i,a?.onChange?.(i,a)},...d})}function M(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElSlider,{...s,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o,a?.onChange?.(o,a)},...d})}function U(e,d={},a){const{onChange:t,...s}=a??{};return r.h(y.ElInputNumber,{...s,modelValue:e.value,"onUpdate:modelValue":o=>{e.value=o??null,a?.onChange?.(e.value,a)},...d})}const Y=Object.freeze(Object.defineProperty({__proto__:null,renderCheckbox:z,renderCheckboxGroup:_,renderDatePicker:$,renderDynamicTags:L,renderInput:B,renderInputNumber:U,renderPopSelect:x,renderRadioButtonGroup:j,renderRadioGroup:P,renderSelect:w,renderSlider:M,renderSwitch:D,renderTimePicker:G,renderTreeSelect:O},Symbol.toStringTag,{value:"Module"}));function Z(e){return function(a,t=!0){const s=e,o={renderInput:l=>s.renderInput(l.value,l.renderProps??{},l),renderSelect:l=>s.renderSelect(l.value,l.options??[],l.renderProps??{},l),renderPopSelect:l=>s.renderPopSelect(l.value,l.options??[],l.renderProps??{},l),renderTreeSelect:l=>s.renderTreeSelect(l.value,l.options??[],l.renderProps??{},l),renderRadioGroup:l=>s.renderRadioGroup(l.value,l.options??[],l.renderProps??{},l),renderRadioButtonGroup:l=>s.renderRadioButtonGroup(l.value,l.options??[],l.renderProps??{},l),renderCheckboxGroup:l=>s.renderCheckboxGroup(l.value,l.options??[],l.renderProps??{},l),renderSwitch:l=>s.renderSwitch(l.value,l.renderProps??{},l),renderDatePicker:l=>s.renderDatePicker(l.value,l.renderProps??{},l),renderTimePicker:l=>s.renderTimePicker(l.value,l.renderProps??{},l),renderCheckbox:l=>s.renderCheckbox(l.value,l.renderProps??{},l),renderDynamicTags:l=>s.renderDynamicTags(l.value,l.renderProps??{},l),renderSlider:l=>s.renderSlider(l.value,l.renderProps??{},l),renderInputNumber:l=>s.renderInputNumber(l.value,l.renderProps??{},l)};return a.map(l=>{const i=l;if(i.value=F.ensureRef(l.value),typeof l.render2=="function")i.render2=l.render2;else{const h=l.renderType??"renderInput",c=o[h];c?i.render2=()=>c(i):(console.warn(`[useDecorateForm] unknown renderType: ${l.renderType}`),i.render2=()=>o.renderInput(i))}return t?r.shallowReactive(i):i})}}const ee=Z(Y);exports.EleDynamicCascadeInput=J;exports.EleDynamicForm=Q;exports.EleDynamicInput=H;exports.renderCheckbox=z;exports.renderCheckboxGroup=_;exports.renderDatePicker=$;exports.renderDynamicTags=L;exports.renderInput=B;exports.renderInputNumber=U;exports.renderPopSelect=x;exports.renderRadioButtonGroup=j;exports.renderRadioGroup=P;exports.renderSelect=w;exports.renderSlider=M;exports.renderSwitch=D;exports.renderTimePicker=G;exports.renderTreeSelect=O;exports.useDecorateForm=ee;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("../index-BAqRAwDC.cjs"),t=require("vue"),c=require("element-plus"),J=t.defineComponent({name:"EleDynamicInput",props:{size:{type:String},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:e=>`${Date.now()}_${e??0}`},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},modelValue:{type:Object,required:!0}},emits:{"update:modelValue":e=>!0,onReset:()=>!0,onMerge:(e,o)=>!0},slots:Object,setup(e,{emit:o,expose:a,slots:r}){const d={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...e.btnConfigs},u={hideReset:!1,maxHeight:"300px",autoScroll:!0,allowFilter:!0,hideArrayBtn:!1,hideNumberBtn:!1,...e.configs},m={arraySplitSymbol:",",...e.dyListConfigs},l=e.size,s=t.ref(N.tranArr(e.modelValue,e.randomFun,m.arraySplitSymbol)),g=t.ref(null);t.watch(s,p=>{if(!e.isController)return;const C=N.resetObj(p,m.arraySplitSymbol);o("update:modelValue",C),o("onMerge",C,t.toRaw(s.value))},{deep:!0}),a({onSet:p=>{s.value=N.tranArr(p??e.modelValue,e.randomFun,m.arraySplitSymbol)},getResult:(p="res")=>p==="ori"?t.toRaw(s.value):N.resetObj(s.value,m.arraySplitSymbol)});const n=()=>s.value.push({rId:e.randomFun(),key:"",value:""}),f=()=>{s.value=N.tranArr(e.modelValue,e.randomFun,m.arraySplitSymbol),o("onReset")},i=()=>{s.value.sort((C,b)=>+C.rId-+b.rId);const p=N.resetObj(s.value,m.arraySplitSymbol);o("update:modelValue",p),o("onMerge",p,t.toRaw(s.value)),s.value=N.tranArr(p,e.randomFun,m.arraySplitSymbol)};return()=>t.createVNode("div",{class:e.dyCls??`dynamicForm ${l}`,style:{maxHeight:u.maxHeight}},[t.createVNode("div",{class:`dyFormList ${s.value.length?"":"noList"}`,ref:g},[s.value.map((p,C,b)=>{const v={row:p,index:C,isLast:C===b.length-1,addItem:()=>{s.value.push({rId:e.randomFun(),key:"",value:""}),u.autoScroll&&t.nextTick(()=>{const h=g.value;h?.scrollTo({top:h.scrollHeight,behavior:"smooth"})})},removeItem:()=>{s.value=s.value.filter(h=>h.rId!==p.rId)},toggleArray:()=>p.isArray=!p.isArray,toggleNumber:()=>p.isNumber=!p.isNumber};return t.createVNode("div",{class:"dItem",key:p.rId},[t.createVNode("div",{class:"input"},[t.createVNode(c.ElInput,{size:l,modelValue:p.key,class:"key",onInput:h=>{p.key=h}},null),t.createTextVNode(":"),t.createVNode(c.ElInput,{size:l,modelValue:p.value,class:"value",onInput:h=>{u.allowFilter&&p.isNumber?p.value=N.formatNumberInput(h,p.isArray,m.arraySplitSymbol):p.value=h}},{prefix:()=>r.typeTools?r.typeTools(v):t.createVNode(t.Fragment,null,[!u.hideArrayBtn&&t.createVNode(c.ElButton,{class:"typeBtn",type:p.isArray?"success":"default",size:"small",onClick:v.toggleArray},{default:()=>[t.createTextVNode("Array")]}),!u.hideNumberBtn&&t.createVNode(c.ElButton,{class:"typeBtn",type:p.isNumber?"success":"default",size:"small",onClick:v.toggleNumber},{default:()=>[t.createTextVNode("Number")]})])})]),t.createVNode("div",{class:"btn"},[r.rowActions?r.rowActions(v):t.createVNode(t.Fragment,null,[t.createVNode(c.ElButton,{type:"success",size:l,disabled:!v.isLast,onClick:v.addItem},{default:()=>[t.createTextVNode("+")]}),t.createVNode(c.ElButton,{size:l,type:"danger",onClick:v.removeItem},{default:()=>[t.createTextVNode("-")]})])])])})]),t.createVNode("div",{class:`control ${s.value.length?"":"noList"}`},[!s.value.length&&(r.newBtn?r.newBtn({newItem:n}):t.createVNode(c.ElButton,{size:l,type:"success",onClick:n},{default:()=>[d.newTxt]})),!e.isController&&t.createVNode(t.Fragment,null,[!u.hideReset&&(r.resetBtn?r.resetBtn({reset:f}):t.createVNode(c.ElButton,{size:l,type:"default",onClick:f},{default:()=>[d.resetTxt]})),r.mergeBtn?r.mergeBtn({merge:i}):t.createVNode(c.ElButton,{size:l,type:"info",onClick:i},{default:()=>[d.mergeTxt]})])])])}});function Q(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const X=t.defineComponent({name:"EleDynamicCascadeInput",props:{modelValue:{type:Object,required:!0},isController:{type:Boolean},dyCls:{type:String},randomFun:{type:Function,default:e=>`${Date.now()}_${e??0}`},depth:{type:Number,default:3},btnConfigs:{type:Object},configs:{type:Object},dyListConfigs:{type:Object},newChildTxt:{type:Function,default:e=>`添加 '${e.key}' 子项`}},emits:{"update:modelValue":e=>!0,onReset:()=>!0,onMerge:(e,o)=>!0},slots:Object,setup(e,{emit:o,expose:a,slots:r}){const d={resetTxt:"重置",newTxt:"添加项",mergeTxt:"合并",...e.btnConfigs},u={hideReset:!1,maxHeight:"600px",allowFilter:!0,showBorder:!0,hideArrayBtn:!1,hideNumberBtn:!1,showPad:!0,retractLen:0,borderColors:[],...e.configs},m={arraySplitSymbol:",",...e.dyListConfigs},l=b=>["string","number"].includes(b),s=b=>Object.keys(b).map((v,h)=>{let y=b[v];const S=Array.isArray(y),T=S?y.every(F=>typeof F=="number"):typeof y=="number",E=y===null;return l(typeof y)&&(y=b[v]),E&&(y=""),{rId:e.randomFun(h),key:v,value:Object.prototype.toString.call(y)==="[object Object]"?s(b[v]):S?y.join(m.arraySplitSymbol):y,isArray:S||void 0,isNumber:T||void 0}}),g=b=>b.reduce((v,h)=>{const y=h.value;return h.key.trim().length&&(v[h.key]=Array.isArray(y)?g(y):N.parseValue(h.value,h.isArray,h.isNumber,m.arraySplitSymbol)),v},{}),n=t.ref(s(e.modelValue)),f=(b,v=1,h)=>t.createVNode("div",{class:[`depth-${v}`,u.showBorder?"":"no-border",u.showPad?"":"no-pad"],style:{"--depth":v,["--c"+[v]]:N.saferRepairColor(u.borderColors,v)}},[b.map((y,S,T)=>{const E=Array.isArray(y.value),F=l(typeof y.value),w={row:y,index:S,isLast:S===T.length-1,addItem:()=>{b.push({rId:e.randomFun(),key:"",value:""})},addChild:()=>{F&&(y.value=[],y.isArray=void 0),y.value.push({rId:e.randomFun(),key:"",value:""})},removeItem:()=>{if(b.splice(S,1),b.length<1){if(h===void 0)return g([]);const k=n.value.findIndex(K=>K.rId===h?.rId);v<1?n.value.splice(k,1,{...h,value:""}):h.value=""}},toggleArray:()=>y.isArray=!y.isArray,toggleNumber:()=>y.isNumber=!y.isNumber};return t.createVNode("div",{class:"dItem",key:y.rId,style:{marginLeft:v>1?`${v*u.retractLen}px`:"0"}},[t.createVNode("div",{class:"input"},[!E&&t.createVNode(t.Fragment,null,[t.createVNode(c.ElInput,{modelValue:y.key,class:"key",onInput:k=>y.key=k},null),t.createTextVNode(":")]),t.createVNode(c.ElInput,{class:`value ${E?"isKey":""}`,modelValue:F?y.value:y.key,onInput:k=>{if(E){y.key=k;return}u.allowFilter&&y.isNumber?y.value=N.formatNumberInput(k,y.isArray,m.arraySplitSymbol):y.value=k}},{prefix:Array.isArray(y.value)?void 0:()=>r.typeTools?r.typeTools(w):t.createVNode(t.Fragment,null,[!u.hideArrayBtn&&t.createVNode(c.ElButton,{type:y.isArray?"success":"default",size:"small",onClick:w.toggleArray},{default:()=>[t.createTextVNode("Array")]}),t.createTextVNode(" "),!u.hideNumberBtn&&t.createVNode(c.ElButton,{type:y.isNumber?"success":"default",size:"small",onClick:w.toggleNumber},{default:()=>[t.createTextVNode("Number")]})]),suffix:()=>{let k;return v<e.depth?!E&&(r.newChild?r.newChild(w):t.createVNode(c.ElButton,{type:"success",size:"small",onClick:()=>{F&&(y.value=[],y.isArray=void 0),y.value.push({rId:e.randomFun(),key:"",value:""})}},Q(k=e.newChildTxt(y))?k:{default:()=>[k]})):null}})]),t.createVNode("div",{class:"btn"},[r.rowActions?r.rowActions(w):t.createVNode(t.Fragment,null,[t.createVNode(c.ElButton,{type:"success",disabled:!w.isLast,onClick:w.addItem},{default:()=>[t.createTextVNode("+")]}),t.createVNode(c.ElButton,{type:"danger",onClick:w.removeItem},{default:()=>[t.createTextVNode("-")]})])]),Array.isArray(y.value)&&f(y.value,v+1,y)])})]);t.watch(n,b=>{if(!e.isController)return;const v=g(b);o("update:modelValue",v),o("onMerge",v,t.toRaw(n.value))},{deep:!0}),a({onSet:b=>{n.value=s(b??e.modelValue)},getResult:(b="res")=>b==="ori"?t.toRaw(n.value):g(n.value)});const i=()=>n.value.push({rId:e.randomFun(),key:"",value:""}),p=()=>{n.value=s(e.modelValue),o("onReset")},C=()=>{const b=g(n.value);o("update:modelValue",b),o("onMerge",b,t.toRaw(n.value)),n.value=s(b)};return()=>t.createVNode("div",{class:`dynamicCascadeForm ${e.dyCls}`},[t.createVNode("div",{class:`dyFormList ${n.value.length?"":"noObj"}`,style:{maxHeight:u.maxHeight}},[f(n.value)]),t.createVNode("div",{class:`control ${n.value.length?"":"noObj"}`},[!n.value.length&&(r.newBtn?r.newBtn({newItem:i}):t.createVNode(c.ElButton,{type:"success",onClick:i},{default:()=>[d.newTxt]})),!e.isController&&t.createVNode(t.Fragment,null,[!u.hideReset&&(r.resetBtn?r.resetBtn({reset:p}):t.createVNode(c.ElButton,{type:"default",onClick:p},{default:()=>[d.resetTxt]})),r.mergeBtn?r.mergeBtn({merge:C}):t.createVNode(c.ElButton,{type:"info",onClick:C},{default:()=>[d.mergeTxt]})])])])}}),x=t.defineComponent({name:"EleDynamicForm",props:{formConfig:{type:Object,default:()=>({labelPosition:"left",size:"default"})},rowConfig:{type:Object,default:()=>({gutter:10,justify:"start",align:"top"})},rules:{type:Object},preset:{type:String,default:"fullRow",validator:e=>["fullRow","grid"].includes(e)?!0:(console.error("preset value must be `fullRow` or `grid`, the default value is `fullRow`"),!1)},items:{type:Array,require:!0}},slots:Object,setup(e,{expose:o,slots:a}){const r=t.ref(null),d=t.computed(()=>(e.items??[]).filter(n=>!n.hidden)),u=t.computed(()=>d.value?d.value.reduce((n,f)=>(n[f.key]=f.value.value,n),{}):{}),m=t.computed(()=>({...d.value?.reduce((f,i)=>{let p=i.rule;return i.required&&!i.rule&&(p={required:!0,message:i.requiredHint?.(i.label??"")??`${i.label}不能为空`,trigger:"blur"}),f[i.key]=p,f},{}),...e.rules})),l=t.computed(()=>[...d.value].sort((f,i)=>{const p=f.sort??1/0,C=i.sort??1/0;return Number(p)-Number(C)}));function s(n=null){d.value&&d.value.forEach(f=>{f.value.value=n})}function g(){return new Promise((n,f)=>{r.value?.validate((i,p)=>{i?n(u.value):f(p)})})}if(o({reset:s,validator:g,getResult:(n="res")=>n==="ori"?d.value:u.value}),!e.items)throw new Error("prop items must be not null");return()=>t.createVNode("div",{class:"naiDynamicForm"},[a.header&&t.createVNode("div",{class:"header"},[a.header?.()]),t.createVNode(c.ElForm,t.mergeProps({ref:r},e.formConfig,{model:u.value,rules:m.value}),{default(){const n=l.value;return e.preset==="grid"?t.h(c.ElRow,{...e.rowConfig},{default:()=>n?.map(f=>t.h(c.ElCol,{span:f.span??24,offset:f.offset??0},{default:()=>t.h(c.ElFormItem,{label:f.label,prop:f.path||f.key},{default:R(f)})}))}):n?.map(f=>t.h(c.ElFormItem,{label:f.label,prop:f.path||f.key},{default:R(f)}))}}),a.footer&&t.h("div",{class:"footer"},a.footer?.())])}});function R(e){return function(){return e.render2?e.render2(e):null}}function O(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const Y=t.defineComponent({name:"ElePopupModal",props:{title:{type:String},modalProps:{type:Object},to:{type:[String,Object]},showClose:{type:Boolean,default:!0},closeOnMask:{type:Boolean,default:!0},width:{type:String,default:"min(1080px,90%)"},onCancel:{type:Function,default:()=>!0},onSubmit:{type:Function,default:()=>!0},footerTxt:{type:Array,default:()=>["Cancel","Submit"]}},slots:Object,setup(e,{expose:o,emit:a,slots:r}){const d=t.computed(()=>({alignCenter:!0,draggable:!0,appendToBody:!0,...e.modalProps??{}})),u=t.ref(!1),m=t.reactive({c:!1,s:!1}),l=n=>{u.value=n??!u.value};o({toggle:l});const s=async()=>{m.c=!0,(await e.onCancel?.()??!0)&&l(!1),m.c=!1},g=async()=>{m.s=!0,(await e.onSubmit?.()??!0)&&l(!1),m.s=!1};return()=>t.createVNode(c.ElDialog,t.mergeProps({modelValue:u.value,"onUpdate:modelValue":n=>u.value=n,showClose:e.showClose,closeOnClickModal:e.closeOnMask,style:{width:e.width},title:e.title,appendTo:e.to},d.value),{footer:()=>{const[n,f]=e.footerTxt,{c:i,s:p}=m;return t.createVNode("div",{class:"flex justify-end align-center"},[t.createVNode(c.ElButton,{size:"small",onClick:s,loading:i},O(n)?n:{default:()=>[n]}),t.createVNode(c.ElButton,{size:"small",type:"success",onClick:g,loading:p},O(f)?f:{default:()=>[f]})])},...r})}});function A(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const ee=t.defineComponent({name:"EleZealCard",props:{title:{type:String},zealHeight:{type:String,default:"100vh"},outPadding:{type:Number,default:20},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},checkWindowSize:{type:Array,default:[756,500]},observeDelay:{type:Number,default:100}},slots:Object,setup(e,{slots:o,expose:a}){const r=N.useWindowSize(...e.checkWindowSize),{wrapRef:d,cardRef:u,restRef:m,tableHeight:l}=N.useObserverSize(c.ElCard,e.observeDelay);return a({tableHeight:l,isMobile:t.computed(()=>r.isMobile)}),()=>{const s=N.unwrapObj(r);return t.createVNode("div",{class:"zealCard",style:{height:`calc(${e.zealHeight} - ${e.outPadding*2}px)`},ref:d},[t.createVNode(c.ElCard,{ref:u},{default:()=>[o.default?.({tableHeight:l.value,...s})],header:()=>{const[g,n]=e.searchBtnTxt;return t.createVNode("div",{class:"header"},[o.header?.(s)??t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"title"},[e.title]),t.createVNode("div",{class:"search"},[o.searchForm?.(s),o.searchBtn?.(s)||o.searchForm&&t.createVNode("div",{class:"searchBtn"},[t.createVNode(c.ElButton,{size:"small"},A(g)?g:{default:()=>[g]}),t.createVNode(c.ElButton,{type:"info",size:"small"},A(n)?n:{default:()=>[n]})])])]),t.createVNode("div",{class:"controlBtn"},[t.createVNode("div",null,[o.controlBtn?.(s)]),o.toolBtn?.(s)])])},footer:o.footer?()=>t.createVNode("div",{class:"footer"},[o.footer?.(s)]):null}),t.createVNode("div",{ref:m},[o.rest?.(s)])])}}});function V(e,o,a){return e?.[o]??a}function te(e){return!!e&&(e.type==="group"||Array.isArray(e.children)||Array.isArray(e.options))}function I(e){return(e??[]).map(o=>{if(te(o)){const a=o.children??o.options??[];return{...o,__isGroup:!0,__children:a}}return{...o,__isGroup:!1}})}function le(e,o,a="label",r="value"){const d=I(o);for(const u of d)if(u.__isGroup){for(const m of u.__children)if(V(m,r,m.value)===e)return V(m,a,m.label)}else if(V(u,r,u.value)===e)return V(u,a,u.label);return""}function P(e,o={},a){const{onChange:r,value:d,...u}=a;return t.h(c.ElInput,{...u,modelValue:e.value,"onUpdate:modelValue":m=>{e.value=m,a?.onChange?.(m,a)},...o})}function j(e,o,a={},r){const{onChange:d,labelField:u,valueField:m,options:l,...s}=r??{},g=u??"label",n=m??"value",f=I(l??o);return t.h(c.ElSelect,{...s,modelValue:e.value,"onUpdate:modelValue":i=>{e.value=i,r?.onChange?.(i,r,f)},...a},{default:()=>f.map((i,p)=>{if(i.__isGroup)return t.h(c.ElOptionGroup,{key:i.key??`g-${p}`,label:V(i,g,i.label)},{default:()=>(i.__children??[]).map((v,h)=>{const y=V(v,g,v.label),S=V(v,n,v.value);return t.h(c.ElOption,{key:v.key??`${p}-${h}`,label:y,value:S,disabled:v.disabled})})});const C=V(i,g,i.label),b=V(i,n,i.value);return t.h(c.ElOption,{key:i.key??`${p}`,label:C,value:b,disabled:i.disabled})})})}function z(e,o,a={},r,d){const{labelField:u,valueField:m,options:l,onChange:s,...g}=r??{},n=u??"label",f=m??"value",i=l??o,p=I(i),C=()=>{if(d)return d;const b=Array.isArray(e.value)?e.value.length?`已选 ${e.value.length} 项`:"请选择":e.value!=null?le(e.value,i,n,f)||String(e.value):"请选择";return t.h(c.ElButton,null,{default:()=>b})};return Array.isArray(e.value)?t.createVNode(c.ElPopover,{trigger:"click",...g,...a},{reference:()=>C(),default:()=>t.h(c.ElCheckboxGroup,{modelValue:e.value,"onUpdate:modelValue":b=>{e.value=b,r?.onChange?.(b,r,p)}},{default:()=>t.h(c.ElSpace,{wrap:!0},{default:()=>p.flatMap((b,v)=>(b.__isGroup?b.__children??[]:[b]).map((y,S)=>{const T=V(y,n,y.label),E=V(y,f,y.value);return t.h(c.ElCheckbox,{key:y.key??`${v}-${S}`,label:E,disabled:y.disabled},{default:()=>T})}))})})}):t.createVNode(c.ElDropdown,{trigger:"click",...g,onCommand:b=>{e.value=b,r?.onChange?.(b,r,p)},...a},{default:()=>C(),dropdown:()=>t.h(c.ElDropdownMenu,null,{default:()=>p.flatMap((b,v)=>(b.__isGroup?b.__children??[]:[b]).map((y,S)=>{const T=V(y,n,y.label),E=V(y,f,y.value);return t.h(c.ElDropdownItem,{key:y.key??`${v}-${S}`,command:E,disabled:y.disabled},{default:()=>T})}))})})}function D(e,o,a={},r){const{valueField:d="value",labelField:u="label",childrenField:m="children",onChange:l,options:s,...g}=r??{},n=s??o;return t.h(c.ElTreeSelect,{...g,data:n,modelValue:e.value,"onUpdate:modelValue":f=>{e.value=f,r?.onChange?.(f,r,n)},props:{value:d,label:u,children:m,disabled:"disabled"},...a})}function M(e,o,a={},r){const{onChange:d,labelField:u,valueField:m,options:l,...s}=r??{},g=u??"label",n=m??"value",f=l??o;return t.h(c.ElRadioGroup,{...s,modelValue:e.value,"onUpdate:modelValue":i=>{e.value=i,r?.onChange?.(i,r,f)},...a},{default:()=>(f??[]).map((i,p)=>{const C=V(i,g,i.label),b=V(i,n,i.value);return t.h(c.ElRadio,{key:i.key??p,label:b,disabled:i.disabled},()=>C)})})}function $(e,o,a={},r){const{onChange:d,labelField:u,valueField:m,options:l,...s}=r??{},g=u??"label",n=m??"value",f=l??o;return t.h(c.ElRadioGroup,{...s,modelValue:e.value,"onUpdate:modelValue":i=>{e.value=i,r?.onChange?.(i,r,f)},...a},{default:()=>(f??[]).map((i,p)=>{const C=V(i,g,i.label),b=V(i,n,i.value);return t.h(c.ElRadioButton,{key:i.key??p,label:b,disabled:i.disabled},()=>C)})})}function _(e,o,a={},r){const{onChange:d,labelField:u,valueField:m,options:l,...s}=r??{},g=u??"label",n=m??"value",f=l??o;return t.h(c.ElCheckboxGroup,{...s,modelValue:e.value,"onUpdate:modelValue":i=>{e.value=i,r?.onChange?.(i,r,f)},...a},{default:()=>t.h(c.ElSpace,{wrap:!0},{default:()=>(f??[]).map((i,p)=>{const C=V(i,g,i.label),b=V(i,n,i.value);return t.h(c.ElCheckbox,{key:i.key??p,label:b,disabled:i.disabled},()=>C)})})})}function G(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElSwitch,{...d,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u,a?.onChange?.(u,a)},...o})}function L(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElDatePicker,{...d,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u,a?.onChange?.(u,a)},...o})}function H(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElTimePicker,{...d,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u,a?.onChange?.(u,a)},...o})}function Z(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElCheckbox,{...d,label:o?.label??a?.label,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u,a?.onChange?.(e.value,a)},...o})}function U(e,o={},a){const{onChange:r,value:d,labelField:u="label",valueField:m,...l}=a??{};return t.h(c.ElInputTag,{...l,modelValue:m?e.value.map(s=>s[m]):e.value,"onUpdate:modelValue":s=>{e.value=m?s.map(g=>({[u]:g,[m]:g})):s,a?.onChange?.(s,a)},...o})}function q(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElSlider,{...d,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u,a?.onChange?.(u,a)},...o})}function W(e,o={},a){const{onChange:r,...d}=a??{};return t.h(c.ElInputNumber,{...d,modelValue:e.value,"onUpdate:modelValue":u=>{e.value=u??null,a?.onChange?.(e.value,a)},...o})}const ae=Object.freeze(Object.defineProperty({__proto__:null,renderCheckbox:Z,renderCheckboxGroup:_,renderDatePicker:L,renderDynamicTags:U,renderInput:P,renderInputNumber:W,renderPopSelect:z,renderRadioButtonGroup:$,renderRadioGroup:M,renderSelect:j,renderSlider:q,renderSwitch:G,renderTimePicker:H,renderTreeSelect:D},Symbol.toStringTag,{value:"Module"}));function re(e){return function(a,r=!0){const d=e,u={renderInput:l=>d.renderInput(l.value,l.renderProps??{},l),renderSelect:l=>d.renderSelect(l.value,l.options??[],l.renderProps??{},l),renderPopSelect:l=>d.renderPopSelect(l.value,l.options??[],l.renderProps??{},l),renderTreeSelect:l=>d.renderTreeSelect(l.value,l.options??[],l.renderProps??{},l),renderRadioGroup:l=>d.renderRadioGroup(l.value,l.options??[],l.renderProps??{},l),renderRadioButtonGroup:l=>d.renderRadioButtonGroup(l.value,l.options??[],l.renderProps??{},l),renderCheckboxGroup:l=>d.renderCheckboxGroup(l.value,l.options??[],l.renderProps??{},l),renderSwitch:l=>d.renderSwitch(l.value,l.renderProps??{},l),renderDatePicker:l=>d.renderDatePicker(l.value,l.renderProps??{},l),renderTimePicker:l=>d.renderTimePicker(l.value,l.renderProps??{},l),renderCheckbox:l=>d.renderCheckbox(l.value,l.renderProps??{},l),renderDynamicTags:l=>d.renderDynamicTags(l.value,l.renderProps??{},l),renderSlider:l=>d.renderSlider(l.value,l.renderProps??{},l),renderInputNumber:l=>d.renderInputNumber(l.value,l.renderProps??{},l)};return a.map(l=>{const s=l;if(s.value=N.ensureRef(l.value),typeof l.render2=="function")s.render2=l.render2;else{const g=l.renderType??"renderInput",n=u[g];n?s.render2=()=>n(s):(console.warn(`[useDecorateForm] unknown renderType: ${l.renderType}`),s.render2=()=>u.renderInput(s))}return r?t.shallowReactive(s):s})}}const ne=re(ae);function B(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const oe=t.defineComponent({name:"EleZealTableSearch",props:{title:{type:String},drawerTitle:{type:String},searchItems:{type:Array,default:[]},searchFormMaxHeight:{type:String,default:"200px"},size:{type:[Number,String],default:240},drawerOpenTxt:{type:String,default:"Search Drawer"},searchBtnTxt:{type:Array,default:()=>["Reset","Search"]},mobileDrawer:{type:Boolean,default:!0},closeDrawerAuto:{type:Boolean,default:!1},copyDefault:{type:Boolean,default:!1},isMobile:{type:Boolean,default:!1}},emits:{onReset:()=>!0,onSearch:e=>!0},slots:Object,setup(e,{emit:o,slots:a,expose:r}){const d=t.ref(!1),u=t.ref({}),m=N.useDyForm(e.searchItems),l=n=>{d.value=n??!d.value},s=()=>{e.copyDefault?m.setValues(u.value):m.onReset(null),o("onReset"),l(!1)},g=()=>{const n=m.getValues();o("onSearch",n),l(!1)};return t.watch(()=>e.isMobile,n=>{e.closeDrawerAuto||n||l(!1)}),t.onMounted(async()=>{await t.nextTick(),e.copyDefault&&(u.value=m.getValues())}),r({onReset:s,onSearch:g,toggleDrawer:l,getParams:()=>m.getValues()}),()=>{const[n,f]=e.searchBtnTxt;return t.createVNode("div",{class:"eleZealTableSearch"},[!e.mobileDrawer||!e.isMobile?t.createVNode(t.Fragment,null,[a.title?.()??t.createVNode("div",{class:"naiTitle"},[e.title]),t.createVNode("div",{class:"searchForm",style:{maxHeight:e.searchFormMaxHeight}},[t.createVNode(x,{items:e.searchItems,preset:"grid",formConfig:{labelPosition:"left",showMessage:!1}},null)]),a.searchBtn?a.searchBtn?.({onSearch:g,onReset:s}):t.createVNode("div",{class:"searchBtn"},[t.createVNode(c.ElButton,{size:"small",onClick:s},B(n)?n:{default:()=>[n]}),t.createVNode(c.ElButton,{type:"primary",size:"small",onClick:g},B(f)?f:{default:()=>[f]})])]):t.createVNode("div",{class:"drawerSearchBtn"},[a.title?.()??t.createVNode("div",{class:"naiTitle"},[e.title]),a.drawerBtn?a.drawerBtn?.({openDrawer:()=>l(!0)}):t.createVNode(c.ElButton,{size:"small",onClick:()=>{l(!0)}},{default:()=>[e.drawerOpenTxt]})]),t.createVNode(c.ElDrawer,{class:"eleZealSearchDrawer",modelValue:d.value,"onUpdate:modelValue":i=>d.value=i,size:e.size,trapFocus:!1,direction:"ttb"},{default:()=>[t.createVNode("div",{class:"searchForm"},[t.createVNode(x,{formConfig:{labelPosition:"left",size:"small",showMessage:!1},items:e.searchItems},null)])],header:()=>t.createVNode("div",null,[e.drawerTitle??e.title]),footer:()=>a.searchBtn?a.searchBtn?.({onSearch:g,onReset:s}):t.createVNode("div",{class:"searchBtn"},[t.createVNode(c.ElButton,{size:"small",onClick:s},B(n)?n:{default:()=>[n]}),t.createVNode(c.ElButton,{type:"primary",size:"small",onClick:g},B(f)?f:{default:()=>[f]})])})])}}}),ue=t.defineComponent({name:"EleZealTablePaginationControl",props:{pagination:{type:Object,required:!0},pageConfig:{type:Object},isMobile:{type:Boolean,default:!1}},slots:Object,setup(e,{slots:o}){const a=t.toRef(e,"pagination");function r(u){a.value.pageNo=u,a.value?.onChange()}function d(u){a.value.pageNo=1,a.value.pageSize=u,a.value?.onPageSizeChange()}return()=>t.createVNode(c.ElPagination,t.mergeProps({currentPage:a.value?.pageNo,"page-size":a.value?.pageSize,total:a.value?.total,pageSizes:a.value?.pageSizes,layout:!o.default&&e.isMobile?se(a.value?.layout):a.value?.layout,"onUpdate:current-page":r,"onUpdate:page-size":d},e.pageConfig),{...o})}}),de=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),se=(e,o=["sizes","jumper"])=>{if(!e||o.length===0)return e;const a=new RegExp(`(^|,\\s*)(${o.map(de).join("|")})(?=\\s*,|$)`,"g");return e.replace(a,"").replace(/^,|,$/g,"")},ce=t.defineComponent({name:"EleZealTable",props:{data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},loading:{type:Boolean,default:!1},maxHeight:{type:[Number,String]},columnAlign:{type:String},stripe:{type:Boolean,default:!0},border:{type:Boolean,default:!1},tableConfig:{type:Object}},slots:Object,setup(e,{slots:o,attrs:a}){return()=>t.withDirectives(t.createVNode(c.ElTable,t.mergeProps(e.tableConfig,a,{data:e.data,maxHeight:e.maxHeight,stripe:e.stripe,border:e.border}),{default:()=>[e.columns.map(r=>{const d=r.key??String(r.prop??r.label),u=r.align??e.columnAlign,{render2:m,slot:l,...s}=r,g=l||(r.prop?`cell-${String(r.prop)}`:void 0),n=g?o[g]:void 0;return t.createVNode(c.ElTableColumn,t.mergeProps(s,{align:u,key:d}),{default:f=>m?m(f.row,f.$index):n?n(f):r.prop?f.row[r.prop]:null})})],...o}),[[t.resolveDirective("loading"),e.loading]])}}),ie=t.defineComponent({name:"EleZealTableBtnControl",props:{isMobile:{type:Boolean,default:!1},btnItems:{type:Array,default:()=>[]},size:{type:String,default:"small"},dropDownProps:{type:Object},dropDownText:{type:String,default:"controls"}},slots:Object,emits:{onSelect:e=>!0},setup(e,{emit:o,slots:a}){const r=e.btnItems,{dropDownText:d,size:u}=e;return()=>t.createVNode("div",{class:"zealTableBtnControl"},[e.isMobile?t.createVNode(c.ElDropdown,t.mergeProps({size:u,trigger:"click",placement:"bottom"},e.dropDownProps),{default:()=>[a.text?a.text():t.createVNode(c.ElButton,{size:u},B(d)?d:{default:()=>[d]})],dropdown:()=>{let m;return t.createVNode(c.ElDropdownMenu,null,B(m=r.map(l=>t.createVNode(c.ElDropdownItem,{disabled:l.disabled,key:l.key,onClick:()=>{l.onSelect?.(l.key),o("onSelect",l.key)}},{default:()=>[l.title]})))?m:{default:()=>[m]})}}):r.map(m=>{const{key:l,onSelect:s,title:g,...n}=m;return t.createVNode(c.ElButton,t.mergeProps({size:u,key:l,onClick:()=>{s?.(l),o("onSelect",l)}},n),B(g)?g:{default:()=>[g]})})])}});function fe(e,o){const a=t.ref(null),r=t.computed(()=>{const d=a.value;return e({isMobile:d?.isMobile??t.ref(!1),tableHeight:d?.tableHeight??t.ref(0)}).map(u=>({...o,...u}))});return{eleZealCardRef:a,tableColumns:r}}exports.EleDynamicCascadeInput=X;exports.EleDynamicForm=x;exports.EleDynamicInput=J;exports.ElePopupModal=Y;exports.EleZealCard=ee;exports.EleZealTable=ce;exports.EleZealTableBtnControl=ie;exports.EleZealTablePaginationControl=ue;exports.EleZealTableSearch=oe;exports.renderCheckbox=Z;exports.renderCheckboxGroup=_;exports.renderDatePicker=L;exports.renderDynamicTags=U;exports.renderInput=P;exports.renderInputNumber=W;exports.renderPopSelect=z;exports.renderRadioButtonGroup=$;exports.renderRadioGroup=M;exports.renderSelect=j;exports.renderSlider=q;exports.renderSwitch=G;exports.renderTimePicker=H;exports.renderTreeSelect=D;exports.useDecorateForm=ne;exports.useZealColumnTool=fe;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
import { ExposeDyFType, ExposePopupMType, ExposeType, ExposeZealCardType, ExposeZealTSearchType } from '../types';
|
|
1
2
|
import { default as EleDynamicInput } from './EleDynamicInput';
|
|
2
3
|
import { default as EleDynamicCascadeInput } from './EleDynamicCascadeInput';
|
|
3
4
|
import { default as EleDynamicForm } from './EleDynamicForm';
|
|
4
|
-
import {
|
|
5
|
+
import { default as ElePopupModal } from './ElePopupModal';
|
|
6
|
+
import { default as EleZealCard } from './EleZealCard';
|
|
5
7
|
import { useDecorateForm } from './hooks/decorateForm';
|
|
6
|
-
|
|
8
|
+
import { EleZealTableSearch, EleZealTablePaginationControl, EleZealTable, EleZealTableBtnControl } from './EleZealTableTool';
|
|
9
|
+
type eleDynamicInputRef = InstanceType<typeof EleDynamicInput> & ExposeType;
|
|
10
|
+
type eleCascadeDynamicInputRef = InstanceType<typeof EleDynamicCascadeInput> & ExposeType;
|
|
11
|
+
type eleDynamicFormRef = InstanceType<typeof EleDynamicForm> & ExposeDyFType;
|
|
12
|
+
type elePopupModalRef = InstanceType<typeof ElePopupModal> & ExposePopupMType;
|
|
13
|
+
type eleZealTableSearchRef = InstanceType<typeof EleZealTableSearch> & ExposeZealTSearchType;
|
|
14
|
+
type eleZealCardRef = InstanceType<typeof EleZealCard> & ExposeZealCardType;
|
|
7
15
|
export * from './hooks/renderForm';
|
|
8
|
-
export
|
|
9
|
-
export type eleCascadeDynamicInputRef
|
|
10
|
-
export
|
|
11
|
-
export { EleDynamicInput, EleDynamicCascadeInput, EleDynamicForm };
|
|
16
|
+
export * from './hooks/useZealTool';
|
|
17
|
+
export type { eleDynamicInputRef, eleCascadeDynamicInputRef, eleDynamicFormRef, elePopupModalRef, eleZealCardRef, eleZealTableSearchRef };
|
|
18
|
+
export { EleDynamicInput, EleDynamicCascadeInput, EleDynamicForm, ElePopupModal, EleZealCard, useDecorateForm, EleZealTableSearch, EleZealTablePaginationControl, EleZealTable, EleZealTableBtnControl };
|