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' import request from '@/utils/request'
export function sendEmail(data) { export function addMail(data) {
return request({ return request({
url: '/email/send', url: '/mail/add',
method: 'post', method: 'post',
data data
}) })
} }
export function getEmailList() { export function getMailList() {
return request({ return request({
url: '/email/list', url: '/email/list',
method: 'get' method: 'get'
}) })
} }
export function updateEmail(data) { export function updateMail(data) {
return request({ return request({
url: '/email/update', url: '/email/update',
method: 'put', method: 'put',
@ -23,7 +23,7 @@ export function updateEmail(data) {
}) })
} }
export function delEmail(mailid) { export function delMail(mailid) {
return request({ return request({
url: '/email/delete/' + mailid, url: '/email/delete/' + mailid,
method: 'delete' 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 { CommentDropdown } from '@/views/example/components/Dropdown'
import Sticky from '@/components/Sticky/index.vue' import Sticky from '@/components/Sticky/index.vue'
import MDinput from '@/components/MDinput/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' import { parseTime } from '@/utils'
export default { export default {
@ -158,7 +158,7 @@ export default {
data.expiretime = data.expiretime / 1000 data.expiretime = data.expiretime / 1000
this.$refs['postForm'].validate((valid) => { this.$refs['postForm'].validate((valid) => {
if (valid) { if (valid) {
sendEmail(data).then(response => { addMail(data).then(response => {
if (response.code === 0) { if (response.code === 0) {
this.$message({ this.$message({
message: '发布成功', message: '发布成功',
@ -187,7 +187,7 @@ export default {
duration: 1200, duration: 1200,
onClose: () => { onClose: () => {
sessionStorage.removeItem('editEmail' + data.mailid) sessionStorage.removeItem('editEmail' + data.mailid)
this.$router.replace('/email/index') this.$router.replace('/mail/index')
} }
}) })
} }

View File

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

View File

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