content.jsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. default:
  49. require.ensure([], () => {
  50. let Module = require("../module").default;
  51. this.setState({
  52. component: <Module />,
  53. });
  54. });
  55. };
  56. window.location.hash = key;
  57. }
  58. render() {
  59. return (
  60. <div className="manage-content">
  61. <LeftTab handlekey={this.getKey.bind(this)} />
  62. <div className="content-right">
  63. {this.state.component}
  64. </div>
  65. </div>
  66. )
  67. }
  68. }
  69. export default Content;