import React from 'react'; import { Menu, Icon, message } from 'antd'; import '@/account/leftTab.less'; const SubMenu = Menu.SubMenu; import { Link } from 'react-router'; import $ from 'jquery/src/ajax'; import { menu } from '@/account/menu'; import logo from 'img/acc-logo.png'; const LeftTab = React.createClass({ getInitialState() { return { newMenu:[], openKeys: [ 'sub1' ], current: 'normal', switch: false, rootSubmenuKeys: [ 'sub1', 'sub2', 'sub3', 'sub4','sub5','sub6','sub7' ] }; }, loadData() { $.ajax({ method: 'get', dataType: 'json', url: globalConfig.context + '/api/user/homePage', data: {} }).done( function(data) { if (!data.error.length) { this.setState({ type: data.data.type }); this.jurisdiction(data.data) } else { message.warning(data.error[0].message); } }.bind(this) ); }, menuClick(e) { this.setState({ current: e.key }); window.location.hash = e.key; }, iconFun() { let menuW = document.querySelector('.ant-layout-sider'); if (this.state.switch) { menuW.style.width = '200px'; menuW.style.flex = '0 0 200px'; } else { menuW.style.width = '50px'; menuW.style.flex = '0 0 50px'; } this.setState({ switch: !this.state.switch }); }, onOpenChange(openKeys) { const latestOpenKey = openKeys.find((key) => this.state.openKeys.indexOf(key) === -1); if (this.state.rootSubmenuKeys.indexOf(latestOpenKey) === -1) { this.setState({ openKeys }); } else { this.setState({ openKeys: latestOpenKey ? [ latestOpenKey ] : [] }); } }, hashFun(){ if (window.location.hash) { let current = window.location.hash.substr(2), open = []; if (!current.length) { window.location.hash = 'normal'; this.setState({ openKeys: [ 'sub1' ], current: 'normal' }); } else { menu.map((item) => { if (item.children) { item.children.map((atem) => { if (current == atem.url) { open.push(item.url); } }); } }); this.setState({ openKeys: open, current }); } } else { window.location.hash = 'normal'; this.setState({ openKeys: [ 'sub1' ], current: 'normal' }); } }, //菜单权限处理 jurisdiction(data){ let newMenu =menu; if(data.type){ //企业用户 newMenu[1].children.splice(2,1); }else{ //个人用户 newMenu[1].children.splice(1,1); }; this.setState({newMenu}); }, componentWillMount() { this.loadData(); this.hashFun(); }, render() { return (