patInfo.js 5.8 KB

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