vome-core 0.1.50 → 0.1.52
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/dist/admin/config/plugin-dev.js +1 -1
- package/dist/admin/crud/components/vm-color-picker.vue +14 -14
- package/dist/admin/crud/components/vm-richtext-extensions.js +1 -1
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/mitt.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/crud/vm-crud.vue +28 -10
- package/dist/admin/crud/vm-search.vue +44 -5
- package/dist/admin/crud/vm-table.vue +14 -2
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/shared/datetime-picker.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/package.json +1 -1
- package/typings/admin/comm/crud.d.ts +11 -1
- package/typings/admin/comm/crud.ts +245 -211
|
@@ -1,320 +1,354 @@
|
|
|
1
|
-
import type { Component, InjectionKey, MaybeRefOrGetter, Ref } from
|
|
1
|
+
import type { Component, InjectionKey, MaybeRefOrGetter, Ref } from "vue";
|
|
2
2
|
|
|
3
3
|
/** 标准 CRUD service */
|
|
4
4
|
export type CrudService = {
|
|
5
|
-
namespace?: string
|
|
5
|
+
namespace?: string;
|
|
6
6
|
page?: (data: Record<string, unknown>) => Promise<{
|
|
7
|
-
list: Record<string, unknown>[]
|
|
8
|
-
pagination: { page: number; size: number; total: number }
|
|
9
|
-
}
|
|
10
|
-
list?: (data?: Record<string, unknown>) => Promise<Record<string, unknown>[]
|
|
11
|
-
info?: (data: { id: number | string }) => Promise<Record<string, unknown
|
|
12
|
-
add?: (data: Record<string, unknown>) => Promise<unknown
|
|
13
|
-
update?: (data: Record<string, unknown>) => Promise<unknown
|
|
7
|
+
list: Record<string, unknown>[];
|
|
8
|
+
pagination: { page: number; size: number; total: number };
|
|
9
|
+
}>;
|
|
10
|
+
list?: (data?: Record<string, unknown>) => Promise<Record<string, unknown>[]>;
|
|
11
|
+
info?: (data: { id: number | string }) => Promise<Record<string, unknown>>;
|
|
12
|
+
add?: (data: Record<string, unknown>) => Promise<unknown>;
|
|
13
|
+
update?: (data: Record<string, unknown>) => Promise<unknown>;
|
|
14
14
|
delete?: (data: {
|
|
15
|
-
ids: Array<number | string
|
|
16
|
-
force?: boolean
|
|
17
|
-
}) => Promise<unknown
|
|
18
|
-
restore?: (data: { ids: Array<number | string> }) => Promise<unknown
|
|
15
|
+
ids: Array<number | string>;
|
|
16
|
+
force?: boolean;
|
|
17
|
+
}) => Promise<unknown>;
|
|
18
|
+
restore?: (data: { ids: Array<number | string> }) => Promise<unknown>;
|
|
19
19
|
/** 权限码字符串 map */
|
|
20
|
-
permission?: Partial<CrudPermission> | Record<string, string
|
|
20
|
+
permission?: Partial<CrudPermission> | Record<string, string>;
|
|
21
21
|
/** 当前用户是否具备对应权限 */
|
|
22
|
-
_permission?: Partial<CrudPermission> & Record<string, boolean
|
|
22
|
+
_permission?: Partial<CrudPermission> & Record<string, boolean>;
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
-
request?: (options?: any) => Promise<unknown
|
|
25
|
-
[key: string]: unknown
|
|
26
|
-
}
|
|
24
|
+
request?: (options?: any) => Promise<unknown>;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
};
|
|
27
27
|
|
|
28
28
|
export type CrudPermission = {
|
|
29
|
-
page: boolean
|
|
30
|
-
list: boolean
|
|
31
|
-
info: boolean
|
|
32
|
-
add: boolean
|
|
33
|
-
delete: boolean
|
|
34
|
-
update: boolean
|
|
29
|
+
page: boolean;
|
|
30
|
+
list: boolean;
|
|
31
|
+
info: boolean;
|
|
32
|
+
add: boolean;
|
|
33
|
+
delete: boolean;
|
|
34
|
+
update: boolean;
|
|
35
35
|
/** 有则显示回收站;与 Controller `api` 含 restore 对齐 */
|
|
36
|
-
restore: boolean
|
|
37
|
-
}
|
|
36
|
+
restore: boolean;
|
|
37
|
+
};
|
|
38
38
|
|
|
39
39
|
export type CrudDict = {
|
|
40
|
-
primaryId: string
|
|
40
|
+
primaryId: string;
|
|
41
41
|
api: {
|
|
42
|
-
list: string
|
|
43
|
-
add: string
|
|
44
|
-
update: string
|
|
45
|
-
delete: string
|
|
46
|
-
info: string
|
|
47
|
-
page: string
|
|
48
|
-
}
|
|
49
|
-
pagination: { page: string; size: string }
|
|
50
|
-
search: { keyWord: string; query: string }
|
|
51
|
-
sort: { order: string; prop: string }
|
|
52
|
-
label: Record<string, string
|
|
53
|
-
}
|
|
42
|
+
list: string;
|
|
43
|
+
add: string;
|
|
44
|
+
update: string;
|
|
45
|
+
delete: string;
|
|
46
|
+
info: string;
|
|
47
|
+
page: string;
|
|
48
|
+
};
|
|
49
|
+
pagination: { page: string; size: string };
|
|
50
|
+
search: { keyWord: string; query: string };
|
|
51
|
+
sort: { order: string; prop: string };
|
|
52
|
+
label: Record<string, string>;
|
|
53
|
+
};
|
|
54
54
|
|
|
55
55
|
export type CrudFormComponent = {
|
|
56
|
-
name?: string | Component
|
|
57
|
-
props?: Record<string, unknown
|
|
58
|
-
}
|
|
56
|
+
name?: string | Component;
|
|
57
|
+
props?: Record<string, unknown>;
|
|
58
|
+
};
|
|
59
59
|
|
|
60
60
|
export type CrudSearchItem = {
|
|
61
|
-
prop: string
|
|
62
|
-
label: string
|
|
63
|
-
type?:
|
|
64
|
-
placeholder?: string
|
|
65
|
-
options?: MaybeRefOrGetter<
|
|
61
|
+
prop: string;
|
|
62
|
+
label: string;
|
|
63
|
+
type?: "input" | "select" | "date" | "daterange" | "number-range";
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
options?: MaybeRefOrGetter<
|
|
66
|
+
Array<{ label: string; value: string | number | boolean }>
|
|
67
|
+
>;
|
|
66
68
|
/** 业务字典 type.key;有则拉 options */
|
|
67
|
-
dict?: string
|
|
69
|
+
dict?: string;
|
|
68
70
|
/** 下拉多选 */
|
|
69
|
-
multiple?: boolean
|
|
71
|
+
multiple?: boolean;
|
|
70
72
|
/** 区间:提交时拆成 min/max 请求参数 */
|
|
71
73
|
range?: {
|
|
72
|
-
min: string
|
|
73
|
-
max: string
|
|
74
|
-
rangeType:
|
|
75
|
-
|
|
74
|
+
min: string;
|
|
75
|
+
max: string;
|
|
76
|
+
rangeType:
|
|
77
|
+
| "int"
|
|
78
|
+
| "float"
|
|
79
|
+
| "year"
|
|
80
|
+
| "month"
|
|
81
|
+
| "day"
|
|
82
|
+
| "hour"
|
|
83
|
+
| "minute"
|
|
84
|
+
| "second";
|
|
85
|
+
};
|
|
76
86
|
/** component.name 走 registry */
|
|
77
|
-
component?: CrudFormComponent
|
|
87
|
+
component?: CrudFormComponent;
|
|
88
|
+
/**初始化值(写入 search form;重置亦回到此值)*/
|
|
89
|
+
value?: unknown;
|
|
78
90
|
/** i18n:field.{table}.{prop},运行时解析占位符 */
|
|
79
|
-
fieldKey?: string
|
|
91
|
+
fieldKey?: string;
|
|
80
92
|
/** 无翻译时的字段中文名(EPS comment) */
|
|
81
|
-
nameFallback?: string
|
|
93
|
+
nameFallback?: string;
|
|
82
94
|
/** 占位符模式:搜索 / 选择 / 关键字 / 区间 */
|
|
83
|
-
phMode?:
|
|
95
|
+
phMode?: "search" | "select" | "keyword" | "range";
|
|
84
96
|
/** keyword 多字段 fieldKey 列表 */
|
|
85
|
-
keywordParts?: string[]
|
|
86
|
-
}
|
|
97
|
+
keywordParts?: string[];
|
|
98
|
+
};
|
|
87
99
|
|
|
88
100
|
export type CrudOpButton =
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
101
|
+
| "edit"
|
|
102
|
+
| "delete"
|
|
103
|
+
| "info"
|
|
92
104
|
| {
|
|
93
|
-
label: string
|
|
94
|
-
hidden?: boolean
|
|
95
|
-
disabled?: boolean
|
|
96
|
-
variant?:
|
|
97
|
-
|
|
98
|
-
|
|
105
|
+
label: string;
|
|
106
|
+
hidden?: boolean;
|
|
107
|
+
disabled?: boolean;
|
|
108
|
+
variant?:
|
|
109
|
+
| "softPrimary"
|
|
110
|
+
| "softDestructive"
|
|
111
|
+
| "softSuccess"
|
|
112
|
+
| "ghost"
|
|
113
|
+
| "outline";
|
|
114
|
+
onClick: (row: Record<string, unknown>) => void;
|
|
115
|
+
};
|
|
99
116
|
|
|
100
117
|
export type CrudColumn = {
|
|
101
|
-
prop?: string
|
|
102
|
-
label?: string
|
|
118
|
+
prop?: string;
|
|
119
|
+
label?: string;
|
|
103
120
|
/** i18n 完整 key,优先于 field.*(如 i18n.langName) */
|
|
104
|
-
labelKey?: string
|
|
121
|
+
labelKey?: string;
|
|
105
122
|
/** 显式 field.{table}.{prop};缺省时按 EPS 推断 */
|
|
106
|
-
fieldKey?: string
|
|
123
|
+
fieldKey?: string;
|
|
107
124
|
/** selection | index | op | expand */
|
|
108
|
-
type?:
|
|
109
|
-
width?: string | number
|
|
110
|
-
minWidth?: string | number
|
|
111
|
-
align?:
|
|
125
|
+
type?: "selection" | "index" | "op" | "expand";
|
|
126
|
+
width?: string | number;
|
|
127
|
+
minWidth?: string | number;
|
|
128
|
+
align?: "left" | "center" | "right";
|
|
112
129
|
/** 横向滚动时固定列;`type: 'op'` 未写时默认 `right` */
|
|
113
|
-
fixed?:
|
|
114
|
-
hidden?: boolean
|
|
130
|
+
fixed?: "left" | "right";
|
|
131
|
+
hidden?: boolean;
|
|
115
132
|
/** true / custom 可点排序;asc|desc 表示默认方向 */
|
|
116
|
-
sortable?: boolean |
|
|
117
|
-
slot?: string
|
|
118
|
-
formatter?: (row: Record<string, unknown>, value: unknown) => string
|
|
133
|
+
sortable?: boolean | "custom" | "asc" | "desc" | "ascending" | "descending";
|
|
134
|
+
slot?: string;
|
|
135
|
+
formatter?: (row: Record<string, unknown>, value: unknown) => string;
|
|
119
136
|
/** op 列:edit/delete/info 或自定义按钮对象 */
|
|
120
|
-
buttons?: CrudOpButton[] | ((row: Record<string, unknown>) => CrudOpButton[])
|
|
137
|
+
buttons?: CrudOpButton[] | ((row: Record<string, unknown>) => CrudOpButton[]);
|
|
121
138
|
/** 单元格组件:name 为注册名或直接组件 */
|
|
122
139
|
component?: {
|
|
123
|
-
name?: string | Component
|
|
124
|
-
props?: Record<string, unknown
|
|
125
|
-
}
|
|
140
|
+
name?: string | Component;
|
|
141
|
+
props?: Record<string, unknown>;
|
|
142
|
+
};
|
|
126
143
|
/** dict.get / dict.options(支持 ComputedRef) */
|
|
127
144
|
dict?: MaybeRefOrGetter<
|
|
128
|
-
Array<{
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
145
|
+
Array<{
|
|
146
|
+
label: string;
|
|
147
|
+
value: string | number;
|
|
148
|
+
type?: string;
|
|
149
|
+
color?: string;
|
|
150
|
+
}>
|
|
151
|
+
>;
|
|
152
|
+
children?: CrudColumn[];
|
|
153
|
+
};
|
|
132
154
|
|
|
133
155
|
export type CrudFormItem = {
|
|
134
|
-
prop: string
|
|
135
|
-
label: string
|
|
136
|
-
type?:
|
|
137
|
-
required?: boolean
|
|
138
|
-
placeholder?: string
|
|
156
|
+
prop: string;
|
|
157
|
+
label: string;
|
|
158
|
+
type?: "input" | "textarea" | "select" | "switch" | "radio";
|
|
159
|
+
required?: boolean;
|
|
160
|
+
placeholder?: string;
|
|
139
161
|
/** 控件禁用 */
|
|
140
|
-
disabled?: boolean
|
|
162
|
+
disabled?: boolean;
|
|
141
163
|
/** 扁平或树;options: dict.get('x') */
|
|
142
164
|
options?: MaybeRefOrGetter<
|
|
143
165
|
Array<{
|
|
144
|
-
label: string
|
|
145
|
-
value: string | number | boolean
|
|
166
|
+
label: string;
|
|
167
|
+
value: string | number | boolean;
|
|
146
168
|
children?: Array<{
|
|
147
|
-
label: string
|
|
148
|
-
value: string | number | boolean
|
|
149
|
-
children?: unknown[]
|
|
150
|
-
}
|
|
169
|
+
label: string;
|
|
170
|
+
value: string | number | boolean;
|
|
171
|
+
children?: unknown[];
|
|
172
|
+
}>;
|
|
151
173
|
}>
|
|
152
|
-
|
|
174
|
+
>;
|
|
153
175
|
/** 按桌面 24 栅格配置(全宽 24);移动端自动映射到 12 列 */
|
|
154
|
-
span?: number
|
|
155
|
-
hidden?: boolean | ((form: Record<string, unknown>) => boolean)
|
|
176
|
+
span?: number;
|
|
177
|
+
hidden?: boolean | ((form: Record<string, unknown>) => boolean);
|
|
156
178
|
/** 用 component 描述控件 */
|
|
157
|
-
component?: CrudFormComponent
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
179
|
+
component?: CrudFormComponent;
|
|
180
|
+
/**
|
|
181
|
+
* 新增表单初始化值(rowAdd / openUpsert add 时写入;`:add-data` 同名字段优先)。
|
|
182
|
+
* 勿写在 component.props。
|
|
183
|
+
*/
|
|
184
|
+
value?: unknown;
|
|
185
|
+
rules?: unknown;
|
|
186
|
+
};
|
|
161
187
|
|
|
162
|
-
export type CrudTrashMode =
|
|
188
|
+
export type CrudTrashMode = "default" | "onlyTrashed" | "withTrashed";
|
|
163
189
|
|
|
164
190
|
export type CrudRefreshHelpers = {
|
|
165
|
-
next: (params: Record<string, unknown>) => Promise<unknown
|
|
166
|
-
done: () => void
|
|
191
|
+
next: (params: Record<string, unknown>) => Promise<unknown>;
|
|
192
|
+
done: () => void;
|
|
167
193
|
render: (
|
|
168
|
-
list:
|
|
194
|
+
list:
|
|
195
|
+
| Record<string, unknown>[]
|
|
196
|
+
| { list: Record<string, unknown>[]; pagination?: unknown },
|
|
169
197
|
pagination?: { page?: number; size?: number; total?: number },
|
|
170
|
-
) => void
|
|
171
|
-
}
|
|
198
|
+
) => void;
|
|
199
|
+
};
|
|
172
200
|
|
|
173
201
|
export type CrudDeleteHelpers = {
|
|
174
|
-
next: (params?: Record<string, unknown>) => Promise<unknown
|
|
175
|
-
}
|
|
202
|
+
next: (params?: Record<string, unknown>) => Promise<unknown>;
|
|
203
|
+
};
|
|
176
204
|
|
|
177
205
|
export type CrudOptions = {
|
|
178
206
|
/** EPS service 对象,如 service.base.user */
|
|
179
|
-
service: CrudService
|
|
180
|
-
dict?: Partial<CrudDict
|
|
181
|
-
permission?: Partial<CrudPermission
|
|
207
|
+
service: CrudService;
|
|
208
|
+
dict?: Partial<CrudDict>;
|
|
209
|
+
permission?: Partial<CrudPermission>;
|
|
182
210
|
onRefresh?: (
|
|
183
211
|
params: Record<string, unknown>,
|
|
184
212
|
helpers: CrudRefreshHelpers,
|
|
185
|
-
) => void | Promise<void
|
|
213
|
+
) => void | Promise<void>;
|
|
186
214
|
onDelete?: (
|
|
187
215
|
selection: Record<string, unknown>[],
|
|
188
216
|
helpers: CrudDeleteHelpers,
|
|
189
|
-
) => void | Promise<void
|
|
190
|
-
}
|
|
217
|
+
) => void | Promise<void>;
|
|
218
|
+
};
|
|
191
219
|
|
|
192
220
|
export type CrudUpsertOptions = {
|
|
193
|
-
items?: CrudFormItem[]
|
|
194
|
-
props?: Record<string, unknown
|
|
221
|
+
items?: CrudFormItem[];
|
|
222
|
+
props?: Record<string, unknown>;
|
|
195
223
|
dialog?: {
|
|
196
|
-
title?: string
|
|
224
|
+
title?: string;
|
|
197
225
|
/** 显式 false 强制隐藏确定;未设时仍按 info 模式自动隐藏 */
|
|
198
|
-
confirm?: boolean
|
|
226
|
+
confirm?: boolean;
|
|
199
227
|
/** 显式 false 隐藏关闭;默认 true */
|
|
200
|
-
close?: boolean
|
|
228
|
+
close?: boolean;
|
|
201
229
|
/** 弹窗高度,如 800 / '800px';最高 800px */
|
|
202
|
-
height?: string | number
|
|
203
|
-
confirmText?: string
|
|
204
|
-
closeText?: string
|
|
205
|
-
}
|
|
206
|
-
sync?: boolean
|
|
207
|
-
onOpen?: (data: Record<string, unknown>) => void
|
|
208
|
-
onOpened?: (data: Record<string, unknown>) => void
|
|
209
|
-
onClose?: (action:
|
|
230
|
+
height?: string | number;
|
|
231
|
+
confirmText?: string;
|
|
232
|
+
closeText?: string;
|
|
233
|
+
};
|
|
234
|
+
sync?: boolean;
|
|
235
|
+
onOpen?: (data: Record<string, unknown>) => void;
|
|
236
|
+
onOpened?: (data: Record<string, unknown>) => void;
|
|
237
|
+
onClose?: (action: "close" | "submit", done: () => void) => void;
|
|
210
238
|
onInfo?: (
|
|
211
239
|
data: Record<string, unknown>,
|
|
212
240
|
helpers: {
|
|
213
|
-
next: (
|
|
214
|
-
|
|
215
|
-
|
|
241
|
+
next: (
|
|
242
|
+
data?: Record<string, unknown>,
|
|
243
|
+
) => Promise<Record<string, unknown>>;
|
|
244
|
+
done: (data: Record<string, unknown>) => void;
|
|
245
|
+
close: () => void;
|
|
216
246
|
},
|
|
217
|
-
) => void | Promise<void
|
|
247
|
+
) => void | Promise<void>;
|
|
218
248
|
onSubmit?: (
|
|
219
249
|
data: Record<string, unknown>,
|
|
220
250
|
helpers: {
|
|
221
|
-
next: (data?: Record<string, unknown>) => Promise<unknown
|
|
222
|
-
done: () => void
|
|
223
|
-
close: () => void
|
|
251
|
+
next: (data?: Record<string, unknown>) => Promise<unknown>;
|
|
252
|
+
done: () => void;
|
|
253
|
+
close: () => void;
|
|
224
254
|
},
|
|
225
|
-
) => void | Promise<void | unknown
|
|
226
|
-
}
|
|
255
|
+
) => void | Promise<void | unknown>;
|
|
256
|
+
};
|
|
227
257
|
|
|
228
258
|
export type CrudTableOptions = {
|
|
229
|
-
columns?: CrudColumn[]
|
|
230
|
-
autoHeight?: boolean
|
|
231
|
-
border?: boolean
|
|
232
|
-
contextMenu?: boolean | string[]
|
|
233
|
-
rowKey?: string
|
|
259
|
+
columns?: CrudColumn[];
|
|
260
|
+
autoHeight?: boolean;
|
|
261
|
+
border?: boolean;
|
|
262
|
+
contextMenu?: boolean | string[];
|
|
263
|
+
rowKey?: string;
|
|
234
264
|
/** 树表:list 含 children 时缩进展开 */
|
|
235
|
-
tree?: boolean
|
|
236
|
-
treeLazy?: boolean
|
|
265
|
+
tree?: boolean;
|
|
266
|
+
treeLazy?: boolean;
|
|
237
267
|
/** 树表默认全部展开(为 true 时忽略 defaultExpandLevel) */
|
|
238
|
-
defaultExpandAll?: boolean
|
|
268
|
+
defaultExpandAll?: boolean;
|
|
239
269
|
/** 树表默认展开到第几级(1=仅根、不展开;默认 1) */
|
|
240
|
-
defaultExpandLevel?: number
|
|
270
|
+
defaultExpandLevel?: number;
|
|
241
271
|
/** 默认排序;请求键由 dict.sort 决定 */
|
|
242
272
|
defaultSort?: {
|
|
243
|
-
prop: string
|
|
244
|
-
order:
|
|
245
|
-
}
|
|
273
|
+
prop: string;
|
|
274
|
+
order: "asc" | "desc" | "ascending" | "descending";
|
|
275
|
+
};
|
|
246
276
|
/** 排序变化时是否 refresh,默认 true */
|
|
247
|
-
sortRefresh?: boolean
|
|
248
|
-
plugins?: unknown[]
|
|
249
|
-
}
|
|
277
|
+
sortRefresh?: boolean;
|
|
278
|
+
plugins?: unknown[];
|
|
279
|
+
};
|
|
250
280
|
|
|
251
281
|
export type CrudSearchOptions = {
|
|
252
|
-
items?: CrudSearchItem[]
|
|
253
|
-
}
|
|
282
|
+
items?: CrudSearchItem[];
|
|
283
|
+
};
|
|
254
284
|
|
|
255
285
|
export type CrudContext = {
|
|
256
|
-
service: CrudService
|
|
257
|
-
loading: Ref<boolean
|
|
258
|
-
list: Ref<Record<string, unknown>[]
|
|
259
|
-
selection: Ref<Record<string, unknown>[]
|
|
260
|
-
pagination: Ref<{ page: number; size: number; total: number }
|
|
261
|
-
params: Ref<Record<string, unknown
|
|
262
|
-
trashMode: Ref<CrudTrashMode
|
|
263
|
-
permission: Ref<CrudPermission
|
|
264
|
-
dict: CrudDict
|
|
265
|
-
refresh: (extra?: Record<string, unknown>) => Promise<unknown
|
|
266
|
-
setParams: (p: Record<string, unknown>, doRefresh?: boolean) => void
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
286
|
+
service: CrudService;
|
|
287
|
+
loading: Ref<boolean>;
|
|
288
|
+
list: Ref<Record<string, unknown>[]>;
|
|
289
|
+
selection: Ref<Record<string, unknown>[]>;
|
|
290
|
+
pagination: Ref<{ page: number; size: number; total: number }>;
|
|
291
|
+
params: Ref<Record<string, unknown>>;
|
|
292
|
+
trashMode: Ref<CrudTrashMode>;
|
|
293
|
+
permission: Ref<CrudPermission>;
|
|
294
|
+
dict: CrudDict;
|
|
295
|
+
refresh: (extra?: Record<string, unknown>) => Promise<unknown>;
|
|
296
|
+
setParams: (p: Record<string, unknown>, doRefresh?: boolean) => void;
|
|
297
|
+
/** doRefresh=false 时只清 params 不拉列表(供 search 重置后带初始值再 search) */
|
|
298
|
+
resetParams: (doRefresh?: boolean) => void;
|
|
299
|
+
setSelection: (rows: Record<string, unknown>[]) => void;
|
|
300
|
+
getPermission: (key?: keyof CrudPermission) => boolean | CrudPermission;
|
|
301
|
+
getParams: () => Record<string, unknown>;
|
|
302
|
+
rowAdd: (defaults?: Record<string, unknown>) => void;
|
|
303
|
+
rowAppend: (data?: Record<string, unknown>) => void;
|
|
304
|
+
rowEdit: (row: Record<string, unknown>) => Promise<void>;
|
|
305
|
+
rowInfo: (row: Record<string, unknown>) => Promise<void>;
|
|
306
|
+
rowClose: () => void;
|
|
276
307
|
/** 打开 upsert,不校验 add 权限 */
|
|
277
308
|
openUpsert: (
|
|
278
309
|
form?: Record<string, unknown>,
|
|
279
|
-
mode?:
|
|
280
|
-
) => void
|
|
281
|
-
rowDelete: (
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
310
|
+
mode?: "add" | "update" | "info",
|
|
311
|
+
) => void;
|
|
312
|
+
rowDelete: (
|
|
313
|
+
rows?: Record<string, unknown>[],
|
|
314
|
+
force?: boolean,
|
|
315
|
+
) => Promise<void>;
|
|
316
|
+
rowRestore: (rows?: Record<string, unknown>[]) => Promise<void>;
|
|
317
|
+
upsertVisible: Ref<boolean>;
|
|
318
|
+
upsertMode: Ref<"add" | "update" | "info">;
|
|
319
|
+
upsertForm: Ref<Record<string, unknown>>;
|
|
320
|
+
upsertSubmit: () => Promise<void>;
|
|
321
|
+
upsertClose: () => void;
|
|
322
|
+
patchUpsertForm: (patch: Record<string, unknown>) => void;
|
|
323
|
+
getUpsertForm: () => Record<string, unknown>;
|
|
290
324
|
/** vm-search 注册;vm-toolbar 搜索/重置读取 */
|
|
291
|
-
searchActions: import(
|
|
292
|
-
search: () => void
|
|
293
|
-
reset: () => void
|
|
294
|
-
} | null
|
|
325
|
+
searchActions: import("vue").ShallowRef<{
|
|
326
|
+
search: () => void;
|
|
327
|
+
reset: () => void;
|
|
328
|
+
} | null>;
|
|
295
329
|
/** vm-search 是否有筛选项;无配置时不显示 toolbar 搜索/重置 */
|
|
296
|
-
hasSearchFilters: Ref<boolean
|
|
297
|
-
}
|
|
330
|
+
hasSearchFilters: Ref<boolean>;
|
|
331
|
+
};
|
|
298
332
|
|
|
299
333
|
/** 表格右键菜单项 */
|
|
300
334
|
export type CtxMenuItem = {
|
|
301
|
-
key: string
|
|
302
|
-
label: string
|
|
303
|
-
disabled?: boolean
|
|
304
|
-
}
|
|
335
|
+
key: string;
|
|
336
|
+
label: string;
|
|
337
|
+
disabled?: boolean;
|
|
338
|
+
};
|
|
305
339
|
|
|
306
340
|
/** 树形下拉选项 */
|
|
307
341
|
export type TreeSelectOption = {
|
|
308
|
-
label?: string
|
|
309
|
-
value?: string | number | boolean
|
|
310
|
-
children?: TreeSelectOption[]
|
|
311
|
-
[key: string]: unknown
|
|
312
|
-
}
|
|
342
|
+
label?: string;
|
|
343
|
+
value?: string | number | boolean;
|
|
344
|
+
children?: TreeSelectOption[];
|
|
345
|
+
[key: string]: unknown;
|
|
346
|
+
};
|
|
313
347
|
|
|
314
348
|
/** CRUD Table 插件标记 */
|
|
315
349
|
export type TablePlugin = {
|
|
316
|
-
__plugin: string
|
|
317
|
-
[key: string]: unknown
|
|
318
|
-
}
|
|
350
|
+
__plugin: string;
|
|
351
|
+
[key: string]: unknown;
|
|
352
|
+
};
|
|
319
353
|
|
|
320
|
-
export type { InjectionKey, Ref }
|
|
354
|
+
export type { InjectionKey, Ref };
|