print.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. import {
  2. json
  3. } from "../../utils/ajax";
  4. import store from '@store';
  5. import Notify from '@commonComp/Notify';
  6. import {
  7. getAllDataList,
  8. getAllDataStringList,
  9. pushAllDataList,
  10. filterDataArr,
  11. filterOtherDataArr
  12. } from '@utils/tools';
  13. export const saveMessage = (bool) => {
  14. let baseList = store.getState();
  15. const readMode = baseList.typeConfig.readMode; //回读模式
  16. let state = baseList.patInfo.message;
  17. //保存时保存当前的数据实际模式,不是系统模式,针对回读模式与系统模式不一致的情况处理
  18. let whichSign = readMode===-1||readMode===null?baseList.typeConfig.typeConfig:readMode;
  19. const pushMessage = baseList.pushMessage;
  20. let jsonStr = getAllDataStringList(baseList);
  21. let jsonData = getAllDataList(baseList);
  22. const lisData = baseList.inspect.pushItem;
  23. const lisArr = transferIndexData(lisData);
  24. const haveAssess = Object.keys(baseList.assessResult.data).length>0;
  25. let otherData = {},pacsData={};
  26. const evaluation={
  27. htmlContent:haveAssess?JSON.stringify(getEvaluations(baseList.assessResult,pushMessage)):'{}',
  28. //scaleList:[]
  29. };//getEvaluation();
  30. //console.log(baseList)
  31. // console.log(jsonStr.diag,'保存历史病历')
  32. otherData['yjs_1']=jsonData['yjs_1']||''
  33. otherData['yjs_2']=jsonData['yjs_2']||''
  34. otherData['yjs_3']=jsonData['yjs_3']||''
  35. otherData['yjs_4']=jsonData['yjs_4']||''
  36. otherData['haveAssess']=haveAssess
  37. otherData['pfix']=jsonStr.other?filterOtherDataArr(JSON.parse(jsonStr.other),jsonData.other):''
  38. pacsData.pacs = jsonData.pacs
  39. pacsData.checkedListImport = jsonData.checkedListImport
  40. json('/inquiryInfo/saveInquiry', {
  41. "doctorId": state.doctorId,
  42. "hospitalDeptId": state.hospitalDeptId,
  43. "hospitalId": state.hospitalId,
  44. "patientId": state.patientId, //患者id
  45. "dataJson": JSON.stringify(Object.assign({haveAssess:haveAssess},jsonData)),
  46. "indexData":lisArr,
  47. "inquiryEvaluation":evaluation,
  48. "detailList": [{
  49. "content": jsonStr.chief,
  50. "contentValue":filterDataArr(JSON.parse(jsonStr.chief)),
  51. "contentJson":'',
  52. "type": 1
  53. }, {
  54. "content": jsonStr.present,
  55. "contentValue":filterDataArr(JSON.parse(jsonStr.present)),
  56. "contentJson":'',
  57. "type": 2
  58. }, {
  59. "content": jsonStr.other,
  60. "contentValue":filterDataArr(JSON.parse(jsonStr.other)),
  61. "contentJson":JSON.stringify(otherData),
  62. "type": 3
  63. }, {
  64. "content": jsonStr.vital,
  65. "contentValue":filterDataArr(JSON.parse(jsonStr.vital)),
  66. "contentJson":'',
  67. "type": 4
  68. }, {
  69. "content": jsonStr.lis,
  70. "contentValue":jsonStr.lis,
  71. "contentJson":JSON.stringify(jsonData.lis),
  72. "type": 5
  73. }, {
  74. "content": jsonStr.pacs,
  75. "contentValue":jsonStr.pacs,
  76. "contentJson":JSON.stringify(pacsData),
  77. "type": 6
  78. }, {
  79. "content": jsonStr.diag,
  80. "contentValue":jsonStr.diag,
  81. "contentJson":'',
  82. "type": 7
  83. }, {
  84. "content": jsonStr.advice,
  85. "contentValue":jsonStr.advice,
  86. "contentJson":JSON.stringify(jsonData.advice),
  87. "type": 8
  88. }],
  89. "sign": whichSign, //类型0结构化 1文本
  90. "diagnose": (jsonData.diag.length > 0 ? jsonData.diag[0].name : ''), //诊断
  91. "inquiryCode": state.recordId, //就诊序列号
  92. "drugList":baseList.pushMessage.advice.drugList || [],//药品列表
  93. // "regVisitedState": 0, //就诊状态
  94. // "type": 0,
  95. }).then((res) => {
  96. let data = res.data
  97. if (data.code == 0) {
  98. if(!bool){
  99. Notify.success('历史病历保存成功');
  100. }
  101. } else {
  102. Notify.info(data.msg);
  103. }
  104. }).catch(function(){
  105. Notify.info('保存失败,请稍后再试!');
  106. });
  107. if(bool){
  108. json('/printRecord/savePrintRecords', {
  109. "dataJson": JSON.stringify(getAllDataList(baseList)),
  110. "doctorId": state.doctorId,
  111. "hospitalDeptId": state.hospitalDeptId,
  112. "hospitalId": state.hospitalId,
  113. "inquiryCode": state.recordId, //就诊序列号
  114. "name": (jsonData.diag.length > 0 ? jsonData.diag[0].name : ''), //诊断
  115. "patientId": state.patientId, //患者id
  116. "type": whichSign, //类型0结构化 1文本
  117. "content": {
  118. "advice": jsonStr.advice,
  119. "chief": jsonStr.present,
  120. "diag": jsonStr.diag,
  121. "lis": jsonStr.lis,
  122. "other": jsonStr.other,
  123. "pacs": jsonStr.pacs,
  124. "present": jsonStr.present,
  125. "vital": jsonStr.vital
  126. },
  127. }).then((res) => {
  128. let data = res.data
  129. if (data.code == 0) {
  130. console.log('打印记录保存成功')
  131. } else {
  132. console.log(res)
  133. }
  134. })
  135. }
  136. };
  137. //转换化验指标保存需要的数据
  138. function transferIndexData(data) {
  139. const arr=[];
  140. data.map((it)=>{
  141. if(it.uniqueName&&it.value!=''){
  142. arr.push({
  143. creatTime:it.time+':00',
  144. indexUnique:it.uniqueName,
  145. indexUnit:it.units,
  146. indexValue:it.value,
  147. isAbnormal:(it.maxValue||it.minValue)?(it.value<it.minValue||it.value>it.maxValue?1:0):0
  148. });
  149. }
  150. });
  151. return arr;
  152. }
  153. function getEvaluations(base,pushMessage){
  154. let obj = [];
  155. Object.keys(base.wholeIndexs).map((i)=>{
  156. obj[i]=pushMessage.chronicPushItems[i];
  157. });
  158. return {
  159. data:base.data,
  160. chooseSelecteds:base.chooseSelecteds,
  161. indexTimeTypes:base.indexTimeTypes,
  162. wholeAssess:obj,
  163. wholeAssessText:base.wholeAssessText,
  164. wholeIndexs:base.wholeIndexs,
  165. scaleInfo:pushMessage.scaleInfo,
  166. scaleResult:pushMessage.formulaResult,
  167. wholeResults:base.wholeResults,
  168. calcuResult:base.calcuResult,
  169. calcuValues:base.calcuValues,
  170. scaleItems:base.wholeScaleItems,
  171. };
  172. }
  173. export const clearMessages = () => {
  174. let baseList = store.getState();
  175. let whichSign = baseList.typeConfig.typeConfig;
  176. pushAllDataList(whichSign,'clear');
  177. };