feat: 邮箱管理

This commit is contained in:
puhui999
2025-04-04 12:54:03 +08:00
parent 28d1df74ad
commit 3d692a583d
13 changed files with 150 additions and 154 deletions

View File

@@ -4,8 +4,13 @@ import type { SystemMailLogApi } from '#/api/system/mail/log';
import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { formatDateTime } from '@vben/utils';
const formData = ref<SystemMailLogApi.MailLogVO>();
import { Descriptions, Tag } from 'ant-design-vue';
import { DICT_TYPE, getDictLabel } from '#/utils/dict';
const formData = ref<SystemMailLogApi.MailLog>();
const getTitle = computed(() => {
return '邮件日志详情';
});
@@ -16,7 +21,7 @@ const [Modal, modalApi] = useVbenModal({
return;
}
// 加载数据
const data = modalApi.getData<SystemMailLogApi.MailLogVO>();
const data = modalApi.getData<SystemMailLogApi.MailLog>();
if (!data || !data.id) {
return;
}
@@ -33,79 +38,56 @@ const [Modal, modalApi] = useVbenModal({
<template>
<Modal :title="getTitle">
<div class="p-4">
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
<div class="form-item">
<div class="form-label">编号</div>
<div>{{ formData?.id }}</div>
</div>
<div class="form-item">
<div class="form-label">创建时间</div>
<div>{{ formData?.createTime }}</div>
</div>
<div class="form-item">
<div class="form-label">收件邮箱</div>
<div>{{ formData?.toMail }}</div>
</div>
<div class="form-item">
<div class="form-label">发送邮箱</div>
<div>{{ formData?.fromMail }}</div>
</div>
<div class="form-item">
<div class="form-label">用户编号</div>
<div>{{ formData?.userId }}</div>
</div>
<div class="form-item">
<div class="form-label">用户类型</div>
<div>{{ formData?.userType }}</div>
</div>
<div class="form-item">
<div class="form-label">模板编号</div>
<div>{{ formData?.templateId }}</div>
</div>
<div class="form-item">
<div class="form-label">模板编码</div>
<div>{{ formData?.templateCode }}</div>
</div>
</div>
<div class="mt-4">
<div class="form-label">邮件标题</div>
<div>{{ formData?.templateTitle }}</div>
</div>
<div class="mt-4">
<div class="form-label">邮件内容</div>
<div v-html="formData?.templateContent"></div>
</div>
<div class="mt-4 grid grid-cols-1 gap-4 md:grid-cols-2">
<div class="form-item">
<div class="form-label">发送状态</div>
<div>{{ formData?.sendStatus }}</div>
</div>
<div class="form-item">
<div class="form-label">发送时间</div>
<div>{{ formData?.sendTime }}</div>
</div>
<div class="form-item">
<div class="form-label">发送消息编号</div>
<div>{{ formData?.sendMessageId }}</div>
</div>
<div class="form-item">
<div class="form-label">发送异常</div>
<div>{{ formData?.sendException }}</div>
</div>
</div>
<Descriptions :column="2" bordered>
<Descriptions.Item label="编号">{{ formData?.id }}</Descriptions.Item>
<Descriptions.Item label="创建时间">
{{ formatDateTime(formData?.createTime || '') }}
</Descriptions.Item>
<Descriptions.Item label="收件邮箱">
{{ formData?.toMail }}
</Descriptions.Item>
<Descriptions.Item label="发送邮箱">
{{ formData?.fromMail }}
</Descriptions.Item>
<Descriptions.Item label="用户编号">
{{ formData?.userId }}
</Descriptions.Item>
<Descriptions.Item label="用户类型">
{{ formData?.userType }}
</Descriptions.Item>
<Descriptions.Item label="模板编号">
{{ formData?.templateId }}
</Descriptions.Item>
<Descriptions.Item label="模板编码">
{{ formData?.templateCode }}
</Descriptions.Item>
<Descriptions.Item label="邮件标题" :span="2">
{{ formData?.templateTitle }}
</Descriptions.Item>
<Descriptions.Item label="邮件内容" :span="2">
<div v-html="formData?.templateContent"></div>
</Descriptions.Item>
<Descriptions.Item label="发送状态">
<!-- TODO @芋艿: 数据字典-->
<Tag color="processing">
{{
getDictLabel(
DICT_TYPE.SYSTEM_MAIL_SEND_STATUS,
formData?.sendStatus,
)
}}
</Tag>
</Descriptions.Item>
<Descriptions.Item label="发送时间">
{{ formatDateTime(formData?.sendTime || '') }}
</Descriptions.Item>
<Descriptions.Item label="发送消息编号">
{{ formData?.sendMessageId }}
</Descriptions.Item>
<Descriptions.Item label="发送异常">
{{ formData?.sendException }}
</Descriptions.Item>
</Descriptions>
</div>
</Modal>
</template>
<style scoped>
.form-item {
@apply mb-2;
}
.form-label {
@apply font-medium;
}
</style>