content.jsx 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647
  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 'myOrganization':
  34. // require.ensure([], () => {
  35. // const MyClient = require('./customerData/myClient').default;
  36. // this.setState({
  37. // component: <MyClient ApiUrl={''}/>
  38. // });
  39. // });
  40. // break;
  41. // // 单位客户查询
  42. // case 'organizationQuery':
  43. // require.ensure([], () => {
  44. // const CompanyCustomer = require('./customerData/companyCustomer').default;
  45. // this.setState({
  46. // component:<CompanyCustomer ApiUrl={''}/>,
  47. // });
  48. // });
  49. // break;
  50. //我的个人客户
  51. // case 'myPersonal':
  52. // require.ensure([], () => {
  53. // const IndividualCustomer = require('./individualCustomer/individualCustomer').default;
  54. // this.setState({
  55. // component: <IndividualCustomer ApiUrl={''}/>
  56. //
  57. // });
  58. // });
  59. // break;
  60. //我的被拒绝客户
  61. case 'myReject':
  62. require.ensure([], () => {
  63. const MyReject = require('./individualCustomer/myReject').default;
  64. this.setState({
  65. component: <MyReject ApiUrl={''}/>
  66. });
  67. });
  68. break;
  69. // //个人客户查询
  70. // case 'personalQuery':
  71. // require.ensure([], () => {
  72. // const QueryCustomer = require('./individualCustomer/queryCustomer').default;
  73. // this.setState({
  74. // component:<QueryCustomer ApiUrl={''}/>,
  75. // });
  76. // });
  77. // break;
  78. //专家查询
  79. case 'expertQuery':
  80. require.ensure([], () => {
  81. const ExpertQuery = require('./individualCustomer/expertQuery').default;
  82. this.setState({
  83. component:<ExpertQuery ApiUrl={''}/>,
  84. });
  85. });
  86. break;
  87. //公共客户查询
  88. case 'publicQuery':
  89. require.ensure([], () => {
  90. const Qublicquery = require('./individualCustomer/publicQuery').default;
  91. this.setState({
  92. component:<Qublicquery ApiUrl={''}/>,
  93. });
  94. });
  95. break;
  96. //个人客户管理
  97. case 'personalManage':
  98. require.ensure([], () => {
  99. const PersonalManage = require('./customerManagement/personalManages').default;
  100. this.setState({
  101. component:<PersonalManage ApiUrl={''}/>,
  102. });
  103. });
  104. break;
  105. //专家管理
  106. case 'expertManage':
  107. require.ensure([], () => {
  108. const ExpertManage = require('./customerManagement/expertManage').default;
  109. this.setState({
  110. component:<ExpertManage ApiUrl={''}/>,
  111. });
  112. });
  113. break;
  114. //专家审核
  115. case 'expertAudit':
  116. require.ensure([], () => {
  117. const ExpertReview = require('./reviewed/expertReview').default;
  118. this.setState({
  119. component:<ExpertReview ApiUrl={''}/>,
  120. });
  121. });
  122. break;
  123. //实名认证审核
  124. case 'identityAudit':
  125. require.ensure([], () => {
  126. const IdentityAudits = require('./reviewed/identityAudits').default;
  127. this.setState({
  128. component:<IdentityAudits ApiUrl={''}/>,
  129. });
  130. });
  131. break;
  132. //客户录入审核
  133. case 'enteringAudit':
  134. require.ensure([], () => {
  135. const EnteringAudit = require('./reviewed/enteringAudit').default;
  136. this.setState({
  137. component:<EnteringAudit ApiUrl={''}/>,
  138. });
  139. });
  140. break;
  141. //专家发布
  142. case 'expertPublish':
  143. require.ensure([], () => {
  144. const ExpertRelease = require('./release/expertRelease').default;
  145. this.setState({
  146. component:<ExpertRelease ApiUrl={''}/>,
  147. });
  148. });
  149. break;
  150. //专家发布新
  151. case 'releaseExpert':
  152. require.ensure([], () => {
  153. const ReleaseExpert = require('./release/releaseExpert').default;
  154. this.setState({
  155. component:<ReleaseExpert ApiUrl={''}/>,
  156. });
  157. });
  158. break;
  159. //公共客户管理
  160. case 'publicManage':
  161. require.ensure([], () => {
  162. const PublicManages = require('./customerManagement/publicManages').default;
  163. this.setState({
  164. component:<PublicManages ApiUrl={''}/>,
  165. });
  166. });
  167. break;
  168. //部门客户管理
  169. case 'adminCustomerStatistics':
  170. require.ensure([], () => {
  171. const AdminCustomerStatistics = require('./customerManagement/adminCustomerStatistics').default;
  172. this.setState({
  173. component:<AdminCustomerStatistics ApiUrl={''}/>,
  174. });
  175. });
  176. break;
  177. //部门客户管理3
  178. // case 'adminCustomerStatistics3':
  179. // require.ensure([], () => {
  180. // const AdminCustomerStatistics3 = require('./customerManagement/adminCustomerStatistics3').default;
  181. // this.setState({
  182. // component:<AdminCustomerStatistics3 ApiUrl={''}/>,
  183. // });
  184. // });
  185. // break;
  186. //单位客户管理
  187. case 'organizationManage':
  188. require.ensure([], () => {
  189. const OrganizationManage = require('./customerManagement/organizationManages').default;
  190. this.setState({
  191. component:<OrganizationManage ApiUrl={''}/>,
  192. });
  193. });
  194. break;
  195. //我的业务
  196. case 'myBusiness':
  197. require.ensure([], () => {
  198. const MyBusiness = require('./customerService/myBusiness').default;
  199. this.setState({
  200. component:<MyBusiness ApiUrl={''}/>,
  201. });
  202. });
  203. break;
  204. //业务管理
  205. case 'businessMange':
  206. require.ensure([], () => {
  207. const BusinessMange = require('./customerService/businessManges').default;
  208. this.setState({
  209. component:<BusinessMange ApiUrl={''}/>,
  210. });
  211. });
  212. break;
  213. //业务查询
  214. case 'businessQuery':
  215. require.ensure([], () => {
  216. const ServiceQuery = require('./customerService/serviceQuery').default;
  217. this.setState({
  218. component:<ServiceQuery ApiUrl={''}/>,
  219. });
  220. });
  221. break;
  222. //客户拜访统计
  223. case 'visitStatistics':
  224. require.ensure([], () => {
  225. const VisitStatistics = require('./statistics/visitStatistics').default;
  226. this.setState({
  227. component:<VisitStatistics ApiUrl={''}/>,
  228. });
  229. });
  230. break;
  231. //状态统计
  232. case 'statusStatistics':
  233. require.ensure([], () => {
  234. const StatusStatistics = require('./statistics/statusStatistics').default;
  235. this.setState({
  236. component:<StatusStatistics ApiUrl={''}/>,
  237. });
  238. });
  239. break;
  240. //进度统计
  241. case 'followStatistics':
  242. require.ensure([], () => {
  243. const FollowStatistics = require('./statistics/followStatistics').default;
  244. this.setState({
  245. component:<FollowStatistics ApiUrl={''}/>,
  246. });
  247. });
  248. break;
  249. /*
  250. *报表开发
  251. */
  252. case 'personalReport':
  253. require.ensure([], () => {
  254. const Jurisdiction = require('./report/personalReport').default;
  255. this.setState({
  256. component: <Jurisdiction ApiUrl={''}/>
  257. });
  258. });
  259. break;
  260. case 'departmentReport':
  261. require.ensure([], () => {
  262. const DepartmentReport = require('./report/departmentReport').default;
  263. this.setState({
  264. component: <DepartmentReport ApiUrl={''}/>
  265. });
  266. });
  267. break;
  268. /*拜访记录统计*/
  269. //客户营销日统计
  270. case 'diurnalStatistics':
  271. require.ensure([], () => {
  272. const DiurnalStatistics = require('./customerMarketing/diurnalStatistics').default;
  273. this.setState({
  274. component: <DiurnalStatistics ApiUrl={''}/>
  275. });
  276. });
  277. break;
  278. //客户营销时段统计
  279. case 'timeStatistics':
  280. require.ensure([], () => {
  281. const TimeStatistics = require('./customerMarketing/timeStatistics').default;
  282. this.setState({
  283. component: <TimeStatistics ApiUrl={''}/>
  284. });
  285. });
  286. break;
  287. /*意向客户*/
  288. //个人意向客户
  289. case 'personalIntention':
  290. require.ensure([], () => {
  291. const PersonalIntention = require('./NEW/intentionCustomer/intentionCustomer').default;
  292. this.setState({
  293. component: <PersonalIntention
  294. intentionState={1}
  295. ApiUrl={'/api/admin/customer/listPrivatePersonalCustomer'}
  296. detailApi={'/api/admin/customer/findPersonalCustomerDetail'}
  297. />
  298. });
  299. });
  300. break;
  301. //渠道-(营销总监)
  302. case 'channel':
  303. require.ensure([], () => {
  304. const CompanyIntention = require('./NEW/intentionCustomer/channel').default;
  305. this.setState({
  306. component: <CompanyIntention
  307. type={2} // 0营销员 1渠道专员 2营销总监 3营销经理 4释放 5未分配 6已分配 7已签单
  308. channel={false} //是否能导入渠道
  309. deliver={1} //是否能转交或分配 0不能 1总监分配 2经理分配
  310. followUp={true} //是否能跟进
  311. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  312. isEditGuidanceLv={false} //是否可以编辑指导
  313. recovery={false} //是否可以回收
  314. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  315. />
  316. });
  317. });
  318. break;
  319. //渠道-(营销经理)
  320. case 'channelManage':
  321. require.ensure([], () => {
  322. const CompanyIntention = require('./NEW/intentionCustomer/channel').default;
  323. this.setState({
  324. component: <CompanyIntention
  325. type={3} // 0营销员 1渠道专员 2营销总监 3营销经理 4释放 5未分配 6已分配 7已签单
  326. channel={false} //是否能导入渠道
  327. deliver={2} //是否能转交或分配 0不能 1总监分配 2经理分配
  328. followUp={true} //是否能跟进
  329. isGuidanceLv={false} //是否可查看指导 也用于判断是否为跟进管理页面
  330. isEditGuidanceLv={true} //是否可以编辑指导
  331. recovery={true} //是否可以回收
  332. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  333. />
  334. });
  335. });
  336. break;
  337. //渠道-(营销员)
  338. case 'channelMarketing':
  339. require.ensure([], () => {
  340. const CompanyIntention = require('./NEW/intentionCustomer/channel').default;
  341. this.setState({
  342. component: <CompanyIntention
  343. type={0} // 0营销员 1渠道专员 2营销总监 3营销经理 4释放 5未分配 6已分配 7已签单
  344. channel={false} //是否能导入渠道
  345. deliver={0} //是否能转交或分配 0不能 1总监分配 2经理分配
  346. followUp={true} //是否能跟进
  347. isGuidanceLv={false} //是否可查看指导 也用于判断是否为跟进管理页面
  348. isEditGuidanceLv={true} //是否可以编辑指导
  349. recovery={true} //是否可以回收
  350. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  351. />
  352. });
  353. });
  354. break;
  355. //渠道-(渠道专员)
  356. case 'channelCommissioner':
  357. require.ensure([], () => {
  358. const CompanyIntention = require('./NEW/intentionCustomer/channel').default;
  359. this.setState({
  360. component: <CompanyIntention
  361. type={1} // 0营销员 1渠道专员 2营销总监 3营销经理 4释放 5未分配 6已分配 7已签单
  362. channel={true} //是否能导入渠道
  363. deliver={0}
  364. followUp={false}
  365. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  366. isEditGuidanceLv={false} //是否可以编辑指导
  367. recovery={false} //是否可以回收
  368. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  369. />
  370. });
  371. });
  372. break;
  373. //渠道统计-(渠道总监)
  374. case 'channelStatistics':
  375. require.ensure([], () => {
  376. const CompanyIntention = require('./NEW/intentionCustomer/channelStatistics').default;
  377. this.setState({
  378. component: <CompanyIntention/>
  379. });
  380. });
  381. break;
  382. //单位意向客户
  383. case 'companyIntention':
  384. require.ensure([], () => {
  385. const CompanyIntention = require('./NEW/intentionCustomer/intentionCustomer').default;
  386. this.setState({
  387. component: <CompanyIntention
  388. intentionState={0}
  389. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  390. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  391. />
  392. });
  393. });
  394. break;
  395. //客户跟进汇总(看所有人的)
  396. case 'followUpSummaryAdmin':
  397. require.ensure([], () => {
  398. const FollowUpSummary = require('./managementFollow/followUpSummary/index').default;
  399. this.setState({
  400. component: <FollowUpSummary
  401. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  402. isEditGuidanceLv={false} //是否可以编辑指导
  403. shiroType={2}
  404. />
  405. });
  406. });
  407. break;
  408. //客户跟进汇总(只能看自己的)
  409. case 'followUpSummaryOrdinary':
  410. require.ensure([], () => {
  411. const FollowUpSummary = require('./managementFollow/followUpSummary/index').default;
  412. this.setState({
  413. component: <FollowUpSummary
  414. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  415. isEditGuidanceLv={false} //是否可以编辑指导
  416. shiroType={0}
  417. />
  418. });
  419. });
  420. break;
  421. //客户跟进汇总(既能看自己的也能看自己下级的)
  422. case 'followUpSummaryManager':
  423. require.ensure([], () => {
  424. const FollowUpSummary = require('./managementFollow/followUpSummary/index').default;
  425. this.setState({
  426. component: <FollowUpSummary
  427. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  428. isEditGuidanceLv={false} //是否可以编辑指导
  429. shiroType={1}
  430. />
  431. });
  432. });
  433. break;
  434. //跟进管理 营销经理
  435. case 'customerFollow':
  436. require.ensure([], () => {
  437. const CustomerFollow = require('./managementFollow/customerFollow/index').default;
  438. this.setState({
  439. component: <CustomerFollow
  440. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  441. isEditGuidanceLv={true} //是否可以编辑指导
  442. />
  443. });
  444. });
  445. break;
  446. //跟进管理 营销总监 和 总裁
  447. case 'readOnlyCustomerFollow':
  448. require.ensure([], () => {
  449. const CustomerFollow = require('./managementFollow/customerFollow/index').default;
  450. this.setState({
  451. component: <CustomerFollow
  452. isGuidanceLv={true} //是否可查看指导 也用于判断是否为跟进管理页面
  453. isEditGuidanceLv={false} //是否可以编辑指导
  454. />
  455. });
  456. });
  457. break;
  458. //部门统计 总裁账户可见
  459. case 'departmentStatistics':
  460. require.ensure([], () => {
  461. const DepartmentStatistics = require('./statistics/departmentStatistics/index').default;
  462. this.setState({
  463. component: <DepartmentStatistics/>
  464. });
  465. });
  466. break;
  467. //客户资料
  468. case 'crm':
  469. require.ensure([], () => {
  470. const Crm = require('./NEW/crm/crm').default;
  471. this.setState({
  472. component: <Crm
  473. intentionState={0}
  474. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  475. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  476. />
  477. });
  478. });
  479. break;
  480. //客户资料
  481. case 'crmCount':
  482. require.ensure([], () => {
  483. const CrmCount = require('./NEW/crm/crmCount').default;
  484. this.setState({
  485. component: <CrmCount
  486. intentionState={0}
  487. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  488. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  489. />
  490. });
  491. });
  492. break;
  493. //客户资料
  494. case 'crmAll':
  495. require.ensure([], () => {
  496. const CrmAll = require('./NEW/crm/crmAll').default;
  497. this.setState({
  498. component: <CrmAll
  499. intentionState={0}
  500. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  501. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  502. />
  503. });
  504. });
  505. break;
  506. //客户资料
  507. case 'patentPayment':
  508. require.ensure([], () => {
  509. const PatentPayment = require('./NEW/crm/patentPayment').default;
  510. this.setState({
  511. component: <PatentPayment
  512. intentionState={0}
  513. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  514. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  515. />
  516. });
  517. });
  518. break;
  519. //客户资料-仅读
  520. case 'patentPaymentOnlyRead':
  521. require.ensure([], () => {
  522. const PatentPayment = require('./NEW/crm/patentPayment').default;
  523. this.setState({
  524. component: <PatentPayment
  525. isOnlyRead={true}
  526. intentionState={0}
  527. ApiUrl={'/api/admin/customer/listPrivateOrganizationCustomer'}
  528. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}
  529. />
  530. });
  531. });
  532. break;
  533. /*签单客户*/
  534. //个人签单客户
  535. case 'personalSign':
  536. require.ensure([], () => {
  537. const PersonalSign = require('./NEW/signCustomer/signCustomer').default;
  538. this.setState({
  539. component: <PersonalSign
  540. intentionState={1}
  541. ApiUrl={'/api/admin/customer/listSignPersonalCustomer'}
  542. //ApiUrl={'/api/admin/customer/listPrivatePersonalCustomer'}
  543. detailApi={'/api/admin/customer/findPersonalCustomerDetail'}
  544. />
  545. });
  546. });
  547. break;
  548. //单位签单客户
  549. case 'companySign':
  550. require.ensure([], () => {
  551. const CompanySign = require('./NEW/signCustomer/signCustomer').default;
  552. this.setState({
  553. component: <CompanySign
  554. intentionState={0}
  555. ApiUrl={'/api/admin/customer/listSignOrganizationCustomer'}
  556. detailApi={'/api/admin/customer/findOrganizationCustomerDetail'}/>
  557. });
  558. });
  559. break;
  560. //个人客户查询
  561. case 'personalQuery':
  562. require.ensure([], () => {
  563. const PersonalQuery = require('./NEW/query/queryCutomer').default;
  564. this.setState({
  565. component: <PersonalQuery
  566. intentionState={1}
  567. ApiUrl={'/api/admin/customer/listAllPersonalCustomer'}
  568. detailApi={'/api/admin/customer/getLockedProject'}
  569. />
  570. });
  571. });
  572. break;
  573. //单位客户查询
  574. case 'organizationQuery':
  575. require.ensure([], () => {
  576. const CompanyQuery = require('./NEW/query/queryCutomer').default;
  577. this.setState({
  578. component: <CompanyQuery
  579. intentionState={0}
  580. ApiUrl={'/api/admin/customer/listAllOrganizationCustomer'}
  581. detailApi={'/api/admin/customer/getLockedProject'}
  582. />
  583. });
  584. });
  585. break;
  586. //个人公共客户
  587. case 'personalPublicCustomer':
  588. require.ensure([], () => {
  589. const PersonalPublicCustomer = require('./NEW/publicCustomer/publicCustomer').default;
  590. this.setState({
  591. component: <PersonalPublicCustomer
  592. intentionState={1}
  593. ApiUrl={'/api/admin/customer/listPublicPersonalCustomer'}
  594. />
  595. });
  596. });
  597. break;
  598. //公出统计
  599. case 'publicStatistics':
  600. require.ensure([], () => {
  601. const PublicStatistics = require('./publicStatistics/index').default;
  602. this.setState({
  603. component: <PublicStatistics/>
  604. });
  605. });
  606. break;
  607. //单位公共客户
  608. case 'organizationPublicCustomer':
  609. require.ensure([], () => {
  610. const OrganizationPublicCustomer = require('./NEW/publicCustomer/publicCustomer').default;
  611. this.setState({
  612. component: <OrganizationPublicCustomer
  613. intentionState={0}
  614. ApiUrl={'/api/admin/customer/listPublicOrganizationCustomer'}
  615. />
  616. });
  617. });
  618. break;
  619. default:
  620. require.ensure([], () => {
  621. const Module = require('../module').default;
  622. this.setState({
  623. component:<Module ApiUrl={''}/>
  624. });
  625. });
  626. };
  627. window.location.hash = key;
  628. }
  629. render() {
  630. return (
  631. <div className="manage-content">
  632. <LeftTab handlekey={this.getKey.bind(this)} />
  633. <div className="content-right">
  634. {this.state.component}
  635. </div>
  636. </div>
  637. )
  638. }
  639. }
  640. export default Content;