This commit is contained in:
aozhiwei 2024-04-27 15:54:48 +08:00
parent e974f9b9c0
commit 761d54964a
5 changed files with 59 additions and 19 deletions

View File

@ -1,21 +1,21 @@
import request from '@/utils/request'
export function sendEmail(data) {
export function addMail(data) {
return request({
url: '/email/send',
url: '/mail/add',
method: 'post',
data
})
}
export function getEmailList() {
export function getMailList() {
return request({
url: '/email/list',
method: 'get'
})
}
export function updateEmail(data) {
export function updateMail(data) {
return request({
url: '/email/update',
method: 'put',
@ -23,7 +23,7 @@ export function updateEmail(data) {
})
}
export function delEmail(mailid) {
export function delMail(mailid) {
return request({
url: '/email/delete/' + mailid,
method: 'delete'

8
src/constant/constant.js Normal file
View File

@ -0,0 +1,8 @@
export const MAIL_TYPE_PERSONAL = 1
export const MAIL_TYPE_GROUP = 2
export const MAIL_TYPE_ALL = 3
/*
exports.MAIL_TYPE_PERSONAL = MAIL_TYPE_PERSONAL
exports.MAIL_TYPE_GROUP = MAIL_TYPE_GROUP
exports.MAIL_TYPE_ALL = MAIL_TYPE_ALL*
*/

View File

@ -79,7 +79,7 @@
import { CommentDropdown } from '@/views/example/components/Dropdown'
import Sticky from '@/components/Sticky/index.vue'
import MDinput from '@/components/MDinput/index.vue'
import { sendEmail, updateEmail } from '@/api/email'
import { addMail, updateEmail } from '@/api/mail'
import { parseTime } from '@/utils'
export default {
@ -158,7 +158,7 @@ export default {
data.expiretime = data.expiretime / 1000
this.$refs['postForm'].validate((valid) => {
if (valid) {
sendEmail(data).then(response => {
addMail(data).then(response => {
if (response.code === 0) {
this.$message({
message: '发布成功',
@ -187,7 +187,7 @@ export default {
duration: 1200,
onClose: () => {
sessionStorage.removeItem('editEmail' + data.mailid)
this.$router.replace('/email/index')
this.$router.replace('/mail/index')
}
})
}

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-table
:data="emailList"
:data="mailList"
border
fit
highlight-current-row
@ -82,7 +82,7 @@
</template>
<script>
// import Pagination from '@/components/Pagination/index.vue'
import { delEmail, getEmailList } from '@/api/email'
import { delEmail, getEmailList } from '@/api/mail'
import { parseTime } from '@/utils'
export default {

View File

@ -1,18 +1,14 @@
<template>
<el-dropdown :show-timeout="100" trigger="click">
<el-button plain>
{{ mailtype===1?'邮件类型: 个人':'邮件类型: 群发' }}
<el-button plain>{{ getMailTypeDesc() }}
<i class="el-icon-caret-bottom el-icon--right" />
</el-button>
<el-dropdown-menu slot="dropdown" class="no-padding">
<el-dropdown-item>
<el-radio-group v-model="mailtype" style="padding: 10px;">
<el-radio :label="1">
个人
</el-radio>
<el-radio :label="2">
群发
</el-radio>
<el-radio :label="MAIL_TYPE_PERSONAL">个人</el-radio>
<el-radio :label="MAIL_TYPE_GROUP">群发</el-radio>
<el-radio :label="MAIL_TYPE_ALL">全体</el-radio>
</el-radio-group>
</el-dropdown-item>
</el-dropdown-menu>
@ -21,11 +17,20 @@
<script>
import { MAIL_TYPE_PERSONAL, MAIL_TYPE_GROUP, MAIL_TYPE_ALL } from '@/constant/constant'
export default {
props: {
value: {
type: Number,
default: 1
default: MAIL_TYPE_PERSONAL
}
},
data() {
return {
MAIL_TYPE_PERSONAL: MAIL_TYPE_PERSONAL,
MAIL_TYPE_GROUP: MAIL_TYPE_GROUP,
MAIL_TYPE_ALL: MAIL_TYPE_ALL
}
},
computed: {
@ -37,6 +42,33 @@ export default {
this.$emit('input', val)
}
}
},
methods: {
getMailTypeDesc() {
switch (this.value) {
case MAIL_TYPE_PERSONAL:
{
return '邮件类型: 个人'
}
break
case MAIL_TYPE_GROUP:
{
return '邮件类型: 群发'
}
break
case MAIL_TYPE_ALL:
{
return '邮件类型: 全体'
}
break
default:
{
return '邮件类型: 无'
}
break
}
}
}
}
</script>