消息推送
This commit is contained in:
83
mallplusui-web-admin/src/api/ums/sysMessageTask.js
Normal file
83
mallplusui-web-admin/src/api/ums/sysMessageTask.js
Normal file
@@ -0,0 +1,83 @@
|
||||
import request from '@/utils/request'
|
||||
export function fetchList(params) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/list',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
export function createMessageTask(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/create',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteMessageTask(id) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/delete/' + id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function updateShowStatus(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/update/showStatus',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateFactoryStatus(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/update/factoryStatus',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function getMember(id) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/' + id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function updateMember(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/update',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function updateMemberOrderInfo() {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/updateMemberOrderInfo',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchBlanceList(id) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/fetchBlanceList/' + id,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
export function handleEditBlance(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/handleEditBlance',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function handleEditIntegration(data) {
|
||||
return request({
|
||||
url: '/ums/sysMessageTask/handleEditIntegration',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
@@ -1140,8 +1140,15 @@ export const constantRouterMap = [{
|
||||
icon: 'home'
|
||||
},
|
||||
children: [
|
||||
|
||||
|
||||
{
|
||||
path: 'sysMessageTask',
|
||||
name: 'sysMessageTask',
|
||||
component: () => import('@/views/ums/sysMessageTask/index'),
|
||||
meta: {
|
||||
title: '定时消息',
|
||||
icon: 'product-list'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'member',
|
||||
name: 'member',
|
||||
|
||||
@@ -211,12 +211,12 @@
|
||||
<el-dialog title="向指定会员发送信息" :visible.sync="dialogVisibleMessOne" width="40%">
|
||||
<el-form :model="msgOne" :rules="msgOneRules" ref="msgOneFrom" label-width="150px">
|
||||
<el-form-item label="会员:">向账号为 {{msgOne.membername}} 的会员发送信息</el-form-item>
|
||||
<el-form-item label="信息类型:" prop="code">
|
||||
<!-- <el-form-item label="信息类型:" prop="code">
|
||||
<el-select v-model="msgOne.code" placeholder="请选择">
|
||||
<el-option v-for="item in messageCodeOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="标题:" prop="params">
|
||||
<el-input v-model="msgOne.params"></el-input>
|
||||
</el-form-item>
|
||||
@@ -234,12 +234,12 @@
|
||||
<el-dialog title="向选择会员发送信息" :visible.sync="dialogVisibleMessSelect" width="40%">
|
||||
<el-form :model="msgOne" :rules="msgOneRules" ref="msgSelectFrom" label-width="150px">
|
||||
<el-form-item label=""> 向所选择的会员发送信息!</el-form-item>
|
||||
<el-form-item label="信息类型:" prop="code">
|
||||
<!-- <el-form-item label="信息类型:" prop="code">
|
||||
<el-select v-model="msgOne.code" placeholder="请选择">
|
||||
<el-option v-for="item in messageCodeOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="标题:" prop="params">
|
||||
<el-input v-model="msgOne.params"></el-input>
|
||||
</el-form-item>
|
||||
@@ -257,12 +257,12 @@
|
||||
<el-dialog title="向所有会员发送信息" :visible.sync="dialogVisibleMessAll" width="40%">
|
||||
<el-form :model="msgOne" :rules="msgOneRules" ref="msgAllFrom" label-width="150px">
|
||||
<el-form-item label=""> 向所有的会员发送信息!</el-form-item>
|
||||
<el-form-item label="信息类型:" prop="code">
|
||||
<!-- <el-form-item label="信息类型:" prop="code">
|
||||
<el-select v-model="msgOne.code" placeholder="请选择">
|
||||
<el-option v-for="item in messageCodeOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="标题:" prop="params">
|
||||
<el-input v-model="msgOne.params"></el-input>
|
||||
</el-form-item>
|
||||
@@ -540,8 +540,8 @@
|
||||
this.dialogVisibleMessSelect = false
|
||||
},
|
||||
sendMessageToAll() {
|
||||
this.msgOne.userId = null
|
||||
this.msgOne.code = '云链助手'
|
||||
this.msgOne.userId = 1
|
||||
this.msgOne.code = '系统消息'
|
||||
this.msgOne.params = ''
|
||||
this.msgOne.content = ''
|
||||
this.msgOne.membername = ''
|
||||
@@ -571,8 +571,8 @@
|
||||
},
|
||||
sendMessageToAllReset() {
|
||||
this.$refs['msgAllFrom'].resetFields();
|
||||
this.msgOne.userId = null
|
||||
this.msgOne.code = '云链助手'
|
||||
this.msgOne.userId = 1
|
||||
this.msgOne.code = '系统消息'
|
||||
this.msgOne.params = ''
|
||||
this.msgOne.content = ''
|
||||
this.msgOne.membername = ''
|
||||
|
||||
210
mallplusui-web-admin/src/views/ums/sysMessageTask/index.vue
Normal file
210
mallplusui-web-admin/src/views/ums/sysMessageTask/index.vue
Normal file
@@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<div class="app-container" style="margin-right: 10px;">
|
||||
<div class="listconadd">
|
||||
<el-card class="operate-container" shadow="never">
|
||||
<i class="el-icon-tickets"></i>
|
||||
<span>定时消息列表</span>
|
||||
<el-button type="primary" class="btn-add" @click="sendMessageToOne()" size="mini">新增定时消息</el-button>
|
||||
</el-card>
|
||||
<div class="table-container">
|
||||
<el-table ref="brandTable" :data="list" style="width: 100%" v-loading="listLoading" border>
|
||||
<!-- <el-table-column label="编号" width="80" align="center" prop="id" /> -->
|
||||
<el-table-column label="标题" width="180" prop="params" align="center" />
|
||||
<el-table-column label="内容" prop="content" />
|
||||
<el-table-column label="发送时间" width="180" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.sendtime | formatTime }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发送状态" width="100" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.status | formatStatus }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="250" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="batch-operate-container"></div>
|
||||
<div class="pagination-container">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
layout="total, sizes,prev, pager, next,jumper"
|
||||
:page-size="listQuery.pageSize"
|
||||
:page-sizes="[5, 10, 15]"
|
||||
:current-page.sync="listQuery.pageNum"
|
||||
:total="total"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog title="新增定时消息" :visible.sync="dialogVisibleMessOne" width="40%">
|
||||
<el-form :model="msgOne" :rules="msgOneRules" ref="msgOneFrom" label-width="150px">
|
||||
<el-form-item label="设定发送时间:" prop="sendtime"><el-date-picker v-model="msgOne.sendtime" type="datetime" placeholder="选择日期时间"></el-date-picker></el-form-item>
|
||||
<el-form-item label="标题:" prop="params"><el-input v-model="msgOne.params"></el-input></el-form-item>
|
||||
<el-form-item label="信息内容:" prop="content"><el-input type="textarea" :rows="3" v-model="msgOne.content"></el-input></el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button @click="sendMessageToOneReset">取 消</el-button>
|
||||
<el-button type="primary" @click="sendMessageToOneSubmit">确 定</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { formatDate } from '@/utils/date'
|
||||
import { fetchList, createMessageTask, deleteMessageTask } from '@/api/ums/sysMessageTask'
|
||||
|
||||
export default {
|
||||
name: 'sysMessageTaskList',
|
||||
data() {
|
||||
return {
|
||||
dialogVisibleMessOne: false,
|
||||
msgOne: {
|
||||
userId: 1,
|
||||
code: '',
|
||||
params: '',
|
||||
content: '',
|
||||
sendtime: '',
|
||||
status: 0
|
||||
},
|
||||
msgOneRules: {
|
||||
sendtime: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择日期时间',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
params: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入信息标题',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
content: [
|
||||
{
|
||||
required: true,
|
||||
message: '信息内容不能为空',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
listQuery: {
|
||||
keyword: null,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
list: null,
|
||||
total: null,
|
||||
listLoading: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
filters: {
|
||||
formatTime(time) {
|
||||
if (time == null || time === '') {
|
||||
return 'N/A'
|
||||
}
|
||||
let date = new Date(time)
|
||||
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
|
||||
},
|
||||
formatStatus(value) {
|
||||
if (value === 0) {
|
||||
return '未发送'
|
||||
}
|
||||
return '已发送'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
sendMessageToOne() {
|
||||
this.msgOne.userId = 1
|
||||
this.msgOne.code = '系统消息'
|
||||
this.msgOne.params = ''
|
||||
this.msgOne.content = ''
|
||||
this.msgOne.sendtime = ''
|
||||
this.msgOne.status = 0
|
||||
this.dialogVisibleMessOne = true
|
||||
},
|
||||
sendMessageToOneSubmit() {
|
||||
let _this = this
|
||||
this.$refs['msgOneFrom'].validate(valid => {
|
||||
if (valid) {
|
||||
createMessageTask(_this.msgOne).then(response => {
|
||||
this.$message({
|
||||
message: '信息设置成功',
|
||||
type: 'success',
|
||||
duration: 1000
|
||||
})
|
||||
_this.getList()
|
||||
_this.sendMessageToOneReset()
|
||||
})
|
||||
} else {
|
||||
_this.$message({
|
||||
message: '请输入正确的数据',
|
||||
type: 'error',
|
||||
duration: 1000
|
||||
})
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
sendMessageToOneReset() {
|
||||
this.$refs['msgOneFrom'].resetFields()
|
||||
this.msgOne.userId = 1
|
||||
this.msgOne.code = '系统消息'
|
||||
this.msgOne.params = ''
|
||||
this.msgOne.content = ''
|
||||
this.msgOne.sendtime = ''
|
||||
this.msgOne.status = 0
|
||||
this.dialogVisibleMessOne = false
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
if (this.listQuery.keyword == '') this.listQuery.keyword = null
|
||||
|
||||
fetchList(this.listQuery).then(response => {
|
||||
this.listLoading = false
|
||||
this.list = response.data.records
|
||||
this.total = response.data.total
|
||||
this.totalPage = response.data.pages
|
||||
this.pageSize = response.data.size
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
this.$confirm('是否要删除该记录', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteMessageTask(row.id).then(response => {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success',
|
||||
duration: 1000
|
||||
})
|
||||
this.getList()
|
||||
})
|
||||
})
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.listQuery.pageNum = 1
|
||||
this.listQuery.pageSize = val
|
||||
this.getList()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.listQuery.pageNum = val
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped></style>
|
||||
Reference in New Issue
Block a user