Files
webman-buildadmin-mall/web/src/components/baInput/helper.ts
2026-03-18 17:19:03 +08:00

207 lines
4.2 KiB
TypeScript

import type { FieldData } from './index'
export const npuaFalse = () => {
return {
null: false,
primaryKey: false,
unsigned: false,
autoIncrement: false,
}
}
/**
* 所有 Input 支持的类型对应的数据字段类型等数据(默认/示例设计)
*/
export const fieldData: FieldData = {
string: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
password: {
type: 'varchar',
length: 32,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
number: {
type: 'int',
length: 10,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
radio: {
type: 'enum',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
checkbox: {
type: 'set',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
switch: {
type: 'tinyint',
length: 1,
precision: 0,
default: '0',
defaultType: 'INPUT',
...npuaFalse(),
unsigned: true,
},
textarea: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
array: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
datetime: {
type: 'bigint',
length: 16,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
unsigned: true,
},
year: {
type: 'year',
length: 4,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
date: {
type: 'date',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
time: {
type: 'time',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
select: {
type: 'enum',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
selects: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
remoteSelect: {
type: 'int',
length: 10,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
unsigned: true,
},
remoteSelects: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
editor: {
type: 'text',
length: 0,
precision: 0,
defaultType: 'NULL',
...npuaFalse(),
null: true,
},
city: {
type: 'varchar',
length: 100,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
image: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
images: {
type: 'varchar',
length: 1500,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
file: {
type: 'varchar',
length: 255,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
files: {
type: 'varchar',
length: 1500,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
icon: {
type: 'varchar',
length: 50,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
color: {
type: 'varchar',
length: 50,
precision: 0,
defaultType: 'EMPTY STRING',
...npuaFalse(),
},
}
export const stringToArray = (val: string | string[]) => {
if (typeof val === 'string') {
return val == '' ? [] : val.split(',')
} else {
return val as string[]
}
}