Merge remote-tracking branch 'origin/message_bus' into message_bus
# Conflicts: # src/routes.js # src/views/bus/Configure.vue
正在显示
6 个修改的文件
包含
670 行增加
和
242 行删除
@@ -49,7 +49,12 @@ export const updateRoutingKey = params =>{return http.put(`${baseUrl}/routing/up | @@ -49,7 +49,12 @@ export const updateRoutingKey = params =>{return http.put(`${baseUrl}/routing/up | ||
49 | export const deleteRoutingKey = params =>{return http.del(`${baseUrl}/routing/delete`, params);}; | 49 | export const deleteRoutingKey = params =>{return http.del(`${baseUrl}/routing/delete`, params);}; |
50 | // MQ路由键,批量删除 | 50 | // MQ路由键,批量删除 |
51 | export const batchRemoveRoutingKey = params =>{return http.get(`${baseUrl}/routing/batchRemove`, params);}; | 51 | export const batchRemoveRoutingKey = params =>{return http.get(`${baseUrl}/routing/batchRemove`, params);}; |
52 | - | 52 | +//路由管理查询 |
53 | +export const queRouter=params=>{return http.get(`${baseUrl}/router/queRouter`, params);}; | ||
54 | +// 路由管理,删除 | ||
55 | +export const deleteRouter = params =>{return http.get(`${baseUrl}/router/delRouter`, params);}; | ||
56 | +// 路由管理,添加 | ||
57 | +export const addRouter = params =>{return http.post(`${baseUrl}/router/addRouter`, params);}; | ||
53 | 58 | ||
54 | // MQ消息队列,分页查询列表 | 59 | // MQ消息队列,分页查询列表 |
55 | export const selectBusQueueList = params =>{return http.get(`${baseUrl}/queue/list`, params);}; | 60 | export const selectBusQueueList = params =>{return http.get(`${baseUrl}/queue/list`, params);}; |
@@ -133,3 +138,8 @@ export const updateMessage = params =>{return http.put(`${baseUrl}/message/type/ | @@ -133,3 +138,8 @@ export const updateMessage = params =>{return http.put(`${baseUrl}/message/type/ | ||
133 | export const deleteMessage = params =>{return http.del(`${baseUrl}/message/type/delete`, params);}; | 138 | export const deleteMessage = params =>{return http.del(`${baseUrl}/message/type/delete`, params);}; |
134 | export const batchDelete = params =>{return http.del(`${baseUrl}/message/type/batchDelete`, params);}; | 139 | export const batchDelete = params =>{return http.del(`${baseUrl}/message/type/batchDelete`, params);}; |
135 | 140 | ||
141 | + | ||
142 | +//路由添加 | ||
143 | + //批量添加路由 | ||
144 | +export const api_batchAddRouter = params =>{return http.post(`${baseUrl}/router/batchAdd`, params);}; | ||
145 | +export const loadRouterBySndr = params =>{return http.get(`${baseUrl}/router/searchBysndr`, params);}; |
@@ -87,10 +87,12 @@ import UserInfo from "./views/bus/UserInfo.vue" | @@ -87,10 +87,12 @@ import UserInfo from "./views/bus/UserInfo.vue" | ||
87 | import QueueView from "./views/bus/view/QueueView.vue" | 87 | import QueueView from "./views/bus/view/QueueView.vue" |
88 | import ExchangeView from "./views/bus/view/ExchangeView.vue" | 88 | import ExchangeView from "./views/bus/view/ExchangeView.vue" |
89 | import ElasticSearchInfo from "./views/bus/ElasticSearchInfo.vue" | 89 | import ElasticSearchInfo from "./views/bus/ElasticSearchInfo.vue" |
90 | -import ConfigureS from "./views/bus/Configure.vue" | 90 | +import RouterBatch from "./views/bus/RouterBatch.vue" |
91 | import MessageManagement from "./views/bus/MessageManagement.vue" | 91 | import MessageManagement from "./views/bus/MessageManagement.vue" |
92 | +import RouterManage from "./views/bus/RouterManage" | ||
92 | 93 | ||
93 | - | 94 | +//组件练习 |
95 | +//import Page7 from "./views/nav3/Page7.vue" | ||
94 | 96 | ||
95 | 97 | ||
96 | 98 | ||
@@ -162,10 +164,11 @@ let routes = [ | @@ -162,10 +164,11 @@ let routes = [ | ||
162 | // {path: '/exchange', component: Exchange, name: '交换机管理'}, | 164 | // {path: '/exchange', component: Exchange, name: '交换机管理'}, |
163 | // {path: '/routing', component: RoutingKey, name: '路由键管理'}, | 165 | // {path: '/routing', component: RoutingKey, name: '路由键管理'}, |
164 | {path: '/umb', component: UserMessageBinding, name: '路由配置管理'}, | 166 | {path: '/umb', component: UserMessageBinding, name: '路由配置管理'}, |
167 | + {path: '/routermanage', component: RouterManage, name: '路由配置'}, | ||
165 | {path: '/note', component: MessageNote, name: '消息记录管理'}, | 168 | {path: '/note', component: MessageNote, name: '消息记录管理'}, |
166 | {path: '/note_search', component: MessageNoteSearch, name: '消息记录搜索'}, | 169 | {path: '/note_search', component: MessageNoteSearch, name: '消息记录搜索'}, |
167 | {path: '/es', component: ElasticSearchInfo, name: 'ES信息管理'}, | 170 | {path: '/es', component: ElasticSearchInfo, name: 'ES信息管理'}, |
168 | - {path: '/configures', component: ConfigureS, name: '消息路由批量配置'}, | 171 | + {path: '/configures', component: RouterBatch, name: '消息路由批量配置'}, |
169 | {path: '/ms', component: MessageManagement, name: '消息分类管理'} | 172 | {path: '/ms', component: MessageManagement, name: '消息分类管理'} |
170 | 173 | ||
171 | ] | 174 | ] |
@@ -180,7 +183,15 @@ let routes = [ | @@ -180,7 +183,15 @@ let routes = [ | ||
180 | // {path: '/exchangeView', component: ExchangeView, name: '交换机监控'}, | 183 | // {path: '/exchangeView', component: ExchangeView, name: '交换机监控'}, |
181 | ] | 184 | ] |
182 | }, | 185 | }, |
183 | - | 186 | + { |
187 | + path: '/nav3', | ||
188 | + component: Home, | ||
189 | + name: '组件练习', | ||
190 | + iconCls: 'el-icon-view', | ||
191 | + children: [ | ||
192 | + {path: '/page7', component: Page7, name: '组件'}, | ||
193 | + ] | ||
194 | + }, | ||
184 | 195 | ||
185 | 196 | ||
186 | // { | 197 | // { |
src/views/bus/Configure.vue
已删除
100644 → 0
1 | -<template> | ||
2 | - <el-container> | ||
3 | - <el-main> | ||
4 | - <div style="border: 6px solid #6F8294;" class="tr"> | ||
5 | - <el-row style="margin: -2px"> | ||
6 | - <el-col :span="6"> | ||
7 | - <el-row class="bt"> | ||
8 | - <span>选择消息发送者</span> | ||
9 | - </el-row> | ||
10 | - <el-row> | ||
11 | - <el-tree | ||
12 | - :data="sndr" | ||
13 | - show-checkbox | ||
14 | - node-key="id" | ||
15 | - :props="userProps"> | ||
16 | - </el-tree> | ||
17 | - </el-row> | ||
18 | - </el-col> | ||
19 | - <el-col :span="6" align="center"> | ||
20 | - <el-row class="bt"> | ||
21 | - <span>选择要发送的消息</span> | ||
22 | - </el-row> | ||
23 | - <el-row> | ||
24 | - <el-tree | ||
25 | - :data="message_type" | ||
26 | - show-checkbox | ||
27 | - node-key="id" | ||
28 | - :props="defaultProps"> | ||
29 | - </el-tree> | ||
30 | - </el-row> | ||
31 | - </el-col> | ||
32 | - <el-col :span="6"> | ||
33 | - <el-row class="bt"> | ||
34 | - <span>选择消息接收者</span> | ||
35 | - </el-row> | ||
36 | - <el-row> | ||
37 | - <el-tree | ||
38 | - :data="rcvr" | ||
39 | - show-checkbox | ||
40 | - node-key="id" | ||
41 | - :props="userProps"> | ||
42 | - </el-tree> | ||
43 | - </el-row> | ||
44 | - </el-col> | ||
45 | - <el-col :span="6"> | ||
46 | - <el-row class="bt"> | ||
47 | - <span>消息路由配置其他属性</span> | ||
48 | - </el-row> | ||
49 | - <el-row> | ||
50 | - <el-form :inline="true" :model="formInline" class="demo-form-inline" align="center" style="border:3px solid #6F8294;height: 800px;padding-top: 15px"> | ||
51 | - <el-form-item label="路由状态:"> | ||
52 | - <el-select v-model="formInline.state" placeholder="请选择" style="width: 150px" size="mini"> | ||
53 | - <el-option label="启用" value="01"></el-option> | ||
54 | - <el-option label="关闭" value="02"></el-option> | ||
55 | - </el-select> | ||
56 | - </el-form-item> | ||
57 | - <el-form-item label="路由用途:"> | ||
58 | - <el-select v-model="formInline.purpose" placeholder="请选择" style="width: 150px" size="mini"> | ||
59 | - <el-option label="生产用" value="03"></el-option> | ||
60 | - </el-select> | ||
61 | - </el-form-item> | ||
62 | - <el-form-item label="路由描述:"> | ||
63 | - <el-input type="textarea" v-model="formInline.describe" style="width: 150px" size="mini"></el-input> | ||
64 | - </el-form-item> | ||
65 | - </el-form> | ||
66 | - </el-row> | ||
67 | - </el-col> | ||
68 | - </el-row> | ||
69 | - | ||
70 | - </div> | ||
71 | - </el-main> | ||
72 | - </el-container> | ||
73 | -</template> | ||
74 | - | ||
75 | -<script> | ||
76 | - import {getAlltype} from "../../api/message_bus"; | ||
77 | - export default { | ||
78 | - name: 'Configure', | ||
79 | - | ||
80 | - data() { | ||
81 | - return { | ||
82 | - formInline: { | ||
83 | - state: '', | ||
84 | - purpose: '', | ||
85 | - describe: '' | ||
86 | - }, | ||
87 | - sndr: [{ | ||
88 | - id: 1, | ||
89 | - label: '代理人系统接收账号(AGTR)', | ||
90 | - }, { | ||
91 | - id: 2, | ||
92 | - label: '代理人接收中外运预配(AGTZ)', | ||
93 | - }, { | ||
94 | - id: 3, | ||
95 | - label: '【测试】舱单自动化解析系统(AMDB)', | ||
96 | - }], | ||
97 | - rcvr: [{ | ||
98 | - id: 1, | ||
99 | - label: '代理人系统接收账号(AGTR)', | ||
100 | - }, { | ||
101 | - id: 2, | ||
102 | - label: '代理人接收中外运预配(AGTZ)', | ||
103 | - }, { | ||
104 | - id: 3, | ||
105 | - label: '【测试】舱单自动化解析系统(AMDB)', | ||
106 | - }], | ||
107 | - queryInfo:{ | ||
108 | - pageNum:1, | ||
109 | - pageSize:10, | ||
110 | - name:"", | ||
111 | - type:"", | ||
112 | - }, | ||
113 | - message_type: [{ | ||
114 | - id: 1, | ||
115 | - nameAndDes: '航班动态(1)', | ||
116 | - children: [{ | ||
117 | - id: 7, | ||
118 | - nameAndDes: '', | ||
119 | - children: [{ | ||
120 | - id: 8, | ||
121 | - nameAndDes: '' | ||
122 | - }, { | ||
123 | - id: 9, | ||
124 | - nameAndDes: '' | ||
125 | - }] | ||
126 | - }] | ||
127 | - }, { | ||
128 | - id: 2, | ||
129 | - nameAndDes: '航班历史(2)', | ||
130 | - children: [{ | ||
131 | - id: 7, | ||
132 | - nameAndDes: '', | ||
133 | - children: [{ | ||
134 | - id: 8, | ||
135 | - nameAndDes: '' | ||
136 | - }, { | ||
137 | - id: 9, | ||
138 | - nameAndDes: '' | ||
139 | - }] | ||
140 | - }] | ||
141 | - }, { | ||
142 | - id: 3, | ||
143 | - nameAndDes: '卡口业务交换信息(80)', | ||
144 | - children: [{ | ||
145 | - id: 4, | ||
146 | - nameAndDes: '卡口业务数据(KAKO)', | ||
147 | - children: [{ | ||
148 | - id: 5, | ||
149 | - nameAndDes: 'ALL' | ||
150 | - }, { | ||
151 | - id: 6, | ||
152 | - nameAndDes: '卡口车单绑定关系数据(CARB)' | ||
153 | - }] | ||
154 | - }] | ||
155 | - }], | ||
156 | - defaultProps: { | ||
157 | - children: 'children', | ||
158 | - label: 'nameAndDes' | ||
159 | - }, | ||
160 | - userProps: { | ||
161 | - children: 'children', | ||
162 | - label: 'label' | ||
163 | - } | ||
164 | - } | ||
165 | - }, | ||
166 | - methods: { | ||
167 | - onSubmit() { | ||
168 | - console.log('submit!'); | ||
169 | - }, | ||
170 | - getAllType() { | ||
171 | - let _this =this; | ||
172 | - getAlltype().then((response) => { | ||
173 | - let res = response.data; | ||
174 | - if (res.code !== '200') { | ||
175 | - return _this.$message.error('获取消息记录,失败!'); | ||
176 | - } | ||
177 | - // 获取列表数据 | ||
178 | - _this.message_type = res.data; | ||
179 | - // 关闭加载 | ||
180 | - _this.$message.success('获取消息收发记录,成功!'); | ||
181 | - }).catch(error => { | ||
182 | - // 关闭加载 | ||
183 | - _this.$message.error(error.toString()); | ||
184 | - }); | ||
185 | - } | ||
186 | - }, | ||
187 | - mounted() { | ||
188 | - this.getAllType(); | ||
189 | - }, | ||
190 | - | ||
191 | - } | ||
192 | -</script> | ||
193 | - | ||
194 | -<style> | ||
195 | - .bt { | ||
196 | - font-weight: bold; | ||
197 | - background-color: #6F8294; | ||
198 | - color: #ffffff; | ||
199 | - text-align: center | ||
200 | - } | ||
201 | - .el-col { | ||
202 | - margin-right: 0px; | ||
203 | - } | ||
204 | - .tr .el-tree { | ||
205 | - padding-top: 15px; | ||
206 | - border:3px solid #6F8294; | ||
207 | - height: 800px | ||
208 | - } | ||
209 | - .el-row .el-col .el-row { | ||
210 | - margin-top: 0px; | ||
211 | - } | ||
212 | -</style> |
src/views/bus/RouterBatch.vue
0 → 100644
1 | +<template> | ||
2 | + <el-container> | ||
3 | + <el-main> | ||
4 | + <el-card style="background-color: #F5F7FA"> | ||
5 | + <!-- 搜素区域 --> | ||
6 | + <el-row> | ||
7 | + <el-col :span="24" align="left"> | ||
8 | + <el-button type="warning" size="medium" icon="el-icon-search" @click="loadRouter" :loading="loadingStatus"> | ||
9 | + 加载已配置消息 | ||
10 | + </el-button> | ||
11 | + <el-button type="primary" size="medium" icon="el-icon-plus" @click="batchAddRouter" :loading="loadingStatus"> | ||
12 | + 生成路由 | ||
13 | + </el-button> | ||
14 | + </el-col> | ||
15 | + </el-row> | ||
16 | + <el-divider></el-divider> | ||
17 | + <el-row> | ||
18 | + <div style="border: 6px solid #6F8294;"> | ||
19 | + <el-row style="margin: -2px"> | ||
20 | + <el-col :span="6"> | ||
21 | + <el-row class="bt"> | ||
22 | + <span>选择消息发送者</span> | ||
23 | + </el-row> | ||
24 | + <el-row> | ||
25 | + <el-tree | ||
26 | + :data="sndr" | ||
27 | + show-checkbox | ||
28 | + node-key="username" | ||
29 | + :props="userProps" | ||
30 | + ref="sndrTree" | ||
31 | + @check-change="treeSndrCheckChange" | ||
32 | + | ||
33 | + > | ||
34 | + </el-tree> | ||
35 | + </el-row> | ||
36 | + </el-col> | ||
37 | + <el-col :span="6" align="center"> | ||
38 | + <el-row class="bt"> | ||
39 | + <span>选择要发送的消息类型</span> | ||
40 | + </el-row> | ||
41 | + <el-row> | ||
42 | + <el-tree | ||
43 | + :data="message_type" | ||
44 | + show-checkbox | ||
45 | + node-key="name" | ||
46 | + default-expand-all | ||
47 | + check-strictly | ||
48 | + :props="defaultProps" | ||
49 | + highlight-current | ||
50 | + ref="typeTree" | ||
51 | + @check-change="treeTypeCheckChange" | ||
52 | + > | ||
53 | + </el-tree> | ||
54 | + </el-row> | ||
55 | + </el-col> | ||
56 | + <el-col :span="6"> | ||
57 | + <el-row class="bt"> | ||
58 | + <span>选择消息接收者</span> | ||
59 | + </el-row> | ||
60 | + <el-row> | ||
61 | + <el-tree | ||
62 | + :data="rcvr" | ||
63 | + show-checkbox | ||
64 | + node-key="id" | ||
65 | + :props="userProps" | ||
66 | + ref="rcvrTree" | ||
67 | + @check-change="treeRcvrCheckChange" | ||
68 | + > | ||
69 | + </el-tree> | ||
70 | + </el-row> | ||
71 | + </el-col> | ||
72 | + <el-col :span="6"> | ||
73 | + <el-row class="bt"> | ||
74 | + <span>消息路由配置其他属性</span> | ||
75 | + </el-row> | ||
76 | + <el-row> | ||
77 | + <el-form :inline="true" :model="params" class="demo-form-inline" align="center" style="border:3px solid #6F8294;height: 800px;padding-top: 15px"> | ||
78 | + <el-form-item label="路由状态:"> | ||
79 | + <el-select v-model="params.status" placeholder="请选择" style="width: 150px" size="mini"> | ||
80 | + <el-option | ||
81 | + v-for="item in status_options" | ||
82 | + :key="item.value" | ||
83 | + :label="item.label" | ||
84 | + :value="item.value"> | ||
85 | + <span style="float: left">{{ item.label }}</span> | ||
86 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span> | ||
87 | + </el-option> | ||
88 | + </el-select> | ||
89 | + </el-form-item> | ||
90 | + <el-form-item label="路由用途:"> | ||
91 | + <el-select v-model="params.usage" placeholder="请选择" style="width: 150px" size="mini"> | ||
92 | + <el-option | ||
93 | + v-for="item in usage_options" | ||
94 | + :key="item.value" | ||
95 | + :label="item.label" | ||
96 | + :value="item.value"> | ||
97 | + <span style="float: left">{{ item.label }}</span> | ||
98 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span> | ||
99 | + </el-option> | ||
100 | + </el-select> | ||
101 | + </el-form-item> | ||
102 | + <el-form-item label="路由描述:"> | ||
103 | + <el-input type="textarea" v-model="params.des" style="width: 150px" size="mini"></el-input> | ||
104 | + </el-form-item> | ||
105 | + </el-form> | ||
106 | + </el-row> | ||
107 | + </el-col> | ||
108 | + </el-row> | ||
109 | + | ||
110 | + </div> | ||
111 | + </el-row> | ||
112 | + </el-card> | ||
113 | + </el-main> | ||
114 | + </el-container> | ||
115 | +</template> | ||
116 | + | ||
117 | +<script> | ||
118 | + import { getAlltype,api_batchAddRouter,loadRouterBySndr } from "../../api/message_bus"; | ||
119 | + export default { | ||
120 | + name: "Configure", | ||
121 | + | ||
122 | + data() { | ||
123 | + return { | ||
124 | + loadingStatus: false, | ||
125 | + sndr: [], | ||
126 | + rcvr: [], | ||
127 | + api_back: [], | ||
128 | + params:{ | ||
129 | + sndr: '', | ||
130 | + sndrs: [], | ||
131 | + types: [], | ||
132 | + rcvrs: [], | ||
133 | + status: 1, | ||
134 | + usage: 2, | ||
135 | + des: "", | ||
136 | + ver: "1.0" | ||
137 | + }, | ||
138 | + status_options:[ | ||
139 | + { | ||
140 | + label: "启用", | ||
141 | + value: 1 | ||
142 | + }, | ||
143 | + { | ||
144 | + label:"关闭", | ||
145 | + value: 0 | ||
146 | + } | ||
147 | + ], | ||
148 | + usage_options:[ | ||
149 | + { | ||
150 | + label: "生产用", | ||
151 | + value: 1 | ||
152 | + }, | ||
153 | + { | ||
154 | + label:"测试用", | ||
155 | + value: 2 | ||
156 | + } | ||
157 | + ], | ||
158 | + message_type: [{ | ||
159 | + id: 1, | ||
160 | + name: '航班动态(1)', | ||
161 | + children: [{ | ||
162 | + id: 7, | ||
163 | + name: '', | ||
164 | + children: [{ | ||
165 | + id: 8, | ||
166 | + name: '' | ||
167 | + }, { | ||
168 | + id: 9, | ||
169 | + name: '' | ||
170 | + }] | ||
171 | + }] | ||
172 | + }, { | ||
173 | + id: 2, | ||
174 | + name: '航班历史(2)', | ||
175 | + children: [{ | ||
176 | + id: 7, | ||
177 | + name: '', | ||
178 | + children: [{ | ||
179 | + id: 8, | ||
180 | + name: '' | ||
181 | + }, { | ||
182 | + id: 9, | ||
183 | + name: '' | ||
184 | + }] | ||
185 | + }] | ||
186 | + }, { | ||
187 | + id: 3, | ||
188 | + name: '卡口业务交换信息(80)', | ||
189 | + children: [{ | ||
190 | + id: 4, | ||
191 | + name: '卡口业务数据(KAKO)', | ||
192 | + children: [{ | ||
193 | + id: 5, | ||
194 | + name: 'ALL' | ||
195 | + }, { | ||
196 | + id: 6, | ||
197 | + name: '卡口车单绑定关系数据(CARB)' | ||
198 | + }] | ||
199 | + }] | ||
200 | + }], | ||
201 | + defaultProps: { | ||
202 | + children: 'children', | ||
203 | + label: function (data,node) { | ||
204 | + return '[' + data.name+ ']' + data.des; | ||
205 | + }, | ||
206 | + disabled: 'disabled' | ||
207 | + }, | ||
208 | + userProps: { | ||
209 | + children: 'children', | ||
210 | + label: function (data, node) { | ||
211 | + return '('+data.username + ')' + data.des; | ||
212 | + } | ||
213 | + } | ||
214 | + } | ||
215 | + }, | ||
216 | + methods: { | ||
217 | + typeFilterNode(treeList) { | ||
218 | + let _this = this; | ||
219 | + if (Array.isArray(treeList)){ | ||
220 | + treeList.forEach(function(item,index){ | ||
221 | + if (item.type == 1 || item.type==2){ | ||
222 | + item.disabled = true; | ||
223 | + } | ||
224 | + if (item.children !== undefined){ | ||
225 | + _this.typeFilterNode(item.children); | ||
226 | + } | ||
227 | + }) | ||
228 | + } | ||
229 | + | ||
230 | + }, | ||
231 | + getAllType() { | ||
232 | + let _this =this; | ||
233 | + _this.loadingStatus = true; | ||
234 | + getAlltype().then((response) => { | ||
235 | + let res = response.data; | ||
236 | + if (res.code !== '200') { | ||
237 | + _this.loadingStatus = false; | ||
238 | + return _this.$message.error('获取消息类型失败!'); | ||
239 | + } | ||
240 | + // 获取列表数据 | ||
241 | + _this.message_type = res.data; | ||
242 | + // _this.typeFilterNode(_this.message_type); | ||
243 | + // 关闭加载 | ||
244 | + _this.$message.success('获取消息类型成功!'); | ||
245 | + _this.loadingStatus = false; | ||
246 | + }).catch(error => { | ||
247 | + // 关闭加载 | ||
248 | + _this.$message.error(error.toString()); | ||
249 | + _this.loadingStatus = false; | ||
250 | + }); | ||
251 | + }, | ||
252 | + /** | ||
253 | + * 访问用户服务,绑定用户列表,按组搜索 | ||
254 | + */ | ||
255 | + getUserInfo(){ | ||
256 | + let userResponse = [{ | ||
257 | + id: 1, | ||
258 | + username: "zp260", | ||
259 | + des: "测试用户1" | ||
260 | + }, { | ||
261 | + id: 2, | ||
262 | + username: "test04", | ||
263 | + des: "测试用户2" | ||
264 | + }, | ||
265 | + { | ||
266 | + id: 3, | ||
267 | + username: "zp2505", | ||
268 | + des: "测试用户3" | ||
269 | + } | ||
270 | + ]; | ||
271 | + this.sndr = userResponse; | ||
272 | + this.rcvr = userResponse; | ||
273 | + }, | ||
274 | + treeSndrCheckChange(data, checked, indeterminate) { | ||
275 | + if (checked) { | ||
276 | + this.params.sndrs.push(data.username); | ||
277 | + } else { | ||
278 | + this.params.sndrs.splice(this.params.sndrs.contains(data.username), 1); | ||
279 | + } | ||
280 | + }, | ||
281 | + treeRcvrCheckChange(data, checked, indeterminate) { | ||
282 | + if (checked) { | ||
283 | + this.params.rcvrs.push(data.username); | ||
284 | + } else { | ||
285 | + this.params.rcvrs.splice(this.params.rcvrs.contains(data.username), 1); | ||
286 | + } | ||
287 | + }, | ||
288 | + treeTypeCheckChange(data, checked, indeterminate) { | ||
289 | + let mt = { | ||
290 | + name:'', | ||
291 | + type:0 | ||
292 | + }; | ||
293 | + mt.name = data.name; | ||
294 | + mt.type = data.type; | ||
295 | + if (checked) { | ||
296 | + this.params.types.push(mt); | ||
297 | + } else { | ||
298 | + this.params.types.splice(this.params.types.contains(mt), 1); | ||
299 | + } | ||
300 | + console.log(this.params.types); | ||
301 | + }, | ||
302 | + loadRouter(){ | ||
303 | + let _this = this; | ||
304 | + this.loadingStatus = true; | ||
305 | + if(this.params.sndrs.length !== 1){ | ||
306 | + this.$confirm('请选择单个发送者', '错误', { | ||
307 | + confirmButtonText: '确定', | ||
308 | + type: 'error', | ||
309 | + center: true | ||
310 | + }).then(() => { | ||
311 | + _this.loadingStatus = false; | ||
312 | + }).catch(() => { | ||
313 | + | ||
314 | + }); | ||
315 | + }else{ | ||
316 | + let pam = { | ||
317 | + sndr: _this.params.sndrs[0] | ||
318 | + }; | ||
319 | + loadRouterBySndr(pam).then(response => { | ||
320 | + let res = response.data; | ||
321 | + if (res.code !== '200') { | ||
322 | + return _this.$message.error('读取用户路由,失败!'); | ||
323 | + } | ||
324 | + _this.api_back = res.data; | ||
325 | + _this.loadRouterHandle(); | ||
326 | + // 关闭加载 | ||
327 | + _this.$message.success('读取用户路由,成功!'); | ||
328 | + _this.loadingStatus = false; | ||
329 | + }).catch( | ||
330 | + error => { | ||
331 | + // 关闭加载 | ||
332 | + _this.$message.error(error.toString()); | ||
333 | + _this.loadingStatus = false; | ||
334 | + } | ||
335 | + ) | ||
336 | + } | ||
337 | + }, | ||
338 | + loadRouterHandle(){ | ||
339 | + if (Array.isArray(this.api_back) && this.api_back.length>0){ | ||
340 | + let typeList = []; | ||
341 | + this.api_back.forEach(function(routerItem,index){ | ||
342 | + typeList.push({name:routerItem.stype}); | ||
343 | + }); | ||
344 | + this.typeTreeSet(typeList); | ||
345 | + } | ||
346 | + }, | ||
347 | + typeTreeSet(typeList){ | ||
348 | + this.$refs.typeTree.setCheckedNodes(typeList); | ||
349 | + }, | ||
350 | + batchAddRouter() { | ||
351 | + let _this = this; | ||
352 | + _this.loadingStatus = true; | ||
353 | + api_batchAddRouter(this.params).then(response => { | ||
354 | + let res = response.data; | ||
355 | + if (res.code !== '200') { | ||
356 | + return _this.$message.error('批量添加路由,失败!'); | ||
357 | + } | ||
358 | + // 关闭加载 | ||
359 | + _this.$message.success('批量添加路由,成功!'); | ||
360 | + _this.loadingStatus = false; | ||
361 | + _this.resetPage(); | ||
362 | + }).catch( | ||
363 | + error => { | ||
364 | + // 关闭加载 | ||
365 | + _this.$message.error(error.toString()); | ||
366 | + _this.loadingStatus = false; | ||
367 | + } | ||
368 | + ) | ||
369 | + }, | ||
370 | + resetPage() { | ||
371 | + this.$refs.sndrTree.setCheckedKeys([]); | ||
372 | + this.$refs.typeTree.setCheckedKeys([]); | ||
373 | + this.$refs.rcvrTree.setCheckedKeys([]); | ||
374 | + } | ||
375 | + }, | ||
376 | + mounted() { | ||
377 | + this.getAllType(); | ||
378 | + this.getUserInfo(); | ||
379 | + } | ||
380 | + | ||
381 | + } | ||
382 | +</script> | ||
383 | + | ||
384 | +<style scoped> | ||
385 | + .bt { | ||
386 | + font-weight: bold; | ||
387 | + background-color: #6F8294; | ||
388 | + color: #ffffff; | ||
389 | + text-align: center | ||
390 | + } | ||
391 | + .el-col { | ||
392 | + margin-right: 0px; | ||
393 | + } | ||
394 | + .el-tree { | ||
395 | + padding-top: 15px; | ||
396 | + border:3px solid #6F8294; | ||
397 | + height: 800px | ||
398 | + } | ||
399 | + .el-row .el-col .el-row { | ||
400 | + margin-top: 0px; | ||
401 | + } | ||
402 | +</style> |
src/views/bus/RouterManage.vue
0 → 100644
1 | +<template> | ||
2 | + <el-container> | ||
3 | + <el-main> | ||
4 | + <el-card style="background-color: #F5F7FA"> | ||
5 | + <!-- 搜素区域 --> | ||
6 | + <el-row> | ||
7 | + <el-col :span="6"> | ||
8 | + <el-input v-model="umb_queryInfo.sndr" | ||
9 | + size="medium" | ||
10 | + placeholder="帐户名称" clearable> | ||
11 | + <template slot="prepend" ><i class="el-icon-user"></i>帐户名称</template> | ||
12 | + </el-input> | ||
13 | + </el-col> | ||
14 | + <el-col :span="6"> | ||
15 | + <el-input v-model="umb_queryInfo.btype" | ||
16 | + size="medium" | ||
17 | + placeholder="消息大类" clearable> | ||
18 | + <template slot="prepend"><i class="el-icon-s-platform"></i>消息大类</template> | ||
19 | + </el-input> | ||
20 | + </el-col> | ||
21 | + <el-col :span="6"> | ||
22 | + <el-input v-model="umb_queryInfo.stype" | ||
23 | + size="medium" | ||
24 | + placeholder="消息子类" clearable> | ||
25 | + <template slot="prepend"><i class="el-icon-s-operation"></i>消息子类</template> | ||
26 | + </el-input> | ||
27 | + </el-col> | ||
28 | + <el-col :span="6"> | ||
29 | + <el-button type="warning" size="medium" icon="el-icon-search" @click="queryRouterList"> | ||
30 | + 查询 | ||
31 | + </el-button> | ||
32 | + <el-button type="primary" size="medium" icon="el-icon-plus" @click="dialogFormVisible = true"> | ||
33 | + 添加 | ||
34 | + </el-button> | ||
35 | + </el-col> | ||
36 | + </el-row> | ||
37 | + <el-row> | ||
38 | + <el-table | ||
39 | + :data="umb_queryData.tableData" | ||
40 | + border | ||
41 | + :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" | ||
42 | + style="width: 100%"> | ||
43 | + <el-table-column | ||
44 | + prop="sndr" | ||
45 | + label="帐户名称" | ||
46 | + > | ||
47 | + </el-table-column> | ||
48 | + <el-table-column | ||
49 | + prop="btype" | ||
50 | + label="消息大类" | ||
51 | + > | ||
52 | + </el-table-column> | ||
53 | + <el-table-column | ||
54 | + prop="stype" | ||
55 | + label="消息子类" | ||
56 | + > | ||
57 | + </el-table-column> | ||
58 | + <el-table-column | ||
59 | + prop="rcvr_topic" | ||
60 | + label="订阅主题" | ||
61 | + > | ||
62 | + <template slot-scope="scope"> | ||
63 | + <div v-for="reciver in scope.row.rcvrList"> | ||
64 | + {{reciver.rcvrTopic}}<!--,{{reciver.filterList.filter}}--> | ||
65 | + <!-- <div v-for="filters in reciver.filterList">{{filters.filter}}</div>--> | ||
66 | + </div> | ||
67 | + </template> | ||
68 | + </el-table-column> | ||
69 | + <el-table-column | ||
70 | + prop="filter" | ||
71 | + label="过滤规则" | ||
72 | + > | ||
73 | + <template slot-scope="scope"> | ||
74 | + <div v-for="reciver in scope.row.rcvrList"> | ||
75 | + <!-- {{reciver.rcvrTopic}},{{reciver.filterList.filter}}--> | ||
76 | + <div v-for="filters in reciver.filterList">{{reciver.rcvrTopic}}:[{{filters.filter}}]</div> | ||
77 | + </div> | ||
78 | + </template> | ||
79 | + </el-table-column> | ||
80 | + <el-table-column label="操作" width="145px" align="center" fixed="right"> | ||
81 | + <template slot-scope="scope"> | ||
82 | + <el-button type="danger" size="mini" @click="delRouter(scope.$index,scope.row)">删除</el-button> | ||
83 | + </template> | ||
84 | + </el-table-column> | ||
85 | + </el-table> | ||
86 | + </el-row> | ||
87 | + <el-row> | ||
88 | + <div class="block"> | ||
89 | + <el-pagination | ||
90 | + @size-change="handleSizeChange" | ||
91 | + @current-change="handleCurrentChange" | ||
92 | + :current-page="umb_queryInfo.pageNum" | ||
93 | + :page-sizes="[100, 200, 300, 400]" | ||
94 | + :page-size="umb_queryInfo.pageSize" | ||
95 | + layout="total, sizes, prev, pager, next, jumper" | ||
96 | + :total="umb_queryData.total"> | ||
97 | + </el-pagination> | ||
98 | + </div> | ||
99 | + </el-row> | ||
100 | + <el-row> | ||
101 | + <el-dialog title="路由消息添加" :visible.sync="dialogFormVisible"> | ||
102 | + <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> | ||
103 | + <el-form-item label="账户名称" prop="sndr"> | ||
104 | + <el-input v-model="ruleForm.sndr"></el-input> | ||
105 | + </el-form-item> | ||
106 | + <el-form-item label="消息大类" prop="btype"> | ||
107 | + <el-input v-model="ruleForm.btype"></el-input> | ||
108 | + </el-form-item> | ||
109 | + <el-form-item label="消息子类" prop="stype"> | ||
110 | + <el-input v-model="ruleForm.stype"></el-input> | ||
111 | + </el-form-item> | ||
112 | + <el-form-item label="订阅主题"> | ||
113 | + <el-input v-model="ruleForm.reciver.rcvrTopic"></el-input> | ||
114 | + </el-form-item> | ||
115 | + <el-form-item label="过滤规则"> | ||
116 | + <el-input v-model="ruleForm.reciver.reciverFilter.filter"></el-input> | ||
117 | + </el-form-item> | ||
118 | + </el-form> | ||
119 | + <div slot="footer" class="dialog-footer"> | ||
120 | + <el-button @click="dialogFormVisible = false">取 消</el-button> | ||
121 | + <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button> | ||
122 | + </div> | ||
123 | + </el-dialog> | ||
124 | + </el-row> | ||
125 | + </el-card> | ||
126 | + </el-main> | ||
127 | + </el-container> | ||
128 | +</template> | ||
129 | +<script> | ||
130 | + import {queRouter, deleteRouter, addRouter} from "../../api/message_bus"; | ||
131 | + export default { | ||
132 | + data(){ | ||
133 | + return{ | ||
134 | + dialogFormVisible:false, | ||
135 | + ruleForm:{ | ||
136 | + sndr:undefined, | ||
137 | + btype:undefined, | ||
138 | + stype:undefined, | ||
139 | + reciver:{ | ||
140 | + rcvrTopic:undefined, | ||
141 | + reciverFilter:{ | ||
142 | + filter:undefined | ||
143 | + } | ||
144 | + }, | ||
145 | + | ||
146 | + | ||
147 | + }, | ||
148 | + rules: { | ||
149 | + sndr: [ | ||
150 | + { required: true, message: '请输入账户名称', trigger: 'blur' }, | ||
151 | + { min: 3, max: 10, message: '长度在 3 到 10 个字符', trigger: 'blur' } | ||
152 | + ], | ||
153 | + btype: [ | ||
154 | + { required: true, message: '请输入消息大类', trigger: 'blur' } | ||
155 | + ], | ||
156 | + stype: [ | ||
157 | + { required: true, message: '请输入消息子类', trigger: 'blur' } | ||
158 | + ] | ||
159 | + }, | ||
160 | + user_cloud: { | ||
161 | + cloudUserList: [], | ||
162 | + queryInfo: { | ||
163 | + pageNum: 1, | ||
164 | + pageSize: 10000, | ||
165 | + } | ||
166 | + }, | ||
167 | + umb_queryInfo: { | ||
168 | + // 用户名称 | ||
169 | + sndr: undefined, | ||
170 | + // 消息大类 | ||
171 | + btype: undefined, | ||
172 | + // 消息子类 | ||
173 | + stype: undefined, | ||
174 | + // 当前页数 | ||
175 | + pageNum: 1, | ||
176 | + // 每页条数 | ||
177 | + pageSize: 10 | ||
178 | + | ||
179 | + }, | ||
180 | + umb_queryData: { | ||
181 | + tableData: [], | ||
182 | + total:0 | ||
183 | + } | ||
184 | + | ||
185 | + } | ||
186 | + }, | ||
187 | + methods: { | ||
188 | + handleSizeChange(val) { | ||
189 | + this.umb_queryInfo.pageSize=val; | ||
190 | + this.queryRouterList(); | ||
191 | + }, | ||
192 | + handleCurrentChange(val) { | ||
193 | + this.umb_queryInfo.pageNum=val; | ||
194 | + this.queryRouterList(); | ||
195 | + }, | ||
196 | + queryRouterList(){ | ||
197 | + queRouter(this.umb_queryInfo).then((response) => { | ||
198 | + let res = response.data; | ||
199 | + this.umb_queryData.tableData=res.data.list; | ||
200 | + this.umb_queryData.total=res.data.total; | ||
201 | + }).catch(error => { | ||
202 | + | ||
203 | + }); | ||
204 | + }, | ||
205 | + delRouter(index,row){ | ||
206 | + // 弹框询问是否删除? | ||
207 | + this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', { | ||
208 | + confirmButtonText: '确定删除', | ||
209 | + cancelButtonText: '取消', | ||
210 | + type: 'warning' | ||
211 | + } | ||
212 | + ).then(() => { | ||
213 | + deleteRouter({id:row.id}).then((response) => { | ||
214 | + let res = response.data; | ||
215 | + this.$message.success(res.msg); | ||
216 | + this.queryRouterList(); | ||
217 | + }).catch(error => { | ||
218 | + this.$message.error(res.msg); | ||
219 | + }); | ||
220 | + }).catch(() => { | ||
221 | + }); | ||
222 | + }, | ||
223 | + submitForm(formName){ | ||
224 | + this.$refs[formName].validate((valid) => { | ||
225 | + if (valid) { | ||
226 | + addRouter(this.ruleForm).then((response) => { | ||
227 | + let res = response.data; | ||
228 | + this.dialogFormVisible=false; | ||
229 | + this.$message.success(res.msg); | ||
230 | + this.queryRouterList(); | ||
231 | + }).catch(error => { | ||
232 | + this.$message.error(res.msg); | ||
233 | + }); | ||
234 | + } else { | ||
235 | + console.log('error submit!!'); | ||
236 | + return false; | ||
237 | + } | ||
238 | + }); | ||
239 | + } | ||
240 | + } | ||
241 | + } | ||
242 | +</script> |
@@ -49,11 +49,6 @@ | @@ -49,11 +49,6 @@ | ||
49 | <template slot="prepend" ><i class="el-icon-user"></i>路由键名称</template> | 49 | <template slot="prepend" ><i class="el-icon-user"></i>路由键名称</template> |
50 | </el-input> | 50 | </el-input> |
51 | </el-col> | 51 | </el-col> |
52 | - <!-- <el-col :span="4">--> | ||
53 | - <!-- <el-input v-model="umb_queryInfo.subscriber" prefix-icon="el-icon-search"--> | ||
54 | - <!-- size="medium"--> | ||
55 | - <!-- placeholder="订阅者名称" clearable></el-input>--> | ||
56 | - <!-- </el-col>--> | ||
57 | <el-col :span="8"> | 52 | <el-col :span="8"> |
58 | <el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="umb_getList"> | 53 | <el-button type="warning" style="width:150px" size="medium" icon="el-icon-search" @click="umb_getList"> |
59 | 查询配置信息 | 54 | 查询配置信息 |
@@ -140,20 +135,6 @@ | @@ -140,20 +135,6 @@ | ||
140 | <el-form :inline="true" label-width="120px" status-icon style="margin-top: -30px" align="center" | 135 | <el-form :inline="true" label-width="120px" status-icon style="margin-top: -30px" align="center" |
141 | :model="umb_addForm" :rules="umb_addFormRules" ref="umb_addFormRef"> | 136 | :model="umb_addForm" :rules="umb_addFormRules" ref="umb_addFormRef"> |
142 | 137 | ||
143 | - <!-- <el-form-item label="用户名称:" prop="userIds">--> | ||
144 | - <!-- <el-select v-model="umb_addForm.userIds" prefix-icon="el-icon-search" clearable--> | ||
145 | - <!-- @change="umb_userInfo_addChange"--> | ||
146 | - <!-- style="width:400px" size="medium" filterable multiple--> | ||
147 | - <!-- placeholder="请选择用户">--> | ||
148 | - <!-- <el-option--> | ||
149 | - <!-- v-for="item in (umb_config.userInfoList)"--> | ||
150 | - <!-- :key="item.id"--> | ||
151 | - <!-- :label="item.username"--> | ||
152 | - <!-- :value="item.id">--> | ||
153 | - <!-- </el-option>--> | ||
154 | - <!-- </el-select>--> | ||
155 | - <!-- </el-form-item>--> | ||
156 | - | ||
157 | <el-form-item label="" prop="usernames"> | 138 | <el-form-item label="" prop="usernames"> |
158 | <el-select v-model="umb_addForm.usernames" prefix-icon="el-icon-search" clearable | 139 | <el-select v-model="umb_addForm.usernames" prefix-icon="el-icon-search" clearable |
159 | @change="umb_userInfo_addChange" | 140 | @change="umb_userInfo_addChange" |
@@ -169,12 +150,6 @@ | @@ -169,12 +150,6 @@ | ||
169 | </el-option> | 150 | </el-option> |
170 | </el-select> | 151 | </el-select> |
171 | </el-form-item> | 152 | </el-form-item> |
172 | - | ||
173 | - <!-- <el-form-item label="订阅者名称:" prop="subscriber">--> | ||
174 | - <!-- <el-input v-model="umb_addForm.subscriber" style="width:240px" size="small" clearable--> | ||
175 | - <!-- placeholder="请输入订阅者名称">--> | ||
176 | - <!-- </el-input>--> | ||
177 | - <!-- </el-form-item>--> | ||
178 | <el-form-item label="" prop="serverId"> | 153 | <el-form-item label="" prop="serverId"> |
179 | <el-select v-model="umb_addForm.serverId" prefix-icon="el-icon-search" clearable | 154 | <el-select v-model="umb_addForm.serverId" prefix-icon="el-icon-search" clearable |
180 | style="width:300px" size="medium" filterable | 155 | style="width:300px" size="medium" filterable |
-
请 注册 或 登录 后发表评论