From 6a4b897b7975b188114e7086d5bf36e2121b5e66 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 05 Mar 2024 09:47:04 +0800
Subject: [PATCH] 邮件管理接口对接

---
 src/views/system/email/emailTemplates.vue      |   22 +++--
 src/views/system/email/emailSendingHistory.vue |   20 ++--
 src/api/system/email.js                        |  163 ++++++++++++++++++++++++++++------------
 3 files changed, 137 insertions(+), 68 deletions(-)

diff --git a/src/api/system/email.js b/src/api/system/email.js
index e5b1e2b..b0c259d 100644
--- a/src/api/system/email.js
+++ b/src/api/system/email.js
@@ -1,70 +1,137 @@
-import request from '@/router/axios';
+import request from '@/router/axios'
 
 export const getList = (current, size, params) => {
-  return request({
-    url: '/api/blade-email/email/list',
-    method: 'get',
-    params: {
-      ...params,
-      current,
-      size,
-    }
-  })
+    return request({
+        url: '/api/blade-email/email/list',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
 }
 
 export const getDetail = (id) => {
-  return request({
-    url: '/api/blade-email/email/detail',
-    method: 'get',
-    params: {
-      id
-    }
-  })
+    return request({
+        url: '/api/blade-email/email/detail',
+        method: 'get',
+        params: {
+            id
+        }
+    })
 }
 
 export const remove = (ids) => {
-  return request({
-    url: '/api/blade-email/email/remove',
-    method: 'post',
-    params: {
-      ids,
-    }
-  })
+    return request({
+        url: '/api/blade-email/email/remove',
+        method: 'post',
+        params: {
+            ids,
+        }
+    })
 }
 
 export const add = (row) => {
-  return request({
-    url: '/api/blade-email/email/submit',
-    method: 'post',
-    data: row
-  })
+    return request({
+        url: '/api/blade-email/email/submit',
+        method: 'post',
+        data: row
+    })
 }
 
 export const update = (row) => {
-  return request({
-    url: '/api/blade-email/email/submit',
-    method: 'post',
-    data: row
-  })
+    return request({
+        url: '/api/blade-email/email/submit',
+        method: 'post',
+        data: row
+    })
 }
 
 export const enable = (id) => {
-  return request({
-    url: '/api/blade-email/email/enable',
-    method: 'post',
-    params: {
-      id
-    }
-  })
+    return request({
+        url: '/api/blade-email/email/enable',
+        method: 'post',
+        params: {
+            id
+        }
+    })
 }
 
 export const sendEmail = (params) => {
-  return request({
-    url: '/api/blade-email/email/sendEmail',
-    method: 'post',
-    params: {
-      ...params
-    }
-  })
+    return request({
+        url: '/api/blade-email/email/sendEmail',
+        method: 'post',
+        params: {
+            ...params
+        }
+    })
 }
 
+// 邮件管理
+// -------------------------------------------------------------------
+// 模板记录的结论列表
+export const getEmailTemplateList = (current, size, params) => {
+    return request({
+        url: '/api/blade-email/emailTemplate/list',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
+
+// 模板记录新增
+export const saveEmailTemplateList = (row) => {
+    return request({
+        url: '/api/blade-email/emailTemplate/save',
+        method: 'post',
+        data: row
+    })
+}
+
+// 模板记录修改
+export const updateEmailTemplateList = (row) => {
+    return request({
+        url: '/api/blade-email/emailTemplate/update',
+        method: 'post',
+        data: row
+    })
+}
+
+// 模板记录删除
+export const removeEmailTemplateList = (ids) => {
+    return request({
+        url: '/api/blade-email/emailTemplate/remove',
+        method: 'post',
+        params: {
+            ids
+        }
+    })
+}
+
+// 模板记录详情
+export const detailEmailTemplateList = (id) => {
+    return request({
+        url: '/api/blade-email/emailTemplate/detail',
+        method: 'get',
+        params: {
+            id
+        }
+    })
+}
+
+// 消息记录接口
+export const getMessageUserPage = (current, size, params) => {
+    return request({
+        url: '/api/messageUser/messageUser/getPage',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size,
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/views/system/email/emailSendingHistory.vue b/src/views/system/email/emailSendingHistory.vue
index 3ec4274..e269cf7 100644
--- a/src/views/system/email/emailSendingHistory.vue
+++ b/src/views/system/email/emailSendingHistory.vue
@@ -5,16 +5,12 @@
             @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
             @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
             @refresh-change="refreshChange" @on-load="onLoad">
-            <template slot-scope="{ row, size, index }" slot="menu">
-                <el-button :size="size" type="text" icon="el-icon-circle-check" @click.stop="handleEnable(row)">复制
-                </el-button>
-            </template>
         </avue-crud>
     </basic-container>
 </template>
 
 <script>
-import { getList, getDetail, add, update, remove, enable, sendEmail } from "@/api/system/email"
+import { getMessageUserPage } from "@/api/system/email"
 import { mapGetters } from "vuex"
 
 export default {
@@ -38,19 +34,23 @@
                 border: true,
                 index: true,
                 viewBtn: false,
+                addBtn: false,
                 selection: true,
                 dialogClickModal: false,
-                menuWidth: 350,
+                // menuWidth: 350,
+                menu: false,
                 column: [
                     {
-                        label: "主题",
-                        prop: "remark",
+                        label: "标题",
+                        prop: "title",
                         type: "input",
+                        align: 'center'
                     },
                     {
                         label: "正文内容",
-                        prop: "remark",
+                        prop: "content",
                         type: "input",
+                        align: 'center'
                     },
                 ]
             },
@@ -209,7 +209,7 @@
         },
         onLoad (page, params = {}) {
             this.loading = true
-            getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+            getMessageUserPage(page.currentPage, page.pageSize, Object.assign(params, {})).then(res => {
                 const data = res.data.data
                 this.page.total = data.total
                 this.data = data.records
diff --git a/src/views/system/email/emailTemplates.vue b/src/views/system/email/emailTemplates.vue
index 3ec4274..1bd5770 100644
--- a/src/views/system/email/emailTemplates.vue
+++ b/src/views/system/email/emailTemplates.vue
@@ -14,7 +14,7 @@
 </template>
 
 <script>
-import { getList, getDetail, add, update, remove, enable, sendEmail } from "@/api/system/email"
+import { getEmailTemplateList, saveEmailTemplateList, updateEmailTemplateList, detailEmailTemplateList, removeEmailTemplateList } from "@/api/system/email"
 import { mapGetters } from "vuex"
 
 export default {
@@ -43,14 +43,16 @@
                 menuWidth: 350,
                 column: [
                     {
-                        label: "主题",
-                        prop: "remark",
+                        label: "标题",
+                        prop: "title",
                         type: "input",
+                        align: 'center'
                     },
                     {
                         label: "正文内容",
-                        prop: "remark",
+                        prop: "content",
                         type: "input",
+                        align: 'center'
                     },
                 ]
             },
@@ -90,7 +92,7 @@
             done()
         },
         rowSave (row, done, loading) {
-            add(row).then(() => {
+            saveEmailTemplateList(row).then(() => {
                 this.onLoad(this.page)
                 this.$message({
                     type: "success",
@@ -103,7 +105,7 @@
             })
         },
         rowUpdate (row, index, done, loading) {
-            update(row).then(() => {
+            updateEmailTemplateList(row).then(() => {
                 this.onLoad(this.page)
                 this.$message({
                     type: "success",
@@ -122,7 +124,7 @@
                 type: "warning"
             })
                 .then(() => {
-                    return remove(row.id)
+                    return removeEmailTemplateList(row.id)
                 })
                 .then(() => {
                     this.onLoad(this.page)
@@ -162,7 +164,7 @@
                 type: "warning"
             })
                 .then(() => {
-                    return remove(this.ids)
+                    return removeEmailTemplateList(this.ids)
                 })
                 .then(() => {
                     this.onLoad(this.page)
@@ -175,7 +177,7 @@
         },
         beforeOpen (done, type) {
             if (["edit", "view"].includes(type)) {
-                getDetail(this.form.id).then(res => {
+                detailEmailTemplateList(this.form.id).then(res => {
                     this.form = res.data.data
                 })
             }
@@ -209,7 +211,7 @@
         },
         onLoad (page, params = {}) {
             this.loading = true
-            getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+            getEmailTemplateList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
                 const data = res.data.data
                 this.page.total = data.total
                 this.data = data.records

--
Gitblit v1.9.3