|
|
|
import { BasicColumn, FormSchema, useRender } from '@/components/Table'
|
|
|
|
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
|
|
|
|
import { getSimpleMailAccountList } from '@/api/system/mail/account'
|
|
|
|
import { DescItem } from '@/components/Description/index'
|
|
|
|
import { h } from 'vue'
|
|
|
|
|
|
|
|
export const columns: BasicColumn[] = [
|
|
|
|
{
|
|
|
|
title: '编号',
|
|
|
|
dataIndex: 'id',
|
|
|
|
width: 100
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '接收邮箱',
|
|
|
|
dataIndex: 'toMail',
|
|
|
|
width: 200
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '邮件标题',
|
|
|
|
dataIndex: 'templateTitle',
|
|
|
|
width: 180
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '发送状态',
|
|
|
|
dataIndex: 'sendStatus',
|
|
|
|
width: 180,
|
|
|
|
customRender: ({ text }) => {
|
|
|
|
return useRender.renderDict(text, DICT_TYPE.SYSTEM_MAIL_SEND_STATUS)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '邮箱账号',
|
|
|
|
dataIndex: 'fromMail',
|
|
|
|
width: 180
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '模板编号',
|
|
|
|
dataIndex: 'templateId',
|
|
|
|
width: 100
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '发送时间',
|
|
|
|
dataIndex: 'sendTime',
|
|
|
|
width: 180,
|
|
|
|
customRender: ({ text }) => {
|
|
|
|
return useRender.renderDate(text)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
export const searchFormSchema: FormSchema[] = [
|
|
|
|
{
|
|
|
|
label: '接收邮箱',
|
|
|
|
field: 'toMail',
|
|
|
|
component: 'Input',
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '邮箱账号',
|
|
|
|
field: 'accountId',
|
|
|
|
component: 'ApiSelect',
|
|
|
|
componentProps: {
|
|
|
|
api: () => getSimpleMailAccountList(),
|
|
|
|
labelField: 'mail',
|
|
|
|
valueField: 'id'
|
|
|
|
},
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '模板编号',
|
|
|
|
field: 'templateId',
|
|
|
|
component: 'Input',
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '发送状态',
|
|
|
|
field: 'sendStatus',
|
|
|
|
component: 'Select',
|
|
|
|
componentProps: {
|
|
|
|
options: getDictOptions(DICT_TYPE.SYSTEM_MAIL_SEND_STATUS)
|
|
|
|
},
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '用户编号',
|
|
|
|
field: 'userId',
|
|
|
|
component: 'Input',
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '用户类型',
|
|
|
|
field: 'userType',
|
|
|
|
component: 'Select',
|
|
|
|
componentProps: {
|
|
|
|
options: getDictOptions(DICT_TYPE.USER_TYPE)
|
|
|
|
},
|
|
|
|
colProps: { span: 8 }
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '发送时间',
|
|
|
|
field: 'sendTime',
|
|
|
|
component: 'RangePicker',
|
|
|
|
colProps: { span: 8 }
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
export const logSchema: DescItem[] = [
|
|
|
|
{
|
|
|
|
field: 'sendStatus',
|
|
|
|
label: '发送状态',
|
|
|
|
labelMinWidth: 80,
|
|
|
|
render(value) {
|
|
|
|
return useRender.renderDict(value, DICT_TYPE.SYSTEM_MAIL_SEND_STATUS)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'sendException',
|
|
|
|
label: '异常信息',
|
|
|
|
labelMinWidth: 80,
|
|
|
|
show: (data) => data && data.sendException && data.sendException.length > 0,
|
|
|
|
render(value) {
|
|
|
|
return h('span', { style: { fontWeight: 'bold' } }, value)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'sendTime',
|
|
|
|
label: '发送时间',
|
|
|
|
render(value) {
|
|
|
|
return useRender.renderDate(value)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'userId',
|
|
|
|
label: '用户类型',
|
|
|
|
render(_, data) {
|
|
|
|
const { userId, userType } = data
|
|
|
|
const uidTag = useRender.renderTag('uid: ' + userId)
|
|
|
|
const typeTag = useRender.renderDict(userType, DICT_TYPE.USER_TYPE)
|
|
|
|
return h('span', {}, [typeTag, uidTag])
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'fromMail',
|
|
|
|
label: '发件邮箱'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'toMail',
|
|
|
|
label: '收件邮箱'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateNickname',
|
|
|
|
label: '发件昵称'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateTitle',
|
|
|
|
label: '邮件标题'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateContent',
|
|
|
|
label: '邮件内容',
|
|
|
|
render(value) {
|
|
|
|
return h('div', { innerHTML: value })
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateParams',
|
|
|
|
label: '邮件参数',
|
|
|
|
render(value) {
|
|
|
|
return useRender.renderJsonPreview(value)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'sendMessageId',
|
|
|
|
label: '返回ID'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateCode',
|
|
|
|
label: '模板编码'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'templateId',
|
|
|
|
label: '模板编号'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
field: 'createTime',
|
|
|
|
label: '记录时间',
|
|
|
|
render(value) {
|
|
|
|
return useRender.renderDate(value)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|