作者 王勇

添加MQ用户信息

@@ -102,3 +102,4 @@ export const setDeleteTime = params =>{return http.get(`${baseUrl}/scheduling/se @@ -102,3 +102,4 @@ export const setDeleteTime = params =>{return http.get(`${baseUrl}/scheduling/se
102 102
103 // 用户信息,获取用户信息列表 103 // 用户信息,获取用户信息列表
104 export const getUserInfoList = params =>{return http.get(`${baseUrl}/user/userList`, params);}; 104 export const getUserInfoList = params =>{return http.get(`${baseUrl}/user/userList`, params);};
  105 +export const insertUserInfo = params =>{return http.post(`${baseUrl}/user/insert`, params);};
@@ -29,6 +29,10 @@ @@ -29,6 +29,10 @@
29 size="medium" clearable prefix-icon="el-icon-search"></el-input> 29 size="medium" clearable prefix-icon="el-icon-search"></el-input>
30 </el-col> 30 </el-col>
31 <el-col :span="4"> 31 <el-col :span="4">
  32 + <el-input v-model="messageNote_queryInfo.alias_sendContent" placeholder="发送内容"
  33 + size="medium" clearable prefix-icon="el-icon-search"></el-input>
  34 + </el-col>
  35 + <el-col :span="4">
32 <el-date-picker v-model="messageNote_queryInfo.sendTimeBegin" placeholder="时间段-开始" 36 <el-date-picker v-model="messageNote_queryInfo.sendTimeBegin" placeholder="时间段-开始"
33 type="date" value-format="yyyy-MM-dd" 37 type="date" value-format="yyyy-MM-dd"
34 size="medium" style="width: auto"></el-date-picker> 38 size="medium" style="width: auto"></el-date-picker>
@@ -396,9 +400,9 @@ @@ -396,9 +400,9 @@
396 <el-button type="primary" @click="messageNote_dialog.editDialog = false" size="medium" 400 <el-button type="primary" @click="messageNote_dialog.editDialog = false" size="medium"
397 style="width: 100px">关闭 401 style="width: 100px">关闭
398 </el-button> 402 </el-button>
399 -<!-- <el-button type="primary" @click="messageNote_edit" :loading="messageNote_loading.editLoading"-->  
400 -<!-- size="medium" style="width: 100px">查看-->  
401 -<!-- </el-button>--> 403 + <!-- <el-button type="primary" @click="messageNote_edit" :loading="messageNote_loading.editLoading"-->
  404 + <!-- size="medium" style="width: 100px">查看-->
  405 + <!-- </el-button>-->
402 </div> 406 </div>
403 </el-dialog> 407 </el-dialog>
404 </div> 408 </div>
@@ -444,6 +448,8 @@ @@ -444,6 +448,8 @@
444 messageNote_queryInfo: { 448 messageNote_queryInfo: {
445 // 用户名称 449 // 用户名称
446 username: '', 450 username: '',
  451 + // 消息内容,别名
  452 + alias_sendContent: '',
447 // 服务器名称 453 // 服务器名称
448 serverName: '', 454 serverName: '',
449 // 虚拟主机名称 455 // 虚拟主机名称
@@ -454,9 +460,9 @@ @@ -454,9 +460,9 @@
454 queueName: '', 460 queueName: '',
455 // 路由键名称 461 // 路由键名称
456 routingKeyName: '', 462 routingKeyName: '',
457 - // 消息发送时间 463 + // 时间段查询,开始
458 sendTimeBegin: undefined, 464 sendTimeBegin: undefined,
459 - // 消息获取时间 465 + // 时间段查询,结束
460 sendTimeEnd: undefined, 466 sendTimeEnd: undefined,
461 // 当前页数 467 // 当前页数
462 pageNum: 1, 468 pageNum: 1,
@@ -47,16 +47,23 @@ @@ -47,16 +47,23 @@
47 </el-table-column> 47 </el-table-column>
48 <el-table-column label="操作" width="300px" fixed="right" align="center"> 48 <el-table-column label="操作" width="300px" fixed="right" align="center">
49 <template slot-scope="scope"> 49 <template slot-scope="scope">
50 - <el-button type="primary" icon="el-icon-setting" size="small" @click="roleEdit(scope.$index, scope.row)">角色配置</el-button>  
51 - <el-button size="small" type="success" icon="el-icon-check" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>  
52 - <el-button type="danger" icon="el-icon-delete" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> 50 + <el-button type="primary" icon="el-icon-setting" size="small"
  51 + @click="roleEdit(scope.$index, scope.row)">角色配置
  52 + </el-button>
  53 + <el-button size="small" type="success" icon="el-icon-check"
  54 + @click="handleEdit(scope.$index, scope.row)">编辑
  55 + </el-button>
  56 + <el-button type="danger" icon="el-icon-delete" size="small"
  57 + @click="handleDel(scope.$index, scope.row)">删除
  58 + </el-button>
53 </template> 59 </template>
54 </el-table-column> 60 </el-table-column>
55 </el-table> 61 </el-table>
56 62
57 <!--工具条--> 63 <!--工具条-->
58 <el-col :span="24" class="toolbar"> 64 <el-col :span="24" class="toolbar">
59 - <el-button type="danger" icon="el-icon-delete" @click="batchRemove" :disabled="this.sels.length===0">批量删除</el-button> 65 + <el-button type="danger" icon="el-icon-delete" @click="batchRemove" :disabled="this.sels.length===0">批量删除
  66 + </el-button>
60 <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="10" 67 <el-pagination layout="total, prev, pager, next" @current-change="handleCurrentChange" :page-size="10"
61 :total="total" style="float:right;"> 68 :total="total" style="float:right;">
62 </el-pagination> 69 </el-pagination>
@@ -71,9 +78,9 @@ @@ -71,9 +78,9 @@
71 <el-form-item label="账号"> 78 <el-form-item label="账号">
72 <span>{{editForm.username}}</span> 79 <span>{{editForm.username}}</span>
73 </el-form-item> 80 </el-form-item>
74 -<!-- <el-form-item label="密码" prop="password">-->  
75 -<!-- <el-input v-model="editForm.password" auto-complete="off" type="password" show-password></el-input>-->  
76 -<!-- </el-form-item>--> 81 + <!-- <el-form-item label="密码" prop="password">-->
  82 + <!-- <el-input v-model="editForm.password" auto-complete="off" type="password" show-password></el-input>-->
  83 + <!-- </el-form-item>-->
77 <el-form-item label="姓名" prop="realname"> 84 <el-form-item label="姓名" prop="realname">
78 <el-input v-model="editForm.realname" auto-complete="off"></el-input> 85 <el-input v-model="editForm.realname" auto-complete="off"></el-input>
79 </el-form-item> 86 </el-form-item>
@@ -126,21 +133,51 @@ @@ -126,21 +133,51 @@
126 133
127 <!--新增界面--> 134 <!--新增界面-->
128 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false"> 135 <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false">
129 - <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> 136 + <el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
130 <el-form-item label="账号" prop="username"> 137 <el-form-item label="账号" prop="username">
131 - <el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input> 138 + <el-input v-model="addForm.username" clearable style="width:400px"
  139 + aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input>
132 </el-form-item> 140 </el-form-item>
133 <el-form-item label="密码" prop="password"> 141 <el-form-item label="密码" prop="password">
134 - <el-input v-model="addForm.password" type="password"></el-input> 142 + <el-input v-model="addForm.password" type="password" clearable style="width:400px"></el-input>
135 </el-form-item> 143 </el-form-item>
136 <el-form-item label="姓名" prop="realname"> 144 <el-form-item label="姓名" prop="realname">
137 - <el-input v-model="addForm.realname"></el-input> 145 + <el-input v-model="addForm.realname" clearable style="width:400px"></el-input>
138 </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.id">
  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.id">
  172 + </el-option>
  173 + </el-select>
  174 + </el-form-item>
  175 +
139 <el-form-item label="电话" prop="mobilephone"> 176 <el-form-item label="电话" prop="mobilephone">
140 - <el-input v-model="addForm.mobilephone"></el-input> 177 + <el-input v-model="addForm.mobilephone" clearable style="width:400px"></el-input>
141 </el-form-item> 178 </el-form-item>
142 <el-form-item label="Email" prop="email"> 179 <el-form-item label="Email" prop="email">
143 - <el-input v-model="addForm.email"></el-input> 180 + <el-input v-model="addForm.email" clearable style="width:400px"></el-input>
144 </el-form-item> 181 </el-form-item>
145 <el-form-item label="性别"> 182 <el-form-item label="性别">
146 <el-radio-group v-model="addForm.sex"> 183 <el-radio-group v-model="addForm.sex">
@@ -152,7 +189,8 @@ @@ -152,7 +189,8 @@
152 <el-input-number v-model="addForm.age" :min="0" :max="200"></el-input-number> 189 <el-input-number v-model="addForm.age" :min="0" :max="200"></el-input-number>
153 </el-form-item> 190 </el-form-item>
154 <el-form-item label="地址"> 191 <el-form-item label="地址">
155 - <el-input type="textarea" v-model="addForm.address"></el-input> 192 + <el-input type="textarea" v-model="addForm.address" size="medium" autosize :rows="2" clearable
  193 + style="width:400px"></el-input>
156 </el-form-item> 194 </el-form-item>
157 </el-form> 195 </el-form>
158 <div slot="footer" class="dialog-footer"> 196 <div slot="footer" class="dialog-footer">
@@ -189,10 +227,17 @@ @@ -189,10 +227,17 @@
189 import {getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole} from '../../api/user'; 227 import {getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole} from '../../api/user';
190 import {getList} from '../../api/role_api'; 228 import {getList} from '../../api/role_api';
191 import moment from 'moment' 229 import moment from 'moment'
  230 + import {getHostList, getServerList, insertBusServer, insertUserInfo} from "../../api/message_bus";
192 231
193 export default { 232 export default {
194 data() { 233 data() {
195 return { 234 return {
  235 + user_config: {
  236 + // 服务器列表
  237 + serverList: [],
  238 + // 虚拟主机列表
  239 + virtualHostList: [],
  240 + },
196 filters: { 241 filters: {
197 userName: '', 242 userName: '',
198 realName: '' 243 realName: ''
@@ -245,6 +290,12 @@ @@ -245,6 +290,12 @@
245 mobilephone: [ 290 mobilephone: [
246 {required: true, message: '请输入手机号码', trigger: ['blur', 'change']}, 291 {required: true, message: '请输入手机号码', trigger: ['blur', 'change']},
247 ], 292 ],
  293 + virtualHostId: [
  294 + {required: true, message: '请选择虚拟主机', trigger: ['blur', 'change']},
  295 + ],
  296 + serverId: [
  297 + {required: true, message: '请选择服务器', trigger: ['blur', 'change']},
  298 + ],
248 }, 299 },
249 //用户角色配置 300 //用户角色配置
250 roleFormVisible: false, 301 roleFormVisible: false,
@@ -257,7 +308,9 @@ @@ -257,7 +308,9 @@
257 realname: '', 308 realname: '',
258 email: '', 309 email: '',
259 mobilephone: '', 310 mobilephone: '',
260 - age: 1 311 + age: 1,
  312 + virtualHostId: '',
  313 + serverId: '',
261 }, 314 },
262 roleEditForm: { 315 roleEditForm: {
263 userId: 1, 316 userId: 1,
@@ -376,6 +429,8 @@ @@ -376,6 +429,8 @@
376 }, 429 },
377 //显示新增界面,每次点开初始化数据 430 //显示新增界面,每次点开初始化数据
378 handleAdd: function () { 431 handleAdd: function () {
  432 + // 刷新一下服务器列表
  433 + this.selectServerList();
379 this.addFormVisible = true; 434 this.addFormVisible = true;
380 this.addForm = { 435 this.addForm = {
381 username: '', 436 username: '',
@@ -385,7 +440,9 @@ @@ -385,7 +440,9 @@
385 realname: '', 440 realname: '',
386 email: '', 441 email: '',
387 mobilephone: '', 442 mobilephone: '',
388 - age: 1 443 + age: 1,
  444 + virtualHostId: '',
  445 + serverId: '',
389 }; 446 };
390 }, 447 },
391 //编辑 448 //编辑
@@ -433,6 +490,27 @@ @@ -433,6 +490,27 @@
433 this.addLoading = true; 490 this.addLoading = true;
434 let para = Object.assign({}, this.addForm); 491 let para = Object.assign({}, this.addForm);
435 // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); 492 // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd');
  493 +
  494 + // 添加MQ用户信息
  495 + const params = {
  496 + username: this.addForm.username,
  497 + password: this.addForm.password,
  498 + realName: this.addForm.realname,
  499 + serverId: this.addForm.serverId,
  500 + virtualHostId: this.addForm.virtualHostId,
  501 + }
  502 + insertUserInfo(params).then((response) => {
  503 + let res = response.data;
  504 + // 添加失败
  505 + if (res.code !== '200') {
  506 + return this.$message.error("MQ:" + res.msg);
  507 + }
  508 + // 添加,成功
  509 + this.$message.success('添加MQ用戶信息,成功');
  510 + }).catch(error => {
  511 + this.$message.error(error.toString());
  512 + });
  513 +
436 addUser(para).then((res) => { 514 addUser(para).then((res) => {
437 this.addLoading = false; 515 this.addLoading = false;
438 //NProgress.done(); 516 //NProgress.done();
@@ -450,6 +528,7 @@ @@ -450,6 +528,7 @@
450 type: 'error' 528 type: 'error'
451 }); 529 });
452 }); 530 });
  531 +
453 }); 532 });
454 } 533 }
455 }); 534 });
@@ -514,7 +593,28 @@ @@ -514,7 +593,28 @@
514 } 593 }
515 // console.log(data, checked, indeterminate); 594 // console.log(data, checked, indeterminate);
516 console.log(this.roleIds); 595 console.log(this.roleIds);
517 - } 596 + },
  597 + /**
  598 + * 获取服务器列表
  599 + */
  600 + selectServerList() {
  601 + this.$store.commit('StoreServerList')
  602 + this.user_config.serverList = this.$store.state.serverList;
  603 + },
  604 +
  605 + user_addChange(value) {
  606 + // 现将对应的虚拟主机的ID清空
  607 + this.addForm.virtualHostId = undefined;
  608 + // 根据服务器ID,获取出对应的虚拟主机的列表
  609 + this.selectHostList(value);
  610 + },
  611 + /**
  612 + * 获取虚拟主机列表
  613 + */
  614 + selectHostList(id) {
  615 + this.$store.commit('StoreHostList', id);
  616 + this.user_config.virtualHostList = this.$store.state.virtualHostList;
  617 + },
