|
@@ -18,17 +18,25 @@ watch(
|
|
|
);
|
|
|
|
|
|
//点击有二级菜单的默认打开第一个
|
|
|
-const submenuEvent = (e)=>{
|
|
|
- // 查找当前点击的二级菜单如果当前的路由在二级菜单的子菜单中含有则不坐任何操作
|
|
|
- let flag=false
|
|
|
- e.children.forEach(item=>{
|
|
|
- if(item.path==route.path){
|
|
|
- flag=true
|
|
|
+const submenuEvent = (index)=>{
|
|
|
+ let tem=null
|
|
|
+ menuList.forEach(_item=>{
|
|
|
+ if(_item.path==index){
|
|
|
+ tem=_item.children
|
|
|
}
|
|
|
})
|
|
|
- if(flag) return
|
|
|
- router.push(e.path)
|
|
|
+ if(tem){
|
|
|
+ let flag=false
|
|
|
+ tem.forEach(item=>{
|
|
|
+ if(item.path==route.path){
|
|
|
+ flag=true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(flag) return
|
|
|
+ router.push(tem[0].path)
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
let menuList = reactive([
|
|
|
{
|
|
|
MenuId: 1,
|
|
@@ -126,8 +134,15 @@ watch(
|
|
|
|
|
|
<template>
|
|
|
<div class="aside-wrap">
|
|
|
- <el-menu router :default-active="activePath" unique-opened
|
|
|
- text-color="#333" active-text-color="#F3A52F" class="el-menu-wrap">
|
|
|
+ <el-menu
|
|
|
+ router
|
|
|
+ :default-active="activePath"
|
|
|
+ @open="submenuEvent"
|
|
|
+ unique-opened
|
|
|
+ text-color="#333"
|
|
|
+ active-text-color="#F3A52F"
|
|
|
+ class="el-menu-wrap"
|
|
|
+ >
|
|
|
<template v-for="menu in menuList">
|
|
|
<el-menu-item :index="menu.path" :key="menu.MenuId" v-if="!menu.children">
|
|
|
<img class="menu-icon" :src="menu.icon_path" alt="" />
|
|
@@ -135,12 +150,15 @@ watch(
|
|
|
</el-menu-item>
|
|
|
<el-sub-menu :index="menu.path" :key="menu.MenuId" v-else>
|
|
|
<template #title>
|
|
|
- <div style="flex:1" @click="submenuEvent(menu)">
|
|
|
- <img class="menu-icon" :src="menu.icon_path" alt="" />
|
|
|
- <span class="menu-text">{{ menu.name }}</span>
|
|
|
- </div>
|
|
|
+ <img class="menu-icon" :src="menu.icon_path" alt="" />
|
|
|
+ <span class="menu-text">{{ menu.name }}</span>
|
|
|
</template>
|
|
|
- <el-menu-item v-for="child in menu.children" :key="child.MenuId" :index="child.path" style="text-align: center">
|
|
|
+ <el-menu-item
|
|
|
+ v-for="child in menu.children"
|
|
|
+ :key="child.MenuId"
|
|
|
+ :index="child.path"
|
|
|
+ style="text-align: center"
|
|
|
+ >
|
|
|
{{ child.name }}
|
|
|
</el-menu-item>
|
|
|
</el-sub-menu>
|