作者 小范

队列管理、路由配置、路由过滤器管理功能完善

... ... @@ -145,5 +145,9 @@ export const api_batchAddRouter = params =>{return http.post(`${baseUrl}/router/
export const loadRouterBySndr = params =>{return http.get(`${baseUrl}/router/searchBysndr`, params);};
//路由接收者过滤器添加
export const api_addReceiverFileter = params =>{return http.post(`${baseUrl}/filter/`, params);};
export const api_getReceiverFileter = params =>{return http.getJson(`${baseUrl}/filter/`, params);};
export const api_addReceiverFileter = params =>{return http.post(`${baseUrl}/filter`, params);};
export const api_getReceiverFileter = params =>{return http.get(`${baseUrl}/filter`, params);};
export const api_putReceiverFileter = params =>{return http.put(`${baseUrl}/filter`, params);};
export const api_delReceiverFileter = params =>{return http.del(`${baseUrl}/filter`, params);};
... ...
... ... @@ -33,11 +33,13 @@
<!-- slot="append">-->
<!-- </el-cascader>-->
<!-- </el-col>-->
<el-col :span="5">
<el-col :span="4">
<el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="queue_getListSub">
查询队列
</el-button>
<el-button type="primary" style="width:150px" size="medium" icon="el-icon-plus" @click="queue_toAddDialog">
</el-col>
<el-col :span="3">
<el-button type="primary" style="width:150px;" size="medium" icon="el-icon-plus" @click="queue_toAddDialog">
添加队列
</el-button>
</el-col>
... ... @@ -61,7 +63,14 @@
<el-table-column label="分区数量" prop="partitionCount" align="center"
width="200"></el-table-column>
<el-table-column label="消费者组" prop="consumerGroupName" align="center"
width="200"></el-table-column>
width="200">
<template slot-scope="scope">
<div v-for="reciver in scope.row.consumerList">
<!-- {{reciver.rcvrTopic}},{{reciver.filterList.filter}}-->
{{reciver.name}}
</div>
</template>
</el-table-column>
<el-table-column label="相关描述" prop="description" align="center" width="200"></el-table-column>
<!-- <el-table-column label="是否持久化" prop="durability" align="center" width="145">-->
<!-- <template slot-scope="scope">-->
... ... @@ -425,6 +434,7 @@
this.queue_loading.listLoading = true;
selectBusQueueList(this.queue_queryInfo).then((response) => {
let res = response.data;
console.log(res)
if (res.code !== '200') {
// 关闭加载
this.queue_loading.listLoading = false;
... ...
... ... @@ -111,7 +111,7 @@
</div>
</el-row>
<el-row>
<el-dialog title="路由消息添加" :visible.sync="dialogFormVisible" width="50%" style="margin-top: -20px" text-align="center">
<el-dialog title="路由消息添加" :visible.sync="dialogFormVisible" width="70%" style="margin-top: -20px" text-align="center">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="145px"
class="demo-ruleForm" style="margin-top: -10px ;margin-left: -150px" align="center" >
<el-form-item label="" prop="sndr">
... ... @@ -139,6 +139,68 @@
</el-dialog>
</el-row>
<el-row>
<el-dialog title="增加过滤规则" :visible.sync="dialogFilterVisible" width="40%" style="margin-top: 100px">
<!-- <RouterFilter v-bind:propRouterReceiveId="selectReceiverId"> </RouterFilter>-->
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px"
:model="queue_addForm" :rules="queue_addFormRules" ref="queue_addFormRef" align="center">
<el-form-item label="过滤规则" prop="filter">
<el-input v-model="queue_addForm.filter" style="width:250px" size="small" clearable
placeholder="请输入过滤规则">
</el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queue_addForm.status" style="width:250px" size="small" clearable
placeholder="请选择状态">
<el-option label="true" value="true"></el-option>
<el-option label="false" value="false"></el-option>
</el-select>
</el-form-item>
<el-form-item label="规则类型" prop="type">
<el-input v-model="queue_addForm.type" style="width:250px" size="small" clearable
placeholder="请输入规则类型" disabled></el-input>
</el-form-item>
<el-form-item label="订阅者ID" prop="messageRouterReciverId">
<el-input v-model="queue_addForm.messageRouterReciverId" style="width:250px" size="small" clearable
placeholder="请输入用户ID" disabled></el-input>
</el-form-item>
<!-- <el-form-item label="状态" prop="status" style="margin-left: -60px">-->
<!-- <el-select v-model="queue_addForm.status" style="width:250px" size="small" clearable-->
<!-- placeholder="请选择状态">-->
<!-- <el-option label="true" ></el-option>-->
<!-- <el-option label="false"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="filter">-->
<!-- <el-input v-model="queue_addForm.filter" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入过滤规则">-->
<!-- <template slot="prepend" >过滤规则</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="type">-->
<!-- <el-input v-model="queue_addForm.type" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入规则类型" disabled>-->
<!-- <template slot="prepend" >规则类型</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="messageRouterReciverId">-->
<!-- <el-input v-model="queue_addForm.messageRouterReciverId" style="width:300px" size="small" clearable-->
<!-- placeholder="订阅者ID" disabled>-->
<!-- <template slot="prepend" >订阅者ID</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -20px">
<el-button type="info" @click="dialogFilterVisible = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消
</el-button>
<el-button type="primary" @click="queue_add()"
size="medium" style="width: 100px">提交
</el-button>
</div>
</el-dialog>
</el-row>
</el-card>
</el-main>
</el-container>
... ... @@ -146,11 +208,61 @@
<script>
import {queRouter, deleteRouter, addRouter,api_addReceiverFileter} from "../../api/message_bus";
import Queue from "@/views/bus/Queue";
import RouterFilter from "@/views/bus/RouterReceiverFilter";
export default {
components: { Queue },
components: { Queue,RouterFilter },
data(){
return{
/**
* queue,新增表单
*/
queue_addForm: {
filter: '',
messageRouterReciverId: '',
type: 'REGULAR',
status:'true'
},
/**
* queue,添加表单,验证规则
*/
queue_addFormRules: {
// 队列名称
filter: [
{required: true, message: '请输入过滤规则', trigger: ['blur', 'change']},
],
// 用户名称
type: [
{required: true, message: '请输入规则类型', trigger: ['blur', 'change']},
],
// 所属虚拟机id
messageRouterReciverId: [
{required: true, message: '请输入订阅者ID', trigger: ['blur', 'change']},
],
// // 所属虚拟机id
// virtualHostId: [
// {required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
// ],
// // 是否持久化,默认 true
// durability: [
// {required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
// ],
// // 是否自动删除,默认 false
// autoDelete: [
// {required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
// ],
// // 扩展参数,以JSON格式存储
// arguments: [
// {required: true, message: '扩展参数', trigger: ['blur', 'change']},
// ],
// // 相关描述
// description: [
// {required: true, message: '请输入相关描述', trigger: ['blur', 'change']},
// ],
},
selectReceiverId: '',
dialogFormVisible:false,
dialogFilterVisible:false,
ruleForm:{
sndr:undefined,
btype:undefined,
... ... @@ -223,6 +335,7 @@
queryRouterList(){
queRouter(this.umb_queryInfo).then((response) => {
let res = response.data;
console.log(res)
this.umb_queryData.tableData=res.data.list;
this.umb_queryData.total=res.data.total;
}).catch(error => {
... ... @@ -280,7 +393,47 @@
addReceiverFileter:function (receiverId) {
let _this = this;
_this.receiverFilterForm.messageRouterReciverId = receiverId;
},
//打开增加过滤
addReceiverFiletery(id){
this.dialogFilterVisible = true;
console.log(id)
this.queue_addForm.messageRouterReciverId = id;
},
//提交增加过滤
queue_add() {
// 进行表单的预验证
this.$refs.queue_addFormRef.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
// 通过,表单预检验,开启加载
// this.queue_loading.addLoading = true;
api_addReceiverFileter(this.queue_addForm).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
// 关闭加载
// this.queue_loading.addLoading = false;
return this.$message.error(res.msg);
}
// 添加,成功
this.$message.success(res.msg);
// 关闭加载
// this.queue_loading.addLoading = false;
// 隐藏对话框
// this.queue_dialog.addDialog = false;
this.dialogFilterVisible = false;
// 刷新列表
this.queryRouterList();
}).catch(error => {
// 关闭加载
// this.queue_loading.addLoading = false;
this.$message.error(error.toString());
});
})
},
}
}
</script>
... ...
... ... @@ -8,17 +8,17 @@
<el-col :span="7">
<el-input v-model="queue_queryInfo.filter"
size="medium"
placeholder="过滤器内容" clearable>
<template slot="prepend" ><i class="el-icon-notebook-2"></i>过滤器内容</template>
placeholder="过滤规则内容" clearable>
<template slot="prepend" ><i class="el-icon-notebook-2"></i>过滤规则内容</template>
</el-input>
</el-col>
<el-col :span="8">
<el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="queue_getListSub">
查询
</el-button>
<el-button type="primary" style="width:150px" size="medium" icon="el-icon-plus" @click="queue_toAddDialog">
添加
</el-button>
<!-- <el-button type="primary" style="width:150px" size="medium" icon="el-icon-plus" @click="queue_toAddDialog">-->
<!-- 添加-->
<!-- </el-button>-->
</el-col>
</el-row>
</div>
... ... @@ -33,26 +33,26 @@
style="border-radius: 10px 10px 0px 0px;line-height: 25px;">
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column type="index" align="center" width="55" ></el-table-column>
<el-table-column label="过滤规则" prop="queueName" align="center"
<el-table-column label="过滤规则" prop="filter" align="center"
width="200"></el-table-column>
<el-table-column label="规则类型" prop="username" align="center"
<el-table-column label="规则类型" prop="type" align="center"
width="200"></el-table-column>
<el-table-column label="状态" prop="partitionCount" align="center"
<el-table-column label="状态" prop="status" align="center"
width="200"></el-table-column>
<el-table-column label="相关描述" prop="description" align="center" width="200"></el-table-column>
<!-- <el-table-column label="相关描述" prop="description" align="center" width="200"></el-table-column>-->
<!-- <el-table-column label="是否持久化" prop="durability" align="center" width="145">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.durability ===false">否</span>-->
<!-- <span v-if="scope.row.durability ===true">是</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="创建时间" prop="gmtCreate" align="center" width="200">
<el-table-column label="创建时间" prop="creatTime" align="center" width="200">
</el-table-column>
<!-- <el-table-column label="扩展参数" prop="arguments" align="center" width="200">-->
<!-- </el-table-column>-->
<!-- fixed="right" -->
<el-table-column label="操作" width="220" align="center" fixed="right">
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<!-- 编辑按钮-->
<el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
... ... @@ -78,17 +78,17 @@
<!--分页区域-->
<div style="margin-top: 10px">
<el-row :gutter="24">
<el-col :span="5">
<el-button type="danger" icon="el-icon-delete"
:loading="queue_loading.listLoading"
:disabled="this.queue_page.selectList.length===0"
@click="queue_batchRemove">批量删除
</el-button>
</el-col>
<!-- <el-col :span="5">-->
<!-- <el-button type="danger" icon="el-icon-delete"-->
<!-- :loading="queue_loading.listLoading"-->
<!-- :disabled="this.queue_page.selectList.length===0"-->
<!-- @click="queue_batchRemove">批量删除-->
<!-- </el-button>-->
<!-- </el-col>-->
<el-col :span="10" style="margin-top: 5px">
<el-pagination
@size-change="queue_handleSizeChange"
@current-change="queue_handleCurrentChange"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queue_queryInfo.pageNum"
:page-sizes="[10,20,30,50]"
:page-size="queue_queryInfo.pageSize"
... ... @@ -104,48 +104,67 @@
<div>
<el-dialog :title="dialogMap[dialogStatus]"
:visible.sync="queue_dialog.addDialog"
style="margin-top: -50px" text-align="center" width="60%"
style="margin-top: 150px" text-align="center" width="40%"
@close="queue_addDialogClosed">
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px"
:model="queue_addForm" :rules="queue_addFormRules" ref="queue_addFormRef" align="center">
<el-form-item label="" prop="queueName">
<el-input v-model="queue_addForm.queueName" style="width:300px" size="small" clearable
placeholder="请输入TOPIC名称">
<template slot="prepend" >TOPIC名称</template>
</el-input>
</el-form-item>
<el-form-item label="" prop="partitionCount">
<el-input v-model="queue_addForm.partitionCount" style="width:300px" size="small" clearable
placeholder="请输入TOPIC分区数量">
<template slot="prepend" >TOPIC分区数量</template>
<el-form-item label="过滤规则" prop="filter">
<el-input v-model="queue_addForm.filter" style="width:250px" size="small" clearable
placeholder="请输入过滤规则">
</el-input>
</el-form-item>
<el-form-item label="" prop="username">
<el-input v-model="queue_addForm.username" style="width:300px" size="small" clearable
placeholder="请输入用户名称">
<template slot="prepend" >用户名称</template>
</el-input>
<el-form-item label="状态" prop="status">
<el-select v-model="queue_addForm.status" style="width:250px" size="small" clearable
placeholder="请选择状态">
<el-option label="true" value="true"></el-option>
<el-option label="false" value="false"></el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="virtualHostId">
<el-input v-model="queue_addForm.consumerGroupName" style="width:300px" size="small" clearable
placeholder="请输入消费者组名称">
<template slot="prepend" >消费者组</template>
</el-input>
<el-form-item label="规则类型" prop="type">
<el-input v-model="queue_addForm.type" style="width:250px" size="small" clearable
placeholder="请输入规则类型"></el-input>
</el-form-item>
<el-form-item label="" prop="description">
<el-input v-model="queue_addForm.description" style="width:300px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
<el-form-item label="订阅者ID" prop="messageRouterReciverId">
<el-input v-model="queue_addForm.messageRouterReciverId" style="width:250px" size="small" clearable
placeholder="请输入用户ID"></el-input>
</el-form-item>
<!-- <el-form-item label="" prop="filter">-->
<!-- <el-input v-model="queue_addForm.filter" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入过滤规则">-->
<!-- <template slot="prepend" >过滤规则</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="type">-->
<!-- <el-input v-model="queue_addForm.type" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入规则类型">-->
<!-- <template slot="prepend" >规则类型</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="status">-->
<!-- <el-input v-model="queue_addForm.status" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入状态">-->
<!-- <template slot="prepend" >状态</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="messageRouterReciverId">-->
<!-- <el-input v-model="queue_addForm.messageRouterReciverId" style="width:300px" size="small" clearable-->
<!-- placeholder="请输入用户ID">-->
<!-- <template slot="prepend" >订阅者ID</template>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="" prop="description">-->
<!-- <el-input v-model="queue_addForm.description" style="width:300px" clearable size="small"-->
<!-- type="textarea" autosize :rows="1"-->
<!-- placeholder="相关描述">-->
<!-- </el-input>-->
<!-- </el-form-item>-->
</el-form>
<User
v-on:getUserMessageEvent="getUserInfo">
</User>
<div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -20px">
<el-button type="info" @click="queue_dialog.addDialog = false" size="medium"
style="width: 100px;background-color: #6F8294;color: #ffffff">取消
... ... @@ -168,39 +187,25 @@
updateBusQueue,
deleteBusQueue,
batchRemoveBusQueue,
getServerAndHostList, getUserInfoList,
api_addReceiverFileter,api_getReceiverFileter
getServerAndHostList,
getUserInfoList,
api_addReceiverFileter,
api_getReceiverFileter,
getTypesPage,
deleteMessage,
batchDelete,
updateMessage,
api_putReceiverFileter,
api_delReceiverFileter,
deleteRouter
} from "../../api/message_bus";
import User from "@/views/bus/dsly/user";
export default {
name: "Queue",
components: { User },
props:['propRouterReceiveId'],
data() {
return {
dialogMap: {
update: '编辑',
create: '新增',
},
dialogStatus: 'create',
/**
* queue,配置与参数
*/
queue_config: {
// 用户信息列表
userInfoList: [],
// 级联显示
cascade: {
// 服务器及虚拟主机列表
server_hostList: [],
defaultParams: {
label: 'aliasName',
value: 'id',
children: 'aliasList'
}
},
},
/**
* queue,搜索参数
*/
... ... @@ -222,30 +227,75 @@
// 批量删除,选中列表
selectList: [],
},
dialogMap: {
update: '编辑',
create: '新增',
},
dialogStatus: 'create',
/**
* queue,新增表单
*/
queue_addForm: {
filter: '',
messageRouterReciverId: '',
type: '',
status:'true',
id:''
},
/**
* queue,添加表单,验证规则
*/
queue_addFormRules: {
// 队列名称
queueName: '',
consumerGroupName: '',
partitionCount: 3,
queueType: 1,
filter: [
{required: true, message: '请输入过滤规则', trigger: ['blur', 'change']},
],
// 用户名称
username: '',
// 用户id(该字段抛弃)
userId: '',
type: [
{required: true, message: '请输入规则类型', trigger: ['blur', 'change']},
],
// 所属虚拟机id
virtualHostId: '',
// 是否持久化,默认 true
durability: '',
// 是否自动删除,默认 false
autoDelete: '',
// 扩展参数,以JSON格式存储
arguments: '',
// 相关描述
description: '',
messageRouterReciverId: [
{required: true, message: '请输入订阅者ID', trigger: ['blur', 'change']},
],
// // 是否持久化,默认 true
// durability: [
// {required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
// ],
// // 是否自动删除,默认 false
// autoDelete: [
// {required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
// ],
// // 扩展参数,以JSON格式存储
// arguments: [
// {required: true, message: '扩展参数', trigger: ['blur', 'change']},
// ],
// // 相关描述
// description: [
// {required: true, message: '请输入相关描述', trigger: ['blur', 'change']},
// ],
},
/**
* queue,配置与参数
*/
queue_config: {
// 用户信息列表
userInfoList: [],
// 级联显示
cascade: {
// 服务器及虚拟主机列表
server_hostList: [],
defaultParams: {
label: 'aliasName',
value: 'id',
children: 'aliasList'
}
},
},
/**
* queue,编辑表单
*/
... ... @@ -274,39 +324,7 @@
// 编辑对话框
editDialog: false,
},
/**
* queue,添加表单,验证规则
*/
queue_addFormRules: {
// 队列名称
queueName: [
{required: true, message: '请输入队列名称', trigger: ['blur', 'change']},
],
// 用户名称
username: [
{required: true, message: '请输入用户名称', trigger: ['blur', 'change']},
],
// // 所属虚拟机id
// virtualHostId: [
// {required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
// ],
// // 是否持久化,默认 true
// durability: [
// {required: true, message: '请选择是否持久化', trigger: ['blur', 'change']},
// ],
// // 是否自动删除,默认 false
// autoDelete: [
// {required: true, message: '请选择是否自动删除', trigger: ['blur', 'change']},
// ],
// // 扩展参数,以JSON格式存储
// arguments: [
// {required: true, message: '扩展参数', trigger: ['blur', 'change']},
// ],
// // 相关描述
// description: [
// {required: true, message: '请输入相关描述', trigger: ['blur', 'change']},
// ],
},
/**
* queue,编辑表单,验证规则
*/
... ... @@ -319,6 +337,10 @@
username: [
{required: true, message: '请输入用户名称', trigger: ['blur', 'change']},
],
// 所属虚拟机id
messageRouterReciverId: [
{required: true, message: '请输入订阅者ID', trigger: ['blur', 'change']},
],
// // 所属虚拟机id
// virtualHostId: [
// {required: true, message: '请选择所属虚拟机', trigger: ['blur', 'change']},
... ... @@ -356,102 +378,50 @@
}
},
methods: {
/**
* 从user获取选择的用户信息
*/
getUserInfo:function(userListInfo){
let userList = [];
userList = userListInfo;
if (userList.length>0){
let user = userList.pop();
this.queue_addForm.username = user.username;
this.queue_addForm.queueName = user.username;
this.queue_addForm.userId = user.userId;
this.queue_addForm.consumerGroupName = user.username+"Group";
}
},
/**
* 分页查询,监听 pageSize 改变的事件
*/
queue_handleSizeChange(newSize) {
handleSizeChange(newSize) {
this.queue_queryInfo.pageSize = newSize;
//刷新列表
this.queue_getList();
this.queue_getListSub();
},
/**
* 分页查询,监听 pageNum 改变的事件
*/
queue_handleCurrentChange(newPage) {
handleCurrentChange(newPage) {
this.queue_queryInfo.pageNum = newPage;
//刷新列表
this.queue_getList();
},
queue_getListSub(){
this.queue_queryInfo.pageNum= 1;
this.queue_getList();
},
/**
* queue,分页查询
*/
queue_getList() {
// 开启加载
this.queue_loading.listLoading = true;
this.queue_getListSub();
},
searchSubmit:function () {
this.queryInfo.pageNum = 1;
this.queryInfo.pageSize = 10;
this.queue_getListSub();
} ,
// 获取消息标签列表
queue_getListSub() {
let _this = this;
api_getReceiverFileter(this.queue_queryInfo).then((response) => {
let res = response.data;
if (res.code !== '200') {
// 关闭加载
this.queue_loading.listLoading = false;
return this.$message.error(res.msg);
return _this.$message.error('获取消息收发记录,失败!');
}
// 获取列表数据
this.queue_page.queueList = res.data.list;
_this.queue_page.queueList = res.data.list;
// 获取列表的总记录数
this.queue_page.total = res.data.total;
// 关闭加载
this.queue_loading.listLoading = false;
this.$message.success(res.msg);
_this.queue_page.total = res.data.total;
_this.$message.success('获取消息收发记录,成功!');
}).catch(error => {
// 关闭加载
this.queue_loading.listLoading = false;
this.$message.error(error.toString());
_this.$message.error(error.toString());
});
},
/**
* queue,添加对话框,打开事件
*/
// 添加对话框,打开事件
queue_toAddDialog() {
this.queue_addForm = {
// 队列名称
queueName: '',
consumerGroupName: '',
partitionCount: 3,
queueType: 1,
// 用户名称
username: '',
// 用户id(该字段抛弃)
userId: '',
// 所属虚拟机id
virtualHostId: '',
// 是否持久化,默认 true
durability: '',
// 是否自动删除,默认 false
autoDelete: '',
// 扩展参数,以JSON格式存储
arguments: '',
// 相关描述
description: '',
filter: '',
filterValue:'',
messageRouterReciverId: '',
type: '',
status:''
};
this.dialogStatus= 'create';
this.queue_dialog.addDialog = true;
},
/**
* queue,添加对话框,关闭事件
*/
queue_addDialogClosed() {
// 重置对话框
this.$refs.queue_addFormRef.resetFields();
},
/**
* queue,添加功能
*/
queue_add() {
... ... @@ -461,7 +431,7 @@
if (!valid) return;
// 通过,表单预检验,开启加载
this.queue_loading.addLoading = true;
insertBusQueue(this.queue_addForm).then((response) => {
api_addReceiverFileter(this.queue_addForm).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
... ... @@ -476,7 +446,7 @@
// 隐藏对话框
this.queue_dialog.addDialog = false;
// 刷新列表
this.queue_getList();
this.queue_getListSub();
}).catch(error => {
// 关闭加载
this.queue_loading.addLoading = false;
... ... @@ -484,22 +454,14 @@
});
})
},
/**
* queue,编辑对话框,打开事件
*/
// 编辑对话框,打开事件
queue_toEditDialog(index, row) {
this.queue_addForm = Object.assign({}, row);
console.log(row)
this.queue_dialog.addDialog = true;
this.queue_addForm = Object.assign({}, row);
this.dialogStatus= 'update';
},
/**
* queue,编辑对话框,关闭事件
*/
queue_editDialogClosed() {
//重置对话框
this.$refs.queue_editFormRef.resetFields();
},
/**
* queue,编辑功能
*/
queue_edit() {
... ... @@ -509,7 +471,7 @@
if (!valid) return;
// 通过,表单预检验,开启加载
this.queue_loading.editLoading = true;
updateBusQueue(this.queue_addForm).then((response) => {
api_putReceiverFileter(this.queue_addForm).then((response) => {
let res = response.data;
if (res.code !== '200') {
//关闭加载
... ... @@ -522,7 +484,7 @@
// 隐藏对话框
this.queue_dialog.addDialog = false;
// 刷新列表
this.queue_getList();
this.queue_getListSub();
}).catch(error => {
// 关闭加载
this.queue_loading.addLoading = false;
... ... @@ -530,49 +492,32 @@
});
})
},
/**
* queue,删除功能
*/
queue_remove(index, row) {
// 删除
queue_remove(index,row){
// 弹框询问是否删除?
this.$confirm('此操作永久删除该队列信息, 是否继续?', '警告', {
this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {
confirmButtonText: '确定删除',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
// 开启加载
this.queue_loading.delLoading = true;
deleteBusQueue(row).then((response) => {
api_delReceiverFileter(row).then((response) => {
// console.log(row.id)
let res = response.data;
if (res.code !== '200') {
// 关闭加载
this.queue_loading.delLoading = false;
return this.$message.error(res.msg);
}
// 关闭加载
this.queue_loading.delLoading = false;
this.$message.success(res.msg);
// 刷新列表
this.queue_getList();
this.queue_getListSub();
}).catch(error => {
// 关闭加载
this.queue_loading.delLoading = false;
this.$message.error(error.toString());
this.$message.error(res.msg);
});
}).catch(() => {
});
},
/**
* queue,批量删除---选中
*/
// 批量删除---选中
queue_selectChange: function (selectList) {
this.$emit("getQueueListEvent",selectList);
this.queue_page.selectList = selectList;
},
/**
* queue,批量删除功能
*/
// 批量删除功能
queue_batchRemove() {
const ids = this.queue_page.selectList.map(item => item.id).toString();
this.$confirm('此操作将永久删除选中的队列信息, 是否继续?', '警告', {
... ... @@ -604,6 +549,208 @@
}).catch(() => {
});
},
// /**
// * queue,删除功能
// */
// queue_remove(index, row) {
// // 弹框询问是否删除?
// this.$confirm('此操作永久删除该队列信息, 是否继续?', '警告', {
// confirmButtonText: '确定删除',
// cancelButtonText: '取消',
// type: 'warning'
// }
// ).then(() => {
// // 开启加载
// this.queue_loading.delLoading = true;
// api_delReceiverFileter(row).then((response) => {
// let res = response.data;
// if (res.code !== '200') {
// // 关闭加载
// this.queue_loading.delLoading = false;
// return this.$message.error(res.msg);
// }
// // 关闭加载
// this.queue_loading.delLoading = false;
// this.$message.success(res.msg);
// // 刷新列表
// this.queue_getListSub();
// }).catch(error => {
// // 关闭加载
// this.queue_loading.delLoading = false;
// this.$message.error(error.toString());
// });
// }).catch(() => {
// });
// },
// /**
// * queue,批量删除---选中
// */
// queue_selectChange: function (selectList) {
// this.$emit("getQueueListEvent",selectList);
// this.queue_page.selectList = selectList;
// },
/**
* 从user获取选择的用户信息
*/
getUserInfo:function(userListInfo){
let userList = [];
userList = userListInfo;
if (userList.length>0){
let user = userList.pop();
this.queue_addForm.username = user.username;
this.queue_addForm.queueName = user.username;
this.queue_addForm.userId = user.userId;
this.queue_addForm.consumerGroupName = user.username+"Group";
}
},
// /**
// * 分页查询,监听 pageSize 改变的事件
// */
// queue_handleSizeChange(newSize) {
// this.queue_queryInfo.pageSize = newSize;
// //刷新列表
// this.queue_getList();
// },
// /**
// * 分页查询,监听 pageNum 改变的事件
// */
// queue_handleCurrentChange(newPage) {
// this.queue_queryInfo.pageNum = newPage;
// //刷新列表
// this.queue_getList();
// },
// queue_getListSub(){
// this.queue_queryInfo.pageNum= 1;
// this.queue_getList();
// },
/**
* queue,分页查询
*/
queue_getList() {
// 开启加载
this.queue_loading.listLoading = true;
api_getReceiverFileter(this.queue_queryInfo).then((response) => {
let res = response.data;
if (res.code !== '200') {
// 关闭加载
this.queue_loading.listLoading = false;
return this.$message.error(res.msg);
}
// 获取列表数据
this.queue_page.queueList = res.data.list;
// 获取列表的总记录数
this.queue_page.total = res.data.total;
// 关闭加载
this.queue_loading.listLoading = false;
this.$message.success(res.msg);
}).catch(error => {
// 关闭加载
this.queue_loading.listLoading = false;
this.$message.error(error.toString());
});
},
/**
* queue,添加对话框,关闭事件
*/
queue_addDialogClosed() {
// 重置对话框
this.$refs.queue_addFormRef.resetFields();
},
// /**
// * queue,添加功能
// */
// queue_add() {
// // 进行表单的预验证
// this.$refs.queue_addFormRef.validate(valid => {
// // 未通过,表单预校验
// if (!valid) return;
// // 通过,表单预检验,开启加载
// this.queue_loading.addLoading = true;
// insertBusQueue(this.queue_addForm).then((response) => {
// let res = response.data;
// // 添加失败
// if (res.code !== '200') {
// // 关闭加载
// this.queue_loading.addLoading = false;
// return this.$message.error(res.msg);
// }
// // 添加,成功
// this.$message.success(res.msg);
// // 关闭加载
// this.queue_loading.addLoading = false;
// // 隐藏对话框
// this.queue_dialog.addDialog = false;
// // 刷新列表
// this.queue_getList();
// }).catch(error => {
// // 关闭加载
// this.queue_loading.addLoading = false;
// this.$message.error(error.toString());
// });
// })
// },
// /**
// * queue,编辑对话框,打开事件
// */
// queue_toEditDialog(index, row) {
// this.queue_addForm = Object.assign({}, row);
// this.queue_dialog.addDialog = true;
// this.dialogStatus= 'update';
// },
/**
* queue,编辑对话框,关闭事件
*/
queue_editDialogClosed() {
//重置对话框
this.$refs.queue_editFormRef.resetFields();
},
// /**
// * queue,删除功能
// */
// queue_remove(index, row) {
// // 弹框询问是否删除?
// this.$confirm('此操作永久删除该队列信息, 是否继续?', '警告', {
// confirmButtonText: '确定删除',
// cancelButtonText: '取消',
// type: 'warning'
// }
// ).then(() => {
// // 开启加载
// this.queue_loading.delLoading = true;
// deleteBusQueue(row).then((response) => {
// let res = response.data;
// if (res.code !== '200') {
// // 关闭加载
// this.queue_loading.delLoading = false;
// return this.$message.error(res.msg);
// }
// // 关闭加载
// this.queue_loading.delLoading = false;
// this.$message.success(res.msg);
// // 刷新列表
// this.queue_getList();
// }).catch(error => {
// // 关闭加载
// this.queue_loading.delLoading = false;
// this.$message.error(error.toString());
// });
// }).catch(() => {
// });
// },
/**
* 服务器与虚拟主机 1:n
* 获取列表
... ...