|
|
@@ -1,13 +1,7 @@
|
|
|
<template>
|
|
|
- <div
|
|
|
- class="menu-side left_col scroll-view"
|
|
|
- :style="{ width: width + 'px' }"
|
|
|
- >
|
|
|
+ <div class="menu-side left_col scroll-view" :style="{ width: width + 'px' }">
|
|
|
<div class="navbar nav_title" style="border: 0">
|
|
|
- <a href="#/desktop/dashboard" class="site_title"><img
|
|
|
- style="width: var(--menu-logo-width)"
|
|
|
- :src="logoUrl"
|
|
|
- /></a>
|
|
|
+ <a href="#/desktop/dashboard" class="site_title"><img style="width: var(--menu-logo-width)" :src="logoUrl" /></a>
|
|
|
</div>
|
|
|
|
|
|
<div class="clearfix" />
|
|
|
@@ -16,10 +10,7 @@
|
|
|
<div class="menu_section">
|
|
|
<div class="menu-div">
|
|
|
<input
|
|
|
- v-model="searchText"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control menu-search"
|
|
|
+ v-model="searchText" autocomplete="off" type="text" class="form-control menu-search"
|
|
|
:placeholder="$t('lang.menuWidget.searchMenu')"
|
|
|
style="background-color: var(--menu-search-input-background-color)"
|
|
|
/>
|
|
|
@@ -33,10 +24,7 @@
|
|
|
</li>
|
|
|
<template v-for="rootNode in rootNodes">
|
|
|
<li
|
|
|
- v-if="rootNode.show"
|
|
|
- :key="rootNode.uuid"
|
|
|
- :name="rootNode.no"
|
|
|
- :model="rootNode"
|
|
|
+ v-if="rootNode.show" :key="rootNode.uuid" :name="rootNode.no" :model="rootNode"
|
|
|
:class="{ active: selectedNode === rootNode }"
|
|
|
>
|
|
|
<a @click="selectMenuNode(rootNode)">
|
|
|
@@ -44,18 +32,9 @@
|
|
|
{{ Language.getMenuNameTrl($i18n.locale, rootNode) }}
|
|
|
<span class="fa fa-chevron-down" />
|
|
|
</a>
|
|
|
- <ul
|
|
|
- class="nav menu-nav child_menu"
|
|
|
- :class="{ active: rootNode.expand == true }"
|
|
|
- >
|
|
|
- <template
|
|
|
- v-for="subMenuItem in rootNode.subMenus"
|
|
|
- :key="subMenuItem.uuid"
|
|
|
- >
|
|
|
- <MenuNode
|
|
|
- :model="subMenuItem"
|
|
|
- @select-node="selectNode($event, rootNode.subMenus)"
|
|
|
- />
|
|
|
+ <ul class="nav menu-nav child_menu" :class="{ active: rootNode.expand == true }">
|
|
|
+ <template v-for="subMenuItem in rootNode.subMenus" :key="subMenuItem.uuid">
|
|
|
+ <MenuNode :model="subMenuItem" @select-node="selectNode($event, rootNode.subMenus)" />
|
|
|
</template>
|
|
|
</ul>
|
|
|
</li>
|
|
|
@@ -95,6 +74,7 @@ export default {
|
|
|
searchText: '',
|
|
|
logoUrl: '', // logo路径
|
|
|
roleStateInstance: useRoleStateSingleton,
|
|
|
+ isRefresh: false,
|
|
|
};
|
|
|
},
|
|
|
|
|
|
@@ -102,10 +82,12 @@ export default {
|
|
|
searchText: function (newVal, oldVal) {
|
|
|
this.search(newVal);
|
|
|
},
|
|
|
- 'roleStateInstance.userRoleOrTemplate': function(newValue, oldVal){
|
|
|
-
|
|
|
- console.log(newValue);
|
|
|
+ 'roleStateInstance.userRoleOrTemplate': function (newValue, oldVal) {
|
|
|
this.loadMenuData();
|
|
|
+ console.log(newValue, oldVal);
|
|
|
+ if (newValue && oldVal && newValue.roleOrTemplateName !== oldVal.roleOrTemplateName) {
|
|
|
+ this.$router.push('/desktop/dashboard');
|
|
|
+ }
|
|
|
},
|
|
|
},
|
|
|
|
|
|
@@ -402,6 +384,7 @@ export default {
|
|
|
.main_menu_side {
|
|
|
padding: 0;
|
|
|
}
|
|
|
+
|
|
|
.main_menu .fa {
|
|
|
width: 26px;
|
|
|
opacity: 0.99;
|
|
|
@@ -413,38 +396,45 @@ export default {
|
|
|
-webkit-font-smoothing: antialiased;
|
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
}
|
|
|
-.main_menu .navbar-nav > li > a {
|
|
|
+
|
|
|
+.main_menu .navbar-nav>li>a {
|
|
|
color: #fff !important;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li {
|
|
|
position: relative;
|
|
|
display: block;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li > a {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li>a {
|
|
|
margin-bottom: 6px;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li > a:hover {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li>a:hover {
|
|
|
color: #f2f5f7 !important;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li > a,
|
|
|
-.main_menu .nav.child_menu > li > a {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li>a,
|
|
|
+.main_menu .nav.child_menu>li>a {
|
|
|
/* color: #e7e7e7; */
|
|
|
color: #fff;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li.current-page,
|
|
|
-.main_menu .nav.side-menu > li.active {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li.current-page,
|
|
|
+.main_menu .nav.side-menu>li.active {
|
|
|
border-right: 5px solid #1abb9c;
|
|
|
}
|
|
|
-.main_menu .nav.side-menu > li.active > a {
|
|
|
+
|
|
|
+.main_menu .nav.side-menu>li.active>a {
|
|
|
text-shadow: rgba(0, 0, 0, 0.25) 0 -1px 0;
|
|
|
background: linear-gradient(#334556, #2c4257), #2a3f54;
|
|
|
box-shadow: rgba(0, 0, 0, 0.25) 0 1px 0,
|
|
|
inset rgba(255, 255, 255, 0.16) 0 1px 0;
|
|
|
}
|
|
|
|
|
|
-.main_menu .nav.child_menu li li a:hover{
|
|
|
+.main_menu .nav.child_menu li li a:hover {
|
|
|
background-color: var(--menu-select-color);
|
|
|
}
|
|
|
|
|
|
@@ -455,6 +445,7 @@ export default {
|
|
|
.main_menu .nav.child_menu.active {
|
|
|
display: block;
|
|
|
}
|
|
|
+
|
|
|
/*.nav.child_menu li:hover,
|
|
|
.nav.child_menu li.active {
|
|
|
background-color: #495d70;
|
|
|
@@ -466,6 +457,7 @@ export default {
|
|
|
.main_menu .nav.child_menu li {
|
|
|
padding-left: 36px;
|
|
|
}
|
|
|
+
|
|
|
.main_menu .nav-md ul.nav.child_menu li:before {
|
|
|
background: #425668;
|
|
|
bottom: auto;
|
|
|
@@ -479,6 +471,7 @@ export default {
|
|
|
z-index: 1;
|
|
|
border-radius: 50%;
|
|
|
}
|
|
|
+
|
|
|
.main_menu .nav-md ul.nav.child_menu li:after {
|
|
|
border-left: 1px solid #425668;
|
|
|
bottom: 0;
|
|
|
@@ -487,19 +480,23 @@ export default {
|
|
|
position: absolute;
|
|
|
top: 0;
|
|
|
}
|
|
|
+
|
|
|
.main_menu .nav.child_menu li li:hover,
|
|
|
.main_menu .nav.child_menu li li.active {
|
|
|
background-color: var(--menu-select-color);
|
|
|
}
|
|
|
+
|
|
|
.main_menu .nav.child_menu li li a:hover,
|
|
|
.main_menu .nav.child_menu li li a.active {
|
|
|
color: #fff;
|
|
|
}
|
|
|
-.main_menu .nav > li > a {
|
|
|
+
|
|
|
+.main_menu .nav>li>a {
|
|
|
position: relative;
|
|
|
display: block;
|
|
|
padding: 13px 15px 12px;
|
|
|
}
|
|
|
+
|
|
|
/*.nav li.current-page {
|
|
|
background: rgba(255, 255, 255, 0.05);
|
|
|
}
|
|
|
@@ -511,23 +508,27 @@ export default {
|
|
|
.main_menu .nav li li.current-page a {
|
|
|
color: #fff;
|
|
|
}
|
|
|
-.main_menu .nav.navbar-nav > li > a {
|
|
|
+
|
|
|
+.main_menu .nav.navbar-nav>li>a {
|
|
|
color: #515356 !important;
|
|
|
}
|
|
|
-.main_menu .nav.top_menu > li > a {
|
|
|
+
|
|
|
+.main_menu .nav.top_menu>li>a {
|
|
|
position: relative;
|
|
|
display: block;
|
|
|
padding: 10px 15px;
|
|
|
color: #34495e !important;
|
|
|
}
|
|
|
+
|
|
|
/* .nav > li > a:hover, .nav > li > a:focus {
|
|
|
background-color: transparent;
|
|
|
}*/
|
|
|
-.main_menu .menu-nav > li > a:focus,
|
|
|
-.main_menu .menu-nav > li > a:hover {
|
|
|
+.main_menu .menu-nav>li>a:focus,
|
|
|
+.main_menu .menu-nav>li>a:hover {
|
|
|
text-decoration: none;
|
|
|
background-color: transparent !important;
|
|
|
}
|
|
|
+
|
|
|
.main_menu .menu-search {
|
|
|
/* background-color: #1c3e4b; */
|
|
|
color: #fff;
|