ChronicInfo.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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,getTips} 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. }
  29. }
  30. function mapDispatchToProps(dispatch){
  31. return {
  32. getTableList(id){
  33. dispatch(getTableList(id))
  34. // dispatch({type:SHOW_TABLE_LIST})
  35. },
  36. hideList(item){
  37. dispatch({
  38. type:SHOW_TABLE_LIST,
  39. name:item.name,
  40. value:item.value
  41. })
  42. },
  43. getScaleInfo(item){
  44. dispatch(getScaleInfo(item))
  45. },
  46. addAssessItem(row,pIndex,i){ //加入评估记录
  47. let obj = Object.assign({},row);
  48. //obj.details[i].add=true;
  49. dispatch({
  50. type:ADD_ASSESS_ITEMS,
  51. data:obj,
  52. index:pIndex,
  53. subIndex:i
  54. })
  55. },
  56. addScaleItems(obj,i){
  57. dispatch({
  58. type:ADD_WHOLE_SCALE_ITEMS,
  59. data:obj,
  60. index:i
  61. })
  62. },
  63. //保存管理评估
  64. saveAssessInfos(obj,flg,noSave){ //noSave未true则不调页面保存接口
  65. dispatch(Object.assign({},obj,{type:SET_SAVE_ASSESS_DATA}));
  66. if(!noSave){
  67. dispatch(saveClickNum);
  68. if(flg != 1 && flg != 2){
  69. dispatch(() => saveMessage())
  70. }
  71. }
  72. },
  73. savePossibleResult(data){
  74. dispatch({
  75. type: 'SAVE_POSSIBLE_RESULT',
  76. wholeResults: data
  77. })
  78. },
  79. //设置量表推送内容
  80. setChronicPush(data,id,calcuItem) {
  81. dispatch({
  82. type: SET_CHRONIC_PUSHS,
  83. data: data
  84. });
  85. dispatch({
  86. type:SET_CALCU_VALUES,
  87. data:calcuItem,
  88. id
  89. });
  90. },
  91. // 计算公式计算
  92. calcuFormula(item) {
  93. const {param} = item;
  94. getFormulaResult(param).then((res)=>{
  95. if(+res.data.code==0){
  96. const result = res.data.data.result;
  97. dispatch({
  98. type: SET_CHRONIC_CALCU_RESULT,
  99. result:deepClone(result),
  100. id:item.param.disId
  101. })
  102. }else{
  103. Notify.error(res.data.msg||'计算没有结果返回');
  104. }
  105. })
  106. },
  107. // 获取量表静态知识
  108. getInfomation(item){
  109. dispatch(getTips(item));
  110. }
  111. }
  112. }
  113. const ChronicInfoContainer = connect(mapStateToProps,mapDispatchToProps)(ChronicInfo);
  114. export default ChronicInfoContainer;