From 5ddc25f4f2fac46c89e7476ae451368b3a2e7dec Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 23 Sep 2025 09:21:08 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90antd=E3=80=91=E3=80=90ele?= =?UTF-8?q?=E3=80=91=E7=BB=9F=E4=B8=80=20mail/template=20=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/mail/template/data.ts | 21 +++++++++++-------- .../mail/template/modules/send-form.vue | 15 +++---------- .../src/views/system/mail/template/data.ts | 15 ++++++------- .../mail/template/modules/send-form.vue | 15 +++---------- 4 files changed, 24 insertions(+), 42 deletions(-) diff --git a/apps/web-antd/src/views/system/mail/template/data.ts b/apps/web-antd/src/views/system/mail/template/data.ts index 14191bf0..21b07dbc 100644 --- a/apps/web-antd/src/views/system/mail/template/data.ts +++ b/apps/web-antd/src/views/system/mail/template/data.ts @@ -119,28 +119,31 @@ export function useSendMailFormSchema(): VbenFormSchema[] { { fieldName: 'toMails', label: '收件邮箱', - component: 'Textarea', + component: 'Select', componentProps: { - placeholder: '请输入收件邮箱,每行一个邮箱地址', - rows: 3, + mode: 'tags', + allowClear: true, + placeholder: '请输入收件邮箱,按 Enter 添加', }, }, { fieldName: 'ccMails', label: '抄送邮箱', - component: 'Textarea', + component: 'Select', componentProps: { - placeholder: '请输入抄送邮箱,每行一个邮箱地址', - rows: 2, + mode: 'tags', + allowClear: true, + placeholder: '请输入抄送邮箱,按 Enter 添加', }, }, { fieldName: 'bccMails', label: '密送邮箱', - component: 'Textarea', + component: 'Select', componentProps: { - placeholder: '请输入密送邮箱,每行一个邮箱地址', - rows: 2, + mode: 'tags', + allowClear: true, + placeholder: '请输入密送邮箱,按 Enter 添加', }, }, ]; diff --git a/apps/web-antd/src/views/system/mail/template/modules/send-form.vue b/apps/web-antd/src/views/system/mail/template/modules/send-form.vue index b5d6a012..d24acd11 100644 --- a/apps/web-antd/src/views/system/mail/template/modules/send-form.vue +++ b/apps/web-antd/src/views/system/mail/template/modules/send-form.vue @@ -42,17 +42,10 @@ const [Modal, modalApi] = useVbenModal({ paramsObj[param] = values[`param_${param}`]; }); } - const parseEmails = (text: string): string[] => { - if (!text) return []; - return text - .split('\n') - .map((email) => email.trim()) - .filter((email) => email.length > 0); - }; const data: SystemMailTemplateApi.MailSendReqVO = { - toMails: parseEmails(values.toMails || ''), - ccMails: parseEmails(values.ccMails || ''), - bccMails: parseEmails(values.bccMails || ''), + toMails: values.toMails, + ccMails: values.ccMails, + bccMails: values.bccMails, templateCode: formData.value?.code || '', templateParams: paramsObj, }; @@ -64,8 +57,6 @@ const [Modal, modalApi] = useVbenModal({ await modalApi.close(); emit('success'); message.success('邮件发送成功'); - } catch (error) { - console.error('发送邮件失败', error); } finally { modalApi.unlock(); } diff --git a/apps/web-ele/src/views/system/mail/template/data.ts b/apps/web-ele/src/views/system/mail/template/data.ts index 814cecb0..146c027d 100644 --- a/apps/web-ele/src/views/system/mail/template/data.ts +++ b/apps/web-ele/src/views/system/mail/template/data.ts @@ -119,28 +119,25 @@ export function useSendMailFormSchema(): VbenFormSchema[] { { fieldName: 'toMails', label: '收件邮箱', - component: 'Textarea', + component: 'InputTag', componentProps: { - placeholder: '请输入收件邮箱,每行一个邮箱地址', - rows: 3, + placeholder: '请输入收件邮箱,按 Enter 添加', }, }, { fieldName: 'ccMails', label: '抄送邮箱', - component: 'Textarea', + component: 'InputTag', componentProps: { - placeholder: '请输入抄送邮箱,每行一个邮箱地址', - rows: 2, + placeholder: '请输入抄送邮箱,按 Enter 添加', }, }, { fieldName: 'bccMails', label: '密送邮箱', - component: 'Textarea', + component: 'InputTag', componentProps: { - placeholder: '请输入密送邮箱,每行一个邮箱地址', - rows: 2, + placeholder: '请输入密送邮箱,按 Enter 添加', }, }, ]; diff --git a/apps/web-ele/src/views/system/mail/template/modules/send-form.vue b/apps/web-ele/src/views/system/mail/template/modules/send-form.vue index e3d43723..8f724ed6 100644 --- a/apps/web-ele/src/views/system/mail/template/modules/send-form.vue +++ b/apps/web-ele/src/views/system/mail/template/modules/send-form.vue @@ -42,17 +42,10 @@ const [Modal, modalApi] = useVbenModal({ paramsObj[param] = values[`param_${param}`]; }); } - const parseEmails = (text: string): string[] => { - if (!text) return []; - return text - .split('\n') - .map((email) => email.trim()) - .filter((email) => email.length > 0); - }; const data: SystemMailTemplateApi.MailSendReqVO = { - toMails: parseEmails(values.toMails || ''), - ccMails: parseEmails(values.ccMails || ''), - bccMails: parseEmails(values.bccMails || ''), + toMails: values.toMails, + ccMails: values.ccMails, + bccMails: values.bccMails, templateCode: formData.value?.code || '', templateParams: paramsObj, }; @@ -64,8 +57,6 @@ const [Modal, modalApi] = useVbenModal({ await modalApi.close(); emit('success'); ElMessage.success('邮件发送成功'); - } catch (error) { - console.error('发送邮件失败', error); } finally { modalApi.unlock(); }