content.jsx 3.1 KB

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