作者 王勇

添加用户的时候,同时添加对应的MQ用户信息

@@ -132,8 +132,8 @@ @@ -132,8 +132,8 @@
132 </el-dialog> 132 </el-dialog>
133 133
134 <!--新增界面--> 134 <!--新增界面-->
135 - <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">  
136 - <el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm"> 135 + <el-dialog title="新增用户" :visible.sync="addFormVisible" :close-on-click-modal="false">
  136 + <el-form :model="addForm" label-width="150px" :rules="addFormRules" ref="addForm">
137 <el-form-item label="账号" prop="username"> 137 <el-form-item label="账号" prop="username">
138 <el-input v-model="addForm.username" clearable style="width:400px" 138 <el-input v-model="addForm.username" clearable style="width:400px"
139 aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input> 139 aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input>
@@ -144,33 +144,15 @@ @@ -144,33 +144,15 @@
144 <el-form-item label="姓名" prop="realname"> 144 <el-form-item label="姓名" prop="realname">
145 <el-input v-model="addForm.realname" clearable style="width:400px"></el-input> 145 <el-input v-model="addForm.realname" clearable style="width:400px"></el-input>
146 </el-form-item> 146 </el-form-item>
147 -  
148 - <el-form-item label="服务器:" prop="serverId">  
149 - <el-select v-model="addForm.serverId" prefix-icon="el-icon-search" clearable  
150 - style="width:400px" size="medium" filterable  
151 - @change="user_addChange"  
152 - placeholder="请选择服务器">  
153 - <el-option  
154 - v-for="item in (user_config.serverList)"  
155 - :key="item.id"  
156 - :label="item.serverName"  
157 - :value="item.serverName">  
158 - </el-option>  
159 - </el-select>  
160 - </el-form-item>  
161 -  
162 - <el-form-item label="虚拟主机:" prop="virtualHostId">  
163 - <el-select v-model="addForm.virtualHostId" prefix-icon="el-icon-search" clearable  
164 - style="width:400px" size="medium" filterable  
165 - :disabled="addForm.serverId===''"  
166 - placeholder="请选择虚拟主机">  
167 - <el-option  
168 - v-for="item in (user_config.virtualHostList)"  
169 - :key="item.id"  
170 - :label="item.virtualHostName"  
171 - :value="item.virtualHostName">  
172 - </el-option>  
173 - </el-select> 147 + <el-form-item label="选择用户关系:">
  148 + <br/>
  149 + <el-tree style="width:270px"
  150 + :data="user_config.server_hostList"
  151 + :props="user_config.defaultParams"
  152 + ref="tree"
  153 + node-key="id"
  154 + show-checkbox highlight-current default-expand-all>
  155 + </el-tree>
