homePage.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import {post,json} from '@utils/ajax.js';
  2. import {SETINITDATA,MODI_LOADING} 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. dispatch(initHistoryDetails(message)); //历史病历回读
  29. if (res.data.code == '0') {
  30. const newObj = modulesParseJson(res.data.data);
  31. const initData = newObj.json;
  32. const initSaveText = newObj.saveTextJson;
  33. const initModuleName = newObj.moduleName;
  34. dispatch({
  35. type: SETINITDATA,
  36. data: initData
  37. });
  38. dispatch({
  39. type:SET_MAINSUIT,
  40. // data:fullfillText(initData.mainSuit).newArr,
  41. // addSymptom:fullfillText(initData.addSymptom).newArr,
  42. data:initData.mainSuit,
  43. addSymptom:initData.addSymptom,
  44. addModuleName:initModuleName.addSymptom,//模板名称
  45. save:initSaveText.mainSuit
  46. });
  47. dispatch({
  48. type:SET_CURRENT,
  49. data:initData.current,
  50. save:initSaveText.current,
  51. processModule:initData.process,//病程变化
  52. processModuleName:initModuleName.process,//病程变化模板名称
  53. saveProcess:initSaveText.process,
  54. emptyData:initData.currentEmpty,//现病史空模板
  55. saveEmpty:initSaveText.currentEmpty,
  56. });
  57. dispatch(getOtherHisRecord()); //获取其他史最近记录
  58. }
  59. })
  60. };
  61. // 埋点事件,点击保存时调用
  62. export const saveClickNum = (dispatch,getState)=>{
  63. const state = getState();
  64. const patientInfo = state.patInfo.message;
  65. const data = state.homePage.clickData;//所有点击事件储存
  66. //console.log(999,state,data);
  67. const params = {
  68. "doctorId": patientInfo.doctorId, //医生id
  69. "hospitalDeptId":patientInfo.hospitalDeptId , //部门ID
  70. "hospitalId": patientInfo.hospitalId, //医院id
  71. "inquiryCode": patientInfo.recordId,//门诊号
  72. "patientId": patientInfo.patientId, //病人ID
  73. "taggeds": data
  74. }
  75. return json(api.clickCount,params).then((res) => {
  76. if (res.data.code == '0') {
  77. console.log("埋点请求成功");
  78. // 重置clickData
  79. }else{
  80. console.log("埋点请求失败",res);
  81. }
  82. })
  83. }