| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | import React from 'react';import { Menu, Icon } from 'antd';import '../leftTab.less';const SubMenu = Menu.SubMenu;const MenuItemGroup = Menu.ItemGroup;import {getMenu} from '../publicMenu.js'const LeftTab = React.createClass({    getInitialState() {        return {            current: '',            subKey: '',        };    },    current(e){    	let menuArr=this.state.menu;    	let curr;    	menuArr.map(function(item){        		if(e==item.url){        			curr=item.subMenus[0].url.split('#')         		}        })    	return curr;    },    handleClick(e) {    	let menuArr=this.state.menu;    	let path=e.keyPath[1];        if (this.state.subKey !== e.keyPath[1]) {        	let urls= this.current(path);        	location.href=globalConfig.context +urls[0]+'?rid='+this.state.idtt+'#' + e.key;        };        this.props.handlekey(e.key);        this.setState({	        	subKey:path,	            current: e.key,	        });    },   componentWillMount() {    	let me_=this;        var ids=window.location.href.indexOf('rid=')        var idk=window.location.href.substr(ids+4)        var rid=idk.split('#')        var menu=getMenu(rid);        let sub;        let curr=rid[1];        for(var i=0;i<menu.length;i++){        	menu[i].subMenus.map(function(atem){        		if(atem.url.indexOf(curr)>0){        			sub=menu[i].url         		}        	})        }        let cur,subs;        if(menu[0].subMenus.length){        	 cur=menu[0].subMenus[0].url.split('#');        	 subs=menu[0].url;        }else{        	 cur=menu[0].url.split('#');        	 subs=''        };        if(sub!=undefined){        	this.setState({	        	menu:menu,	        	current:rid[1],	        	subKey:sub,	        	idtt:rid[0]        	});        }else{        	this.setState({	        	menu:menu,	        	current:cur[1],        		subKey:subs,	        	idtt:rid[0]        	});        }                var htmlMenu=[];        for(var j=0;j<menu.length;j++){        	if(menu[j].subMenus.length){        		htmlMenu.push(				<SubMenu key={menu[j].url} title={<span>{menu[j].name}</span>}>					{						menu[j].subMenus.map(function(item){							let urls=item.url.split('#');							return <Menu.Item key={urls[1]}>{item.name}</Menu.Item>						})					}				</SubMenu>				);        	}else{        		let urlt=menu[j].url.split('#');        		htmlMenu.push(        			<Menu.Item key={urlt[1]}>{menu[j].name}</Menu.Item>        		)        	}        };        this.setState({        	htmlMenus:htmlMenu	    })        const _me = this;        if (window.location.hash&&menu[0].subMenus.length) {            let theKey = window.location.hash.substr(1);            menu.map(function (item1) {	                item1.subMenus.map(function (item2) {	                	let urls=item2.url.split('#')	                    if (theKey == urls[1]) {	                        _me.state.subKey = item1.url	                    };	                });            });            this.state.current = theKey;        }else{        	this.state.current = window.location.hash.substr(1);        };    },    render() {        return (            <Menu onClick={this.handleClick}                selectedKeys={[this.state.current]}                defaultOpenKeys={[this.state.subKey]}                mode="vertical"                className="account-left"                mode="inline" >               {this.state.htmlMenus}            </Menu>        );    }});export default LeftTab;
 |