ChronicInfo.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import {connect} from 'react-redux';
  2. import ChronicInfo from '../components/ChronicInfo';
  3. import {SHOW_TABLE_LIST,HIDE_TABLE_LIST, SET_CHRONIC_PUSHS} from '@store/types/pushMessage';
  4. import {getTableList,getScaleInfo,getConceptDetail} from '../store/async-actions/pushMessage';
  5. import {ADD_ASSESS_ITEMS,SET_SAVE_ASSESS_DATA,SET_CHRONIC_CALCU_RESULT,ADD_WHOLE_SCALE_ITEMS,SET_CALCU_VALUES} from "@types/assessResult";
  6. import {saveMessage} from "../store/async-actions/print";
  7. import {saveClickNum} from '@store/async-actions/homePage';
  8. import { getFormulaResult } from '@store/async-actions/fetchModules'
  9. import {deepClone} from '@utils/tools';
  10. import Notify from '@commonComp/Notify';
  11. function mapStateToProps(state){
  12. const {pushMessage,assessResult} = state;
  13. return{
  14. chronicMagItem: state.diagnosticList.chronicMagItem,//慢病疾病
  15. data:pushMessage.chronicPushItems, //慢病右侧推送
  16. tableList: pushMessage.tableList,
  17. showList: pushMessage.showList,
  18. showHide: pushMessage.showHide,
  19. scaleInfo: pushMessage.scaleInfo,//量表内容
  20. chronicDesease:state.mainSuit.chronicDesease,//主诉存的慢病
  21. update:assessResult.update1,
  22. formulaResult:pushMessage.formulaResult, //量表信息
  23. indexs:assessResult.wholeIndexs,
  24. wholeResults:assessResult.wholeResults, //整体评估可能结果
  25. calcuResult:assessResult.calcuResult, //计算公式结果
  26. calcuValues:assessResult.calcuValues, //计算公式填的值
  27. wholeScaleItems:assessResult.wholeScaleItems, //全部量表中已加入病例的量表
  28. addedScaleIds:assessResult.addedScaleIds, //已加入的量表id
  29. }
  30. }
  31. function mapDispatchToProps(dispatch){
  32. return {
  33. getTableList(name){
  34. dispatch(getTableList(name))
  35. // dispatch({type:SHOW_TABLE_LIST})
  36. },
  37. hideList(param,item){
  38. dispatch({
  39. type:SHOW_TABLE_LIST,
  40. name:param.name,
  41. value:param.value,
  42. item:item?Object.assign({},item):undefined
  43. })
  44. },
  45. getScaleInfo(item){
  46. dispatch(getScaleInfo(item))
  47. },
  48. addAssessItem(row,pIndex,i){ //加入评估记录
  49. let obj = Object.assign({},row);
  50. const it = obj.details[i];
  51. dispatch({
  52. type:ADD_ASSESS_ITEMS,
  53. data:obj,
  54. index:pIndex,
  55. subIndex:i,
  56. id:it.type==1?it.content.id:undefined, //只有量表需要记录id,去重用
  57. })
  58. },
  59. addScaleItems(obj,i){
  60. dispatch({
  61. type:ADD_WHOLE_SCALE_ITEMS,
  62. data:obj,
  63. index:i
  64. })
  65. },
  66. //保存管理评估
  67. saveAssessInfos(obj,flg,noSave){ //noSave未true则不调页面保存接口
  68. dispatch(Object.assign({},obj,{type:SET_SAVE_ASSESS_DATA}));
  69. if(!noSave){
  70. dispatch(saveClickNum);
  71. if(flg != 1 && flg != 2){
  72. dispatch(() => saveMessage())
  73. }
  74. }
  75. },
  76. savePossibleResult(data){
  77. dispatch({
  78. type: 'SAVE_POSSIBLE_RESULT',
  79. wholeResults: data
  80. })
  81. },
  82. //设置量表推送内容
  83. setChronicPush(data,id,calcuItem) {
  84. dispatch({
  85. type: SET_CHRONIC_PUSHS,
  86. data: data
  87. });
  88. dispatch({
  89. type:SET_CALCU_VALUES,
  90. data:calcuItem,
  91. id
  92. });
  93. },
  94. // 计算公式计算
  95. calcuFormula(param) {
  96. getFormulaResult(param).then((res)=>{
  97. if(+res.data.code==0){
  98. const result = res.data.data.result;
  99. dispatch({
  100. type: SET_CHRONIC_CALCU_RESULT,
  101. result:deepClone(result),
  102. id:param.disId
  103. });
  104. dispatch({
  105. type:SET_CALCU_VALUES,
  106. data:param.data.content.details,
  107. id:param.disId
  108. })
  109. }else{
  110. Notify.error(res.data.msg||'计算没有结果返回');
  111. }
  112. })
  113. },
  114. // 获取量表静态知识
  115. getInfomation(item){
  116. dispatch(getConceptDetail(item));
  117. }
  118. }
  119. }
  120. const ChronicInfoContainer = connect(mapStateToProps,mapDispatchToProps)(ChronicInfo);
  121. export default ChronicInfoContainer;