@juzhenfe/page-model 3.22.3 → 3.22.4
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/components/form/type.d.ts +166 -0
- package/dist/components/normal-tab/type.d.ts +18 -0
- package/dist/components/page-model/components/top-tabs/type.d.ts +11 -0
- package/dist/components/page-model/type.d.ts +339 -0
- package/dist/components/scenes-tab/type.d.ts +14 -0
- package/dist/components/search-form/type.d.ts +42 -0
- package/dist/components/table/type.d.ts +364 -0
- package/dist/index.es.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/types/common.d.ts +460 -0
- package/dist/types/form-item-types/cascader.d.ts +37 -0
- package/dist/types/form-item-types/checkbox-group.d.ts +19 -0
- package/dist/types/form-item-types/color-picker.d.ts +20 -0
- package/dist/types/form-item-types/date-picker.d.ts +42 -0
- package/dist/types/form-item-types/input-number.d.ts +14 -0
- package/dist/types/form-item-types/input.d.ts +16 -0
- package/dist/types/form-item-types/jz-a-map.d.ts +14 -0
- package/dist/types/form-item-types/jz-cascader.d.ts +18 -0
- package/dist/types/form-item-types/jz-city-picker.d.ts +25 -0
- package/dist/types/form-item-types/jz-ck-editor.d.ts +27 -0
- package/dist/types/form-item-types/jz-editor.d.ts +20 -0
- package/dist/types/form-item-types/jz-file-upload.d.ts +20 -0
- package/dist/types/form-item-types/jz-img-upload.d.ts +23 -0
- package/dist/types/form-item-types/jz-long-input.d.ts +10 -0
- package/dist/types/form-item-types/jz-td-map.d.ts +13 -0
- package/dist/types/form-item-types/no-e-type.d.ts +12 -0
- package/dist/types/form-item-types/radio-group.d.ts +17 -0
- package/dist/types/form-item-types/rate.d.ts +29 -0
- package/dist/types/form-item-types/select-v2.d.ts +46 -0
- package/dist/types/form-item-types/select.d.ts +43 -0
- package/dist/types/form-item-types/slider.d.ts +31 -0
- package/dist/types/form-item-types/switch.d.ts +11 -0
- package/dist/types/form-item-types/time-picker.d.ts +38 -0
- package/dist/types/form-item-types/time-select.d.ts +27 -0
- package/dist/types/renderer.d.ts +10 -0
- package/dist/types/shims-vue-property.d.ts +8 -0
- package/dist/types/shims-vue.d.ts +7 -0
- package/dist/types/window.d.ts +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
import { ButtonProps } from 'element-plus';
|
|
2
|
+
import { StyleValue, VNode } from 'vue';
|
|
3
|
+
import { JSX } from 'vue/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
declare global {
|
|
7
|
+
type AnyObject = {
|
|
8
|
+
[key: string]: any
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
type ExtendKeys<T> = T & AnyObject
|
|
12
|
+
|
|
13
|
+
type AnyFunction = (...args: any[]) => any
|
|
14
|
+
|
|
15
|
+
type CreateDeType<T, CTX = any> = T | ((this: CTX, ...rest: any[]) => T)
|
|
16
|
+
|
|
17
|
+
type CreateDePromiseResult<FN extends (...rest: any[]) => any> =
|
|
18
|
+
| FN
|
|
19
|
+
| ((
|
|
20
|
+
this: ThisParameterType<FN>,
|
|
21
|
+
...rest: Parameters<FN>
|
|
22
|
+
) => Promise<ReturnType<FN>>)
|
|
23
|
+
|
|
24
|
+
type FilterType = 'string' | 'number' | 'date' | 'boolean' | 'select' | 'list'
|
|
25
|
+
|
|
26
|
+
namespace PageModel {
|
|
27
|
+
type _ButtonProps = Omit<ButtonProps, 'icon'> & {
|
|
28
|
+
icon: any
|
|
29
|
+
title: string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type LinkedFormItem<MODEL = any, CTX = any> =
|
|
33
|
+
| ElInput<MODEL, CTX>
|
|
34
|
+
| ElInputNumber<MODEL, CTX>
|
|
35
|
+
| ElCascader<MODEL, CTX>
|
|
36
|
+
| ElCheckboxGroup<MODEL, CTX>
|
|
37
|
+
| ElSelect<MODEL, CTX>
|
|
38
|
+
| ElColorPicker<MODEL, CTX>
|
|
39
|
+
| ElDatePicker<MODEL, CTX>
|
|
40
|
+
| ElRadioboxGroup<MODEL, CTX>
|
|
41
|
+
| ElRate<MODEL, CTX>
|
|
42
|
+
| ElSelectV2<MODEL, CTX>
|
|
43
|
+
| ElSlider<MODEL, CTX>
|
|
44
|
+
| ElSwitch<MODEL, CTX>
|
|
45
|
+
| ElTimePicker<MODEL, CTX>
|
|
46
|
+
| ElTimeSelect<MODEL, CTX>
|
|
47
|
+
| JuzhenAMap<MODEL, CTX>
|
|
48
|
+
| JuzhenTdMap<MODEL, CTX>
|
|
49
|
+
| JuzhenCascader<MODEL, CTX>
|
|
50
|
+
| JuzhenCityPicker<MODEL, CTX>
|
|
51
|
+
| JuzhenEditor<MODEL, CTX>
|
|
52
|
+
| JuzhenCkEditor<MODEL, CTX>
|
|
53
|
+
| JuzhenImgUpload<MODEL, CTX>
|
|
54
|
+
| JuzhenFileUpload<MODEL, CTX>
|
|
55
|
+
| NoEType<MODEL, CTX>
|
|
56
|
+
|
|
57
|
+
type _Badge = {
|
|
58
|
+
count?: number
|
|
59
|
+
maxCount?: number
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
type _Button<MODEL = AnyObject, CTX = any> = {
|
|
63
|
+
/**
|
|
64
|
+
* 按钮的名称
|
|
65
|
+
*/
|
|
66
|
+
text?: string
|
|
67
|
+
/**
|
|
68
|
+
* 自定义事件
|
|
69
|
+
*/
|
|
70
|
+
event?: string
|
|
71
|
+
/**
|
|
72
|
+
* 按钮权限值(作为权限判断的依据)
|
|
73
|
+
*/
|
|
74
|
+
authValue?: string
|
|
75
|
+
isAdd?: boolean
|
|
76
|
+
isEdit?: boolean
|
|
77
|
+
isDel?: boolean
|
|
78
|
+
isCopy?: boolean
|
|
79
|
+
isImport?: boolean
|
|
80
|
+
isShow?:
|
|
81
|
+
| boolean
|
|
82
|
+
| ((this: CTX, self: _Button, data: MODEL, index: number) => boolean)
|
|
83
|
+
isDisabled?: (
|
|
84
|
+
this: CTX,
|
|
85
|
+
self: _Button,
|
|
86
|
+
data: MODEL,
|
|
87
|
+
index: number
|
|
88
|
+
) => boolean
|
|
89
|
+
copyText?: CreateDeType<string>
|
|
90
|
+
props?: Partial<_ButtonProps>
|
|
91
|
+
customProps?: AnyObject
|
|
92
|
+
renderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
|
|
93
|
+
} & _Badge
|
|
94
|
+
|
|
95
|
+
type Button<MODEL = AnyObject, CTX = any> = _Button<MODEL, CTX> & {
|
|
96
|
+
children?: Omit<_Button, 'props' | 'isCopy' | 'copyText'>[]
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// 表格表单元素
|
|
100
|
+
type BaseElItem<MODEL = AnyObject> = {
|
|
101
|
+
label?: string
|
|
102
|
+
prop?: keyof MODEL extends string ? keyof MODEL : string
|
|
103
|
+
_key?: string
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
interface ElFormItemProps {
|
|
107
|
+
required?: boolean
|
|
108
|
+
rules?: AnyObject
|
|
109
|
+
error?: string
|
|
110
|
+
inlineMessage?: boolean
|
|
111
|
+
showMessage?: boolean
|
|
112
|
+
size?: Size
|
|
113
|
+
labelWidth?: string
|
|
114
|
+
class?: string
|
|
115
|
+
labelPosition?: 'left' | 'top'
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// 表单的元素
|
|
119
|
+
interface FormElBaseItem<MODEL = AnyObject, CTX = any>
|
|
120
|
+
extends BaseElItem<MODEL> {
|
|
121
|
+
/**
|
|
122
|
+
* 当前组件的名称
|
|
123
|
+
*/
|
|
124
|
+
name?: string
|
|
125
|
+
/**
|
|
126
|
+
* 标签宽度
|
|
127
|
+
*/
|
|
128
|
+
labelWidth?: string
|
|
129
|
+
/**
|
|
130
|
+
* 前置文字
|
|
131
|
+
*/
|
|
132
|
+
prefix?: CreateDeType<string, CTX>
|
|
133
|
+
/**
|
|
134
|
+
* 后置文字
|
|
135
|
+
*/
|
|
136
|
+
suffix?: CreateDeType<string, CTX>
|
|
137
|
+
/**
|
|
138
|
+
* 提示文字
|
|
139
|
+
*/
|
|
140
|
+
helpText?: CreateDeType<string, CTX>
|
|
141
|
+
/**
|
|
142
|
+
* 提示文字是否作为弹窗
|
|
143
|
+
*/
|
|
144
|
+
helpTextAsTooltip?: boolean
|
|
145
|
+
/**
|
|
146
|
+
* 是否显示
|
|
147
|
+
*/
|
|
148
|
+
isShow?:
|
|
149
|
+
| boolean
|
|
150
|
+
| ((
|
|
151
|
+
this: CTX,
|
|
152
|
+
self: FormElBaseItem<MODEL, CTX>,
|
|
153
|
+
data: MODEL
|
|
154
|
+
) => boolean)
|
|
155
|
+
/**
|
|
156
|
+
* 值改变时触发
|
|
157
|
+
*/
|
|
158
|
+
change?: (this: CTX, value: any, label: string) => void
|
|
159
|
+
/**
|
|
160
|
+
* 是否禁用
|
|
161
|
+
*/
|
|
162
|
+
isDisabled?: (this: CTX, data: MODEL) => boolean
|
|
163
|
+
/**
|
|
164
|
+
* 自定义渲染
|
|
165
|
+
*/
|
|
166
|
+
renderFn?: (this: CTX, data: MODEL) => JSX.Element
|
|
167
|
+
/**
|
|
168
|
+
* 表单项属性
|
|
169
|
+
*/
|
|
170
|
+
formItemProps?: ElFormItemProps
|
|
171
|
+
/**
|
|
172
|
+
* 模块名称
|
|
173
|
+
*/
|
|
174
|
+
moduleName?: string
|
|
175
|
+
/**
|
|
176
|
+
* 区块名称
|
|
177
|
+
*/
|
|
178
|
+
sectionName?: string
|
|
179
|
+
/**
|
|
180
|
+
* 用户section配置
|
|
181
|
+
*/
|
|
182
|
+
userSectionName?: string
|
|
183
|
+
/**
|
|
184
|
+
* 用户module配置
|
|
185
|
+
*/
|
|
186
|
+
userModuleName?: string
|
|
187
|
+
/**
|
|
188
|
+
* 用户表格配置
|
|
189
|
+
*/
|
|
190
|
+
userConfigShow?: boolean
|
|
191
|
+
/**
|
|
192
|
+
* 用户表头
|
|
193
|
+
*/
|
|
194
|
+
userLabel?: string
|
|
195
|
+
/**
|
|
196
|
+
* 内部更新的propslist
|
|
197
|
+
*/
|
|
198
|
+
_updateProps?: string[]
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// 表格元素
|
|
202
|
+
type TableColumnType = 'selection' | 'index' | 'expand'
|
|
203
|
+
|
|
204
|
+
type SortOrders = 'ascending' | 'descending' | null
|
|
205
|
+
|
|
206
|
+
type SortableType = 'custom'
|
|
207
|
+
|
|
208
|
+
type Align = 'left' | 'center' | 'right'
|
|
209
|
+
|
|
210
|
+
type DateFormat =
|
|
211
|
+
| 'YYYY-MM'
|
|
212
|
+
| 'MM-DD'
|
|
213
|
+
| 'YYYY-MM-DD'
|
|
214
|
+
| 'YYYY-MM-DD HH:mm'
|
|
215
|
+
| 'YYYY-MM-DD HH:mm:ss'
|
|
216
|
+
| 'YYYY/MM'
|
|
217
|
+
| 'MM/DD'
|
|
218
|
+
| 'YYYY/MM/DD'
|
|
219
|
+
| 'YYYY/MM/DD HH:mm'
|
|
220
|
+
| 'YYYY/MM/DD HH:mm:ss'
|
|
221
|
+
|
|
222
|
+
interface TableBaseItemProps {
|
|
223
|
+
type?: TableColumnType
|
|
224
|
+
prop?: string
|
|
225
|
+
className?: string
|
|
226
|
+
labelClassName?: string
|
|
227
|
+
width?: number | string
|
|
228
|
+
minWidth?: number | string
|
|
229
|
+
renderHeader?: ({
|
|
230
|
+
column,
|
|
231
|
+
$index,
|
|
232
|
+
}: {
|
|
233
|
+
column: any
|
|
234
|
+
$index: number
|
|
235
|
+
}) => any
|
|
236
|
+
sortable?: boolean | SortableType
|
|
237
|
+
sortMethod?: (a: any, b: any) => any
|
|
238
|
+
sortBy?: string | ((row: any, index: number) => any) | string[]
|
|
239
|
+
resizable?: boolean
|
|
240
|
+
columnKey?: string
|
|
241
|
+
align?: Align
|
|
242
|
+
headerAlign?: Align
|
|
243
|
+
showTooltipWhenOverflow?: boolean
|
|
244
|
+
showOverflowTooltip?: boolean
|
|
245
|
+
fixed?: true | 'left' | 'right'
|
|
246
|
+
formatter?: (row: any, column: any, cellValue: any, index: number) => any
|
|
247
|
+
selectable?: (row: any, index: number) => any
|
|
248
|
+
reserveSelection?: boolean
|
|
249
|
+
filterMethod?: (value: any, row: any, column: any) => any
|
|
250
|
+
filteredValue?: any[]
|
|
251
|
+
filters?: any[]
|
|
252
|
+
filterPlacement?: string
|
|
253
|
+
filterMultiple?: boolean
|
|
254
|
+
index?: number | ((index: number) => any)
|
|
255
|
+
sortOrders?: SortOrders[]
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
interface AscParams extends AnyObject {}
|
|
259
|
+
interface DescParams extends AnyObject {}
|
|
260
|
+
interface NoParams extends AnyObject {}
|
|
261
|
+
|
|
262
|
+
interface TableBaseItem<MODEL = any, CTX = any> extends BaseElItem<MODEL> {
|
|
263
|
+
/**
|
|
264
|
+
* 表头小组件渲染
|
|
265
|
+
*/
|
|
266
|
+
headerToolRenderFn?: (el: TableBaseItem<MODEL>, index: number) => VNode
|
|
267
|
+
/**
|
|
268
|
+
* 列渲染的唯一key
|
|
269
|
+
*/
|
|
270
|
+
_columnKey?: string
|
|
271
|
+
/**
|
|
272
|
+
* 宽度
|
|
273
|
+
*/
|
|
274
|
+
width?: string | number
|
|
275
|
+
/**
|
|
276
|
+
* 最小宽度
|
|
277
|
+
*/
|
|
278
|
+
minWidth?: string | number
|
|
279
|
+
/**
|
|
280
|
+
* 定位
|
|
281
|
+
*/
|
|
282
|
+
fixed?: 'left' | 'right' | boolean
|
|
283
|
+
/**
|
|
284
|
+
* 是否显示
|
|
285
|
+
*/
|
|
286
|
+
isShow?:
|
|
287
|
+
| boolean
|
|
288
|
+
| ((this: CTX, self: TableBaseItem<MODEL, CTX>) => boolean)
|
|
289
|
+
/**
|
|
290
|
+
* 用户表格配置
|
|
291
|
+
*/
|
|
292
|
+
userConfigShow?: boolean
|
|
293
|
+
/**
|
|
294
|
+
* 用户表头
|
|
295
|
+
*/
|
|
296
|
+
userLabel?: string
|
|
297
|
+
/**
|
|
298
|
+
* 表格排序
|
|
299
|
+
*/
|
|
300
|
+
sortValues?: [AscParams, DescParams] | [AscParams, DescParams, NoParams]
|
|
301
|
+
/**
|
|
302
|
+
* 列属性
|
|
303
|
+
*/
|
|
304
|
+
props?: ConvertFunctionContext<TableBaseItemProps, CTX>
|
|
305
|
+
/**
|
|
306
|
+
* 自定义输入渲染
|
|
307
|
+
*/
|
|
308
|
+
renderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
|
|
309
|
+
/**
|
|
310
|
+
* 自定义文本渲染
|
|
311
|
+
*/
|
|
312
|
+
textRenderFn?: (this: CTX, data: MODEL, index: number) => JSX.Element
|
|
313
|
+
/**
|
|
314
|
+
* 是否启用过滤
|
|
315
|
+
*/
|
|
316
|
+
filterable?: boolean
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* 过滤的选项
|
|
320
|
+
*/
|
|
321
|
+
filters?: ExtendReflect<{
|
|
322
|
+
/**
|
|
323
|
+
* 过滤类型
|
|
324
|
+
*/
|
|
325
|
+
filterType: FilterType
|
|
326
|
+
/**
|
|
327
|
+
* 复数过滤
|
|
328
|
+
*/
|
|
329
|
+
filterMultiple?: boolean
|
|
330
|
+
/**
|
|
331
|
+
* 过滤表单文本
|
|
332
|
+
*/
|
|
333
|
+
filterLabel?: string
|
|
334
|
+
/**
|
|
335
|
+
* 过滤选项
|
|
336
|
+
*/
|
|
337
|
+
filterOptions?: Array<{
|
|
338
|
+
label: string
|
|
339
|
+
value: string | number | boolean
|
|
340
|
+
}>
|
|
341
|
+
/**
|
|
342
|
+
* 获取过滤选项
|
|
343
|
+
*/
|
|
344
|
+
getFilterOptions?: (this: CTX) => Promise<{
|
|
345
|
+
label: string
|
|
346
|
+
value: string | number | boolean
|
|
347
|
+
}[]>
|
|
348
|
+
}>
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* 是否必填
|
|
352
|
+
*/
|
|
353
|
+
required?: boolean
|
|
354
|
+
/**
|
|
355
|
+
* 是否直接显示编辑组件
|
|
356
|
+
*/
|
|
357
|
+
showEdit?: boolean
|
|
358
|
+
/**
|
|
359
|
+
* 内置编辑组件
|
|
360
|
+
*/
|
|
361
|
+
editData?: FormItem<MODEL, CTX> & {
|
|
362
|
+
api?: string | ((this: CTX, data: MODEL) => string)
|
|
363
|
+
method?: PageModel.AjaxMethod
|
|
364
|
+
beforeSubmit?: CreateDePromiseResult<
|
|
365
|
+
(this: CTX, data: MODEL) => AnyObject | false
|
|
366
|
+
>
|
|
367
|
+
isDisabled?: (this: CTX, data: MODEL) => boolean
|
|
368
|
+
/**
|
|
369
|
+
* 自定义更新请求
|
|
370
|
+
* @param this table
|
|
371
|
+
* @param data 请求的数据
|
|
372
|
+
* @returns 是否成功
|
|
373
|
+
*/
|
|
374
|
+
customUpdate?: (this: CTX, data: MODEL) => Promise<boolean | void>
|
|
375
|
+
/**
|
|
376
|
+
* 触发的弹窗名称
|
|
377
|
+
*/
|
|
378
|
+
triggerPoperClassName?: string
|
|
379
|
+
}
|
|
380
|
+
// 子元素
|
|
381
|
+
children?: Omit<TableBaseItem<MODEL, CTX>, 'children'>[]
|
|
382
|
+
// 自定义属性
|
|
383
|
+
customProps?: AnyObject
|
|
384
|
+
// 帮助文本
|
|
385
|
+
helpText?: string
|
|
386
|
+
// 显示合计
|
|
387
|
+
showSummary?: number | string
|
|
388
|
+
/**
|
|
389
|
+
* 显示的行数
|
|
390
|
+
*/
|
|
391
|
+
showRowNumbers?: number
|
|
392
|
+
/**
|
|
393
|
+
* 图标
|
|
394
|
+
*/
|
|
395
|
+
icon?: any
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
interface TableVirtualBaseItem<MODEL = any, CTX = any>
|
|
399
|
+
extends TableBaseItem<MODEL, CTX> {
|
|
400
|
+
title?: string
|
|
401
|
+
dataKey: string
|
|
402
|
+
key?: string
|
|
403
|
+
cellRenderer?: (opt: { rowData: MODEL; rowIndex: number }) => JSX.Element
|
|
404
|
+
headerCellRenderer?: (opt: {
|
|
405
|
+
rowData: MODEL
|
|
406
|
+
rowIndex: number
|
|
407
|
+
}) => JSX.Element
|
|
408
|
+
children?: TableVirtualBaseItem<MODEL, CTX>[]
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// 创建eType组件类型
|
|
412
|
+
interface CreateFormItemComponent<
|
|
413
|
+
NAME,
|
|
414
|
+
MODEL,
|
|
415
|
+
CTX,
|
|
416
|
+
PROPS = any,
|
|
417
|
+
EVENTS = any
|
|
418
|
+
> extends FormElBaseItem<MODEL, CTX> {
|
|
419
|
+
eType: NAME
|
|
420
|
+
props?: PROPS
|
|
421
|
+
events?: EVENTS
|
|
422
|
+
style?: StyleValue
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// 为对象中的函数添加this指向
|
|
426
|
+
type ConvertFunctionContext<T, CTX> = {
|
|
427
|
+
[K in keyof T]: T[K] extends (...rest: any[]) => any
|
|
428
|
+
? (this: CTX, ...rest: Parameters<T[K]>) => any
|
|
429
|
+
: T[K]
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
type CreatePropsFromElement<
|
|
433
|
+
P,
|
|
434
|
+
O extends undefined | keyof P = undefined,
|
|
435
|
+
CTX = any
|
|
436
|
+
> = Partial<
|
|
437
|
+
ConvertFunctionContext<
|
|
438
|
+
O extends string | number | symbol ? Omit<P, O> : P,
|
|
439
|
+
CTX
|
|
440
|
+
>
|
|
441
|
+
>
|
|
442
|
+
|
|
443
|
+
// 扩展对象的reflect提示
|
|
444
|
+
type ExtendReflect<T> = T & {
|
|
445
|
+
_reflect?: string
|
|
446
|
+
_reflectChangeKey?: string
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
type OptionsData = ExtendReflect<{
|
|
450
|
+
list?: any[]
|
|
451
|
+
label?: string
|
|
452
|
+
value?: string
|
|
453
|
+
[key: string]: any
|
|
454
|
+
}>
|
|
455
|
+
|
|
456
|
+
type ExtendOptionsData<T> = T & {
|
|
457
|
+
optionsData: OptionsData
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CascaderProps, CascaderOption } from 'element-plus';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
namespace PageModel {
|
|
6
|
+
|
|
7
|
+
type CascaderComponentProps = {
|
|
8
|
+
options: CascaderOption[];
|
|
9
|
+
props: CascaderProps;
|
|
10
|
+
size: Size;
|
|
11
|
+
placeholder: string;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
clearable: boolean;
|
|
14
|
+
showAllLevels: boolean;
|
|
15
|
+
collapseTags: boolean;
|
|
16
|
+
separator: string;
|
|
17
|
+
filterable: boolean;
|
|
18
|
+
filterMethod: (node: any, keyword: string) => any;
|
|
19
|
+
debounce: number;
|
|
20
|
+
beforeFilter: boolean | Promise<any>;
|
|
21
|
+
popperClass: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type ElCascaderProps<CTX> = CreatePropsFromElement<ExtendReflect<CascaderComponentProps>, undefined, CTX>
|
|
25
|
+
|
|
26
|
+
type ElCascaderEvents<CTX> = CreatePropsFromElement<{
|
|
27
|
+
change: (value: any[]) => any;
|
|
28
|
+
expandChange: (value: any[]) => any;
|
|
29
|
+
blur: (event: Event) => any;
|
|
30
|
+
focus: (event: Event) => any;
|
|
31
|
+
visibleChange: (value: boolean) => any;
|
|
32
|
+
removeTag: (value: any) => any;
|
|
33
|
+
}, undefined, CTX>
|
|
34
|
+
|
|
35
|
+
type ElCascader<MODEL = any, CTX = any> = CreateFormItemComponent<'el-cascader', MODEL, CTX, ElCascaderProps<CTX>, ElCascaderEvents<CTX>>
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference path="../common.d.ts" />
|
|
2
|
+
|
|
3
|
+
declare namespace PageModel {
|
|
4
|
+
|
|
5
|
+
type ElCheckboxGroupProps<CTX> = CreatePropsFromElement<{
|
|
6
|
+
size: Size;
|
|
7
|
+
disabled: false;
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
textColor: string;
|
|
11
|
+
fill: string;
|
|
12
|
+
}, undefined, CTX>
|
|
13
|
+
|
|
14
|
+
type ElCheckboxGroupEvents<CTX> = CreatePropsFromElement<{
|
|
15
|
+
change: (value: any[]) => void;
|
|
16
|
+
}, undefined, CTX>
|
|
17
|
+
|
|
18
|
+
type ElCheckboxGroup<MODEL = any, CTX = any> = ExtendOptionsData<CreateFormItemComponent<'el-checkbox-group', MODEL, CTX, ElCheckboxGroupProps<CTX>, ElCheckboxGroupEvents<CTX>>>
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference path="../common.d.ts" />
|
|
2
|
+
|
|
3
|
+
declare namespace PageModel {
|
|
4
|
+
type ElColorPickerProps<CTX> = CreatePropsFromElement<{
|
|
5
|
+
size: Size;
|
|
6
|
+
disabled: false;
|
|
7
|
+
showAlpha: boolean;
|
|
8
|
+
colorFormat: 'hsl' | 'hsv' | 'hex' | 'rgb';
|
|
9
|
+
popperClass: string;
|
|
10
|
+
predefine: any[];
|
|
11
|
+
}, undefined, CTX>
|
|
12
|
+
|
|
13
|
+
type ElColorPickerEvents<CTX> = CreatePropsFromElement<{
|
|
14
|
+
change: (value: any[]) => any;
|
|
15
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
16
|
+
"onActive-change"?: ((...args: any[]) => any) | undefined;
|
|
17
|
+
}, undefined, CTX>
|
|
18
|
+
|
|
19
|
+
type ElColorPicker<MODEL = any, CTX = any> = CreateFormItemComponent<'el-color-picker', MODEL, CTX, ElColorPickerProps<CTX>, ElColorPickerEvents<CTX>>
|
|
20
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
declare global {
|
|
3
|
+
namespace PageModel {
|
|
4
|
+
type ElDatePickerProps<CTX> = CreatePropsFromElement<{
|
|
5
|
+
readonly: boolean;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
size: Size;
|
|
8
|
+
editable: boolean;
|
|
9
|
+
clearable: boolean;
|
|
10
|
+
placeholder: string;
|
|
11
|
+
startPlaceholder: string;
|
|
12
|
+
endPlaceholder: string;
|
|
13
|
+
type: 'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'daterange' | 'monthrange';
|
|
14
|
+
format: DateFormat;
|
|
15
|
+
popperClass: string;
|
|
16
|
+
rangeSeparator: string;
|
|
17
|
+
defaultValue: Date;
|
|
18
|
+
defaultTime: Date[];
|
|
19
|
+
valueFormat: DateFormat;
|
|
20
|
+
id: string | string[];
|
|
21
|
+
name: string;
|
|
22
|
+
unlinkPanels: boolean;
|
|
23
|
+
prefixIcon: string | Component;
|
|
24
|
+
clearIcon: string | Component;
|
|
25
|
+
validateEvent: boolean;
|
|
26
|
+
disabledDate: (date: Date) => boolean;
|
|
27
|
+
shortcuts: { text: string, value: Date | Function }[];
|
|
28
|
+
cellClassName: (date: Date) => string;
|
|
29
|
+
}, undefined, CTX>
|
|
30
|
+
|
|
31
|
+
type ElDatePickerEvents<CTX> = CreatePropsFromElement<{
|
|
32
|
+
change: (value: Date | string) => void;
|
|
33
|
+
blur: AnyFunction;
|
|
34
|
+
focus: AnyFunction;
|
|
35
|
+
panelChange: (date: Date | string, mode: string, view: any) => any;
|
|
36
|
+
visibleChange: AnyFunction;
|
|
37
|
+
}, undefined, CTX>
|
|
38
|
+
|
|
39
|
+
type ElDatePicker<MODEL = any, CTX = any> = CreateFormItemComponent<'el-date-picker', MODEL, CTX, ElDatePickerProps<CTX>, ElDatePickerEvents<CTX>>
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { inputNumberProps, inputNumberEmits } from 'element-plus';
|
|
2
|
+
import { ExtractPropTypes } from 'vue';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
namespace PageModel {
|
|
7
|
+
|
|
8
|
+
type ElInputNumberProps<CTX> = CreatePropsFromElement<ExtractPropTypes<typeof inputNumberProps>, 'modelValue', CTX>
|
|
9
|
+
|
|
10
|
+
type ElInputNumberEvents<CTX> = CreatePropsFromElement<ExtractPropTypes<typeof inputNumberEmits>, undefined, CTX>
|
|
11
|
+
|
|
12
|
+
type ElInputNumber<MODEL = any, CTX = any> = CreateFormItemComponent<'el-input-number', MODEL, CTX, ElInputNumberProps<CTX>, ElInputEvents<CTX>>
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InputProps, InputEmits } from 'element-plus';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
namespace PageModel {
|
|
6
|
+
|
|
7
|
+
type ElInputProps<CTX> = CreatePropsFromElement<InputProps, 'modelValue', CTX> & {
|
|
8
|
+
rows?: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
type ElInputEvents<CTX> = CreatePropsFromElement<InputEmits, undefined, CTX>
|
|
12
|
+
|
|
13
|
+
type ElInput<MODEL = any, CTX = any> = CreateFormItemComponent<'el-input', MODEL, CTX, ElInputProps<CTX>, ElInputEvents<CTX>>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference path="../common.d.ts" />
|
|
2
|
+
|
|
3
|
+
declare namespace PageModel {
|
|
4
|
+
type JuzhenAMapProps<CTX> = CreatePropsFromElement<{
|
|
5
|
+
options: AnyObject;
|
|
6
|
+
height: number | string;
|
|
7
|
+
width: number | string;
|
|
8
|
+
markers: any[];
|
|
9
|
+
search: boolean;
|
|
10
|
+
useCenter: boolean;
|
|
11
|
+
}, undefined, CTX>
|
|
12
|
+
|
|
13
|
+
type JuzhenAMap<MODEL = any, CTX = any> = CreateFormItemComponent<'a-map', MODEL, CTX, JuzhenAMapProps<CTX>>
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CascaderProps } from 'element-plus';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
namespace PageModel {
|
|
6
|
+
|
|
7
|
+
type JzCascaderPropsOrigin<CTX> = {
|
|
8
|
+
options?: any[];
|
|
9
|
+
} & ElCascaderProps<CTX> & CascaderProps
|
|
10
|
+
|
|
11
|
+
type JuzhenCascaderProps<CTX> = ExtendReflect<JzCascaderPropsOrigin<CTX>>
|
|
12
|
+
|
|
13
|
+
type JuzhenCascaderEvents<CTX> = ElCascaderEvents<CTX>
|
|
14
|
+
|
|
15
|
+
type JuzhenCascader<MODEL = any, CTX = any> = CreateFormItemComponent<'juzhen-cascader', MODEL, CTX, JuzhenCascaderProps<CTX>, JuzhenCascaderEvents<CTX>>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CascaderProps } from 'element-plus';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
interface CityItem {
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
children?: CityItem[]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare global {
|
|
11
|
+
namespace PageModel {
|
|
12
|
+
type JuzhenCityPickerProps<CTX> = CreatePropsFromElement<{
|
|
13
|
+
level: 1 | 2 | 3;
|
|
14
|
+
cascaderProps: CascaderProps;
|
|
15
|
+
compProps: ElCascaderProps<CTX>;
|
|
16
|
+
}, undefined, CTX>
|
|
17
|
+
|
|
18
|
+
type JuzhenCityPickerEvents<CTX> = CreatePropsFromElement<{
|
|
19
|
+
valueChange: (citys?: CityItem[]) => any;
|
|
20
|
+
}, undefined, CTX>
|
|
21
|
+
|
|
22
|
+
type JuzhenCityPicker<MODEL = any, CTX = any> = CreateFormItemComponent<'city-picker', MODEL, CTX, JuzhenCityPickerProps<CTX>, JuzhenCityPickerEvents<CTX>>
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/// <reference path="../common.d.ts" />
|
|
2
|
+
|
|
3
|
+
declare namespace PageModel {
|
|
4
|
+
type JuzhenCkEditorProps<CTX> = CreatePropsFromElement<{
|
|
5
|
+
modelValue?: string;
|
|
6
|
+
extraConfig?: any;
|
|
7
|
+
height?: number | string;
|
|
8
|
+
width?: number | string;
|
|
9
|
+
qiniu?: boolean;
|
|
10
|
+
getSrc?: { // 获取上传成功的src
|
|
11
|
+
type: Function,
|
|
12
|
+
default: null
|
|
13
|
+
},
|
|
14
|
+
settleResult?: { // 判断是否上传成功
|
|
15
|
+
type: Function,
|
|
16
|
+
default: null
|
|
17
|
+
},
|
|
18
|
+
loadPath?: string[];
|
|
19
|
+
}, undefined, CTX>
|
|
20
|
+
|
|
21
|
+
type JuzhenCkEditorEvents<CTX> = CreatePropsFromElement<{
|
|
22
|
+
uploadError: (file: any, error: Error, result: any) => any;
|
|
23
|
+
uploadSuccess:(srcList: any) => any;
|
|
24
|
+
}, undefined, CTX>
|
|
25
|
+
|
|
26
|
+
type JuzhenCkEditor<MODEL = any, CTX = any> = CreateFormItemComponent<'ck-editor', MODEL, CTX, JuzhenCkEditorProps<CTX>, JuzhenCkEditorEvents<CTX>>
|
|
27
|
+
}
|