From cde1f209fb18a7434707b6bebe38131a6b131e6c Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 26 Jul 2025 22:02:30 +0800 Subject: [PATCH] =?UTF-8?q?reactor=EF=BC=9A=E3=80=90SYSTEM=20=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=AE=A1=E7=90=86=E3=80=91=E9=82=AE=E7=AE=B1=E6=97=A5?= =?UTF-8?q?=E5=BF=97=EF=BC=8C=E9=87=8D=E6=9E=84=E6=88=90=20element-plus=20?= =?UTF-8?q?=E6=A0=87=E5=87=86=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/mail/log/index.ts | 5 + src/views/system/mail/log/MailLogDetail.vue | 64 ++++- src/views/system/mail/log/index.vue | 264 +++++++++++++++++--- src/views/system/mail/log/log.data.ts | 167 ------------- 4 files changed, 287 insertions(+), 213 deletions(-) delete mode 100644 src/views/system/mail/log/log.data.ts diff --git a/src/api/system/mail/log/index.ts b/src/api/system/mail/log/index.ts index 13172a72d..d891db07c 100644 --- a/src/api/system/mail/log/index.ts +++ b/src/api/system/mail/log/index.ts @@ -28,3 +28,8 @@ export const getMailLogPage = async (params: PageParam) => { export const getMailLog = async (id: number) => { return await request.get({ url: '/system/mail-log/get?id=' + id }) } + +// 导出邮件日志 +export const exportMailLog = (params) => { + return request.download({ url: '/system/mail-log/export-excel', params }) +} diff --git a/src/views/system/mail/log/MailLogDetail.vue b/src/views/system/mail/log/MailLogDetail.vue index b1f1ea7d2..a7ec449bb 100644 --- a/src/views/system/mail/log/MailLogDetail.vue +++ b/src/views/system/mail/log/MailLogDetail.vue @@ -1,33 +1,77 @@ diff --git a/src/views/system/mail/log/index.vue b/src/views/system/mail/log/index.vue index 810ee227f..dd915e52f 100644 --- a/src/views/system/mail/log/index.vue +++ b/src/views/system/mail/log/index.vue @@ -1,63 +1,255 @@ diff --git a/src/views/system/mail/log/log.data.ts b/src/views/system/mail/log/log.data.ts deleted file mode 100644 index 594a5d5fa..000000000 --- a/src/views/system/mail/log/log.data.ts +++ /dev/null @@ -1,167 +0,0 @@ -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://doc.iocoder.cn/vue3/crud-schema/ -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')], - style: { - width: '240px' - } - } - }, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' - } - }, - { - label: '接收邮箱', - field: 'toMail' - }, - { - label: '用户编号', - field: 'userId', - isSearch: true, - isTable: false, - search: { - componentProps: { - style: { - width: '240px' - } - } - } - }, - { - label: '用户类型', - field: 'userType', - dictType: DICT_TYPE.USER_TYPE, - dictClass: 'number', - isSearch: true, - isTable: false, - search: { - componentProps: { - style: { - width: '240px' - } - } - } - }, - { - 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, - search: { - componentProps: { - style: { - width: '240px' - } - } - } - }, - { - label: '邮箱账号', - field: 'accountId', - isTable: false, - search: { - show: true, - component: 'Select', - api: () => accountList, - componentProps: { - optionsAlias: { - labelField: 'mail', - valueField: 'id' - }, - style: { - width: '240px' - } - } - } - }, - { - label: '发送邮箱地址', - field: 'fromMail', - table: { - label: '邮箱账号' - } - }, - { - label: '模板编号', - field: 'templateId', - isSearch: true, - search: { - componentProps: { - style: { - width: '240px' - } - } - } - }, - { - 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)