import React, { Component } from 'react'; import '../content.less'; import './content.less'; import LeftTab from '../leftTab'; import { getMenu } from '../publicMenu.js' class Content extends Component { constructor() { super(); this.state = { loading: false, component: <div />, }; } componentWillMount() { var ids = window.location.href.indexOf('rid='); var idk = window.location.href.substr(ids + 4); var rid = idk.split('#'); let menu = getMenu(rid); let curry; if (menu[0].subMenus.length > 0) { curry = menu[0].subMenus[0].url.split('#'); } else { curry = menu[0].url.split('#'); }; if (window.location.hash) { this.getKey(window.location.hash.substr(1)); } else { this.getKey(curry[1]); }; } getKey(key) { switch (key) { case 'softwareConfigure': require.ensure([], () => { const SoftwareConfigure = require('./projectConfigure/softwareConfigure').default; this.setState({ component: <SoftwareConfigure />, }); }); break; case 'officialFees': require.ensure([], () => { const OfficialFees = require('./projectConfigure/officialFees').default; this.setState({ component: <OfficialFees />, }); }); break; case 'patentFees': require.ensure([], () => { const PatentFees = require('./projectConfigure/patentFees').default; this.setState({ component: <PatentFees />, }); }); break; case 'organization': require.ensure([], () => { const Organization = require('./organization/organization').default; this.setState({ component: <Organization />, }); }); break; case 'workeTimes': require.ensure([], () => { const WorkeTimes = require('./workeTimes/index').default; this.setState({ component: <WorkeTimes />, }); }); break; case 'businessCategory': require.ensure([], () => { const BusinessCategory = require('./business/businessCategory').default; this.setState({ component: <BusinessCategory /> }); }); break; case 'businessProject': require.ensure([], () => { const BusinessProject = require('./business/businessProject').default; this.setState({ component: <BusinessProject /> }); }); break; case 'businessQuery': require.ensure([], () => { const BusinessQuery = require('./business/businessQuery').default; this.setState({ component: <BusinessQuery /> }); }); break; case 'user': require.ensure([], () => { const User = require('./userManagementS/user').default; this.setState({ component: <User /> }); }); break; case 'roles': require.ensure([], () => { const Roles = require('./userManagementS/roles').default; this.setState({ component: <Roles />, }); }); break; case 'permission': require.ensure([], () => { const Jurisdiction = require('./userManagementS/jurisdiction').default; this.setState({ component: <Jurisdiction /> }); }); break; case 'bar': require.ensure([], () => { const Bar = require('./amoeba/barList').default; this.setState({ component: <Bar /> }); }); break; default: require.ensure([], () => { const Module = require('../module').default; this.setState({ component: <Module /> }); }); }; window.location.hash = key; } render() { return ( <div className="manage-content"> <LeftTab handlekey={this.getKey.bind(this)} /> <div className="content-right"> {this.state.component} </div> </div> ) } } export default Content;