content.jsx 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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. //项目派单
  33. case 'projectAssignment':
  34. require.ensure([], () => {
  35. const ProjectAssignment = require('./project/projectAssignment').default;
  36. this.setState({
  37. component: <ProjectAssignment ApiUrl={''}/>
  38. });
  39. });
  40. break;
  41. //项目查询
  42. case 'projectQuery':
  43. require.ensure([], () => {
  44. const ProjectQuery = require('./project/projectQuery').default;
  45. this.setState({
  46. component:<ProjectQuery ApiUrl={''}/>,
  47. });
  48. });
  49. break;
  50. //任务查询
  51. case 'taskQuery':
  52. require.ensure([], () => {
  53. const TaskQuery = require('./task/taskQuery').default;
  54. this.setState({
  55. component:<TaskQuery ApiUrl={''}/>,
  56. });
  57. });
  58. break;
  59. //任务派单
  60. case 'taskAssignment':
  61. require.ensure([], () => {
  62. const TaskAssignment = require('./task/taskAssignment').default;
  63. this.setState({
  64. component:<TaskAssignment ApiUrl={''}/>,
  65. });
  66. });
  67. break;
  68. //我的任务
  69. case 'myTask':
  70. require.ensure([], () => {
  71. const MyTask = require('./task/myTask').default;
  72. this.setState({
  73. component:<MyTask ApiUrl={''}/>,
  74. });
  75. });
  76. break;
  77. //任务统计
  78. case 'taskCount':
  79. require.ensure([], () => {
  80. const TaskCount = require('./task/taskCount').default;
  81. this.setState({
  82. component:<TaskCount ApiUrl={''}/>,
  83. });
  84. });
  85. break;
  86. default:
  87. require.ensure([], () => {
  88. const Module = require('../module').default;
  89. this.setState({
  90. component:<Module ApiUrl={''}/>
  91. });
  92. });
  93. };
  94. window.location.hash = key;
  95. }
  96. render() {
  97. return (
  98. <div className="manage-content">
  99. <LeftTab handlekey={this.getKey.bind(this)} />
  100. <div className="content-right">
  101. {this.state.component}
  102. </div>
  103. </div>
  104. )
  105. }
  106. }
  107. export default Content;