518 }, 618 },
519 mounted() { 619 mounted() {
520 this.getUsers(); 620 this.getUsers();
@@ -2,16 +2,44 @@ import Vue from 'vue' @@ -2,16 +2,44 @@ import Vue from 'vue'
2 import Vuex from 'vuex' 2 import Vuex from 'vuex'
3 import * as actions from './actions' 3 import * as actions from './actions'
4 import * as getters from './getters' 4 import * as getters from './getters'
  5 +import {getServerList, getHostList} from "../api/message_bus"
5 6
6 Vue.use(Vuex) 7 Vue.use(Vuex)
7 8
8 // 应用初始状态 9 // 应用初始状态
9 const state = { 10 const state = {
10 - count: 10 11 + count: 10,
  12 + serverList: [],
  13 + virtualHostList: [],
11 } 14 }
12 15
13 // 定义所需的 mutations 16 // 定义所需的 mutations
14 const mutations = { 17 const mutations = {
  18 + StoreServerList(state) {
  19 + getServerList().then((response) => {
  20 + let res = response.data;
  21 + if (res.code !== '200') {
  22 + return;
  23 + }
  24 + // 获取服务器列表数据
  25 + state.serverList = res.data;
  26 + }).catch(error => {
  27 + this.$message.error(error.toString());
  28 + });
  29 + },
  30 + StoreHostList(state, serverId) {
  31 + getHostList(serverId).then((response) => {
  32 + let res = response.data;
  33 + if (res.code !== '200') {
  34 + return;
  35 + }
  36 + state.virtualHostList = res.data;
  37 + }).catch(error => {
  38 + this.$message.error(error.toString());
  39 + });
  40 + },
  41 +
  42 +
15 INCREMENT(state) { 43 INCREMENT(state) {
16 state.count++ 44 state.count++
17 }, 45 },