content.jsx 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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("myClient");
  17. };
  18. }
  19. getKey(key) {
  20. switch (key) {
  21. case 'myClient':
  22. require.ensure([], () => {
  23. const MyClient = require('./customerData/myClient').default;
  24. this.setState({
  25. component: <MyClient />
  26. });
  27. });
  28. break;
  29. case 'companyCustomer':
  30. require.ensure([], () => {
  31. const CompanyCustomer = require('./customerData/companyCustomer').default;
  32. this.setState({
  33. component:<CompanyCustomer />,
  34. });
  35. });
  36. break;
  37. case 'individualCustomer':
  38. require.ensure([], () => {
  39. const IndividualCustomer = require('./individualCustomer/individualCustomer').default;
  40. this.setState({
  41. component: <IndividualCustomer />
  42. });
  43. });
  44. break;
  45. case 'queryCustomer':
  46. require.ensure([], () => {
  47. const QueryCustomer = require('./individualCustomer/queryCustomer').default;
  48. this.setState({
  49. component:<QueryCustomer />,
  50. });
  51. });
  52. break;
  53. case 'myBusiness':
  54. require.ensure([], () => {
  55. const MyBusiness = require('./customerService/myBusiness').default;
  56. this.setState({
  57. component:<MyBusiness />,
  58. });
  59. });
  60. break;
  61. case 'serviceQuery':
  62. require.ensure([], () => {
  63. const ServiceQuery = require('./customerService/serviceQuery').default;
  64. this.setState({
  65. component:<ServiceQuery />,
  66. });
  67. });
  68. break;
  69. case 'visitStatistics':
  70. require.ensure([], () => {
  71. const VisitStatistics = require('./statistics/visitStatistics').default;
  72. this.setState({
  73. component:<VisitStatistics />,
  74. });
  75. });
  76. break;
  77. case 'statusStatistics':
  78. require.ensure([], () => {
  79. const StatusStatistics = require('./statistics/statusStatistics').default;
  80. this.setState({
  81. component:<StatusStatistics />,
  82. });
  83. });
  84. break;
  85. case 'followStatistics':
  86. require.ensure([], () => {
  87. const FollowStatistics = require('./statistics/followStatistics').default;
  88. this.setState({
  89. component:<FollowStatistics />,
  90. });
  91. });
  92. break;
  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;