|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<el-menu
|
|
|
|
class="sidebar-el-menu"
|
|
|
|
:default-active="onRoutes"
|
|
|
|
background-color="#324157"
|
|
|
|
text-color="#bfcbd9"
|
|
|
|
active-text-color="#9278FF"
|
|
|
|
unique-opened
|
|
|
|
mode="horizontal"
|
|
|
|
router
|
|
|
|
@select="handleSelect"
|
|
|
|
>
|
|
|
|
<template v-for="item in items">
|
|
|
|
<template v-if="item.subs">
|
|
|
|
<el-submenu :index="item.index" :key="item.index">
|
|
|
|
<template slot="title">
|
|
|
|
<i :class="item.icon"></i>
|
|
|
|
<span slot="title">{{ item.title }}</span>
|
|
|
|
</template>
|
|
|
|
<template v-for="subItem in item.subs">
|
|
|
|
<el-submenu
|
|
|
|
v-if="subItem.subs"
|
|
|
|
:index="subItem.index"
|
|
|
|
:key="subItem.index"
|
|
|
|
>
|
|
|
|
<template slot="title">{{ subItem.title }}</template>
|
|
|
|
<el-menu-item
|
|
|
|
v-for="(threeItem,i) in subItem.subs"
|
|
|
|
:key="i"
|
|
|
|
:index="threeItem.index"
|
|
|
|
>{{ threeItem.title }}</el-menu-item>
|
|
|
|
</el-submenu>
|
|
|
|
<el-menu-item
|
|
|
|
v-else
|
|
|
|
:index="subItem.index"
|
|
|
|
:key="subItem.index"
|
|
|
|
>{{ subItem.title }}</el-menu-item>
|
|
|
|
</template>
|
|
|
|
</el-submenu>
|
|
|
|
</template>
|
|
|
|
<template v-else>
|
|
|
|
<el-menu-item :index="item.index" :key="item.index">
|
|
|
|
<i :class="item.icon"></i>
|
|
|
|
<span slot="title">{{ item.title }}</span>
|
|
|
|
</el-menu-item>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</el-menu>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
items: [
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-home',
|
|
|
|
index: 'customer',
|
|
|
|
title: '客户管理'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-cascades',
|
|
|
|
index: 'user',
|
|
|
|
title: '用户管理'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-copy',
|
|
|
|
index: 'order',
|
|
|
|
title: '订单管理'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-emoji',
|
|
|
|
index: 'configure',
|
|
|
|
title: '服务配置'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-emoji',
|
|
|
|
index: 'curriculum',
|
|
|
|
title: '课程管理'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
icon: 'el-icon-lx-emoji',
|
|
|
|
index: 'data',
|
|
|
|
title: '数据管理'
|
|
|
|
}
|
|
|
|
],
|
|
|
|
onRoutes:'customer'
|
|
|
|
};
|
|
|
|
},
|
|
|
|
watch:{
|
|
|
|
"$route.path":function(val){
|
|
|
|
this.items.map(e=>{
|
|
|
|
if(val.replace('/', '')===e.index){
|
|
|
|
this.handleSelect(val.replace('/', ''))
|
|
|
|
this.$forceUpdate();
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods:{
|
|
|
|
handleSelect(index){
|
|
|
|
this.onRoutes = index
|
|
|
|
sessionStorage.setItem('sideBar',index)
|
|
|
|
},
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
if(sessionStorage.getItem('sideBar')){
|
|
|
|
this.handleSelect(sessionStorage.getItem('sideBar'))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.sidebar::-webkit-scrollbar {
|
|
|
|
width: 0;
|
|
|
|
}
|
|
|
|
.sidebar-el-menu:not(.el-menu--collapse) {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
.sidebar > ul {
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
</style>
|