| | |
| | | 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, |
| | | } |
| | | }) |
| | | } |
| | |
| | | @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 { |
| | |
| | | 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' |
| | | }, |
| | | ] |
| | | }, |
| | |
| | | }, |
| | | 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 |
| | |
| | | </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 { |
| | |
| | | menuWidth: 350, |
| | | column: [ |
| | | { |
| | | label: "主题", |
| | | prop: "remark", |
| | | label: "标题", |
| | | prop: "title", |
| | | type: "input", |
| | | align: 'center' |
| | | }, |
| | | { |
| | | label: "正文内容", |
| | | prop: "remark", |
| | | prop: "content", |
| | | type: "input", |
| | | align: 'center' |
| | | }, |
| | | ] |
| | | }, |
| | |
| | | done() |
| | | }, |
| | | rowSave (row, done, loading) { |
| | | add(row).then(() => { |
| | | saveEmailTemplateList(row).then(() => { |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | }) |
| | | }, |
| | | rowUpdate (row, index, done, loading) { |
| | | update(row).then(() => { |
| | | updateEmailTemplateList(row).then(() => { |
| | | this.onLoad(this.page) |
| | | this.$message({ |
| | | type: "success", |
| | |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id) |
| | | return removeEmailTemplateList(row.id) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page) |
| | |
| | | type: "warning" |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids) |
| | | return removeEmailTemplateList(this.ids) |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page) |
| | |
| | | }, |
| | | 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 |
| | | }) |
| | | } |
| | |
| | | }, |
| | | 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 |