|
|
|
@ -6,9 +6,16 @@ |
|
|
|
:unique-opened="true" |
|
|
|
:collapseTransition="false" |
|
|
|
class="aui-sidebar__menu"> |
|
|
|
<sub-menu v-for="menu in $store.state.sidebarMenuList" |
|
|
|
:key="menu.id" |
|
|
|
:menu="menu" /> |
|
|
|
<div v-if="routeListOne.length > 0"> |
|
|
|
<sub-menu v-for="menu in routeListOne" |
|
|
|
:key="menu.id" |
|
|
|
:menu="menu" /> |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
<sub-menu v-for="menu in routeListTwo" |
|
|
|
:key="menu.id" |
|
|
|
:menu="menu" /> |
|
|
|
</div> |
|
|
|
</el-menu> |
|
|
|
</div> |
|
|
|
</aside> |
|
|
|
@ -26,26 +33,17 @@ export default { |
|
|
|
pid: '', |
|
|
|
parentPid: '', |
|
|
|
socket: '', |
|
|
|
stompClient: '' |
|
|
|
stompClient: '', |
|
|
|
routeListOne: [], |
|
|
|
routeListTwo: [] |
|
|
|
} |
|
|
|
}, |
|
|
|
components: { |
|
|
|
SubMenu |
|
|
|
}, |
|
|
|
created () { |
|
|
|
this.$store.state.sidebarMenuList = window.SITE_CONFIG['menuList'] |
|
|
|
const routeList = this.$store.state.sidebarMenuList |
|
|
|
const selectList = [{ |
|
|
|
selectId: '1169180106757378049', |
|
|
|
num: 3 |
|
|
|
}, { |
|
|
|
selectId: '1169486622820143105', |
|
|
|
num: 4 |
|
|
|
}] |
|
|
|
selectList.forEach(selectRoute => { |
|
|
|
this.filterRoute(routeList, selectRoute) |
|
|
|
}) |
|
|
|
console.log(routeList) |
|
|
|
this.$store.state.sidebarMenuList = [...window.SITE_CONFIG['menuList']] |
|
|
|
this.routeListOne = this.$store.state.sidebarMenuList |
|
|
|
this.initWebSocket() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
@ -54,8 +52,7 @@ export default { |
|
|
|
if (item.children && item.children.length >= 1) { |
|
|
|
this.filterRoute(item.children, selectRoute) |
|
|
|
} else { |
|
|
|
if (item.id === selectRoute.selectId) { |
|
|
|
console.log(item.pid) |
|
|
|
if (item.menuCode === selectRoute.menuCode) { |
|
|
|
item.num = selectRoute.num |
|
|
|
this.pid = item.pid |
|
|
|
} |
|
|
|
@ -76,6 +73,7 @@ export default { |
|
|
|
item.redPoint = true |
|
|
|
} |
|
|
|
}) |
|
|
|
return routeList |
|
|
|
}, |
|
|
|
initWebSocket () { |
|
|
|
this.connection() |
|
|
|
@ -107,16 +105,22 @@ export default { |
|
|
|
}, |
|
|
|
onConnected: function (frame) { |
|
|
|
console.log('Connected: ' + frame) |
|
|
|
// let topic = '/menuNoticeTopic/getResponse' |
|
|
|
let topic2 = '/userMenuNotice/menuNoticeQueue/menu/getResponse' |
|
|
|
// this.stompClient.subscribe(topic, this.onSubscribe) |
|
|
|
this.stompClient.subscribe(topic2, this.onSubscribe2) |
|
|
|
let topic = '/userMenuNotice/menuNoticeQueue/menu/getResponse' |
|
|
|
this.stompClient.subscribe(topic, this.onSubscribe) |
|
|
|
}, |
|
|
|
// onSubscribe (value) { |
|
|
|
// console.log('subscribe', value) |
|
|
|
// }, |
|
|
|
onSubscribe2 (value) { |
|
|
|
console.log('subscribe2', value) |
|
|
|
onSubscribe (value) { |
|
|
|
const selectRoute = JSON.parse(value.body) |
|
|
|
console.log('menuCode', selectRoute) |
|
|
|
const list = JSON.parse(JSON.stringify(window.SITE_CONFIG['menuList'])) |
|
|
|
this.$store.state.sidebarMenuList = this.filterRoute(list, selectRoute) |
|
|
|
console.log(this.$store.state.sidebarMenuList) |
|
|
|
if (this.routeListOne.length > 0) { |
|
|
|
this.routeListOne = [] |
|
|
|
this.routeListTwo = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|
|
|
} else if (this.routeListTwo.length > 0) { |
|
|
|
this.routeListTwo = [] |
|
|
|
this.routeListOne = JSON.parse(JSON.stringify(this.$store.state.sidebarMenuList)) |
|
|
|
} |
|
|
|
}, |
|
|
|
onFailed (frame) { |
|
|
|
console.log('Failed: ' + frame) |
|
|
|
|