patInfo.js 6.3 KB

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