174 </el-form-item> 156 </el-form-item>
175 157
176 <el-form-item label="电话" prop="mobilephone"> 158 <el-form-item label="电话" prop="mobilephone">
@@ -227,16 +209,17 @@ @@ -227,16 +209,17 @@
227 import {getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole} from '../../api/user'; 209 import {getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole} from '../../api/user';
228 import {getList} from '../../api/role_api'; 210 import {getList} from '../../api/role_api';
229 import moment from 'moment' 211 import moment from 'moment'
230 - import {getHostList, getServerList, insertUserInfo} from "../../api/message_bus"; 212 + import {getServerAndHostList, insertUserInfo} from "../../api/message_bus";
231 213
232 export default { 214 export default {
233 data() { 215 data() {
234 return { 216 return {
235 user_config: { 217 user_config: {
236 - // 服务器列表  
237 - serverList: [],  
238 - // 虚拟主机列表  
239 - virtualHostList: [], 218 + server_hostList: [],
  219 + defaultParams: {
  220 + label: 'aliasName',
  221 + children: 'aliasList'
  222 + }
240 }, 223 },
241 filters: { 224 filters: {
242 userName: '', 225 userName: '',
@@ -323,7 +306,7 @@ @@ -323,7 +306,7 @@
323 } 306 }
324 }, 307 },
325 methods: { 308 methods: {
326 - //性别显示转换 309 + // 性别显示转换
327 formatSex: function (row, column) { 310 formatSex: function (row, column) {
328 return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知'; 311 return row.sex == 1 ? '男' : row.sex == 0 ? '女' : '未知';
329 }, 312 },
@@ -334,7 +317,7 @@ @@ -334,7 +317,7 @@
334 this.pageNum = val; 317 this.pageNum = val;
335 this.getUsers(); 318 this.getUsers();
336 }, 319 },
337 - //获取用户列表 320 + // 获取用户列表
338 getUsers: function () { 321 getUsers: function () {
339 let para = { 322 let para = {
340 pageNum: this.pageNum, 323 pageNum: this.pageNum,
@@ -429,8 +412,6 @@ @@ -429,8 +412,6 @@
429 }, 412 },
430 //显示新增界面,每次点开初始化数据 413 //显示新增界面,每次点开初始化数据
431 handleAdd: function () { 414 handleAdd: function () {
432 - // 刷新一下服务器列表  
433 - this.selectServerList();  
434 this.addFormVisible = true; 415 this.addFormVisible = true;
435 this.addForm = { 416 this.addForm = {
436 username: '', 417 username: '',
@@ -492,11 +473,11 @@ @@ -492,11 +473,11 @@
492 // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); 473 // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
493 474
494 // 添加MQ用户信息 475 // 添加MQ用户信息
  476 + this.addForm.virtualHostId = this.$refs.tree.getCheckedKeys().join();
495 const params = { 477 const params = {
496 username: this.addForm.username, 478 username: this.addForm.username,
497 password: this.addForm.password, 479 password: this.addForm.password,
498 realName: this.addForm.realname, 480 realName: this.addForm.realname,
499 - serverId: this.addForm.serverId,  
500 virtualHostId: this.addForm.virtualHostId, 481 virtualHostId: this.addForm.virtualHostId,
501 } 482 }
502 insertUserInfo(params).then((response) => { 483 insertUserInfo(params).then((response) => {
@@ -594,46 +575,28 @@ @@ -594,46 +575,28 @@
594 // console.log(data, checked, indeterminate); 575 // console.log(data, checked, indeterminate);
595 console.log(this.roleIds); 576 console.log(this.roleIds);
596 }, 577 },
597 - /**  
598 - * 获取服务器列表  
599 - */  
600 - selectServerList() {  
601 - getServerList().then((response) => {  
602 - let res = response.data;  
603 - if (res.code !== '200') {  
604 - return this.$message.error("服务器信息获取失败");  
605 - }  
606 - // 获取服务器列表数据  
607 - this.user_config.serverList = res.data;  
608 - }).catch(error => {  
609 - this.$message.error(error.toString());  
610 - });  
611 - },  
612 -  
613 - user_addChange(value) {  
614 - // 现将对应的虚拟主机的ID清空  
615 - this.addForm.virtualHostId = undefined;  
616 - // 根据服务器ID,获取出对应的虚拟主机的列表  
617 - this.selectHostList(value);  
618 - },  
619 578
620 /** 579 /**
621 - * 获取虚拟主机列表 580 + * 选择用户关系
  581 + * MQ服务器与虚拟主机(1:n)的列表
622 */ 582 */
623 - selectHostList(serverId) {  
624 - getHostList(serverId).then((response) => { 583 + selectUserRelation() {
  584 + getServerAndHostList().then((response) => {
625 let res = response.data; 585 let res = response.data;
626 if (res.code !== '200') { 586 if (res.code !== '200') {
627 - return; 587 + return this.$message.error('获取服务器与虚拟主机信息,失败!');
628 } 588 }
629 - this.user_config.virtualHostList = res.data; 589 + // 获取列表数据
  590 + this.user_config.server_hostList = res.data;
630 }).catch(error => { 591 }).catch(error => {
631 this.$message.error(error.toString()); 592 this.$message.error(error.toString());
632 }); 593 });
633 }, 594 },
  595 +
634 }, 596 },
635 mounted() { 597 mounted() {
636 this.getUsers(); 598 this.getUsers();
  599 + this.selectUserRelation();
637 }, 600 },
638 computed: { 601 computed: {
639 hideShow() {//当图片多于一张的时候,就隐藏上传框 602 hideShow() {//当图片多于一张的时候,就隐藏上传框