generated from root/miduo_server
Merge branch 'master' of codeup.aliyun.com:6417d67de477e2050c6497df/gm_front
commit
465f70c8f2
|
|
@ -412,6 +412,14 @@ export function getNoticeInfo(data) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getSendMsgList(data) {
|
||||
return request({
|
||||
url: '/system/game/sendMsgList',
|
||||
method: 'get',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getNoticeInfoDetail(id) {
|
||||
return request({
|
||||
url: `/system/game/getnoticeinfodetail/${id}`,
|
||||
|
|
@ -504,3 +512,11 @@ export function getUserItemList(data) {
|
|||
})
|
||||
}
|
||||
|
||||
export function sendMsg(data) {
|
||||
return request({
|
||||
url: '/system/game/sendmsg',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -204,6 +204,12 @@ export const constantRoutes = [
|
|||
component: () => import('@/views/sysmanage/game/itemlog'),
|
||||
meta: { title: '用户操作记录', icon: 'link' }
|
||||
},
|
||||
{
|
||||
path: 'system/game/sendmsg',
|
||||
name: 'sendmsg',
|
||||
component: () => import('@/views/sysmanage/game/sendmsg'),
|
||||
meta: { title: '跑马灯', icon: 'link' }
|
||||
},
|
||||
{
|
||||
path: 'system/gm/sendmail',
|
||||
name: 'sendmail',
|
||||
|
|
@ -262,7 +268,7 @@ export const constantRoutes = [
|
|||
path: 'system/game/userItemInfo',
|
||||
name: 'userItemInfo',
|
||||
component: () => import('@/views/sysmanage/game/userItemInfo'),
|
||||
meta: { title: '用户操作记录', icon: 'link' }
|
||||
meta: { title: '道具查询', icon: 'link' }
|
||||
},
|
||||
{
|
||||
path: 'system/gm/modifyuseritem',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,294 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="search-form" style="margin-bottom:15px">
|
||||
<!-- openId:<el-input v-model="searchForm.openId" size="small" clearable placeholder="请输入openId" style="width:200px;" />-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- size="small"-->
|
||||
<!-- @click="() => fetchData()"-->
|
||||
<!-- >-->
|
||||
<!-- 查询-->
|
||||
<!-- </el-button>-->
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="() => addOrUpdate()"
|
||||
>
|
||||
新增
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="div-table">
|
||||
<el-table
|
||||
:data="list"
|
||||
element-loading-text="Loading"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
:header-cell-style="{'text-align':'center'}"
|
||||
:cell-style="{'text-align':'center'}"
|
||||
>
|
||||
<el-table-column label="内容" width="450">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.content }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发布时间" width="200">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.sendTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="服务器" width="500">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.serverNameList }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发送间隔" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.speed }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发送次数" width="80">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.mulTimes }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.updateUser }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.updateTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<pagination :pagination="pagination" />
|
||||
</div>
|
||||
|
||||
<el-dialog :title="activeTitle" :visible.sync="dialogFormVisible">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-position="right" label-width="120px">
|
||||
<el-form-item label="跑马灯内容" prop="content">
|
||||
<el-input v-model="form.content" type="textarea" ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="跑马灯发送间隔" prop="speed">
|
||||
<el-input v-model="form.speed"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="跑马灯发送次数" prop="multime">
|
||||
<el-input v-model="form.multime"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="跑马灯开始时间" prop="sendTime">
|
||||
<el-date-picker
|
||||
v-model="form.sendTime"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间"
|
||||
value-format="timestamp"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="发送服务器" >
|
||||
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item prop="serverId">
|
||||
<el-checkbox-group v-model="form.serverId" @change="handleCheckedServerChange">
|
||||
<el-checkbox v-for="item in serverMaps" :key="item.serverid" :label="item.serverid" :value="item.serverid">{{item.name}}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
|
||||
<el-button type="primary" size="small" @click="save">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination/index'
|
||||
import { getSendMsgList, delNoticeInfo, sendMsg, getServer } from '@/api/systemapi/game'
|
||||
import { pageParams } from '@/settings'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
'pagination': Pagination
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isIndeterminate: false,
|
||||
checkAll: false,
|
||||
serverIdList: [],
|
||||
editNotavailable: false,
|
||||
treeData: null,
|
||||
serverMaps: {},
|
||||
list: null,
|
||||
listLoading: true,
|
||||
searchForm: {
|
||||
name: '',
|
||||
channel: '',
|
||||
state: '',
|
||||
isNew: '',
|
||||
rows: '10',
|
||||
page: '1'
|
||||
},
|
||||
activeTitle: '新增公告信息', // 新增编辑菜单模态框标题
|
||||
dialogFormVisible: false, // 模态框
|
||||
formLabelWidth: '100px',
|
||||
form: {
|
||||
serverId: []
|
||||
},
|
||||
rules: {
|
||||
content: [
|
||||
{ required: true, message: '请输入跑马灯内容', trigger: 'blur' }
|
||||
],
|
||||
speed: [
|
||||
{ required: true, message: '请输入跑马灯发送间隔', trigger: 'blur' }
|
||||
],
|
||||
multime: [
|
||||
{ required: true, message: '请输入跑马灯发送次数', trigger: 'blur' }
|
||||
],
|
||||
sendTime: [
|
||||
{ type: 'date', required: true, message: '请选择跑马灯发送时间', trigger: 'blur' }
|
||||
],
|
||||
serverId: [
|
||||
{ type: 'array', required: true, message: '请至少选择一个服务器', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
// 分页
|
||||
pagination: pageParams
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// 分页
|
||||
'pagination.currentPage': function() {
|
||||
this.searchForm.page = this.pagination.currentPage
|
||||
this.fetchData()
|
||||
},
|
||||
'pagination.pageSize': function() {
|
||||
this.searchForm.rows = this.pagination.pageSize
|
||||
this.searchForm.page = 1
|
||||
this.fetchData()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.fetchData()
|
||||
this.getServerList()
|
||||
},
|
||||
methods: {
|
||||
// 刷新数据
|
||||
fetchData() {
|
||||
this.listLoading = true
|
||||
getSendMsgList({ ...this.searchForm }).then(response => {
|
||||
this.list = response.data.rows
|
||||
this.pagination.total = response.data.total
|
||||
this.pagination.currentPage = response.data.current
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
// 新增
|
||||
addOrUpdate(data) {
|
||||
this.resetFileds()
|
||||
this.dialogFormVisible = true
|
||||
},
|
||||
// 保存
|
||||
save() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
sendMsg({ ...this.form }).then((response) => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.dialogFormVisible = false
|
||||
this.fetchData()
|
||||
} else {
|
||||
this.$message({
|
||||
message: response.msg,
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
getServerList() {
|
||||
getServer().then(response => {
|
||||
this.serverMaps = response.data
|
||||
})
|
||||
},
|
||||
handleCheckAllChange(val) {
|
||||
var serverIds = []
|
||||
for (var i = 0; i < this.serverMaps.length; i++) {
|
||||
serverIds[i] = this.serverMaps[i].serverid
|
||||
}
|
||||
this.form.serverId = val ? serverIds : []
|
||||
this.isIndeterminate = false
|
||||
},
|
||||
handleCheckedServerChange(value) {
|
||||
console.log(value)
|
||||
var checkedCount = value.length
|
||||
this.checkAll = checkedCount === this.serverMaps.length
|
||||
this.isIndeterminate = checkedCount > 0 && checkedCount < this.serverMaps.length
|
||||
},
|
||||
// 删除
|
||||
del(data) {
|
||||
this.$confirm('确定要删除 ‘' + data.title + '’吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
delNoticeInfo(data.id).then(response => {
|
||||
if (response.code === 0) {
|
||||
this.$message({
|
||||
message: '删除成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.dialogFormVisible = false
|
||||
this.fetchData()
|
||||
} else {
|
||||
this.$message({
|
||||
message: response.msg,
|
||||
type: 'error'
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
resetFileds() {
|
||||
this.form = {
|
||||
serverId: []
|
||||
}
|
||||
// 重置校验
|
||||
if (this.$refs['noticeInfoListForm']) {
|
||||
this.$refs['noticeInfoListForm'].resetFields()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.app-container {
|
||||
width: 100%;
|
||||
.div-table{
|
||||
width:100%;
|
||||
}
|
||||
}
|
||||
.custom-tree-node {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -37,6 +37,9 @@
|
|||
<el-table-column label="道具ID">
|
||||
<template slot-scope="scope">{{ scope.row.itemId}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="道具名称">
|
||||
<template slot-scope="scope">{{ scope.row.itemName}}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="道具数量">
|
||||
<template slot-scope="scope">{{ scope.row.itemNum }}</template>
|
||||
</el-table-column>
|
||||
|
|
|
|||
Loading…
Reference in New Issue