homePage.js 6.1 KB

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