From b55cfd9bab062b3f14ce39335e013d448a24b974 Mon Sep 17 00:00:00 2001 From: lynn Date: Mon, 7 Jul 2025 18:33:59 +0800 Subject: [PATCH] finish email api --- src/api/email/index.js | 58 ++++ src/views/email/index.vue | 543 +++++++++++++++++++--------------- src/views/library/index.vue | 563 ++++++++++++++++++++++++++++-------- 3 files changed, 804 insertions(+), 360 deletions(-) create mode 100644 src/api/email/index.js diff --git a/src/api/email/index.js b/src/api/email/index.js new file mode 100644 index 0000000..4aeea94 --- /dev/null +++ b/src/api/email/index.js @@ -0,0 +1,58 @@ +import request from '@/utils/request' +import { getToken } from '@/utils/auth' + +// 获取邮件模板列表 +export function getEmailTemplateList(params) { + return request({ + url: '/api/admin/email-template/index', + method: 'get', + params + }) +} + +// 保存邮件模版(新增/编辑) +export function saveEmailTemplate(data) { + return request({ + url: '/api/admin/email-template/save', + method: 'post', + data + }) +} + +// 删除邮件模版 +export function deleteEmailTemplate(id) { + return request({ + url: '/api/admin/email-template/destroy', + method: 'get', + params: { + id, + token: getToken() + } + }) +} + +export function uploadEmailRecord(data) { + return request({ + url: '/api/admin/email-record/excel-show', + method: 'post', + data + }) +} + +// 保存邮件记录 +export function saveEmailRecord(data) { + return request({ + url: '/api/admin/email-record/save', + method: 'post', + data + }) +} + +// 获取邮件记录列表 +export function getEmailRecordList(params) { + return request({ + url: '/api/admin/email-record/index', + method: 'get', + params + }) +} \ No newline at end of file diff --git a/src/views/email/index.vue b/src/views/email/index.vue index 7d2916e..ab76209 100644 --- a/src/views/email/index.vue +++ b/src/views/email/index.vue @@ -51,9 +51,9 @@
{{ template.name }}
- {{ template.createTime }} + {{ template.createTime || template.updatedTime }} 使用{{ template.useCount }}次 - {{ template.variables.length }}个变量 + {{ template.variables ? template.variables.length : 0 }}个变量
@@ -82,7 +82,7 @@
可用变量: - {{ '{' + '{' + variable + '}' + '}' }} + {{ '{' + variable + '}' }}
@@ -130,18 +130,28 @@
-
- 全选用户 +
收件人列表
+
+ +
暂无收件人数据
+
请先上传Excel文件
+ style="width: 100%" + :max-height="400"> - - - - + +
@@ -179,14 +189,18 @@
- - - - - + + + @@ -227,11 +241,15 @@
收件人预览(前3条)
- - - - - + + +
还有 {{ selectedRecipients.length - 3 }} 位收件人未显示 @@ -243,7 +261,7 @@ @@ -274,9 +292,17 @@
邮件内容预览
@@ -351,9 +377,9 @@
- + @@ -372,20 +398,18 @@ v-for="variable in availableVariables" :key="variable" class="variable-tag clickable" - @click="insertVariable(`{{${variable}}}`)"> - {{ '{' + '{' + variable + '}' + '}' }} + @click="insertVariable(`{${variable}}`)"> + {{ '{' + variable + '}' }}
- - + :height="300" + :toolbar="'undo redo | bold italic underline strikethrough | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent | removeformat | fullscreen'" + :plugins="'lists fullscreen textcolor colorpicker'" + />
@@ -397,7 +421,7 @@ @@ -406,6 +430,11 @@