MultSpread.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import React from 'react';
  2. import {connect} from 'react-redux';
  3. import MultSpread from "@components/MultSpread";
  4. import {OTHERADDLABELITEM} from '@types/otherHistory';
  5. import {ADDLABELITEM} from '@types/checkBody';
  6. import {MAINADDLABELITEM} from '@store/types/mainSuit';
  7. import {CURRENTADDLABELITEM} from '@store/types/currentIll';
  8. import {HIDE,RESET,CLICKCOUNT,SETADDITEMINIT,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@store/types/homePage';
  9. import store from '@store';
  10. import {getMRAnalyse} from '@store/async-actions/pushMessage';
  11. function mapStateToProps(state){
  12. return {
  13. select_start:state.homePage.select_start,
  14. }
  15. }
  16. const typeObj={
  17. 1:MAINADDLABELITEM,
  18. 2:CURRENTADDLABELITEM,
  19. 3:OTHERADDLABELITEM,
  20. 4:ADDLABELITEM
  21. };
  22. const getCopyData = (copyId,inx,boxMark)=>{
  23. return (dispatch,getStore)=>{
  24. const state = getStore();
  25. const copy = state.homePage.addItems[copyId];
  26. if(!copy){
  27. console.log("记录数据有误,未找到匹配");
  28. return;
  29. }
  30. dispatch({
  31. type:typeObj[+boxMark],
  32. data:JSON.stringify(copy),
  33. i:inx
  34. });
  35. setTimeout(function () { //血压添加时后面逗号不显示bug
  36. dispatch({
  37. type:ISREAD
  38. })
  39. })
  40. //自由文本组件更新
  41. }
  42. };
  43. function mapDispatchToProps(dispatch){
  44. return {
  45. resetHide(){
  46. dispatch({
  47. type: RESET
  48. })
  49. },
  50. saveAddItem(id,data){ //保存有加号的标签原始数据
  51. dispatch({
  52. type:SETADDITEMINIT,
  53. id,
  54. data
  55. });
  56. },
  57. addLabelItem(param){
  58. const {copyId,ikey} = param;
  59. const boxMark = ikey.substr(0,1);
  60. const inx = ikey.split("-")[1];
  61. const storeState = store.getState()
  62. const {moduleName, moduleObj} = storeState.homePage
  63. //埋点记录
  64. dispatch({
  65. type:CLICKCOUNT,
  66. data:{id:copyId,isAddIcon:true},
  67. clickType:'单击',
  68. num:1
  69. });
  70. dispatch(getCopyData(copyId,inx,boxMark));
  71. if(moduleName != moduleObj[ikey[0]]) {
  72. dispatch({
  73. type: SET_CURRENT_MODULE,
  74. moduleName: moduleObj[ikey[0]]
  75. });
  76. dispatch(getMRAnalyse());
  77. }
  78. },
  79. handleClick(obj){
  80. dispatch({
  81. type:CLICKCOUNT,
  82. data:obj,
  83. clickType:'单击',
  84. num:1
  85. });
  86. },
  87. setSelectArea(data){
  88. dispatch({
  89. type:SET_SELECTED_AREA,
  90. data
  91. })
  92. }
  93. }
  94. }
  95. const MultSpreadCont = connect(mapStateToProps,mapDispatchToProps)(MultSpread);
  96. export default MultSpreadCont;