sidebar.vue
4.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<script>
var store = require('../../../vuex/store');
var MT = require('../../../vuex/mutation-types');
module.exports = {
store: store,
data: function () {
return {
// 数据传输
menuList:{},
// 显示的菜单的信息
showObj:{
oneGuid:'',// 一级显示的
twoGuid:''// 二级显示的
},
};
},
methods: {
// 获得当前用户信息
getOnlineUser: function () {
var self = this;
if(self.$store.state.user.curMenuRole!=null && self.$store.state.user.curMenuRole.oneMenus!=null){
self.getRoleMenu();
}else{
Ajax.get('/online').then(function (resp) {
self.$store.dispatch(MT.SET_ONLINE_USER, resp.data);
self.getRoleMenu();
});
}
},
// 获得菜单的数据权限
getRoleMenu:function(){
var self = this;
self.$set('menuList',self.$store.state.user.curMenuRole);
// 刚登录的时候,默认把第一个大菜单展开
if(self.menuList!=null && self.menuList.oneMenus!=null){
for (var key in self.menuList.oneMenus) {
// 一级菜单
self.showObj.oneGuid = self.menuList.oneMenus[key].guid;
// 一级菜单下的第1个二级菜单
self.showObj.twoGuid = self.getFirtMenu(self.showObj.oneGuid);
break;
}
}
},
// 点击一级菜单
clickOne:function(oneGuid){
var self = this;
if(oneGuid==self.showObj.oneGuid){
self.showObj.oneGuid = "";
self.showObj.twoGuid = "";
}else{
self.showObj.oneGuid = oneGuid;
self.showObj.twoGuid = self.getFirtMenu(oneGuid);
}
},
// 点击二级菜单
clickTow:function(towGuid,type){
var self = this;
self.showObj.twoGuid = towGuid;
self.addAuditLog(type);
},
getFirtMenu:function(oneGuid){
var self = this;
var twoGuid = "";
if(self.menuList.twoMenus[oneGuid]!=null){
for (var key in self.menuList.twoMenus[oneGuid]) {
// 一级菜单
twoGuid = self.menuList.twoMenus[oneGuid][key].guid;
break;
}
}
return twoGuid;
},
addAuditLog:function(type){
var self = this;
Ajax.post('/sitemessage/operauditlogAddAuditLog',{'type':type,'userId':self.$store.state.user.userId,'userName':self.$store.state.user.userName})
.then(function (resp) {
});
}
},
created: function(){
// 获得菜单的权限
this.getOnlineUser();
}
};
</script>
<template>
<div class="menu-list menu-list-sub" style="min-height: 500px;background: 0;">
<ul class="has-sub" style="background-color: #fff;">
<!--
<li class="active">
<a class="menu-tit">权限管理</a>
<ul>
<li >
<a v-link="{ path: '/authoritymenuconfig', activeClass:'active' }">菜单配置</a>
</li>
<li >
<a v-link="{ path: '/authorityRoleConfig', activeClass:'active' }">角色配置</a>
</li>
<li >
<a v-link="{ path: '/userManagerList', activeClass:'active' }">用户管理</a>
</li>
</ul>
</li>
-->
<!-- 审计运营商账号,是否显示审计日志菜单。根据一级菜单,二级菜单的正式id来判断 -->
<li :class='one.guid==showObj.oneGuid?"active":""' v-for="one in menuList.oneMenus" v-if="one.guid=='5f10b0c3137c4b61bb8c90e5c334f2b2' && $store.state.user.userId=='737bffb91ebd4fb8a5975bc07775b958'">
<a class="menu-tit" v-on:click="clickOne(one.guid)" style='padding:8px 4px;'>{{one.name}}</a>
<ul >
<li v-for="two in menuList.twoMenus[one.guid]" v-if="two.guid=='f73e860568264631a2a717bee8deda72'">
<a :class="two.guid==showObj.twoGuid?'active':''" v-on:click="clickTow(two.guid,two.name)"
v-link="two.syscalldescribe1" style='padding:8px 4px;' >{{two.name}}</a>
</li>
</ul>
</li>
<!--循环的代码段-->
<li :class='one.guid==showObj.oneGuid?"active":""' v-for="one in menuList.oneMenus" v-show="$store.state.user.userId != '737bffb91ebd4fb8a5975bc07775b958'">
<a class="menu-tit" v-on:click="clickOne(one.guid)" style='padding:8px 4px;'>{{one.name}}</a>
<ul >
<li v-for="two in menuList.twoMenus[one.guid]" v-if="two.guid != 'f73e860568264631a2a717bee8deda72'">
<a :class="two.guid==showObj.twoGuid?'active':''" v-on:click="clickTow(two.guid,two.name)"
v-link="two.syscalldescribe1" style='padding:8px 4px;'>{{two.name}}</a>
</li>
</ul>
</li>
</ul>
</template>