MultSpread.js 2.1 KB

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