集优化项目菜单跳转问题处理

init
gongdi 4 years ago
parent b905502e32
commit 2c9c597b6d

@ -12,7 +12,8 @@
<template slot="content"> <template slot="content">
<div v-for="hiddenMenu in hiddenMenus" :key="hiddenMenu.name" class="hidden-menu-style"> <div v-for="hiddenMenu in hiddenMenus" :key="hiddenMenu.name" class="hidden-menu-style">
<my-icon :type="hiddenMenu.iconType" class="icon-style"></my-icon> <my-icon :type="hiddenMenu.iconType" class="icon-style"></my-icon>
<span @click="hiddenMenuClick(hiddenMenu)" class="menu-name-style" style="margin-left: 0.5rem;margin-top:0.5rem;cursor: pointer">{{hiddenMenu.title}}</span> <span @click="hiddenMenuClick(hiddenMenu)" class="menu-name-style"
style="margin-left: 0.5rem;margin-top:0.5rem;cursor: pointer">{{hiddenMenu.title}}</span>
</div> </div>
</template> </template>
<my-icon :type="showMoreIconType" class="icon-style"></my-icon> <my-icon :type="showMoreIconType" class="icon-style"></my-icon>
@ -94,6 +95,29 @@
} }
// //
this.showMore = true; this.showMore = true;
this.handleHiddenMenu();
}
}
},
/*
* 处理跳转菜单为隐藏菜单
* */
handleHiddenMenu: function () {
let hiddenMenus = this.hiddenMenus;
let menuName = this.menuName;
for(let i = 0,len = hiddenMenus.length;i < len;i ++){
if(menuName === hiddenMenus[i].name){
this.showMoreTitle = hiddenMenus[i].title;
this.showMoreIconType = hiddenMenus[i].iconType ? hiddenMenus[i].iconType : "";
this.menuName = hiddenMenus[i].name;
this.childMenuName = "";
this.menuChildren = this.getMenuChildren();
let path = hiddenMenus[i].path;
if (this.menuChildren && this.menuChildren.length > 0) {
path = this.menuChildren[0].path;
this.childMenuName = this.menuChildren[0].name;
}
break;
} }
} }
}, },

@ -3,10 +3,10 @@
<div v-for="menu in menus" :key="menu.iconType" class="menu-style" @mouseenter="mouseenter(menu)" <div v-for="menu in menus" :key="menu.iconType" class="menu-style" @mouseenter="mouseenter(menu)"
@mouseleave="mouseleave(menu)"> @mouseleave="mouseleave(menu)">
<span v-show="isOpen && !menu.isBigger">{{menu.title}}</span> <span v-show="isOpen && !menu.isBigger">{{menu.title}}</span>
<my-icon v-show="!isOpen" :type="menu.iconType" :title="menu.title" class="menu-icon-style"></my-icon> <my-icon v-show="!isOpen" :type="menu.iconType" :title="menu.title" class="menu-icon-style" @click="toReplace(menu)"></my-icon>
<div v-show="isOpen && menu.isBigger" class="menu-bigger-style"> <div v-show="isOpen && menu.isBigger" class="menu-bigger-style">
<my-icon :type="menu.iconType" class="bigger-menu-icon-style"></my-icon> <my-icon :type="menu.iconType" class="bigger-menu-icon-style"></my-icon>
<span>{{menu.title}}</span> <span @click="toReplace(menu)">{{menu.title}}</span>
</div> </div>
</div> </div>
<div class="menu-style"> <div class="menu-style">
@ -57,6 +57,12 @@
this.$set(menu,"isBigger",false); this.$set(menu,"isBigger",false);
} }
}, },
/*
* 路由跳转
* */
toReplace:function (menu) {
this.$emit("replace",menu);
}
}, },
components: { components: {
AIcon: Icon AIcon: Icon

@ -2,7 +2,7 @@
<div class="system-home-page-style"> <div class="system-home-page-style">
<PageTop/> <PageTop/>
<BannerCarousel @replace="toReplace"/> <BannerCarousel @replace="toReplace"/>
<FixedNavigation/> <FixedNavigation @replace="toReplace"/>
<BottomInfo/> <BottomInfo/>
</div> </div>
</template> </template>

Loading…
Cancel
Save