MedicalInfoContainer.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import React from 'react';
  2. import { connect } from 'react-redux';
  3. import { getSearchList } from '@store/async-actions/medicalInfo';
  4. import MedicalInfo from '@components/MedicalInfo';
  5. import {getAllConceptDetail, getScaleInfo} from '../store/async-actions/pushMessage';
  6. import {getMedicalFilters} from '../store/async-actions/fetchModules';
  7. import {CLEAR_SCALE_SEARCH_LIST} from '@types/scaleSearch';
  8. import {CLEAR_INFO_SEARCH_LIST,SET_FILTER_LIST} from '@types/medicalInfo';
  9. import {SHOW_TABLE_LIST} from '@store/types/pushMessage';
  10. function mapStateToProps(state) {
  11. const {medicalInfo,pushMessage,print} = state;
  12. return{
  13. searchResult: medicalInfo.searchResult,
  14. filterList:medicalInfo.filterList,
  15. formulaResult: pushMessage.formulaResult,
  16. scaleInfo: pushMessage.scaleInfo,//量表内容
  17. clearSearch:print.clearSearch,
  18. }
  19. }
  20. function mapDispatchToProps(dispatch) {
  21. return {
  22. handleChangeValue(val,types){
  23. dispatch(getSearchList(val,types))
  24. },
  25. getAllConceptDetail(item) {
  26. dispatch(getAllConceptDetail(item))
  27. },
  28. clearResult(){
  29. dispatch({
  30. type:CLEAR_INFO_SEARCH_LIST
  31. })
  32. },
  33. showScaleFn(item){
  34. dispatch({
  35. type:SHOW_TABLE_LIST,
  36. name:'showTable',
  37. value:true,
  38. item:Object.assign({},item)
  39. });
  40. },
  41. getScale(item) {
  42. dispatch(getScaleInfo(item))
  43. },
  44. getFilters(){
  45. getMedicalFilters().then((res)=>{
  46. if(res.data.code=='0'){
  47. dispatch({
  48. type:SET_FILTER_LIST,
  49. list:res.data.data[7]
  50. })
  51. }
  52. });
  53. }
  54. }
  55. }
  56. const MedicalInfoContainer = connect(
  57. mapStateToProps,
  58. mapDispatchToProps
  59. )(MedicalInfo);
  60. export default MedicalInfoContainer