content.jsx 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import LeftTab from './leftTab';
  4. import TechDemand from './techDemand';
  5. class Content extends Component {
  6. constructor() {
  7. super();
  8. this.state = {
  9. loading: false,
  10. component: 'div',
  11. };
  12. }
  13. componentWillMount() {
  14. if (window.location.hash) {
  15. this.getKey(window.location.hash.substr(1));
  16. } else {
  17. this.getKey("techDemandManage");
  18. };
  19. }
  20. getKey(key) {
  21. switch (key) {
  22. case 'techDemandManage':
  23. require.ensure([], () => {
  24. const TechDemand = require('./techDemand').default;
  25. this.setState({
  26. component: TechDemand,
  27. listApiUrl: '/api/admin/demand/orgList',
  28. detailApiUrl: '/api/admin/demand/orgDemandDetail'
  29. });
  30. });
  31. break;
  32. case 'userTechDemand':
  33. require.ensure([], () => {
  34. const TechDemand = require('./techDemand').default;
  35. this.setState({
  36. component: TechDemand,
  37. listApiUrl: '/api/admin/demand/userList',
  38. detailApiUrl: '/api/admin/demand/userDemandDetail'
  39. });
  40. });
  41. break;
  42. case 'orgDemandOrder':
  43. require.ensure([], () => {
  44. const DemandOrder = require('./demandOrder').default;
  45. this.setState({
  46. component: DemandOrder,
  47. listApiUrl: '/api/admin/portal/order/orgDemandOrderList',
  48. detailApiUrl: '/api/admin/demand/orgDemandDetail'
  49. });
  50. });
  51. break;
  52. case 'userDemandOrder':
  53. require.ensure([], () => {
  54. const DemandOrder = require('./demandOrder').default;
  55. this.setState({
  56. component: DemandOrder,
  57. listApiUrl: '/api/admin/portal/order/userDemandOrderList',
  58. detailApiUrl: '/api/admin/demand/userDemandDetail'
  59. });
  60. });
  61. break;
  62. //新增空白
  63. case 'myTechDemand':
  64. require.ensure([], () => {
  65. const Module = require('../module').default;
  66. this.setState({
  67. component: Module,
  68. });
  69. });
  70. break;
  71. case 'techDemandQuery':
  72. require.ensure([], () => {
  73. const Module = require('../module').default;
  74. this.setState({
  75. component: Module,
  76. });
  77. });
  78. break;
  79. case 'techDemandAudit':
  80. require.ensure([], () => {
  81. const Module = require('../module').default;
  82. this.setState({
  83. component: Module,
  84. });
  85. });
  86. break;
  87. case 'techDemandPublish':
  88. require.ensure([], () => {
  89. const Module = require('../module').default;
  90. this.setState({
  91. component: Module,
  92. });
  93. });
  94. break;
  95. //-------//
  96. };
  97. window.location.hash = key;
  98. }
  99. render() {
  100. return (
  101. <div className="manage-content">
  102. <LeftTab handlekey={this.getKey.bind(this)} />
  103. <div className="content-right">
  104. <this.state.component
  105. data-listApiUrl={this.state.listApiUrl}
  106. data-detailApiUrl={this.state.detailApiUrl} />
  107. </div>
  108. </div>
  109. )
  110. }
  111. }
  112. export default Content;