1
This commit is contained in:
parent
b09c08a76a
commit
bd19dd8ae3
@ -15,10 +15,10 @@ export function getMailList() {
|
||||
})
|
||||
}
|
||||
|
||||
export function updatmail(data) {
|
||||
export function updateEmail(data) {
|
||||
return request({
|
||||
url: '/mail/update',
|
||||
method: 'put',
|
||||
url: '/mail/edit',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
@ -1,256 +1,279 @@
|
||||
<template>
|
||||
<div class="createPost-container">
|
||||
<el-form ref="postForm" :model="postForm" :rules="rules" class="form-container">
|
||||
<sticky :z-index="10" class-name="sub-navbar draft">
|
||||
<CommentDropdown v-show="mailTypeVisible" v-model="postForm.mailtype" />
|
||||
<el-button style="margin-left: 10px;" type="success" @click="dialogStatus==='create'?submitForm():updateFrom()">
|
||||
发布
|
||||
</el-button>
|
||||
</sticky>
|
||||
<div class="createPost-main-container">
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label-width="120px" label="发送时间:" class="postInfo-container-item" prop="sendtime">
|
||||
<el-date-picker v-model.number="postForm.sendtime" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label-width="120px" label="过期时间:" class="postInfo-container-item" prop="expiretime">
|
||||
<el-date-picker v-model.number="postForm.expiretime" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="userRegVisible" :span="10">
|
||||
<el-form-item label-width="120px" label="注册时间>=:" class="postInfo-container-item" prop="user_reg_start_time">
|
||||
<el-date-picker v-model.number="postForm.user_reg_start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="userRegVisible" :span="10">
|
||||
<el-form-item label-width="120px" label="注册时间<=:" class="postInfo-container-item" prop="user_reg_end_time">
|
||||
<el-date-picker v-model.number="postForm.user_reg_end_time" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item style="margin-bottom: 40px;" prop="subject">
|
||||
<MDinput v-model="postForm.subject" :maxlength="100" name="subject" required>
|
||||
邮件标题
|
||||
</MDinput>
|
||||
</el-form-item>
|
||||
<el-form-item prop="content" style="margin-bottom: 30px;" label="邮件正文:">
|
||||
<el-input v-model="postForm.content" type="textarea" :rows="6" />
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-bottom: 30px;" label="附件:">
|
||||
<el-input v-model="postForm.attachments" type="textarea" :rows="6" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item v-show="groupMailVisible" style="margin-bottom: 40px;" prop="to" label="收件人列表:">
|
||||
<el-input v-model="postForm.recipients" type="textarea" :rows="6" required />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { CommentDropdown } from '@/views/example/components/Dropdown'
|
||||
import Sticky from '@/components/Sticky/index.vue'
|
||||
import MDinput from '@/components/MDinput/index.vue'
|
||||
import { addMail, updateEmail } from '@/api/mail'
|
||||
import { parseTime } from '@/utils'
|
||||
import { MAIL_TYPE_GROUP, MAIL_TYPE_ALL } from '@/constant/constant'
|
||||
|
||||
export default {
|
||||
name: 'Email',
|
||||
components: { MDinput, CommentDropdown, Sticky },
|
||||
data() {
|
||||
return {
|
||||
postForm: {
|
||||
mailtype: MAIL_TYPE_GROUP,
|
||||
sendtime: '',
|
||||
expiretime: '',
|
||||
user_reg_start_time: '',
|
||||
user_reg_end_time: '',
|
||||
subject: '',
|
||||
content: '',
|
||||
attachments: '',
|
||||
recipients: ''
|
||||
},
|
||||
rules: {
|
||||
sendtime: [{ required: true, message: '请选择发送时间', trigger: 'blur' }],
|
||||
expiretime: [{ required: true, message: '请选择过期时间', trigger: 'blur' }],
|
||||
subject: [{ required: true, message: 'subject is required', trigger: 'blur' }],
|
||||
content: [{ required: true, message: 'content is required', trigger: 'blur' }],
|
||||
user_reg_start_time: [
|
||||
{ required: true, message: '用户注册开始时间', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb, source, options) => {
|
||||
const errors = []
|
||||
console.log(this.postForm.mailtype)
|
||||
cb()
|
||||
return errors
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
user_reg_end_time: [
|
||||
{ required: true, message: '用户注册结束时间', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb, source, options) => {
|
||||
const errors = []
|
||||
console.log(this.postForm.mailtype)
|
||||
cb()
|
||||
return errors
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
userRegVisible: true,
|
||||
groupMailVisible: true,
|
||||
mailTypeVisible: true,
|
||||
dialogStatus: 'create'
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'postForm.mailtype'(val) {
|
||||
switch (val) {
|
||||
case MAIL_TYPE_GROUP:
|
||||
{
|
||||
this.userRegVisible = true
|
||||
this.groupMailVisible = true
|
||||
}
|
||||
break
|
||||
case MAIL_TYPE_ALL:
|
||||
{
|
||||
this.userRegVisible = true
|
||||
this.groupMailVisible = false
|
||||
}
|
||||
break
|
||||
}
|
||||
/*
|
||||
if (this.dialogStatus === 'create' && val === 2) {
|
||||
}*/
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const mailid = this.$route.params.mailid
|
||||
if (mailid) {
|
||||
this.mailTypeVisible = false
|
||||
this.dialogStatus = 'update'
|
||||
const editEmail = JSON.parse(sessionStorage.getItem('editEmail' + mailid))
|
||||
this.postForm = editEmail
|
||||
let str = ''
|
||||
editEmail.attachments.forEach((item) => {
|
||||
str += item['itemid'] + ':' + item['itemnum'] + '|'
|
||||
})
|
||||
this.postForm.attachments = str.slice(0, -1)
|
||||
this.postForm.sendtime = editEmail.sendtime * 1000
|
||||
this.postForm.expiretime = editEmail.expiretime * 1000
|
||||
} else {
|
||||
this.dialogStatus = 'create'
|
||||
sessionStorage.removeItem('editEmail' + mailid)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
parseTime,
|
||||
submitForm() {
|
||||
const data = JSON.parse(JSON.stringify(this.postForm))
|
||||
data.sendtime = data.sendtime / 1000
|
||||
data.expiretime = data.expiretime / 1000
|
||||
data.user_reg_start_time = data.user_reg_start_time / 1000
|
||||
data.user_reg_end_time = data.user_reg_end_time / 1000
|
||||
console.log('valid begin')
|
||||
try {
|
||||
this.$refs['postForm'].validate((valid) => {
|
||||
console.log('valid end', valid)
|
||||
if (valid) {
|
||||
addMail(data).then(response => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '发布成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
this.$router.push('index')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
updateFrom() {
|
||||
const data = JSON.parse(JSON.stringify(this.postForm))
|
||||
data.sendtime = data.sendtime / 1000
|
||||
data.expiretime = data.expiretime / 1000
|
||||
this.$refs['postForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
updateEmail(data).then(response => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
sessionStorage.removeItem('editEmail' + data.mailid)
|
||||
this.$router.replace('/mail/index')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import "~@/styles/mixin.scss";
|
||||
|
||||
.createPost-container {
|
||||
position: relative;
|
||||
|
||||
.createPost-main-container {
|
||||
padding: 40px 45px 20px 50px;
|
||||
|
||||
.postInfo-container {
|
||||
position: relative;
|
||||
@include clearfix;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.postInfo-container-item {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.word-counter {
|
||||
width: 40px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.article-textarea ::v-deep {
|
||||
textarea {
|
||||
padding-right: 40px;
|
||||
resize: none;
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
border-bottom: 1px solid #bfcbd9;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<template>
|
||||
<div class="createPost-container">
|
||||
<el-form ref="postForm" :model="postForm" :rules="rules" class="form-container">
|
||||
<sticky :z-index="10" class-name="sub-navbar draft">
|
||||
<CommentDropdown v-show="mailTypeVisible" v-model="postForm.mailtype" />
|
||||
<el-button style="margin-left: 10px;" type="success" @click="dialogStatus==='create'?submitForm():updateFrom()">
|
||||
发布
|
||||
</el-button>
|
||||
</sticky>
|
||||
<div class="createPost-main-container">
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label-width="120px" label="发送时间:" class="postInfo-container-item" prop="sendtime">
|
||||
<el-date-picker v-model.number="postForm.sendtime" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label-width="120px" label="过期时间:" class="postInfo-container-item" prop="expiretime">
|
||||
<el-date-picker v-model.number="postForm.expiretime" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="userRegVisible" :span="10">
|
||||
<el-form-item label-width="120px" label="注册时间>=:" class="postInfo-container-item" prop="user_reg_start_time">
|
||||
<el-date-picker v-model.number="postForm.user_reg_start_time" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="userRegVisible" :span="10">
|
||||
<el-form-item label-width="120px" label="注册时间<=:" class="postInfo-container-item" prop="user_reg_end_time">
|
||||
<el-date-picker v-model.number="postForm.user_reg_end_time" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" placeholder="Select date and time" required />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item style="margin-bottom: 40px;" prop="subject">
|
||||
<MDinput v-model="postForm.subject" :maxlength="100" name="subject" required>
|
||||
邮件标题
|
||||
</MDinput>
|
||||
</el-form-item>
|
||||
<el-form-item prop="content" style="margin-bottom: 30px;" label="邮件正文:">
|
||||
<el-input v-model="postForm.content" type="textarea" :rows="6" />
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-bottom: 30px;" label="附件:">
|
||||
<el-input v-model="postForm.attachments" type="textarea" :rows="6" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item v-show="groupMailVisible" style="margin-bottom: 40px;" prop="to" label="收件人列表:">
|
||||
<el-input v-model="postForm.recipients" type="textarea" :rows="6" required />
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { CommentDropdown } from '@/views/example/components/Dropdown'
|
||||
import Sticky from '@/components/Sticky/index.vue'
|
||||
import MDinput from '@/components/MDinput/index.vue'
|
||||
import { addMail, updateEmail } from '@/api/mail'
|
||||
import { parseTime } from '@/utils'
|
||||
import { MAIL_TYPE_GROUP, MAIL_TYPE_ALL } from '@/constant/constant'
|
||||
|
||||
export default {
|
||||
name: 'Email',
|
||||
components: { MDinput, CommentDropdown, Sticky },
|
||||
data() {
|
||||
return {
|
||||
postForm: {
|
||||
mailtype: MAIL_TYPE_GROUP,
|
||||
sendtime: '',
|
||||
expiretime: '',
|
||||
user_reg_start_time: '',
|
||||
user_reg_end_time: '',
|
||||
subject: '',
|
||||
content: '',
|
||||
attachments: '',
|
||||
recipients: ''
|
||||
},
|
||||
rules: {
|
||||
sendtime: [{ required: true, message: '请选择发送时间', trigger: 'blur' }],
|
||||
expiretime: [{ required: true, message: '请选择过期时间', trigger: 'blur' }],
|
||||
subject: [{ required: true, message: 'subject is required', trigger: 'blur' }],
|
||||
content: [{ required: true, message: 'content is required', trigger: 'blur' }],
|
||||
user_reg_start_time: [
|
||||
{ required: true, message: '用户注册开始时间', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb, source, options) => {
|
||||
const errors = []
|
||||
console.log(this.postForm.mailtype)
|
||||
cb()
|
||||
return errors
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
user_reg_end_time: [
|
||||
{ required: true, message: '用户注册结束时间', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, cb, source, options) => {
|
||||
const errors = []
|
||||
console.log(this.postForm.mailtype)
|
||||
cb()
|
||||
return errors
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
userRegVisible: true,
|
||||
groupMailVisible: true,
|
||||
mailTypeVisible: true,
|
||||
dialogStatus: 'create'
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'postForm.mailtype'(val) {
|
||||
switch (val) {
|
||||
case MAIL_TYPE_GROUP:
|
||||
this.userRegVisible = true
|
||||
this.groupMailVisible = true
|
||||
break
|
||||
case MAIL_TYPE_ALL:
|
||||
this.userRegVisible = true
|
||||
this.groupMailVisible = false
|
||||
break
|
||||
}
|
||||
/*
|
||||
if (this.dialogStatus === 'create' && val === 2) {
|
||||
}*/
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const mailid = this.$route.params.mailid
|
||||
if (mailid) {
|
||||
this.mailTypeVisible = false
|
||||
this.dialogStatus = 'update'
|
||||
const editEmail = JSON.parse(sessionStorage.getItem('editEmail' + mailid))
|
||||
this.postForm = editEmail
|
||||
|
||||
let str = ''
|
||||
editEmail.attachments.forEach((item) => {
|
||||
str += item['itemid'] + ':' + item['itemnum'] + '\n'
|
||||
})
|
||||
this.postForm.attachments = str.slice(0, -1)
|
||||
this.postForm.sendtime = editEmail.sendtime * 1000
|
||||
this.postForm.expiretime = editEmail.expiretime * 1000
|
||||
this.postForm.user_reg_start_time = editEmail.user_reg_start_time * 1000
|
||||
this.postForm.user_reg_end_time = editEmail.user_reg_end_time * 1000
|
||||
this.postForm.recipients = editEmail.recipients.join('\n')
|
||||
} else {
|
||||
this.dialogStatus = 'create'
|
||||
sessionStorage.removeItem('editEmail' + mailid)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
parseTime,
|
||||
submitForm() {
|
||||
const data = JSON.parse(JSON.stringify(this.postForm))
|
||||
data.sendtime = data.sendtime / 1000
|
||||
data.expiretime = data.expiretime / 1000
|
||||
data.user_reg_start_time = data.user_reg_start_time / 1000
|
||||
data.user_reg_end_time = data.user_reg_end_time / 1000
|
||||
console.log('valid begin')
|
||||
data.recipients = data.recipients.split('\n')
|
||||
var arr = data.attachments.split('\n')
|
||||
arr.forEach((item, index) => {
|
||||
var recipientsArr = {}
|
||||
var itemArr = item.split(':')
|
||||
recipientsArr['itemid'] = parseInt(itemArr[0])
|
||||
recipientsArr['itemnum'] = parseInt(itemArr[1])
|
||||
arr[index] = recipientsArr
|
||||
})
|
||||
data.attachments = arr
|
||||
try {
|
||||
this.$refs['postForm'].validate((valid) => {
|
||||
console.log('valid end', valid)
|
||||
if (valid) {
|
||||
addMail(data).then(response => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '发布成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
this.$router.push('index')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
updateFrom() {
|
||||
const data = JSON.parse(JSON.stringify(this.postForm))
|
||||
data.sendtime = data.sendtime / 1000
|
||||
data.expiretime = data.expiretime / 1000
|
||||
data.user_reg_start_time = data.user_reg_start_time / 1000
|
||||
data.user_reg_end_time = data.user_reg_end_time / 1000
|
||||
console.log('valid begin')
|
||||
data.recipients = data.recipients.split('\n')
|
||||
var arr = data.attachments.split('\n')
|
||||
arr.forEach((item, index, arr) => {
|
||||
var recipientsArr = {}
|
||||
var itemArr = item.split(':')
|
||||
recipientsArr['itemid'] = parseInt(itemArr[0])
|
||||
recipientsArr['itemnum'] = parseInt(itemArr[1])
|
||||
arr[index] = recipientsArr
|
||||
})
|
||||
data.attachments = arr
|
||||
this.$refs['postForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
updateEmail(data).then(response => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
sessionStorage.removeItem('editEmail' + data.mailid)
|
||||
this.$router.replace('/email/index')
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import "~@/styles/mixin.scss";
|
||||
|
||||
.createPost-container {
|
||||
position: relative;
|
||||
|
||||
.createPost-main-container {
|
||||
padding: 40px 45px 20px 50px;
|
||||
|
||||
.postInfo-container {
|
||||
position: relative;
|
||||
@include clearfix;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.postInfo-container-item {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.word-counter {
|
||||
width: 40px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.article-textarea ::v-deep {
|
||||
textarea {
|
||||
padding-right: 40px;
|
||||
resize: none;
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
border-bottom: 1px solid #bfcbd9;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -1,139 +1,138 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-table
|
||||
:data="mailList"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
prop="mail_id"
|
||||
label="邮件id"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="mail_type"
|
||||
label="邮件类型"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="sendtime"
|
||||
label="发送时间"
|
||||
>
|
||||
<template slot-scope="{row}">
|
||||
<span>
|
||||
{{ parseTime(row.sendtime) }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="expiretime"
|
||||
label="过期时间"
|
||||
>
|
||||
<template slot-scope="{row}">
|
||||
<span>
|
||||
{{ parseTime(row.expiretime) }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="to"
|
||||
label="收件人"
|
||||
/>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="subject"
|
||||
label="邮件标题"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="content"
|
||||
label="邮件内容"
|
||||
/>
|
||||
<!-- <el-table-column label="附件" align="center" width="95"> -->
|
||||
<!-- <template slot-scope="{row}"> -->
|
||||
<!-- <span v-if="row.attachments.length > 0" class="link-type" @click="handleFetchAtta(row.attachments)">查看</span> -->
|
||||
<!-- <el-tag v-else type="info">无</el-tag> -->
|
||||
<!-- </template> -->
|
||||
<!-- </el-table-column> -->
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
label="操作"
|
||||
width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
|
||||
<el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-dialog :visible.sync="dialogAttaVisible" title="附件">
|
||||
<el-table :data="attaData" border fit highlight-current-row style="width: 100%">
|
||||
<el-table-column prop="itemid" label="ItemId" />
|
||||
<el-table-column prop="itemnum" label="ItemNum" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// import Pagination from '@/components/Pagination/index.vue'
|
||||
import { delMail, getMailList } from '@/api/mail'
|
||||
import { parseTime } from '@/utils'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogAttaVisible: false,
|
||||
mailList: [],
|
||||
attaData: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
parseTime,
|
||||
getList() {
|
||||
getMailList().then(response => {
|
||||
if (response.code === 0) {
|
||||
this.mailList = response.data
|
||||
}
|
||||
})
|
||||
},
|
||||
handleFetchAtta(row) {
|
||||
this.attaData = row
|
||||
this.dialogAttaVisible = true
|
||||
},
|
||||
handleUpdate(row) {
|
||||
// this.$store.dispatch('emailView/addEmail', row)
|
||||
sessionStorage.setItem('editEmail' + row.mailid, JSON.stringify(row))
|
||||
this.$router.replace('update/' + row.mailid)
|
||||
},
|
||||
handleDelete(row) {
|
||||
delMail(row.mailid).then((response) => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
message: response.message,
|
||||
type: 'error',
|
||||
duration: 1200
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-table
|
||||
:data="mailList"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
prop="mail_id"
|
||||
label="邮件id"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="mail_type"
|
||||
label="邮件类型"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="sendtime"
|
||||
label="发送时间"
|
||||
>
|
||||
<template slot-scope="{row}">
|
||||
<span>
|
||||
{{ parseTime(row.sendtime) }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="expiretime"
|
||||
label="过期时间"
|
||||
>
|
||||
<template slot-scope="{row}">
|
||||
<span>
|
||||
{{ parseTime(row.expiretime) }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="to"
|
||||
label="收件人"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="subject"
|
||||
label="邮件标题"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="content"
|
||||
label="邮件内容"
|
||||
/>
|
||||
<!-- <el-table-column label="附件" align="center" width="95"> -->
|
||||
<!-- <template slot-scope="{row}"> -->
|
||||
<!-- <span v-if="row.attachments.length > 0" class="link-type" @click="handleFetchAtta(row.attachments)">查看</span> -->
|
||||
<!-- <el-tag v-else type="info">无</el-tag> -->
|
||||
<!-- </template> -->
|
||||
<!-- </el-table-column> -->
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
label="操作"
|
||||
width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handleUpdate(scope.row)">编辑</el-button>
|
||||
<el-button type="text" size="small" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-dialog :visible.sync="dialogAttaVisible" title="附件">
|
||||
<el-table :data="attaData" border fit highlight-current-row style="width: 100%">
|
||||
<el-table-column prop="itemid" label="ItemId" />
|
||||
<el-table-column prop="itemnum" label="ItemNum" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
// import Pagination from '@/components/Pagination/index.vue'
|
||||
import { delMail, getMailList } from '@/api/mail'
|
||||
import { parseTime } from '@/utils'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogAttaVisible: false,
|
||||
mailList: [],
|
||||
attaData: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
parseTime,
|
||||
getList() {
|
||||
getMailList().then(response => {
|
||||
if (response.code === 0) {
|
||||
this.mailList = response.data
|
||||
}
|
||||
})
|
||||
},
|
||||
handleFetchAtta(row) {
|
||||
this.attaData = row
|
||||
this.dialogAttaVisible = true
|
||||
},
|
||||
handleUpdate(row) {
|
||||
// this.$store.dispatch('emailView/addEmail', row)
|
||||
sessionStorage.setItem('editEmail' + row.mail_id, JSON.stringify(row))
|
||||
this.$router.push('update/' + row.mail_id)
|
||||
},
|
||||
handleDelete(row) {
|
||||
delMail(row.mailid).then((response) => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1200,
|
||||
onClose: () => {
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
message: response.message,
|
||||
type: 'error',
|
||||
duration: 1200
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
</style>
|
||||
|
Loading…
x
Reference in New Issue
Block a user