|
|
<template>
|
|
|
<el-container>
|
|
|
<el-main>
|
|
|
<el-card style="background-color: #F5F7FA">
|
|
|
<!-- 搜素区域 -->
|
|
|
<el-row>
|
|
|
<el-col :span="6">
|
|
|
<el-input v-model="umb_queryInfo.sndr"
|
|
|
size="medium"
|
|
|
placeholder="帐户名称" clearable>
|
|
|
<template slot="prepend" ><i class="el-icon-user"></i>帐户名称</template>
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-input v-model="umb_queryInfo.btype"
|
|
|
size="medium"
|
|
|
placeholder="消息大类" clearable>
|
|
|
<template slot="prepend"><i class="el-icon-s-platform"></i>消息大类</template>
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-input v-model="umb_queryInfo.stype"
|
|
|
size="medium"
|
|
|
placeholder="消息子类" clearable>
|
|
|
<template slot="prepend"><i class="el-icon-s-operation"></i>消息子类</template>
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-button type="warning" size="medium" icon="el-icon-search" @click="queryRouterList">
|
|
|
查询
|
|
|
</el-button>
|
|
|
<el-button type="primary" size="medium" icon="el-icon-plus" @click="dialogFormVisible = true">
|
|
|
添加
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-table
|
|
|
:data="umb_queryData.tableData"
|
|
|
border
|
|
|
:header-cell-style="{background:'#6F8294',color:'#FFFFFF'}"
|
|
|
style="width: 100%">
|
|
|
<el-table-column
|
|
|
prop="sndr"
|
|
|
label="帐户名称"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="btype"
|
|
|
label="消息大类"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="stype"
|
|
|
label="消息子类"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="rcvr_topic"
|
|
|
label="订阅主题"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<div v-for="reciver in scope.row.rcvrList">
|
|
|
{{reciver.rcvrTopic}}<!--,{{reciver.filterList.filter}}-->
|
|
|
<!-- <div v-for="filters in reciver.filterList">{{filters.filter}}</div>-->
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="filter"
|
|
|
label="过滤规则"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<div v-for="reciver in scope.row.rcvrList">
|
|
|
<!-- {{reciver.rcvrTopic}},{{reciver.filterList.filter}}-->
|
|
|
<div v-for="filters in reciver.filterList">{{reciver.rcvrTopic}}:[{{filters.filter}}]</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="145px" align="center" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button type="danger" size="mini" @click="delRouter(scope.$index,scope.row)">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<div class="block">
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
|
@current-change="handleCurrentChange"
|
|
|
:current-page="umb_queryInfo.pageNum"
|
|
|
:page-sizes="[100, 200, 300, 400]"
|
|
|
:page-size="umb_queryInfo.pageSize"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
:total="umb_queryData.total">
|
|
|
</el-pagination>
|
|
|
</div>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-dialog title="路由消息添加" :visible.sync="dialogFormVisible">
|
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
|
|
|
<el-form-item label="账户名称" prop="sndr">
|
|
|
<el-input v-model="ruleForm.sndr"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="消息大类" prop="btype">
|
|
|
<el-input v-model="ruleForm.btype"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="消息子类" prop="stype">
|
|
|
<el-input v-model="ruleForm.stype"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="订阅主题">
|
|
|
<el-input v-model="ruleForm.reciver.rcvrTopic"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="过滤规则">
|
|
|
<el-input v-model="ruleForm.reciver.reciverFilter.filter"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
|
<el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</el-row>
|
|
|
</el-card>
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
</template>
|
|
|
<script>
|
|
|
import {queRouter, deleteRouter, addRouter} from "../../api/message_bus";
|
|
|
export default {
|
|
|
data(){
|
|
|
return{
|
|
|
dialogFormVisible:false,
|
|
|
ruleForm:{
|
|
|
sndr:undefined,
|
|
|
btype:undefined,
|
|
|
stype:undefined,
|
|
|
reciver:{
|
|
|
rcvrTopic:undefined,
|
|
|
reciverFilter:{
|
|
|
filter:undefined
|
|
|
}
|
|
|
},
|
|
|
|
|
|
|
|
|
},
|
|
|
rules: {
|
|
|
sndr: [
|
|
|
{ required: true, message: '请输入账户名称', trigger: 'blur' },
|
|
|
{ min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' }
|
|
|
],
|
|
|
btype: [
|
|
|
{ required: true, message: '请输入消息大类', trigger: 'blur' }
|
|
|
],
|
|
|
stype: [
|
|
|
{ required: true, message: '请输入消息子类', trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
user_cloud: {
|
|
|
cloudUserList: [],
|
|
|
queryInfo: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10000,
|
|
|
}
|
|
|
},
|
|
|
umb_queryInfo: {
|
|
|
// 用户名称
|
|
|
sndr: undefined,
|
|
|
// 消息大类
|
|
|
btype: undefined,
|
|
|
// 消息子类
|
|
|
stype: undefined,
|
|
|
// 当前页数
|
|
|
pageNum: 1,
|
|
|
// 每页条数
|
|
|
pageSize: 10
|
|
|
|
|
|
},
|
|
|
umb_queryData: {
|
|
|
tableData: [],
|
|
|
total:0
|
|
|
}
|
|
|
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
handleSizeChange(val) {
|
|
|
this.umb_queryInfo.pageSize=val;
|
|
|
this.queryRouterList();
|
|
|
},
|
|
|
handleCurrentChange(val) {
|
|
|
this.umb_queryInfo.pageNum=val;
|
|
|
this.queryRouterList();
|
|
|
},
|
|
|
queryRouterList(){
|
|
|
queRouter(this.umb_queryInfo).then((response) => {
|
|
|
let res = response.data;
|
|
|
this.umb_queryData.tableData=res.data.list;
|
|
|
this.umb_queryData.total=res.data.total;
|
|
|
}).catch(error => {
|
|
|
|
|
|
});
|
|
|
},
|
|
|
delRouter(index,row){
|
|
|
// 弹框询问是否删除?
|
|
|
this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {
|
|
|
confirmButtonText: '确定删除',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning'
|
|
|
}
|
|
|
).then(() => {
|
|
|
deleteRouter({id:row.id}).then((response) => {
|
|
|
let res = response.data;
|
|
|
this.$message.success(res.msg);
|
|
|
this.queryRouterList();
|
|
|
}).catch(error => {
|
|
|
this.$message.error(res.msg);
|
|
|
});
|
|
|
}).catch(() => {
|
|
|
});
|
|
|
},
|
|
|
submitForm(formName){
|
|
|
this.$refs[formName].validate((valid) => {
|
|
|
if (valid) {
|
|
|
addRouter(this.ruleForm).then((response) => {
|
|
|
let res = response.data;
|
|
|
this.dialogFormVisible=false;
|
|
|
this.$message.success(res.msg);
|
|
|
this.queryRouterList();
|
|
|
}).catch(error => {
|
|
|
this.$message.error(res.msg);
|
|
|
});
|
|
|
} else {
|
|
|
console.log('error submit!!');
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script> |
...
|
...
|
|