作者 王勇

编辑方法,不可修改项添加disable

... ... @@ -100,3 +100,5 @@ export const getServerAndHostAndExchangeList = params =>{return http.get(`${base
export const getDeleteTime = params =>{return http.get(`${baseUrl}/scheduling/get`, params);};
export const setDeleteTime = params =>{return http.get(`${baseUrl}/scheduling/set`, params);};
// 用户信息,获取用户信息列表
export const getUserInfoList = params =>{return http.get(`${baseUrl}/user/userList`, params);};
... ...
... ... @@ -12,7 +12,7 @@
</el-col>
<el-col :span="4">
<el-cascader
size="medium"
size="medium" filterable
v-model="exchange_queryInfo.virtualHostId"
:options="exchange_config.cascade.server_hostList"
:show-all-levels="false"
... ... @@ -130,14 +130,16 @@
</el-form-item>
<el-form-item label="所属虚拟主机:" prop="virtualHostId">
<el-cascader
clearable style="width: 240px" size="small"
clearable filterable
style="width: 240px" size="small"
v-model="exchange_addForm.virtualHostId"
@change="cascadeAddChange"
:options="exchange_config.cascade.server_hostList"
:show-all-levels="false"
:change-on-select="false"
:props="exchange_config.cascade.defaultParams"
placeholder="请选择所属虚拟主机"></el-cascader>
placeholder="请选择所属虚拟主机">
</el-cascader>
</el-form-item>
<el-form-item label="交换机类型:" prop="exchangeType">
<el-select v-model="exchange_addForm.exchangeType" style="width: 240px" clearable
... ... @@ -186,11 +188,13 @@
</el-form-item>
<el-form-item label="扩展参数:" prop="arguments">
<el-input v-model="exchange_addForm.arguments" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="扩展参数(JSON格式)">
</el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="exchange_addForm.description" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ... @@ -221,7 +225,8 @@
</el-form-item>
<el-form-item label="所属虚拟主机:" prop="virtualHostId">
<el-cascader
disabled clearable style="width: 240px" size="small"
disabled filterable
clearable style="width: 240px" size="small"
v-model="exchange_editForm.virtualHostId"
@change="cascadeEditChange"
:options="exchange_config.cascade.server_hostList"
... ... @@ -267,7 +272,8 @@
</el-select>
</el-form-item>
<el-form-item label="是否仅内部使用:" prop="internal">
<el-select v-model="exchange_editForm.internal" style="width: 240px" disabled clearable size="small"
<el-select v-model="exchange_editForm.internal" style="width: 240px" disabled clearable
size="small"
placeholder="是否仅内部使用">
<el-option
v-for="item in booleanList"
... ... @@ -278,12 +284,14 @@
</el-select>
</el-form-item>
<el-form-item label="扩展参数:" prop="arguments">
<el-input v-model="exchange_editForm.arguments" style="width:240px" disabled clearable size="small"
<el-input v-model="exchange_editForm.arguments" style="width:240px" disabled clearable
size="small" type="textarea" autosize :rows="1"
placeholder="扩展参数(JSON格式)">
</el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="exchange_editForm.description" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ...
... ... @@ -10,6 +10,25 @@
size="medium"
placeholder="队列名称" clearable></el-input>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-select v-model="queue_queryInfo.username" prefix-icon="el-icon-search" clearable-->
<!-- size="medium" filterable remote-->
<!-- placeholder="请选择用户">-->
<!-- <el-option-->
<!-- v-for="item in (queue_config.userInfoList)"-->
<!-- :key="item.id"-->
<!-- :label="item.username"-->
<!-- :value="item.username">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-col>-->
<el-col :span="4">
<el-input v-model="queue_queryInfo.username" prefix-icon="el-icon-search"
size="medium"
placeholder="所属用户" clearable></el-input>
</el-col>
<el-col :span="4">
<el-cascader
size="medium"
... ... @@ -24,10 +43,10 @@
</el-col>
<el-col :span="8">
<el-button type="success" style="width:150px" size="medium" @click="queue_getList">
查询交换机
查询队列
</el-button>
<el-button type="primary" style="width:150px" size="medium" @click="queue_toAddDialog">
添加交换机
添加队列
</el-button>
</el-col>
</el-row>
... ... @@ -41,8 +60,11 @@
<el-table-column type="index" align="center"></el-table-column>
<el-table-column label="队列名称" prop="queueName" align="center"
width="220"></el-table-column>
<el-table-column label="所属用户" prop="username" align="center"
width="220"></el-table-column>
<el-table-column label="所属虚拟主机" prop="virtualHost.virtualHostName" align="center"
width="220"></el-table-column>
<el-table-column label="相关描述" prop="description" align="center" width="280"></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>
... ... @@ -55,9 +77,9 @@
<span v-if="scope.row.autoDelete ===true">是</span>
</template>
</el-table-column>
<el-table-column label="扩展参数" prop="arguments" align="center" width="200">
</el-table-column>
<el-table-column label="相关描述" prop="description" align="center" width="280"></el-table-column>
<!-- <el-table-column label="扩展参数" prop="arguments" align="center" width="200">-->
<!-- </el-table-column>-->
<!-- fixed="right" -->
<el-table-column label="操作" width="225px" align="center" fixed="right">
<template slot-scope="scope">
... ... @@ -111,13 +133,27 @@
style="margin-top: -50px" text-align="center" width="60%"
@close="queue_addDialogClosed">
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px" align="center"
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px;margin-left: 60px"
:model="queue_addForm" :rules="queue_addFormRules" ref="queue_addFormRef">
<el-form-item label="队列名称:" prop="queueName">
<el-input v-model="queue_addForm.queueName" style="width:240px" size="small" clearable
placeholder="请输入队列名称">
</el-input>
</el-form-item>
<el-form-item label="用户名称:" prop="userId">
<el-select v-model="queue_addForm.userId" clearable
style="width:240px" size="small" filterable
placeholder="请选择用户">
<el-option
v-for="item in (queue_config.userInfoList)"
:key="item.id"
:label="item.username"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属虚拟主机:" prop="virtualHostId">
<el-cascader
clearable style="width: 240px" size="small"
... ... @@ -154,11 +190,13 @@
</el-form-item>
<el-form-item label="扩展参数:" prop="arguments">
<el-input v-model="queue_addForm.arguments" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="扩展参数(JSON格式)">
</el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="queue_addForm.description" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ... @@ -177,9 +215,9 @@
<div>
<el-dialog title="编辑队列信息"
:visible.sync="queue_dialog.editDialog"
style="margin-top: -50px" text-align="center" width="50%"
style="margin-top: -50px" text-align="center" width="60%"
@close="queue_editDialogClosed">
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px" align="center"
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -10px;margin-left: 60px"
:model="queue_editForm" :rules="queue_editFormRules" ref="queue_editFormRef">
<el-form-item label="队列名称:" prop="queueName">
<el-input v-model="queue_editForm.queueName" style="width:240px" size="small" clearable
... ... @@ -187,6 +225,20 @@
placeholder="请输入队列名称">
</el-input>
</el-form-item>
<el-form-item label="用户名称:" prop="userId">
<el-select v-model="queue_editForm.userId" clearable disabled
style="width:240px" size="small" filterable
placeholder="请选择用户">
<el-option
v-for="item in (queue_config.userInfoList)"
:key="item.id"
:label="item.username"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属虚拟主机:" prop="virtualHostId">
<el-cascader
disabled clearable style="width: 240px" size="small"
... ... @@ -200,7 +252,8 @@
</el-form-item>
<el-form-item label="是否持久化:" prop="durability">
<el-select v-model="queue_editForm.durability" style="width: 240px" disabled clearable size="small"
<el-select v-model="queue_editForm.durability" style="width: 240px" disabled clearable
size="small"
placeholder="请选择是否持久化">
<el-option
v-for="item in booleanList"
... ... @@ -211,7 +264,8 @@
</el-select>
</el-form-item>
<el-form-item label="是否自动删除:" prop="autoDelete">
<el-select v-model="queue_editForm.autoDelete" style="width: 240px" disabled clearable size="small"
<el-select v-model="queue_editForm.autoDelete" style="width: 240px" disabled clearable
size="small"
placeholder="请选择是否自动删除">
<el-option
v-for="item in booleanList"
... ... @@ -222,12 +276,14 @@
</el-select>
</el-form-item>
<el-form-item label="扩展参数:" prop="arguments">
<el-input v-model="queue_editForm.arguments" style="width:240px" disabled clearable size="small"
<el-input v-model="queue_editForm.arguments" style="width:240px" disabled clearable
size="small" type="textarea" autosize :rows="1"
placeholder="扩展参数(JSON格式)">
</el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="queue_editForm.description" style="width:240px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ... @@ -254,7 +310,7 @@
updateBusQueue,
deleteBusQueue,
batchRemoveBusQueue,
getServerAndHostList,
getServerAndHostList, getUserInfoList,
} from "../../api/message_bus";
export default {
... ... @@ -266,6 +322,8 @@
* queue,配置与参数
*/
queue_config: {
// 用户信息列表
userInfoList: [],
// 级联显示
cascade: {
// 服务器及虚拟主机列表
... ... @@ -281,6 +339,8 @@
* queue,搜索参数
*/
queue_queryInfo: {
// 所属用户
username: '',
// 队列名称
queueName: '',
// 所属虚拟机id
... ... @@ -307,6 +367,8 @@
queue_addForm: {
// 队列名称
queueName: '',
// 用户id
userId: '',
// 所属虚拟机id
virtualHostId: '',
// 是否持久化,默认 true
... ... @@ -687,6 +749,21 @@
let ids = value.join().split(",");
this.queue_editForm.virtualHostId = ids[ids.length - 1];
},
/**
* 获取所有用户的信息
*/
queue_getUserInfoList() {
getUserInfoList().then((response) => {
let res = response.data;
if (res.code !== '200') {
return this.$message.error('获取路由键列表,失败!');
}
// 获取列表数据
this.queue_config.userInfoList = res.data;
}).catch(error => {
this.$message.error(error.toString());
});
},
},
created() {
if (this.$route.params.virtualHost_scopeRow !== undefined) {
... ... @@ -701,6 +778,7 @@
},
mounted() {
this.selectServerAndHostList();
this.queue_getUserInfoList();
},
computed: {},
}
... ...
... ... @@ -13,12 +13,11 @@
<el-col :span="4">
<el-cascader
size="medium"
size="medium" filterable clearable
v-model="routingKey_queryInfo.exchangeId"
:options="routingKey_config.cascade.server_host_exchangeList"
:show-all-levels="false"
:change-on-select="false"
clearable
@change="cascadeQueryChange"
:props="routingKey_config.cascade.defaultParams"
placeholder="请选择所属交换机"></el-cascader>
... ... @@ -102,12 +101,13 @@
:model="routingKey_addForm" :rules="routingKey_addFormRules" ref="routingKey_addFormRef">
<el-form-item label="路由键名称:" prop="routingKeyName">
<el-input v-model="routingKey_addForm.routingKeyName" placeholder="请输入路由键名称"
style="width:240px" size="small" clearable>
style="width:270px" size="small" clearable>
</el-input>
</el-form-item>
<el-form-item label="所属交换机:" prop="exchangeId">
<el-cascader
style="width:240px" size="small" clearable
style="width:270px" size="small"
filterable clearable
v-model="routingKey_addForm.exchangeId"
:options="routingKey_config.cascade.server_host_exchangeList"
:show-all-levels="false"
... ... @@ -117,8 +117,8 @@
placeholder="请选择所属交换机"></el-cascader>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="routingKey_addForm.description" style="width:240px" clearable
size="small"
<el-input v-model="routingKey_addForm.description" style="width:270px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ... @@ -144,12 +144,13 @@
ref="routingKey_editFormRef">
<el-form-item label="路由键名称:" prop="routingKeyName">
<el-input v-model="routingKey_editForm.routingKeyName" placeholder="请输入路由键名称"
style="width:240px" size="small" disabled clearable>
style="width:270px" size="small" disabled clearable>
</el-input>
</el-form-item>
<el-form-item label="所属交换机:" prop="exchangeId">
<el-cascader
style="width:240px" size="small" clearable disabled
style="width:270px" size="small"
filterable clearable disabled
v-model="routingKey_editForm.exchangeId"
:options="routingKey_config.cascade.server_host_exchangeList"
:show-all-levels="false"
... ... @@ -159,8 +160,8 @@
placeholder="请选择所属交换机"></el-cascader>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="routingKey_editForm.description" style="width:240px" clearable
size="small"
<el-input v-model="routingKey_editForm.description" style="width:270px" clearable size="small"
type="textarea" autosize :rows="1"
placeholder="相关描述">
</el-input>
</el-form-item>
... ...
... ... @@ -7,7 +7,7 @@
<el-row>
<el-col :span="4">
<el-input v-model="queryInfo.serverName" prefix-icon="el-icon-search" size="medium"
placeholder="服务器名称" clearable ></el-input>
placeholder="服务器名称" clearable></el-input>
</el-col>
<el-col :span="8">
<el-button type="success" style="width:150px" size="medium" @click="getServerList">
... ... @@ -89,20 +89,21 @@
:rules="addServerFormRules" ref="addServerFormRef"
align="center">
<el-form-item label="服务器名称:" prop="serverName">
<el-input v-model="addServerForm.serverName" style="width:270px" clearable
<el-input v-model="addServerForm.serverName" style="width:270px" size="small" clearable
placeholder="请输入服务器名称"></el-input>
</el-form-item>
<el-form-item label="IP地址:" prop="serverIp">
<el-input v-model="addServerForm.serverIp" style="width:270px" clearable
<el-input v-model="addServerForm.serverIp" style="width:270px" size="small" clearable
placeholder="请输入服务器IP地址"></el-input>
</el-form-item>
<el-form-item label="端口号:" prop="serverPort">
<el-input v-model="addServerForm.serverPort" style="width:270px" clearable
<el-input v-model="addServerForm.serverPort" style="width:270px" size="small" clearable
placeholder="请输入服务器端口号"></el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="addServerForm.description" style="width:270px" clearable
placeholder="请输入相关描述"></el-input>
<el-input v-model="addServerForm.description" placeholder="请输入相关描述"
style="width:270px" size="small" clearable
type="textarea" autosize :rows="1"></el-input>
</el-form-item>
</el-form>
... ... @@ -128,25 +129,30 @@
:rules="editServerFormRules" ref="editServerFormRef"
align="center">
<el-form-item label="服务器名称:" prop="serverName">
<el-input v-model="editServerForm.serverName" style="width:270px" clearable readonly disabled
<el-input v-model="editServerForm.serverName" style="width:270px" size="small" clearable
readonly disabled
placeholder="请输入服务器名称"></el-input>
</el-form-item>
<el-form-item label="IP地址:" prop="serverIp">
<el-input v-model="editServerForm.serverIp" style="width:270px" clearable readonly disabled
<el-input v-model="editServerForm.serverIp" style="width:270px" size="small" clearable
readonly disabled
placeholder="请输入服务器IP地址"></el-input>
</el-form-item>
<el-form-item label="端口号:" prop="serverPort">
<el-input v-model="editServerForm.serverPort" style="width:270px" clearable readonly disabled
<el-input v-model="editServerForm.serverPort" style="width:270px" size="small" clearable
readonly disabled
placeholder="请输入服务器端口号"></el-input>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="editServerForm.description" style="width:270px" clearable
placeholder="请输入相关描述"></el-input>
<el-input v-model="editServerForm.description" placeholder="请输入相关描述"
style="width:270px" size="small" clearable
type="textarea" autosize :rows="1"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="info" @click="serverDialog.editDialog = false" size="medium" style="width: 100px">取消
<el-button type="info" @click="serverDialog.editDialog = false" size="medium"
style="width: 100px">取消
</el-button>
<el-button type="primary" @click="editServerInfo" :loading="server_loading.addLoading"
size="medium"
... ...
... ... @@ -6,6 +6,11 @@
<div>
<el-row>
<el-col :span="4">
<el-input v-model="umb_queryInfo.username" prefix-icon="el-icon-search"
size="medium"
placeholder="用户名称" clearable></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="umb_queryInfo.serverName" prefix-icon="el-icon-search"
size="medium"
placeholder="服务器名称" clearable></el-input>
... ... @@ -20,6 +25,8 @@
size="medium"
placeholder="交换机名称" clearable></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-input v-model="umb_queryInfo.queueName" prefix-icon="el-icon-search"
size="medium"
... ... @@ -30,18 +37,11 @@
size="medium"
placeholder="路由键名称" clearable></el-input>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-input v-model="umb_queryInfo.username" prefix-icon="el-icon-search"
size="medium"
placeholder="用户名称" clearable></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="umb_queryInfo.subscriber" prefix-icon="el-icon-search"
size="medium"
placeholder="订阅者名称" clearable></el-input>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-input v-model="umb_queryInfo.subscriber" prefix-icon="el-icon-search"-->
<!-- size="medium"-->
<!-- placeholder="订阅者名称" clearable></el-input>-->
<!-- </el-col>-->
<el-col :span="8">
<el-button type="success" style="width:150px" size="medium" @click="umb_getList">
查询配置信息
... ... @@ -60,7 +60,7 @@
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column type="index" align="center"></el-table-column>
<el-table-column label="用户名称" prop="username" align="center" width="220"></el-table-column>
<el-table-column label="订阅者名称" prop="subscriber" align="center" width="220"></el-table-column>
<!-- <el-table-column label="订阅者名称" prop="subscriber" align="center" width="220"></el-table-column>-->
<el-table-column label="服务器名称" prop="serverName" align="center"
width="220"></el-table-column>
<el-table-column label="虚拟主机名称" prop="virtualHostName" align="center"
... ... @@ -119,26 +119,37 @@
<div>
<el-dialog title="添加配置信息"
:visible.sync="umb_dialog.addDialog"
style="margin-top: -50px" text-align="center" width="58%"
v-loading="umb_loading.addLoading" element-loading-text="拼命添加配置中"
style="margin-top: -50px" text-align="center" width="60%"
@close="umb_addDialogClosed">
<el-form :inline="true" label-width="120px" status-icon style="margin-top: 0px" align="center"
<el-form :inline="true" label-width="120px" status-icon style="margin-top: -30px" align="center"
:model="umb_addForm" :rules="umb_addFormRules" ref="umb_addFormRef">
<el-form-item label="用户名称:" prop="username">
<el-input v-model="umb_addForm.username" style="width:240px" size="small" clearable
placeholder="请输入用户名称">
</el-input>
</el-form-item>
<el-form-item label="订阅者名称:" prop="subscriber">
<el-input v-model="umb_addForm.subscriber" style="width:240px" size="small" clearable
placeholder="请输入订阅者名称">
</el-input>
<el-form-item label="用户名称:" prop="userIds">
<el-select v-model="umb_addForm.userIds" prefix-icon="el-icon-search" clearable
@change="umb_userInfo_addChange"
style="width:400px" size="medium" filterable multiple
placeholder="请选择用户">
<el-option
v-for="item in (umb_config.userInfoList)"
:key="item.id"
:label="item.username"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="订阅者名称:" prop="subscriber">-->
<!-- <el-input v-model="umb_addForm.subscriber" style="width:240px" size="small" clearable-->
<!-- placeholder="请输入订阅者名称">-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<el-form-item label="服务器名称:" prop="serverId">
<el-select v-model="umb_addForm.serverId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
style="width:400px" size="medium" filterable
@change="umb_server_addChange"
placeholder="请选择所属服务器">
placeholder="请选择服务器">
<el-option
v-for="item in (umb_config.serverList)"
:key="item.id"
... ... @@ -150,10 +161,10 @@
<el-form-item label="虚拟主机名称:" prop="virtualHostId">
<el-select v-model="umb_addForm.virtualHostId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
style="width:400px" size="medium" filterable
@change="umb_virtualHost_addChange"
:disabled="umb_addForm.serverId===''"
placeholder="请选择虚拟主机名称">
:disabled="umb_addForm.serverId==='' || umb_addForm.userIds.length===0"
placeholder="请选择虚拟主机">
<el-option
v-for="item in (umb_config.virtualHostList)"
:key="item.id"
... ... @@ -163,12 +174,12 @@
</el-select>
</el-form-item>
<el-form-item label="交换机名称:" prop="exchangeId">
<el-select v-model="umb_addForm.exchangeId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
<el-form-item label="交换机名称:" prop="exchangeIds">
<el-select v-model="umb_addForm.exchangeIds" prefix-icon="el-icon-search" clearable
style="width:400px" size="medium" filterable multiple
@change="umb_exchange_addChange"
:disabled="umb_addForm.virtualHostId===''"
placeholder="请选择交换机名称">
placeholder="请选择交换机">
<el-option
v-for="item in (umb_config.exchangeList)"
:key="item.id"
... ... @@ -178,35 +189,37 @@
</el-select>
</el-form-item>
<el-form-item label="队列名称:" prop="queueId">
<el-select v-model="umb_addForm.queueId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
:disabled="umb_addForm.virtualHostId===''"
placeholder="请选择交换机名称">
<el-form-item label="路由键名称:" prop="routingKeyIds">
<el-select v-model="umb_addForm.routingKeyIds" prefix-icon="el-icon-search" clearable
style="width:400px" size="medium" filterable multiple
:disabled="umb_addForm.exchangeId===''"
placeholder="请选择路由键">
<el-option
v-for="item in (umb_config.queueList)"
v-for="item in (umb_config.routingKeyList)"
:key="item.id"
:label="item.queueName"
:label="item.routingKeyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="路由键名称:" prop="routingKeyId">
<el-select v-model="umb_addForm.routingKeyId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
:disabled="umb_addForm.exchangeId===''"
placeholder="请选择路由键名称">
<el-form-item label="订阅者队列:" prop="queueIds">
<el-select v-model="umb_addForm.queueIds" prefix-icon="el-icon-search" clearable
style="width:400px" size="medium" filterable multiple
:disabled="umb_addForm.virtualHostId==='' && umb_addForm.userIds.length===0"
placeholder="请选择订阅者队列">
<el-option
v-for="item in (umb_config.routingKeyList)"
v-for="item in (umb_config.queueList)"
:key="item.id"
:label="item.routingKeyName"
:label="item.queueName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="umb_addForm.description" style="width:240px" size="small" clearable
<el-input v-model="umb_addForm.description" style="width:400px" size="medium" clearable
type="textarea" autosize :rows="1"
placeholder="请输入相关描述">
</el-input>
</el-form-item>
... ... @@ -225,25 +238,25 @@
<div>
<el-dialog title="编辑配置信息"
:visible.sync="umb_dialog.editDialog"
style="margin-top: -50px" text-align="center" width="58%"
style="margin-top: -50px" text-align="center" width="50%"
@close="umb_editDialogClosed">
<el-form :inline="true" label-width="120px" status-icon style="margin-top: 0px" align="center"
<el-form :inline="true" label-width="120px" status-icon style="margin-left: 30px" align="center"
:model="umb_editForm" :rules="umb_editFormRules" ref="umb_editFormRef">
<el-form-item label="用户名称:" prop="username">
<el-input v-model="umb_editForm.username" style="width:240px" size="small" clearable
<el-input v-model="umb_editForm.username" style="width:300px" size="small" clearable disabled
placeholder="请输入用户名称">
</el-input>
</el-form-item>
<el-form-item label="订阅者名称:" prop="subscriber">
<el-input v-model="umb_editForm.subscriber" style="width:240px" size="small" clearable
placeholder="请输入订阅者名称">
</el-input>
</el-form-item>
<!-- <el-form-item label="订阅者名称:" prop="subscriber">-->
<!-- <el-input v-model="umb_editForm.subscriber" style="width:240px" size="small" clearable-->
<!-- placeholder="请输入订阅者名称">-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- @change="umb_server_editChange" -->
<el-form-item label="服务器名称:" prop="serverId">
<el-select v-model="umb_editForm.serverId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
@change="umb_server_editChange"
style="width:300px" size="small" filterable disabled
placeholder="请选择所属服务器">
<el-option
v-for="item in (umb_config.serverList)"
... ... @@ -254,11 +267,11 @@
</el-select>
</el-form-item>
<!-- :disabled="umb_editForm.serverId===''"-->
<el-form-item label="虚拟主机名称:" prop="virtualHostId">
<el-select v-model="umb_editForm.virtualHostId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
style="width:300px" size="small" filterable disabled
@change="umb_virtualHost_editChange"
:disabled="umb_editForm.serverId===''"
placeholder="请选择虚拟主机名称">
<el-option
v-for="item in (umb_config.virtualHostList)"
... ... @@ -269,11 +282,11 @@
</el-select>
</el-form-item>
<!-- :disabled="umb_editForm.virtualHostId===''" -->
<el-form-item label="交换机名称:" prop="exchangeId">
<el-select v-model="umb_editForm.exchangeId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
style="width:300px" size="small" filterable disabled
@change="umb_exchange_editChange"
:disabled="umb_editForm.virtualHostId===''"
placeholder="请选择交换机名称">
<el-option
v-for="item in (umb_config.exchangeList)"
... ... @@ -284,35 +297,37 @@
</el-select>
</el-form-item>
<el-form-item label="队列名称:" prop="queueId">
<el-select v-model="umb_editForm.queueId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
:disabled="umb_editForm.virtualHostId===''"
placeholder="请选择交换机名称">
<!-- :disabled="umb_editForm.exchangeId===''" -->
<el-form-item label="路由键名称:" prop="routingKeyId">
<el-select v-model="umb_editForm.routingKeyId" prefix-icon="el-icon-search" clearable
style="width:300px" size="small" filterable disabled
placeholder="请选择路由键名称">
<el-option
v-for="item in (umb_config.queueList)"
v-for="item in (umb_config.routingKeyList)"
:key="item.id"
:label="item.queueName"
:label="item.routingKeyName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="路由键名称:" prop="routingKeyId">
<el-select v-model="umb_editForm.routingKeyId" prefix-icon="el-icon-search" clearable
style="width:240px" size="small"
:disabled="umb_editForm.exchangeId===''"
placeholder="请选择路由键名称">
<!-- :disabled="umb_editForm.virtualHostId===''" -->
<el-form-item label="订阅者队列:" prop="queueIds">
<el-select v-model="umb_editForm.queueIds" prefix-icon="el-icon-search" clearable
style="width:300px" size="small" filterable multiple disabled
placeholder="请选择订阅者队列">
<el-option
v-for="item in (umb_config.routingKeyList)"
v-for="item in (umb_config.queueList)"
:key="item.id"
:label="item.routingKeyName"
:label="item.queueName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="umb_editForm.description" style="width:240px" size="small" clearable
<el-input v-model="umb_editForm.description" style="width:300px" size="small" clearable
type="textarea" autosize :rows="1" disabled
placeholder="请输入相关描述">
</el-input>
</el-form-item>
... ... @@ -321,7 +336,7 @@
<el-button type="info" @click="umb_dialog.editDialog = false" size="medium"
style="width: 100px">取消
</el-button>
<el-button type="primary" @click="umb_edit" :loading="umb_loading.addLoading"
<el-button type="primary" @click="umb_edit" :loading="umb_loading.addLoading" disabled
size="medium" style="width: 100px">编辑
</el-button>
</div>
... ... @@ -338,7 +353,8 @@
updateUserMessageBinding,
deleteUserMessageBinding,
batchRemoveUserMessageBinding,
getServerList, getHostList, getExchangeList, getQueueList, getRoutingKeyList
getServerList, getHostList, getExchangeList, getQueueList, getRoutingKeyList,
getUserInfoList
} from "../../api/message_bus";
export default {
... ... @@ -364,6 +380,8 @@
queueList: [],
// 路由键列表
routingKeyList: [],
// 用户信息列表
userInfoList: [],
},
/**
... ... @@ -404,10 +422,10 @@
* umb,新增表单
*/
umb_addForm: {
// 用户id
userId: '',
// 用户名称
username: '',
// 订阅者名称
subscriber: '',
// 服务器id
serverId: '',
// 虚拟主机id
... ... @@ -418,6 +436,14 @@
queueId: '',
// 路由键id
routingKeyId: '',
// 临时字段,队列id集合
queueIds: [],
// 临时字段,交换机id集合
exchangeIds: [],
// 临时字段,用户id集合
userIds: [],
// 临时字段,路由键id集合
routingKeyIds: [],
},
/**
* umb,编辑表单
... ... @@ -452,13 +478,13 @@
*/
umb_addFormRules: {
// 用户名称
username: [
userIds: [
{required: true, message: '请输入用户名称', trigger: ['blur', 'change']},
],
// 订阅者名称
subscriber: [
{required: true, message: '请输入订阅者名称', trigger: ['blur', 'change']},
],
// subscriber: [
// {required: true, message: '请输入订阅者名称', trigger: ['blur', 'change']},
// ],
// 服务器ID
serverId: [
{required: true, message: '请选择服务器名称', trigger: ['blur', 'change']},
... ... @@ -468,15 +494,15 @@
{required: true, message: '请选择虚拟主机名称', trigger: ['blur', 'change']},
],
// 交换机ID
exchangeId: [
exchangeIds: [
{required: true, message: '请选择交换机名称', trigger: ['blur', 'change']},
],
// 队列ID
queueId: [
queueIds: [
{required: true, message: '请选择队列名称', trigger: ['blur', 'change']},
],
// 路由键ID
routingKeyId: [
routingKeyIds: [
{required: true, message: '请选择路由键名称', trigger: ['blur', 'change']},
],
},
... ... @@ -588,6 +614,10 @@
* umb,添加功能
*/
umb_add() {
this.umb_addForm.queueId = this.umb_addForm.queueIds.join();
this.umb_addForm.userId = this.umb_addForm.userIds.join();
this.umb_addForm.exchangeId = this.umb_addForm.exchangeIds.join();
this.umb_addForm.routingKeyId = this.umb_addForm.routingKeyIds.join();
// 进行表单的预验证
this.$refs.umb_addFormRef.validate(valid => {
// 未通过,表单预校验
... ... @@ -633,6 +663,14 @@
this.selectExchangeList(row.virtualHostId)
this.selectRoutingKeyList(row.exchangeId)
this.umb_editForm = Object.assign({}, row);
this.umb_editForm.queueIds = [];
if (this.umb_editForm.queueId.indexOf(",") === -1) {
// 队列id中不包含","
this.umb_editForm.queueIds[0] = this.umb_editForm.queueId;
} else {
this.umb_editForm.queueIds = this.umb_editForm.queueId.split(",")
}
this.umb_dialog.editDialog = true;
},
/**
... ... @@ -805,8 +843,11 @@
/**
* 获取队列-列表
*/
selectQueueList(id) {
let params = {virtualHostId: id};
selectQueueList(id, userId) {
let params = {
virtualHostId: id,
userId: userId
};
getQueueList(params).then((response) => {
let res = response.data;
if (res.code !== '200') {
... ... @@ -839,40 +880,52 @@
* 添加方法,服务器ID值,改变
*/
umb_server_addChange(value) {
console.log("服务器ID值:" + value);
// 现将对应的虚拟主机的ID清空
this.umb_addForm.virtualHostId = undefined;
// 根据服务器ID,获取出对应的虚拟主机的列表
this.selectHostList(value);
},
umb_userInfo_addChange(value) {
// 根据虚拟主机id和用户id来查询,队列集合
this.selectQueueList(this.umb_addForm.virtualHostId, value.join());
},
/**
* 添加方法,虚拟主机ID值,改变
*/
umb_virtualHost_addChange(value) {
console.log("虚拟主机ID值:" + value);
// 先将对应的交换机和队列的ID清空
this.umb_addForm.exchangeId = undefined;
this.umb_addForm.queueId = undefined;
// 根据虚拟主机ID,获取出对应的交换机和队列的列表
this.selectExchangeList(value);
this.selectQueueList(value);
// 根据用户id和虚拟主机id来查询,队列集合
let userId = this.umb_addForm.userIds.join();
this.selectQueueList(value, userId);
},
/**
* 添加方法,交换机ID值,改变
*/
umb_exchange_addChange(value) {
console.log("交换机ID值:" + value);
// 先将对应的路由键的ID清空
this.umb_addForm.routingKeyId = undefined;
// 根据交换机ID,获取出对应的路由键的列表
this.selectRoutingKeyList(value);
this.selectRoutingKeyList(value.join());
},
// /**
// * 添加方法,队列ID值,改变
// */
// umb_queue_addChange(value) {
// // 将多选的queueID,用逗号相连接
// this.umb_addForm.queueId = value.join();
// },
/**
* 编辑方法,服务器ID值,改变
*/
umb_server_editChange(value) {
console.log("服务器ID值:" + value);
// 现将对应的虚拟主机的ID清空
this.umb_editForm.virtualHostId = undefined;
// 根据服务器ID,获取出对应的虚拟主机的列表
... ... @@ -882,7 +935,6 @@
* 编辑方法,虚拟主机ID值,改变
*/
umb_virtualHost_editChange(value) {
console.log("虚拟主机ID值:" + value);
// 先将对应的交换机和队列的ID清空
this.umb_editForm.exchangeId = undefined;
this.umb_editForm.queueId = undefined;
... ... @@ -895,12 +947,26 @@
* 编辑方法,交换机ID值,改变
*/
umb_exchange_editChange(value) {
console.log("交换机ID值:" + value);
// 先将对应的路由键的ID清空
this.umb_editForm.routingKeyId = undefined;
// 根据交换机ID,获取出对应的路由键的列表
this.selectRoutingKeyList(value);
},
/**
* 获取所有用户的信息
*/
umb_getUserInfoList() {
getUserInfoList().then((response) => {
let res = response.data;
if (res.code !== '200') {
return this.$message.error('获取路由键列表,失败!');
}
// 获取列表数据
this.umb_config.userInfoList = res.data;
}).catch(error => {
this.$message.error(error.toString());
});
},
},
created() {
// 刷新列表
... ... @@ -909,6 +975,8 @@
mounted() {
// 获取服务器列表
this.selectServerList();
// 获取用户信息列表
this.umb_getUserInfoList();
},
computed: {},
}
... ...
... ... @@ -10,8 +10,8 @@
placeholder="虚拟主机名称" clearable></el-input>
</el-col>
<el-col :span="4">
<el-select v-model="queryInfo.serverId" prefix-icon="el-icon-search" clearable size="medium"
placeholder="请选择所属服务器">
<el-select v-model="queryInfo.serverId" placeholder="请选择所属服务器"
prefix-icon="el-icon-search" clearable size="medium" filterable>
<el-option
v-for="item in (virtualHost_config.serverList)"
:key="item.id"
... ... @@ -112,12 +112,13 @@
:rules="addVirtualHostFormRules" ref="addVirtualHostRef"
align="center">
<el-form-item label="虚拟主机名称:" prop="virtualHostName">
<el-input v-model="addVirtualHostForm.virtualHostName" style="width:270px" clearable
<el-input v-model="addVirtualHostForm.virtualHostName" style="width:270px" size="small"
clearable
placeholder="请输入虚拟主机名称"></el-input>
</el-form-item>
<el-form-item label="所属服务器:" prop="serverId">
<el-select v-model="addVirtualHostForm.serverId" clearable style="width:270px"
placeholder="请选择服务器名称">
<el-select v-model="addVirtualHostForm.serverId" clearable style="width:270px" size="small"
filterable placeholder="请选择服务器名称">
<el-option
v-for="item in (virtualHost_config.serverList)"
:key="item.id"
... ... @@ -128,8 +129,9 @@
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="addVirtualHostForm.description" style="width:270px" clearable
placeholder="请输入相关描述"></el-input>
<el-input v-model="addVirtualHostForm.description" placeholder="请输入相关描述"
style="width:270px" clearable size="small"
type="textarea" autosize :rows="1"></el-input>
</el-form-item>
</el-form>
... ... @@ -155,12 +157,13 @@
:rules="editVirtualHostFormRules" ref="editVirtualHostRef"
align="center">
<el-form-item label="虚拟主机名称:" prop="virtualHostName">
<el-input v-model="editVirtualHostForm.virtualHostName" style="width:270px" clearable readonly disabled
<el-input v-model="editVirtualHostForm.virtualHostName" style="width:270px" clearable
readonly disabled size="small"
placeholder="请输入虚拟主机名称"></el-input>
</el-form-item>
<el-form-item label="所属服务器:" prop="serverId">
<el-select v-model="editVirtualHostForm.serverId" clearable disabled style="width:270px"
placeholder="请选择服务器名称">
<el-select v-model="editVirtualHostForm.serverId" placeholder="请选择服务器名称"
size="small" clearable disabled style="width:270px">
<el-option
v-for="item in (virtualHost_config.serverList)"
:key="item.id"
... ... @@ -171,8 +174,9 @@
</el-form-item>
<el-form-item label="相关描述:" prop="description">
<el-input v-model="editVirtualHostForm.description" style="width:270px" clearable
placeholder="请输入相关描述"></el-input>
<el-input v-model="editVirtualHostForm.description" placeholder="请输入相关描述"
style="width:270px" clearable size="small"
type="textarea" autosize :rows="1"/>
</el-form-item>
</el-form>
... ...