patInfo.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. import {get, post, json} from "../../utils/ajax";
  2. import {GET_PATIENT_MESSAGE,GET_HOSPITAL_MESSAGE} from "../types/patInfo";
  3. import {CONFIRM_TYPE} from "../types/typeConfig";
  4. import {getInfos} from '@store/actions/getInfoByUuid';
  5. import {getUrlArgObject,pushAllDataList} from '@utils/tools';
  6. import {getInitModules,getCommonList} from '@store/async-actions/homePage.js';
  7. import store from '@store'
  8. import {ISREAD,MODI_LOADING,SETPRE,SETPREDATA} from "../types/homePage";
  9. import { initItemList } from '@store/async-actions/tabTemplate';
  10. import config from '@config/index';
  11. import {Notify} from '@commonComp';
  12. const api = {
  13. getPatInfo: '/patientInfo/getTopPatientInfo',
  14. getPatBaseInfo: '/patientInfo/getPatientInfo',
  15. getHospitalInfo:'/hospitalInfo/getHospitalInfo',
  16. getPreMsg:'http://192.168.2.121:5050/api/prec/inquiryInfo/getInquiryDetail'
  17. };
  18. //获取预问诊信息
  19. export const getPreMsg = (dispatch, getState) => {
  20. // let baseList = getState();
  21. // let state = baseList.patInfo.message;
  22. const inCode = config.preIcss.recordIdVal===-1?getUrlArgObject("recordId"):config.preIcss.recordIdVal;
  23. json(api.getPreMsg, {
  24. "hospitalCode": getUrlArgObject('hospitalId'),
  25. "inquiryCode":inCode,
  26. "patientCode": getUrlArgObject("patientNo"),
  27. "dayLimit":config.preIcss.deadline===-1?undefined:config.preIcss.deadline
  28. },true).then((res) => {
  29. const data = res.data;
  30. if (data.code == 0) {
  31. let result = data.data;
  32. let preIcss = {
  33. chief:result.chiefComplaint?new Array(result.chiefComplaint):[],
  34. current:result.xbs?new Array(result.xbs):[],
  35. other:result.qts?new Array(result.qts):[],
  36. checkBody:result.supplement?result.supplement:''
  37. }
  38. dispatch({type:SETPRE,show:true});
  39. dispatch({type:SETPREDATA,preData:preIcss});
  40. } else {
  41. // console.log(res)
  42. }
  43. })
  44. }
  45. //获取医院id
  46. export const initHospitalInfo = (dispatch, getState) => {
  47. let baseList = getState();
  48. let state = baseList.patInfo.message;
  49. json(api.getHospitalInfo, {
  50. "hospitalCode": getUrlArgObject('hospitalId'),
  51. }).then((res) => {
  52. const data = res.data;
  53. if (data.code == 0) {
  54. dispatch({
  55. type: GET_HOSPITAL_MESSAGE,
  56. data:data.data.sysSetInfoData||[]
  57. });
  58. } else {
  59. console.log(res)
  60. }
  61. })
  62. }
  63. //参数转换
  64. export const initPersonInfo = (dispatch, getState) => {
  65. json('/tranFieldInfo/getInfoByUuid', {
  66. "uuid": getUrlArgObject('hospitalId'),
  67. }).then((res) => {
  68. const data = res.data;
  69. if (data.code == 0) {
  70. dispatch(getInfos(data.data));
  71. getPatientMessage(dispatch, getState);
  72. } else {
  73. console.log(res)
  74. }
  75. })
  76. }
  77. //默认回读
  78. export const initHistoryDetails = (dispatch) => {
  79. let baseList = store.getState();
  80. let state = baseList.patInfo.message;
  81. return (dispatch) => {
  82. json('/inquiryInfo/readInquiry', {
  83. "doctorId": state.doctorId,
  84. "hospitalDeptId": state.hospitalDeptId,
  85. "hospitalId": state.hospitalId,
  86. "patientId": state.patientId, //患者id
  87. "inquiryCode": state.recordId,
  88. }).then((res) => {
  89. const data = res.data;
  90. if (data.code == 0) {
  91. const detail = data.data;
  92. if(detail.dataJson){
  93. pushAllDataList(detail.sign,'push',detail,'history');
  94. }else{
  95. let pre = baseList.homePage.sysConfig.connect_prec;
  96. (pre==1)&&getPreMsg(dispatch)
  97. // (pre==1)&&dispatch({type:SETPRE,show:true});
  98. }
  99. dispatch({
  100. type:ISREAD
  101. });
  102. dispatch(initItemList(1,'')); //模板列表没有就获取模板列表用于保存时做数据对比是否保存过
  103. dispatch({type:MODI_LOADING,flag:false});
  104. } else {
  105. dispatch({type:MODI_LOADING,flag:false});
  106. // console.log(res)
  107. }
  108. })
  109. }
  110. }
  111. //技术部需求,先获取第一个接口再去第二个
  112. export async function getPatientMessage(dispatch, getState){
  113. const state = getState();
  114. const urlDatas = state.getInfoByUuid;
  115. const params = {
  116. hospitalCode:urlDatas.hospitalId,
  117. hospitalDeptCode: urlDatas.deptNo,
  118. doctorCode: urlDatas.doctorNo,
  119. patientCode:urlDatas.patientNo,
  120. recordId:urlDatas.recordId
  121. };
  122. let res1 = await json(api.getPatInfo, params);
  123. /*console.log(res1);
  124. console.log(1);*/
  125. let res2 = await json(api.getPatBaseInfo, params);
  126. /*console.log(res2);
  127. console.log(2);*/
  128. let data1 = {},data2 = {};
  129. if(res1.data.code=='0'){
  130. data1 = res1.data.data;
  131. }
  132. if(res2.data.code=='0'){
  133. data2 = res2.data.data;
  134. }
  135. dispatch({
  136. type: GET_PATIENT_MESSAGE,
  137. data:Object.assign(data1,data2)
  138. });
  139. //设置初始模式
  140. dispatch({
  141. type: CONFIRM_TYPE,
  142. confirmType:data1.modeValue||config.defaultValue.mode
  143. });
  144. localStorage.removeItem('deletedTags');
  145. dispatch(getInitModules); //确保病人信息获取以后再获取模板等数据,否则参数为空
  146. dispatch(getCommonList(5)); //获取常用化验标签列表
  147. dispatch(getCommonList(6)); //获取常用辅检标签列表if(allModules.length == 0){//模板为空才回读
  148. dispatch(initHistoryDetails()); //历史病历回读
  149. // initHospitalInfo(dispatch, getState) //不需要的
  150. }
  151. /*
  152. export const getPatientMessage = (dispatch, getState) => {
  153. const state = getState();
  154. const urlDatas = state.getInfoByUuid;
  155. const params = {
  156. hospitalCode:urlDatas.hospitalId,
  157. hospitalDeptCode: urlDatas.deptNo,
  158. doctorCode: urlDatas.doctorNo,
  159. patientCode:urlDatas.patientNo,
  160. recordId:urlDatas.recordId
  161. };
  162. // 获取医生,患者基本信息
  163. Promise.all([json(api.getPatInfo, params),json(api.getPatBaseInfo, params)])
  164. .then((data) => {
  165. let data1 = {},data2={};
  166. if(data[0].data.code=='0'){
  167. data1 = data[0].data.data;
  168. }
  169. if(data[1].data.code=='0'){
  170. data2 = data[1].data.data;
  171. }
  172. dispatch({
  173. type: GET_PATIENT_MESSAGE,
  174. data:Object.assign(data1,data2)
  175. });
  176. //设置初始模式
  177. dispatch({
  178. type: CONFIRM_TYPE,
  179. confirmType:data1.modeValue
  180. });
  181. dispatch(getInitModules); //确保病人信息获取以后再获取模板等数据,否则参数为空
  182. })
  183. };*/