import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' const { t } = useI18n() // 国际化 // 表单校验 export const BarcodeRules = reactive({ code: [ { required: true, message: '请输入代码', trigger: 'blur' }, { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], name: [ { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], description: [ { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], order: [required], length: [required], prefixLenght: [required], prefixChar: [ { required: true, message: '请输入前缀字符', trigger: 'blur' }, { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], entityProperties: [ { required: true, message: '请输入实体属性', trigger: 'blur' }, { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], encyptMethod: [ { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], trimEnd: [ { required: true, message: '请输入截断尾部空格', trigger: 'blur' }, { max: 50, message: '不得超过50个字符', trigger: 'blur' } ], labelType:[ { required: true, message: '请选择标签类型', trigger: 'blur' } ], isEncypt: [required], }) export const Barcode = useCrudSchemas(reactive([ // { // label: 'id', // field: 'id', // sort: 'custom', // isForm: false, // }, { label: '代码', field: 'code', sort: 'custom', isSearch: true, table: { fixed: 'left' } }, { label: '标签类型', field: 'labelType', sort: 'custom', dictType: DICT_TYPE.LABEL_TYPE, dictClass: 'string', isSearch: true, isTable: true }, { label: '名称', field: 'name', sort: 'custom', isSearch: true, }, { label: '描述', field: 'description', sort: 'custom', }, { label: '顺序', field: 'order', sort: 'custom', form: { component: 'InputNumber', componentProps: { min: 0 }, value: 0 }, }, { label: '长度', field: 'length', sort: 'custom', form: { component: 'InputNumber', componentProps: { min: 0, }, value: 0 }, }, { label: '前缀长度', field: 'prefixLenght', sort: 'custom', form: { component: 'InputNumber', componentProps: { min: 0 }, value: 0 }, }, { label: '前缀字符', field: 'prefixChar', sort: 'custom', }, { label: '实体属性', field: 'entityProperties', sort: 'custom', }, { label: '加密方法', field: 'encyptMethod', sort: 'custom', }, { label: '截断尾部空格', field: 'trimEnd', sort: 'custom', }, { label: '是否加密', field: 'isEncypt', sort: 'custom', dictType: DICT_TYPE.TRUE_FALSE, dictClass: 'string', form: { component: 'Switch', value: 'TRUE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' } }, }, { label: '创建时间', field: 'createTime', isForm: false, table: { width: 180 }, formatter: dateFormatter, detail: { dateFormat : 'YYYY-MM-DD HH:mm:ss' }, form: { component: 'DatePicker', componentProps: { style: {width:'100%'}, type: 'datetime', dateFormat: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'x', } } }, { label: '创建者', field: 'creator', table: { width: 130 }, isForm: false, isTable: true }, { label: '最后更新时间', field: 'updateTime', sort: 'custom', isDetail: true, isForm: false, isTable: true, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' }, table: { width: 180 }, form: { component: 'DatePicker', componentProps: { style: {width:'100%'}, type: 'datetime', dateFormat: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'x', } } }, { label: '最后更新者', field: 'updater', isDetail: true, isForm: false, isTable: true, table: { width: 150 } }, { label: '操作', field: 'action', isForm: false, table: { width: 150, fixed: 'right' } } ]))