helper.ts
1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import type { Rule } from 'ant-design-vue/es/form'
import { isNumber } from '@wry-smile/utils-is'
import { ComponentEnum } from './enum'
import type { ComponentType } from './types'
export function handleInputNumberValue(component?: ComponentEnum, val?: any) {
if (!component) return val
if ([ComponentEnum.INPUT, ComponentEnum.INPUT_PAWSSWORD, ComponentEnum.INPUT_SEARCH, ComponentEnum.INPUT_TEXTAREA].includes(component))
return val && isNumber(val) ? `${val}` : val
return val
}
const DATE_TYPE = [ComponentEnum.DATE_PICKER, ComponentEnum.MONTH_PICKER, ComponentEnum.WEEK_PICKER, ComponentEnum.TIME_PICKER]
function genType() {
return [...DATE_TYPE, ComponentEnum.RANGE_PICKER]
}
export const defaultValueComponents = [ComponentEnum.INPUT, ComponentEnum.INPUT_NUMBER]
/**
* @description 日期组件字段
*/
export const dateItemType = genType()
export function createPlaceholderMessage(component: ComponentEnum) {
if (component.includes('Input') || component.includes('Complete'))
return '请输入'
if (component.includes('Picker'))
return '请选择'
if (
component.includes('Select')
|| component.includes('Cascader')
|| component.includes('Checkbox')
|| component.includes('Radio')
|| component.includes('Switch')
)
return '请选择'
return ''
}
export function setComponentRuleType(rule: Rule, component: ComponentEnum, valueFormat: string) {
if (DATE_TYPE.includes(component)) rule.type = valueFormat ? 'string' : 'object'
// else if ()
}
export const NO_AUTO_LINK_COMPONENTS: ComponentType[] = [
ComponentEnum.UPLOAD,
ComponentEnum.API_TRANSTER,
ComponentEnum.API_TREE,
ComponentEnum.API_RADIO_GROUP,
ComponentEnum.API_CASCADER,
ComponentEnum.AUTO_COMPLETE,
ComponentEnum.RADIO_BUTTON_GROUP,
]