homePage.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import {post,json} from '@utils/ajax.js';
  2. import {SETINITDATA,MODI_LOADING,GET_ASSIST_LIST,GET_INSPECT_LIST} 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 {formatContinueDots} from '@utils/tools';
  9. import {getOtherHisRecord,getInitData} from '@store/async-actions/fetchModules.js';
  10. import {initHistoryDetails} from '@store/async-actions/patInfo';
  11. import {storageLocal} from '@utils/tools';
  12. const api = {
  13. getModules:'/api/icss/moduleInfo/getAll',
  14. clickCount:'/api/icss/buriedSomeStatistical/saveBuriedSomeStatisticals', //埋点统计
  15. getChronic:'/api/icss/disType/getDisType', //慢病列表
  16. getQuestionUsual:'/api/icss/questionUsual/getQuestionUsual' //化验常用标签
  17. };
  18. function modulesParseJson(data){
  19. let json = {},obj={},saveTextJson={},moduleName={};
  20. data.map((it)=>{
  21. moduleName[config.moduleCP[it.id]] = it.name;//添加病情变化/病程变化子模板需要使用模板名称
  22. obj = fullfillText(it.moduleDetailDTOList);
  23. json[config.moduleCP[it.id]] = formatContinueDots(obj.newArr);
  24. saveTextJson[config.moduleCP[it.id]] = obj.saveText;
  25. });
  26. return {json,saveTextJson,moduleName};
  27. }
  28. export const getInitModules= (dispatch,getStore)=>{
  29. const state = getStore();
  30. const {message} = state.patInfo;
  31. const chronicId = '';//诊断为慢病复诊时储存慢病信息到store
  32. const param = {
  33. age:message.patientAge,
  34. sexType:message.sex,
  35. mouduleType:chronicId?2:(message.hospitalDeptId?1:0),//慢病2 科室1 其他0
  36. relationId:chronicId?chronicId:(message.hospitalDeptId?message.hospitalDeptId:0), //慢病id 科室id 其他0
  37. }
  38. // return json(api.getModules,{age:message.patientAge,sexType:message.sex}).then((res) => {
  39. return json(api.getModules,param).then((res) => {
  40. dispatch(initHistoryDetails(message)); //历史病历回读
  41. if (res.data.code == '0') {
  42. const newObj = modulesParseJson(res.data.data);
  43. const initData = newObj.json;
  44. const initSaveText = newObj.saveTextJson;
  45. const initModuleName = newObj.moduleName;
  46. dispatch({
  47. type: SETINITDATA,
  48. data: initData
  49. });
  50. dispatch({
  51. type:SET_MAINSUIT,
  52. // data:fullfillText(initData.mainSuit).newArr,
  53. // addSymptom:fullfillText(initData.addSymptom).newArr,
  54. data:initData.mainSuit,
  55. addSymptom:initData.addSymptom,
  56. addModuleName:initModuleName.addSymptom,//模板名称
  57. save:initSaveText.mainSuit
  58. });
  59. dispatch({
  60. type:SET_CURRENT,
  61. data:initData.current,
  62. save:initSaveText.current,
  63. processModule:initData.process,//病程变化
  64. processModuleName:initModuleName.process,//病程变化模板名称
  65. saveProcess:initSaveText.process,
  66. emptyData:initData.currentEmpty,//现病史空模板
  67. saveEmpty:initSaveText.currentEmpty,
  68. });
  69. dispatch(getOtherHisRecord()); //获取其他史最近记录
  70. }
  71. })
  72. };
  73. // 埋点事件,点击保存时调用
  74. export const saveClickNum = (dispatch,getState)=>{
  75. const state = getState();
  76. const patientInfo = state.patInfo.message;
  77. const data = state.homePage.clickData;//所有点击事件储存
  78. //console.log(999,state,data);
  79. const params = {
  80. "doctorId": patientInfo.doctorId, //医生id
  81. "hospitalDeptId":patientInfo.hospitalDeptId , //部门ID
  82. "hospitalId": patientInfo.hospitalId, //医院id
  83. "inquiryCode": patientInfo.recordId,//门诊号
  84. "patientId": patientInfo.patientId, //病人ID
  85. "taggeds": data
  86. }
  87. return json(api.clickCount,params).then((res) => {
  88. if (res.data.code == '0') {
  89. console.log("埋点请求成功");
  90. // 重置clickData
  91. }else{
  92. console.log("埋点请求失败",res);
  93. }
  94. })
  95. }
  96. // 请求慢病列表
  97. export const getChronic = (dispatch,getState)=>{
  98. return json(api.getChronic,{}).then((res) => {
  99. const result = res.data;
  100. if (result.code == '0') {
  101. const chronic = JSON.stringify(result.data.chronic);
  102. storageLocal.set('chronic',chronic);
  103. }else{
  104. console.log("请求失败",res);
  105. }
  106. })
  107. }
  108. // 请求化验辅检常用标签
  109. export const getCommonList = (val)=>{
  110. return (dispatch,getState) => {
  111. const state = getState();
  112. const patientInfo = state.patInfo.message;
  113. const params = {
  114. "age":patientInfo.patientAge , //年龄
  115. "deptId": patientInfo.hospitalDeptId, //科室id
  116. "sexType": patientInfo.sex, //性别
  117. "type": val
  118. }
  119. json(api.getQuestionUsual,params).then((res) => {
  120. const result = res.data;
  121. if (result.code == '0') {
  122. if(val == 5){
  123. dispatch({
  124. type:GET_INSPECT_LIST,
  125. data:result.data
  126. })
  127. }else{
  128. dispatch({
  129. type:GET_ASSIST_LIST,
  130. data:result.data
  131. })
  132. }
  133. }else{
  134. console.log("请求失败",res);
  135. }
  136. })
  137. }
  138. }