content.jsx 2.2 KB

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