import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import * as MailAccountApi from '@/api/system/mail/account' // 邮箱账号的列表 const accountList = await MailAccountApi.getSimpleMailAccountList() // CrudSchema:https://kailong110120130.gitee.io/vue-element-plus-admin-doc/hooks/useCrudSchemas.html const crudSchemas = reactive([ { label: '编号', field: 'id' }, { label: '发送时间', field: 'sendTime', formatter: dateFormatter, search: { show: true, component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' } }, { label: '接收邮箱', field: 'toMail' }, { label: '用户编号', field: 'userId', isSearch: true, isTable: false }, { label: '用户类型', field: 'userType', dictType: DICT_TYPE.USER_TYPE, dictClass: 'number', isSearch: true, isTable: false }, { label: '邮件标题', field: 'templateTitle' }, { label: '邮件内容', field: 'templateContent', isTable: false }, { label: '邮箱参数', field: 'templateParams', isTable: false }, { label: '发送状态', field: 'sendStatus', dictType: DICT_TYPE.SYSTEM_MAIL_SEND_STATUS, dictClass: 'string', isSearch: true }, { label: '邮箱账号', field: 'accountId', isTable: false, search: { show: true, component: 'Select', api: () => accountList, componentProps: { optionsAlias: { labelField: 'mail', valueField: 'id' } } } }, { label: '发送邮箱地址', field: 'fromMail', table: { label: '邮箱账号' } }, { label: '模板编号', field: 'templateId', isSearch: true }, { label: '模板编码', field: 'templateCode', isTable: false }, { label: '模版发送人名称', field: 'templateNickname', isTable: false }, { label: '发送返回的消息编号', field: 'sendMessageId', isTable: false }, { label: '发送异常', field: 'sendException', isTable: false }, { label: '创建时间', field: 'createTime', isTable: false, formatter: dateFormatter, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' } }, { label: '操作', field: 'action', isDetail: false } ]) export const { allSchemas } = useCrudSchemas(crudSchemas)