content.jsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import './content.less';
  4. import LeftTab from '../leftTab';
  5. import { getMenu } from '../publicMenu.js'
  6. class Content extends Component {
  7. constructor() {
  8. super();
  9. this.state = {
  10. loading: false,
  11. component: <div />,
  12. };
  13. }
  14. componentWillMount() {
  15. var ids = window.location.href.indexOf('rid=');
  16. var idk = window.location.href.substr(ids + 4);
  17. var rid = idk.split('#');
  18. let menu = getMenu(rid);
  19. let curry;
  20. if (menu[0].subMenus.length > 0) {
  21. curry = menu[0].subMenus[0].url.split('#');
  22. } else {
  23. curry = menu[0].url.split('#');
  24. };
  25. if (window.location.hash) {
  26. this.getKey(window.location.hash.substr(1));
  27. } else {
  28. this.getKey(curry[1]);
  29. };
  30. }
  31. getKey(key) {
  32. switch (key) {
  33. // 标准列表
  34. case 'standard':
  35. require.ensure([], () => {
  36. const Standard = require('./stList/index').default;
  37. this.setState({
  38. component: <Standard />
  39. });
  40. });
  41. break;
  42. // 标准平台链接
  43. case 'standardLink':
  44. require.ensure([], () => {
  45. const StandardLink = require('./slLink/index').default;
  46. this.setState({
  47. component: <StandardLink />
  48. });
  49. });
  50. break;
  51. default:
  52. require.ensure([], () => {
  53. const Module = require('../module').default;
  54. this.setState({
  55. component: <Module />
  56. });
  57. });
  58. };
  59. window.location.hash = key;
  60. }
  61. render() {
  62. return (
  63. <div className="manage-content">
  64. <LeftTab handlekey={this.getKey.bind(this)} />
  65. <div className="content-right">
  66. {this.state.component}
  67. </div>
  68. </div>
  69. )
  70. }
  71. }
  72. export default Content;