homePage.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import {post,json} from '@utils/ajax.js';
  2. import {SETINITDATA} from '@store/types/homePage.js';
  3. import {SET_CURRENT} from '@store/types/currentIll';
  4. import {SET_MAINSUIT} from '@store/types/mainSuit';
  5. import config from '@config/index.js';
  6. import store from '@store';
  7. import {fullfillText} from '@common/js/func';
  8. import {getOtherHisRecord,getInitData} from '@store/async-actions/fetchModules.js';
  9. import {initHistoryDetails} from '@store/async-actions/patInfo';
  10. const api = {
  11. getModules:'/api/icss/moduleInfo/getAll',
  12. clickCount:'/api/icss/buriedSomeStatistical/saveBuriedSomeStatisticals' //埋点统计
  13. };
  14. function modulesParseJson(data){
  15. let json = {},obj={},saveTextJson={},moduleName={};
  16. data.map((it)=>{
  17. moduleName[config.moduleCP[it.id]] = it.name;//添加病情变化/病程变化子模板需要使用模板名称
  18. obj = fullfillText(it.moduleDetailDTOList);
  19. json[config.moduleCP[it.id]] = obj.newArr;
  20. saveTextJson[config.moduleCP[it.id]] = obj.saveText;
  21. });
  22. return {json,saveTextJson,moduleName};
  23. }
  24. export const getInitModules= (dispatch,getStore)=>{
  25. const state = getStore();
  26. const {message} = state.patInfo;
  27. return json(api.getModules,{age:message.patientAge,sexType:message.sex}).then((res) => {
  28. if (res.data.code == '0') {
  29. const newObj = modulesParseJson(res.data.data);
  30. const initData = newObj.json;
  31. const initSaveText = newObj.saveTextJson;
  32. const initModuleName = newObj.moduleName;
  33. dispatch({
  34. type: SETINITDATA,
  35. data: initData
  36. });
  37. dispatch({
  38. type:SET_MAINSUIT,
  39. // data:fullfillText(initData.mainSuit).newArr,
  40. // addSymptom:fullfillText(initData.addSymptom).newArr,
  41. data:initData.mainSuit,
  42. addSymptom:initData.addSymptom,
  43. addModuleName:initModuleName.addSymptom,//模板名称
  44. save:initSaveText.mainSuit
  45. });
  46. dispatch({
  47. type:SET_CURRENT,
  48. data:initData.current,
  49. save:initSaveText.current,
  50. processModule:initData.process,//病程变化
  51. processModuleName:initModuleName.process,//病程变化模板名称
  52. saveProcess:initSaveText.process,
  53. emptyData:initData.currentEmpty,//现病史空模板
  54. saveEmpty:initSaveText.currentEmpty,
  55. });
  56. dispatch(getOtherHisRecord()); //获取其他史最近记录
  57. initHis(dispatch)
  58. }else{
  59. initHis(dispatch)
  60. }
  61. }).catch(()=>{
  62. initHis(dispatch)
  63. });
  64. };
  65. export const initHis = (dispatch)=> {
  66. let timer = setInterval(()=>{
  67. let baseDate = store.getState();
  68. if(JSON.stringify(baseDate.patInfo.message) != '{}') {
  69. dispatch(initHistoryDetails(baseDate.patInfo.message));
  70. clearInterval(timer)
  71. }
  72. },500)
  73. }
  74. // 埋点事件,点击保存时调用
  75. export const saveClickNum = (dispatch,getState)=>{
  76. const state = getState();
  77. const patientInfo = state.patInfo.message;
  78. const data = state.homePage.clickData;//所有点击事件储存
  79. //console.log(999,state,data);
  80. const params = {
  81. "doctorId": patientInfo.doctorId, //医生id
  82. "hospitalDeptId":patientInfo.hospitalDeptId , //部门ID
  83. "hospitalId": patientInfo.hospitalId, //医院id
  84. "inquiryCode": patientInfo.recordId,//门诊号
  85. "patientId": patientInfo.patientId, //病人ID
  86. "taggeds": data
  87. }
  88. return json(api.clickCount,params).then((res) => {
  89. if (res.data.code == '0') {
  90. console.log("埋点请求成功");
  91. // 重置clickData
  92. }else{
  93. console.log("埋点请求失败",res);
  94. }
  95. })
  96. }