import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas' const { t } = useI18n() // 国际化 // 表单校验 export const rules = reactive({ // mail: [required], mail: [ { required: true, message: t('profile.rules.mail'), trigger: 'blur' }, { type: 'email', message: t('profile.rules.truemail'), trigger: ['blur', 'change'] } ], username: [required], password: [required], host: [required], port: [required], sslEnable: [required] }) // CrudSchema const crudSchemas = reactive({ primaryKey: 'id', // 默认的主键 ID primaryTitle: '编号', primaryType: 'id', action: true, actionWidth: '200', // 3 个按钮默认 200,如有删减对应增减即可 columns: [ { title: '邮箱', field: 'mail', isSearch: true }, { title: '用户名', field: 'username', isSearch: true }, { title: '密码', field: 'password', isTable: false }, { title: 'SMTP 服务器域名', field: 'host' }, { title: 'SMTP 服务器端口', field: 'port', form: { component: 'InputNumber', value: 465 } }, { title: '是否开启 SSL', field: 'sslEnable', dictType: DICT_TYPE.INFRA_BOOLEAN_STRING, dictClass: 'boolean' }, { title: '创建时间', field: 'createTime', isForm: false, formatter: 'formatDate', table: { width: 180 } } ] }) export const { allSchemas } = useVxeCrudSchemas(crudSchemas)