From 269a71532f55643762efce75be927845d7cc3f9a Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Mon, 14 Oct 2024 16:00:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=9A=80=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=94=A8=E6=88=B7=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/v1/emailTemplate.ts | 5 --- src/api/v1/emailUsers.ts | 5 +++ src/store/configuration/emailTemplate.ts | 19 +++++++++- .../emailTemplate/email-template-dialog.vue | 19 ++++++++++ .../configuration/emailTemplate/index.vue | 5 +++ .../emailTemplate/utils/columns.ts | 4 +++ .../emailTemplate/utils/hooks.ts | 4 ++- .../emailTemplate/utils/types.ts | 2 ++ .../emailUsers/email-users-dialog.vue | 36 +++++++------------ .../configuration/emailUsers/utils/hooks.ts | 2 -- .../configuration/emailUsers/utils/types.ts | 2 -- src/views/monitor/files/files-dialog.vue | 4 +++ 12 files changed, 72 insertions(+), 35 deletions(-) diff --git a/src/api/v1/emailTemplate.ts b/src/api/v1/emailTemplate.ts index 67183a8..900538d 100644 --- a/src/api/v1/emailTemplate.ts +++ b/src/api/v1/emailTemplate.ts @@ -6,11 +6,6 @@ export const fetchGetEmailTemplateList = (data: any) => { return http.request>('get', `emailTemplate/getEmailTemplateList/${data.currentPage}/${data.pageSize}`, { params: data }); }; -/** 邮件模板表---查询所有邮件模板 */ -export const fetchGetAllEmailTemplates = () => { - return http.request>('get', 'emailTemplate/getAllEmailTemplates'); -}; - /** 邮件模板表---添加邮件模板表 */ export const fetchAddEmailTemplate = (data: any) => { return http.request>('post', 'emailTemplate/addEmailTemplate', { data }); diff --git a/src/api/v1/emailUsers.ts b/src/api/v1/emailUsers.ts index 8cccf0c..52ab334 100644 --- a/src/api/v1/emailUsers.ts +++ b/src/api/v1/emailUsers.ts @@ -6,6 +6,11 @@ export const fetchGetEmailUsersList = (data: any) => { return http.request>('get', `emailUsers/getEmailUsersList/${data.currentPage}/${data.pageSize}`, { params: data }); }; +/** 邮箱用户发送配置管理---获取所有邮箱配置用户 */ +export const fetchGetAllMailboxConfigurationUsers = () => { + return http.request>('get', 'emailUsers/getAllMailboxConfigurationUsers'); +}; + /** 邮箱用户发送配置管理---添加邮箱用户发送配置管理 */ export const fetchAddEmailUsers = (data: any) => { return http.request>('post', 'emailUsers/addEmailUsers', { data }); diff --git a/src/store/configuration/emailTemplate.ts b/src/store/configuration/emailTemplate.ts index 8bc322f..6503a32 100644 --- a/src/store/configuration/emailTemplate.ts +++ b/src/store/configuration/emailTemplate.ts @@ -3,6 +3,7 @@ import { fetchAddEmailTemplate, fetchDeleteEmailTemplate, fetchGetEmailTemplateL import { pageSizes } from '@/enums/baseConstant'; import { storeMessage } from '@/utils/message'; import { storePagination } from '@/store/useStorePagination'; +import { fetchGetAllMailboxConfigurationUsers } from '@/api/v1/emailUsers'; /** * 邮件模板表 Store @@ -12,6 +13,8 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', { return { // 邮件模板表列表 datalist: [], + // 邮件模板用户列表 + emailUserList: [], // 查询表单 form: { // 模板名称 @@ -34,7 +37,13 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', { loading: false, }; }, - getters: {}, + getters: { + getMailboxConfigurationUser(state) { + const map = {}; + state.emailUserList.forEach(user => (map[user.value] = user.key)); + return map; + }, + }, actions: { /** 获取邮件模板表 */ async getEmailTemplateList() { @@ -52,6 +61,14 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', { return pagination(result); }, + /** 获取所有邮箱配置用户 */ + async getAllMailboxConfigurationUsers() { + const result = await fetchGetAllMailboxConfigurationUsers(); + if (result.code !== 200) return; + + this.emailUserList = result.data; + }, + /** 添加邮件模板表 */ async addEmailTemplate(data: any) { const result = await fetchAddEmailTemplate(data); diff --git a/src/views/configuration/emailTemplate/email-template-dialog.vue b/src/views/configuration/emailTemplate/email-template-dialog.vue index 7dc290e..057545b 100644 --- a/src/views/configuration/emailTemplate/email-template-dialog.vue +++ b/src/views/configuration/emailTemplate/email-template-dialog.vue @@ -4,11 +4,14 @@ import { FormInstance } from 'element-plus'; import { rules } from '@/views/configuration/emailTemplate/utils/columns'; import { FormProps } from '@/views/configuration/emailTemplate/utils/types'; import { $t } from '@/plugins/i18n'; +import { useEmailTemplateStore } from '@/store/configuration/emailTemplate'; const props = withDefaults(defineProps(), { formInline: () => ({ // 模板名称 templateName: undefined, + // 模板名称 + emailUser: undefined, // 主题 subject: undefined, // 邮件内容 @@ -20,21 +23,37 @@ const props = withDefaults(defineProps(), { const formRef = ref(); const form = ref(props.formInline); +const emailUserList = ref(); +const emailTemplateStore = useEmailTemplateStore(); defineExpose({ formRef });