content.jsx 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import LeftTab from '../leftTab';
  4. import {getMenu} from '../publicMenu.jsx'
  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 'myOrganization':
  33. require.ensure([], () => {
  34. const MyClient = require('./customerData/myClient').default;
  35. this.setState({
  36. component: <MyClient />
  37. });
  38. });
  39. break;
  40. case 'organizationQuery':
  41. require.ensure([], () => {
  42. const CompanyCustomer = require('./customerData/companyCustomer').default;
  43. this.setState({
  44. component:<CompanyCustomer />,
  45. });
  46. });
  47. break;
  48. case 'myPersonal':
  49. require.ensure([], () => {
  50. const IndividualCustomer = require('./individualCustomer/individualCustomer').default;
  51. this.setState({
  52. component: <IndividualCustomer />
  53. });
  54. });
  55. break;
  56. case 'personalQuery':
  57. require.ensure([], () => {
  58. const QueryCustomer = require('./individualCustomer/queryCustomer').default;
  59. this.setState({
  60. component:<QueryCustomer />,
  61. });
  62. });
  63. break;
  64. case 'myBusiness':
  65. require.ensure([], () => {
  66. const MyBusiness = require('./customerService/myBusiness').default;
  67. this.setState({
  68. component:<MyBusiness />,
  69. });
  70. });
  71. break;
  72. case 'businessQuery':
  73. require.ensure([], () => {
  74. const ServiceQuery = require('./customerService/serviceQuery').default;
  75. this.setState({
  76. component:<ServiceQuery />,
  77. });
  78. });
  79. break;
  80. case 'visitStatistics':
  81. require.ensure([], () => {
  82. const VisitStatistics = require('./statistics/visitStatistics').default;
  83. this.setState({
  84. component:<VisitStatistics />,
  85. });
  86. });
  87. break;
  88. case 'statusStatistics':
  89. require.ensure([], () => {
  90. const StatusStatistics = require('./statistics/statusStatistics').default;
  91. this.setState({
  92. component:<StatusStatistics />,
  93. });
  94. });
  95. break;
  96. case 'followStatistics':
  97. require.ensure([], () => {
  98. const FollowStatistics = require('./statistics/followStatistics').default;
  99. this.setState({
  100. component:<FollowStatistics />,
  101. });
  102. });
  103. break;
  104. default:
  105. require.ensure([], () => {
  106. const Module = require('../module').default;
  107. this.setState({
  108. component:<Module />
  109. });
  110. });
  111. };
  112. window.location.hash = key;
  113. }
  114. render() {
  115. return (
  116. <div className="manage-content">
  117. <LeftTab handlekey={this.getKey.bind(this)} />
  118. <div className="content-right">
  119. {this.state.component}
  120. </div>
  121. </div>
  122. )
  123. }
  124. }
  125. export default Content;