From 374d65ec2a2bcb746d0fdacdeaa28abdfeca5f78 Mon Sep 17 00:00:00 2001 From: dap1 <15891557205@163.com> Date: Mon, 12 Jun 2023 11:49:32 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E7=9F=AD=E4=BF=A1=E7=AE=A1=E7=90=86?= =?UTF-8?q?-=E7=9F=AD=E4=BF=A1=E6=97=A5=E5=BF=97-=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E6=B8=A0=E9=81=93=E4=B8=8B=E6=8B=89=E6=A1=86=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/sms/log/smsLog.data.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/system/sms/log/smsLog.data.ts b/src/views/system/sms/log/smsLog.data.ts index ba2b94b..9a4cc99 100644 --- a/src/views/system/sms/log/smsLog.data.ts +++ b/src/views/system/sms/log/smsLog.data.ts @@ -84,7 +84,7 @@ export const searchFormSchema: FormSchema[] = [ field: 'channelId', component: 'ApiSelect', componentProps: { - options: getSimpleSmsChannels(), + api: getSimpleSmsChannels, fieldNames: { label: 'signature', key: 'id', From 2ac7af9fc842c976d1c28058a4b4d8cfbcc41291 Mon Sep 17 00:00:00 2001 From: dap1 <15891557205@163.com> Date: Tue, 13 Jun 2023 20:25:20 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E5=8F=91=E9=80=81=E9=82=AE?= =?UTF-8?q?=E4=BB=B6=E6=97=A5=E5=BF=97=E7=9A=84=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/enums/appEnum.ts | 3 +- src/views/system/mail/account/account.data.ts | 20 +++- src/views/system/mail/log/MailLogModal.vue | 30 +++++ src/views/system/mail/log/index.vue | 38 ++++++- src/views/system/mail/log/mailLog.data.ts | 106 ++++++++++++++++-- .../system/mail/template/SendMailModal.vue | 92 +++++++++------ src/views/system/mail/template/index.vue | 4 +- .../system/mail/template/template.data.ts | 44 ++++++-- 8 files changed, 270 insertions(+), 67 deletions(-) create mode 100644 src/views/system/mail/log/MailLogModal.vue diff --git a/src/enums/appEnum.ts b/src/enums/appEnum.ts index b7c40e2..de2bbd6 100644 --- a/src/enums/appEnum.ts +++ b/src/enums/appEnum.ts @@ -69,5 +69,6 @@ export enum IconEnum { ADD_FOLD = 'ant-design:folder-add-outlined', LOG = 'ant-design:exception-outlined', PASSWORD = 'ant-design:key-outlined', - SETTING = 'ant-design:setting-outlined' + SETTING = 'ant-design:setting-outlined', + SEND = 'ant-design:send-outlined' } diff --git a/src/views/system/mail/account/account.data.ts b/src/views/system/mail/account/account.data.ts index 69364b5..e15919b 100644 --- a/src/views/system/mail/account/account.data.ts +++ b/src/views/system/mail/account/account.data.ts @@ -71,7 +71,16 @@ export const formSchema: FormSchema[] = [ label: '邮箱', field: 'mail', required: true, - component: 'Input' + component: 'Input', + helpMessage: '填写发件邮箱地址', + rules: [ + { + required: true, + message: '请输入正确的邮箱地址', + pattern: /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/, + trigger: 'blur' + } + ] }, { label: '用户名', @@ -80,10 +89,11 @@ export const formSchema: FormSchema[] = [ component: 'Input' }, { - label: '密码', + label: '密码/授权码', field: 'password', required: true, - component: 'InputPassword' + component: 'InputPassword', + helpMessage: '填写邮件密码, 部分邮件商需要填写授权码' }, { label: 'SMTP 服务器域名', @@ -95,14 +105,14 @@ export const formSchema: FormSchema[] = [ label: 'SMTP 服务器端口', field: 'port', required: true, - component: 'Input' + component: 'InputNumber' }, { label: '是否开启 SSL', field: 'sslEnable', required: true, defaultValue: false, - component: 'Switch', + component: 'RadioButtonGroup', componentProps: { options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean') } diff --git a/src/views/system/mail/log/MailLogModal.vue b/src/views/system/mail/log/MailLogModal.vue new file mode 100644 index 0000000..f740230 --- /dev/null +++ b/src/views/system/mail/log/MailLogModal.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/system/mail/log/index.vue b/src/views/system/mail/log/index.vue index fd82ef2..4652530 100644 --- a/src/views/system/mail/log/index.vue +++ b/src/views/system/mail/log/index.vue @@ -1,15 +1,35 @@ diff --git a/src/views/system/mail/log/mailLog.data.ts b/src/views/system/mail/log/mailLog.data.ts index 7106cca..65b901a 100644 --- a/src/views/system/mail/log/mailLog.data.ts +++ b/src/views/system/mail/log/mailLog.data.ts @@ -1,6 +1,8 @@ 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[] = [ { @@ -8,14 +10,6 @@ export const columns: BasicColumn[] = [ dataIndex: 'id', width: 100 }, - { - title: '发送时间', - dataIndex: 'sendTime', - width: 180, - customRender: ({ text }) => { - return useRender.renderDate(text) - } - }, { title: '接收邮箱', dataIndex: 'toMail', @@ -42,7 +36,15 @@ export const columns: BasicColumn[] = [ { title: '模板编号', dataIndex: 'templateId', - width: 180 + width: 100 + }, + { + title: '发送时间', + dataIndex: 'sendTime', + width: 180, + customRender: ({ text }) => { + return useRender.renderDate(text) + } } ] @@ -101,3 +103,89 @@ export const searchFormSchema: FormSchema[] = [ 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) + } + } +] diff --git a/src/views/system/mail/template/SendMailModal.vue b/src/views/system/mail/template/SendMailModal.vue index b0716bf..3b7ab71 100644 --- a/src/views/system/mail/template/SendMailModal.vue +++ b/src/views/system/mail/template/SendMailModal.vue @@ -1,39 +1,42 @@ diff --git a/src/views/system/mail/template/index.vue b/src/views/system/mail/template/index.vue index 67bd9e7..4a701bd 100644 --- a/src/views/system/mail/template/index.vue +++ b/src/views/system/mail/template/index.vue @@ -11,8 +11,8 @@