content.jsx 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import './content.less';
  4. import LeftTab from './leftTab';
  5. class Content extends Component {
  6. constructor() {
  7. super();
  8. this.state = {
  9. loading: false,
  10. component: <div />,
  11. };
  12. }
  13. componentWillMount() {
  14. if (window.location.hash) {
  15. this.getKey(window.location.hash.substr(1));
  16. } else {
  17. this.getKey('member');
  18. };
  19. }
  20. getKey(key) {
  21. switch (key) {
  22. case 'member':
  23. require.ensure([], () => {
  24. const Member = require('./userManagement/member').default;
  25. this.setState({
  26. component: <Member />
  27. });
  28. });
  29. break;
  30. case 'permission':
  31. require.ensure([], () => {
  32. const Permission = require('./userManagement/permission').default;
  33. this.setState({
  34. component:<Permission />,
  35. });
  36. });
  37. break;
  38. case 'role':
  39. require.ensure([], () => {
  40. const Role = require('./userManagement/role').default;
  41. this.setState({
  42. component: <Role />
  43. });
  44. });
  45. break;
  46. case 'site':
  47. require.ensure([], () => {
  48. const Site = require('./userManagement/site').default;
  49. this.setState({
  50. component: <Site />,
  51. });
  52. });
  53. break;
  54. case 'organization':
  55. require.ensure([], () => {
  56. const Organization = require('./organization/organization').default;
  57. this.setState({
  58. component:<Organization />,
  59. });
  60. });
  61. break;
  62. case 'businessCategory':
  63. require.ensure([], () => {
  64. const BusinessCategory = require('./business/businessCategory').default;
  65. this.setState({
  66. component:<BusinessCategory />
  67. });
  68. });
  69. break;
  70. case 'businessProject':
  71. require.ensure([], () => {
  72. const BusinessProject = require('./business/businessProject').default;
  73. this.setState({
  74. component:<BusinessProject />
  75. });
  76. });
  77. break;
  78. };
  79. window.location.hash = key;
  80. }
  81. render() {
  82. return (
  83. <div className="manage-content">
  84. <LeftTab handlekey={this.getKey.bind(this)} />
  85. <div className="content-right">
  86. {this.state.component}
  87. </div>
  88. </div>
  89. )
  90. }
  91. }
  92. export default Content;