From 281614065b2e2d548b7e4ff3c90fb61ee0263c5d Mon Sep 17 00:00:00 2001 From: red-deng-deng <1924913374@qq.com> Date: Mon, 29 Nov 2021 17:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/subnav/main.js | 64 +++++++++++++++++------------------ src/pages/home/home.js | 4 ++- src/pages/login/loginform.js | 30 +++++++++++++--- 3 files changed, 60 insertions(+), 38 deletions(-) diff --git a/src/components/subnav/main.js b/src/components/subnav/main.js index 511d2d5c..8ffc1f87 100644 --- a/src/components/subnav/main.js +++ b/src/components/subnav/main.js @@ -14,41 +14,46 @@ export default class topNav extends React.Component{ linkshowname:sessionStorage.getItem('linkshowname'), showflag:JSON.parse( sessionStorage.getItem('showflag')) } + console.log(17,props.listnav); this.backFn=this.backFn.bind(this) } + //点击一级菜单 showlinkmenu(e,item){ - this.setState({pathname:item.path}) - this.setState({'linkshowname':item.name}); - - this.setState({'menulinklist':item.childmenu}); + let self=this; + console.log(22,item.child); + try{ + item.child.forEach(item=>{ + if(item.level ===5){ + sessionStorage.setItem('pathname2',item.router); + throw '终止循环' + } + }) + }catch(e){ + console.log(e) + } + self.setState({'linkshowname':item.title}); + self.setState({'menulinklist':item.child}); // 防止刷新页面,导航签清空 - sessionStorage.setItem('menulinklist',JSON.stringify(item.childmenu)); + sessionStorage.setItem('menulinklist',JSON.stringify(item.child)); sessionStorage.setItem('showflag',true); - sessionStorage.setItem('linkshowname',item.name); - if(item.childmenu.length>0){ - sessionStorage.setItem('pathname2',item.childmenu[0].items[0].path); - } + sessionStorage.setItem('linkshowname',item.title); } btnfn(item2){ - this.setState({pathname2:item2.path}) + this.setState({pathname2:item2.router}) this.setState({showflag:true}); sessionStorage.setItem('showflag',true) - sessionStorage.setItem('pathname2',item2.path) + sessionStorage.setItem('pathname2',item2.router) } //返回 backFn(items){ - this.setState({'pathname2':items[0].path}); + this.setState({'pathname2':items.router}); sessionStorage.setItem('showflag',true) - sessionStorage.setItem('pathname2',items[0].path) + sessionStorage.setItem('pathname2',items.router) window.history.go(-1) - } - breakFn(item){ - sessionStorage.setItem('pathname2',item) - } componentWillMount(){ @@ -74,7 +79,8 @@ export default class topNav extends React.Component{ { this.state.navlists.map((item,i)=>{ return ( - this.showlinkmenu(e,item)} >{item.name} + item.child&&item.child.length>0?this.showlinkmenu(e,item)} >{item.title}:null + ) }) } @@ -83,24 +89,18 @@ export default class topNav extends React.Component{ { editbreakflag== false && planbreakflag == false && sedcbreakflag==false&&this.state.menulinklist!=''&&breakflag==false&&routeflag=='true'?(
- { - this.state.menulinklist.map((item,key)=>{ - return( -
+ +
- { - item.items.map((item2,key2)=>{ - return( - this.btnfn(item2)} className={pathnameBreak==item2.path&&item.items.length>1?'menuactive':''}>{item2.name} - ) - }) - } + { + this.state.menulinklist.map((item,key)=>{ + return(item.level==5?this.btnfn(item)} className={pathnameBreak==item.router&&item.child.length>=1?'menuactive':''}>{item.title}:null) + }) }
数据最后更新时间:{window.timeshow}
- ) - }) - } + +
):null } diff --git a/src/pages/home/home.js b/src/pages/home/home.js index c7348163..4217cf6d 100644 --- a/src/pages/home/home.js +++ b/src/pages/home/home.js @@ -195,6 +195,8 @@ export default class App extends Component { } componentWillMount(e){ + let activeMenuList=JSON.parse(sessionStorage.getItem('activeMenu')); + this.setState({'navlist':activeMenuList}); const pathname=window.location.href.lastIndexOf('\/'); const pathnamestr=window.location.href.substr(pathname); this.getUserInfuFn(); @@ -253,7 +255,7 @@ export default class App extends Component { {/* 用户头像信息 */}
- + {/* 帮助中心 */} {/* {!this.state.userInfo.head? { + if(item.id===16){ + if(item.child&&item.child.length>0){ + let obj=item.child.filter(item=>item.level==5); + sessionStorage.setItem('pathname2',obj[0].router); + sessionStorage.setItem('menulinklist',JSON.stringify(item.child)); + }else{ + if(item.child&&item.child.length>0){ + let obj=item.child.filter(item=>item.level==5); + sessionStorage.setItem('pathname2',obj[0].router); + sessionStorage.setItem('menulinklist',JSON.stringify(item.child)); + } + } + + throw '终止循环' + }else{ + + } + }) + }catch(e){ + console.log(e) + } + sessionStorage.setItem('activeMenu',JSON.stringify(response.menu)); sessionStorage.setItem('linkshowname',"营销计划管理"); setTimeout(()=>{