mirror of
https://gitee.com/hhyykk/ipms-sjy-ui.git
synced 2025-07-25 00:05:07 +08:00
vue3 重构:邮件账号的列表 + 搜索
This commit is contained in:
@ -1,10 +1,12 @@
|
||||
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||
import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
|
||||
import { DictTag } from '@/components/DictTag'
|
||||
import { TableColumn } from '@/types/table'
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
// 表单校验
|
||||
export const rules = reactive({
|
||||
// mail: [required],
|
||||
mail: [
|
||||
{ required: true, message: t('profile.rules.mail'), trigger: 'blur' },
|
||||
{
|
||||
@ -21,55 +23,49 @@ export const rules = reactive({
|
||||
})
|
||||
|
||||
// CrudSchema
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
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
|
||||
}
|
||||
const crudSchemas = reactive<CrudSchema[]>([
|
||||
{
|
||||
label: '邮箱',
|
||||
field: 'mail',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
label: '用户名',
|
||||
field: 'username',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
label: '密码',
|
||||
field: 'password',
|
||||
isTable: false
|
||||
},
|
||||
{
|
||||
label: 'SMTP 服务器域名',
|
||||
field: 'host'
|
||||
},
|
||||
{
|
||||
label: 'SMTP 服务器端口',
|
||||
field: 'port',
|
||||
form: {
|
||||
component: 'InputNumber',
|
||||
value: 465
|
||||
}
|
||||
]
|
||||
})
|
||||
export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
|
||||
},
|
||||
{
|
||||
label: '是否开启 SSL',
|
||||
field: 'sslEnable',
|
||||
formatter: (_: Recordable, __: TableColumn, cellValue: boolean) => {
|
||||
return h(DictTag, {
|
||||
type: DICT_TYPE.INFRA_BOOLEAN_STRING,
|
||||
value: cellValue
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '创建时间',
|
||||
field: 'createTime',
|
||||
isForm: false,
|
||||
formatter: dateFormatter
|
||||
}
|
||||
])
|
||||
export const { allSchemas } = useCrudSchemas(crudSchemas)
|
||||
|
Reference in New Issue
Block a user