DialysisPrintOrdereightytwo.vue 79KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030
  1. <template>
  2. <div>
  3. <el-button type="primary" @click="checkData">一键核对</el-button>
  4. <div id="dialysis-print-box-1">
  5. <div
  6. id="dialysis-print-box-1-1"
  7. class="dialysis-print-order print-template-two print_page_main_content"
  8. >
  9. <div style="display:inline-block;width:100%;text-align:center;">
  10. <div
  11. class="order-title"
  12. style="letter-spacing: 0;font-weight:600;font-size:22px;display:inline-block;"
  13. >
  14. {{ orgname }} 血液净化治疗记录单
  15. </div>
  16. </div>
  17. <div class="row">
  18. <div class="inline_block" style="margin-right:10px;">
  19. 日期 <div class="inline_block under_line" style="width:50px">{{ queryParams.xtdate.slice(0,4) }}</div>
  20. <div class="inline_block under_line" style="width:50px">{{ queryParams.xtdate.slice(5,7) }}</div>
  21. <div class="inline_block under_line" style="width:50px">{{ queryParams.xtdate.slice(8,11) }}</div>
  22. </div>
  23. <div class="inline_block" style="margin-right:10px;">
  24. 姓名
  25. <div class="inline_block under_line" style="width:80px;text-align: center;">
  26. {{ patientInfo.name ? patientInfo.name : "" }}
  27. </div>
  28. </div>
  29. <div class="inline_block" style="margin-right:10px;">
  30. 性别&nbsp;
  31. <label-box :isChecked="patientInfo.gender == '男'" showValue="男" ></label-box>&nbsp;
  32. <label-box :isChecked="patientInfo.gender == '女'" showValue="女" ></label-box>
  33. </div>
  34. <div class="inline_block" style="margin-right:10px;">
  35. 年龄:
  36. <div class="under_line" style="width: 50px;text-align: center">
  37. {{ getNewAge(patientInfo.id_card_no) }}
  38. </div>
  39. </div>
  40. <div class="inline_block" style="margin-right:10px;">
  41. 机器编号
  42. <div class="inline_block under_line" style="width:80px;">
  43. {{ getNumber() }}
  44. </div>
  45. </div>
  46. <div class="inline_block">
  47. 病案号 <div class="inline_block under_line" style="width:60px">{{ patientInfo.dialysis_no }}</div>
  48. </div>
  49. </div>
  50. <div style="border-bottom: 2px solid #000;width:100%;"></div>
  51. <div class="row">
  52. <div class="inline_block" style="margin-right:30px;">
  53. 血液净化方式
  54. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;">
  55. {{prescription.mode ? prescription.mode : '/'}}
  56. </div>
  57. </div>
  58. <div class="inline_block" style="margin-right:30px;">
  59. 血液净化器类型
  60. <div class="inline_block under_line" style="width:150px;text-align: center;">
  61. <span v-if="prescription.dialyzer_perfusion_apparatus !=''">
  62. {{
  63. prescription.dialyzer_perfusion_apparatus
  64. ? prescription.dialyzer_perfusion_apparatus
  65. : ""
  66. }}
  67. </span>
  68. <span v-if="prescription.dialysis_dialyszers !=''">
  69. {{
  70. prescription.dialysis_dialyszers
  71. ? prescription.dialysis_dialyszers
  72. : "/"
  73. }}
  74. </span>
  75. <span v-if="prescription.dialysis_strainer !=''">
  76. {{
  77. prescription.dialysis_strainer?
  78. prescription.dialysis_strainer:""
  79. }}
  80. </span>
  81. </div>
  82. </div>
  83. <div class="inline_block" style="margin-right:30px;">
  84. 透析液配方
  85. <div class="inline_block under_line" style="width:150px;text-align: center;">
  86. {{ prescription.dialysate_formulation_name ? prescription.dialysate_formulation_name : '/'}}
  87. </div>
  88. </div>
  89. </div>
  90. <div class="row">
  91. 血管通路
  92. <div class="inline_block under_line" style="width:200px;text-align: center;">
  93. {{ predialysis.blood_access_part_id ? predialysis.blood_access_part_id :'/' }}
  94. {{ predialysis.blood_access_part_opera_name?predialysis.blood_access_part_opera_name:"/" }}
  95. </div>
  96. 导管
  97. <div class="inline_block under_line" style="width:200px;text-align: center;">
  98. {{ predialysis.catheter ? predialysis.catheter : "/" }}
  99. </div>
  100. 内瘘
  101. <div class="inline_block under_line" style="width:200px;text-align: center;">
  102. {{ predialysis.internal_fistula ? predialysis.internal_fistula : "/" }}
  103. </div>
  104. </div>
  105. <div class="row">
  106. </div>
  107. <div class="row">
  108. 抗凝药物&nbsp;&nbsp;
  109. <div class="inline_block under_line" style="width:90%;text-align: left;">
  110. {{ prescription.anticoagulant_name ? prescription.anticoagulant_name : '/' }}
  111. <div class="inline_block">&nbsp;&nbsp;&nbsp;
  112. 剂量:首次
  113. <div class="inline_block" style="width:50px;text-align:center">
  114. {{ prescription.anticoagulant_shouji ? prescription.anticoagulant_shouji : "/" }}
  115. </div>
  116. <span>
  117. {{getshoujiunit(prescription.anticoagulant)}}
  118. </span>
  119. </div>&nbsp;&nbsp;&nbsp;
  120. <div class="inline_block">
  121. 追加
  122. <div class="inline_block" style="width:50px;text-align:center">
  123. {{ prescription.anticoagulant_weichi ? prescription.anticoagulant_weichi : "/" }}
  124. </div>
  125. <span>
  126. {{getweichiunit(prescription.anticoagulant)}}
  127. </span>
  128. </div>&nbsp;&nbsp;&nbsp;
  129. <div class="inline_block">
  130. 总量
  131. <div class="inline_block" style="width:50px;text-align:center">
  132. {{ prescription.anticoagulant_zongliang ? prescription.anticoagulant_zongliang : "/"}}
  133. </div>
  134. <span>
  135. {{getzongliangunit(prescription.anticoagulant)}}
  136. </span>
  137. </div>
  138. </div>
  139. </div>
  140. <div class="row">
  141. <div class="inline_block" style="margin-right:30px;">
  142. 干体重
  143. <div class="inline_block under_line" style="width:100px;">
  144. {{ predialysis.dry_weight ? predialysis.dry_weight : "/" }}
  145. </div>kg
  146. </div>
  147. <div class="inline_block" style="margin-right:30px;">
  148. 净化前体重
  149. <div class="inline_block under_line" style="width:100px;">
  150. {{ predialysis.weight_before ? predialysis.weight_before : "/" }}
  151. </div>kg
  152. </div>
  153. <div class="inline_block" style="margin-right:30px;">
  154. 预设脱水
  155. <div class="inline_block under_line" style="width:100px;">
  156. {{ prescription.target_ultrafiltration ? prescription.target_ultrafiltration : '/' }}
  157. </div>ml
  158. </div>
  159. </div>
  160. <div class="row">
  161. <div class="inline_block" style="margin-right:22px;">
  162. 净化时间
  163. <div class="inline_block under_line" style="width:50px;">
  164. {{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : 0 }}
  165. </div>h
  166. <div class="inline_block under_line" style="width:50px;">
  167. {{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : 0 }}
  168. </div>min
  169. </div>
  170. <div class="inline_block" style="margin-right:30px;">
  171. 净化后体重
  172. <div class="inline_block under_line" style="width:100px;">
  173. {{ afterdialysis.weight_after ? parseFloat(afterdialysis.weight_after).toFixed(1) : "/" }}
  174. </div>kg
  175. </div>
  176. <div class="inline_block" style="margin-right:30px;">
  177. 实际脱水
  178. <div class="inline_block under_line" style="width:100px;">
  179. {{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : "/" }}
  180. </div>ml
  181. </div>
  182. </div>
  183. <div class="row">
  184. 透前评估
  185. <div class="inline_block under_line" style="width:50%;text-align: left;margin-right:30px;">
  186. <div class="inline_block" style="margin-right:30px;">
  187. 体温
  188. <div class="inline_block" style="width:50px;text-align:center">
  189. {{ predialysis.temperature ? predialysis.temperature : "/" }}
  190. </div>
  191. </div>
  192. <div class="inline_block" style="margin-right:30px;">
  193. 血压
  194. <div class="inline_block" style="width:100px;text-align:center">
  195. {{ predialysis.systolic_blood_pressure ? predialysis.systolic_blood_pressure : "/" }}/
  196. {{ predialysis.diastolic_blood_pressure ? predialysis.diastolic_blood_pressure : "/" }}
  197. </div>mmHg
  198. </div>
  199. <div class="inline_block" style="margin-right:30px;">
  200. 脉搏
  201. <div class="inline_block" style="width:50px;text-align:center">
  202. {{ predialysis.pulse_frequency ? predialysis.pulse_frequency : "/" }}
  203. </div>次/分
  204. </div>
  205. 入室方式
  206. <div class="inline_block under_line" style="width:80px;text-align: center;margin-right:30px;">
  207. {{ receiverTreatmentAccess.way ? receiverTreatmentAccess.way : "/" }}
  208. </div>
  209. </div>
  210. </div>
  211. <div class="row">
  212. 透析前症状
  213. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  214. {{ predialysis.symptom_before_dialysis ? predialysis.symptom_before_dialysis : "/" }}
  215. </div>
  216. 水肿
  217. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  218. {{ predialysis.edema ? predialysis.edema : "/" }}
  219. </div>
  220. 出血
  221. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:15px;">
  222. <span v-if="predialysis.is_hemorrhage == 1">{{ predialysis.is_hemorrhage == 1 && predialysis.hemorrhage ? predialysis.hemorrhage : "" }}</span>
  223. <span v-if="predialysis.is_hemorrhage == 1">{{ predialysis.is_hemorrhage == 1 && predialysis.hemorrhage_other ? predialysis.hemorrhage_other : "" }}</span>
  224. <span v-if="predialysis.is_hemorrhage == 2"></span>
  225. <span v-if="predialysis.is_hemorrhage != 2 && predialysis.is_hemorrhage != 1">/</span>
  226. </div>
  227. <!-- <div style="display: inline-block;width: 250px;">
  228. 换药护士
  229. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  230. <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.puncture_nurse)}}</span>
  231. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse)" alt="" srcset="" v-else>
  232. </div>
  233. </div> -->
  234. </div>
  235. <div class="row">
  236. 上机医生
  237. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  238. <span v-if="setAdminUserES(prescription==null?0:(prescription.creater?prescription.creater:'')) == ''">
  239. {{ getAdminUser(prescription==null?0:(prescription.creater?prescription.creater:'')) }}
  240. </span>
  241. <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.creater?prescription.creater:''))" alt="" srcset="" v-else />
  242. </div>
  243. 冲管护士
  244. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  245. <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.washpipe_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.washpipe_nurse)}}</span>
  246. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.washpipe_nurse)" alt="" srcset="" v-else>
  247. </div>
  248. <div style="display: inline-block;width: 250px;" v-if="predialysis.internal_fistula!=''">
  249. 穿刺护士
  250. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  251. <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.puncture_nurse)}}</span>
  252. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.puncture_nurse)" alt="" srcset="" v-else>
  253. </div>
  254. </div>
  255. <div style="display: inline-block;width: 250px;" v-if="predialysis.catheter!=''">
  256. 换药护士
  257. <div class="inline_block under_line" style="width:150px;text-align: center;margin-right:30px;">
  258. <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.change_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.change_nurse)}}</span>
  259. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.change_nurse)" alt="" srcset="" v-else>
  260. </div>
  261. </div>
  262. 上机护士
  263. <div class="inline_block under_line" style="width:100px;text-align: center;">
  264. <span v-if="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse) == ''">{{getAdminUser(dialysisOrder==null?0:dialysisOrder.start_nurse)}}</span>
  265. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder==null?0:dialysisOrder.start_nurse)" alt="" srcset="" v-else>
  266. </div>
  267. </div>
  268. <table class="print-table" border="1">
  269. <tr>
  270. <td style="height:40px;line-height:40px">时间</td>
  271. <td>医嘱</td>
  272. <td>医师签名</td>
  273. <td>执行时间</td>
  274. <td>执行者签名</td>
  275. <td>核对者签名</td>
  276. </tr>
  277. <tr v-for="(advice, advice_index) in tableAdvice" :key="advice_index">
  278. <td style="height:35px;line-height:35px">{{ getTime(advice.start_time, "{y}-{m}-{d} {h}:{i}") }}</td>
  279. <td class="parent">
  280. <span v-if="advice.parent_id > 0">---></span>
  281. <span>{{ advice.advice_name }}</span>
  282. <span v-if="advice && advice.advice_desc">({{ advice.advice_desc }}{{ advice.drug_spec_unit }})</span>
  283. <span v-if="advice.prescribing_number"> &nbsp;&nbsp; {{ advice.prescribing_number }}{{ advice.prescribing_number_unit }}</span>
  284. <span v-if="advice.single_dose != 0">{{ advice.single_dose }}{{ advice.single_dose_unit }}</span>
  285. <span v-if="advice.parent_id == 0">{{ advice.delivery_way }}</span>
  286. <span v-if="advice.parent_id == 0">{{ advice.execution_frequency }}</span>
  287. <span v-if="advice.parent_id == 0 && advice.remark.length > 0">({{ advice.remark }})</span>
  288. </td>
  289. <td>
  290. <span v-if="setAdminUserES(advice.advice_doctor) == ''">
  291. {{
  292. getAdminUser(advice.advice_doctor)
  293. }}
  294. </span>
  295. <span
  296. v-else
  297. style="display:flex;align-items:center;justify-content:space-around;height:36px;"
  298. >
  299. <img style="height:30px;" :src="setAdminUserES(advice.advice_doctor)" alt srcset />
  300. </span>
  301. </td>
  302. <td>{{ getTime(advice.execution_time, "{y}-{m}-{d} {h}:{i}") }}</td>
  303. <td>
  304. <span v-if="setAdminUserES(advice.execution_staff) == ''">
  305. {{
  306. getAdminUser(advice.execution_staff)
  307. }}
  308. </span>
  309. <span
  310. v-else
  311. style="display:flex;align-items:center;justify-content:space-around;height:36px;"
  312. >
  313. <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt srcset />
  314. </span>
  315. </td>
  316. <td>
  317. <span v-if="setAdminUserES(advice.checker) == ''">
  318. {{ getAdminUser(advice.checker) }}
  319. </span>
  320. <span v-else style="display:flex;align-items:center;justify-content:space-around;height:36px;">
  321. <img style="height:30px;" :src="setAdminUserES(advice.checker)" alt srcset />
  322. </span>
  323. </td>
  324. </tr>
  325. </table>
  326. <table class="print-table" border="1">
  327. <tbody>
  328. <tr style="line-height:20px;">
  329. <td width="60">时间</td>
  330. <td width="60">BP<br/>mmHg</td>
  331. <td width="40">脉搏<br/>次/分</td>
  332. <td width="40">血流速<br/>ml/min</td>
  333. <td width="100">静脉压/动脉压<br/>mmHg</td>
  334. <td width="40">超滤量<br/>ml</td>
  335. <td width="40">TMP<br/>mmHg</td>
  336. <td width="40">电导率<br/>(mS/cm)</td>
  337. <td width="40">机温<br/></td>
  338. <!-- <td width="40">透析液流量</td> -->
  339. <td width="40">UF/hr<br/>ml/h</td>
  340. <td width="200">病情变化处理方式及结果</td>
  341. </tr>
  342. <tr v-for="monitor in monitors" :key="monitor.id">
  343. <td style="height:35px;line-height:35px">&nbsp;
  344. {{getTime(monitor.operate_time,'{h}:{i}')}}
  345. </td>
  346. <td>&nbsp;{{monitor.systolic_blood_pressure?monitor.systolic_blood_pressure:''}} <span v-if="monitor.systolic_blood_pressure||monitor.diastolic_blood_pressure">/</span>
  347. {{monitor.diastolic_blood_pressure?monitor.diastolic_blood_pressure:''}}
  348. </td>
  349. <td>&nbsp;{{monitor.pulse_frequency?monitor.pulse_frequency:''}}</td>
  350. <td>&nbsp;{{monitor.blood_flow_volume?monitor.blood_flow_volume:''}}</td>
  351. <td>&nbsp;{{monitor.venous_pressure?monitor.venous_pressure:''}}
  352. <span v-if="monitor.venous_pressure||monitor.arterial_pressure">/</span>
  353. {{ monitor.arterial_pressure ? monitor.arterial_pressure : "" }}
  354. </td>
  355. <td>&nbsp;
  356. <span v-if="monitor.ultrafiltration_volume !=''">
  357. {{monitor.ultrafiltration_volume==0 && monitor.id?'':monitor.ultrafiltration_volume}}
  358. </span>
  359. <span v-if="monitor.operate_time <= dialysisOrder.end_time && monitor.ultrafiltration_volume ==''">
  360. 0
  361. </span>
  362. </td>
  363. <td>&nbsp;{{monitor.transmembrane_pressure?monitor.transmembrane_pressure:''}}</td>
  364. <td>&nbsp;{{monitor.conductivity?monitor.conductivity:''}}</td>
  365. <td>&nbsp;{{monitor.dialysate_temperature ? monitor.dialysate_temperature : ''}}</td>
  366. <!-- <td>&nbsp; <span v-if="monitor.operate_time"> {{ monitor.dialysate_flow ? monitor.dialysate_flow : "" }} </span></td> -->
  367. <td>&nbsp;
  368. <span v-if="monitor.ultrafiltration_rate !=''">
  369. {{monitor.ultrafiltration_rate?monitor.ultrafiltration_rate:''}}
  370. </span>
  371. <span v-if="monitor.operate_time <= dialysisOrder.end_time && monitor.ultrafiltration_rate ==''">
  372. 0
  373. </span>
  374. </td>
  375. <td>
  376. <span v-if="monitor.symptom"> {{ monitor.symptom }} </span>
  377. <span v-if="monitor.dispose"> {{ " " + monitor.dispose }} </span>
  378. <span v-if="monitor.result"> {{ " " + monitor.result }} </span>
  379. </td>
  380. </tr>
  381. </tbody>
  382. </table>
  383. <table class="print-table" border="1">
  384. <tbody>
  385. <tr style="height:30px;line-height:30px">
  386. <td width="30" rowspan="4" style="padding-left:5px;border:none;border-right:1px solid #000;">
  387. 透后小结
  388. </td>
  389. <td colspan="8">
  390. <table class="table-box">
  391. <tbody>
  392. <tr>
  393. <td width="50" style="border:none;padding-left:5px;">
  394. 体温:
  395. </td>
  396. <td width="70" style="text-align:left;border:none;">
  397. <div>
  398. <span class="under_line" style="width:50px;display:inline-block;">
  399. {{ afterdialysis.temperature ? afterdialysis.temperature : "/" }}
  400. </span>
  401. </div>
  402. </td>
  403. <td width="50" style="border:none;padding-left:5px;">血压:</td>
  404. <td width="120" style="text-align:left;border:none;line-height: 30px;">
  405. <div>
  406. <span class="under_line" style="width:100px;display:inline-block">
  407. {{ afterdialysis.systolic_blood_pressure ? afterdialysis.systolic_blood_pressure : "/" }}/
  408. {{ afterdialysis.diastolic_blood_pressure ? afterdialysis.diastolic_blood_pressure : "/" }}
  409. </span>mmHg
  410. </div>
  411. </td>
  412. <td width="50" style="border:none;padding-left:5px">脉搏:</td>
  413. <td width="70" style="text-align:left;border:none;">
  414. <div>
  415. <span class="under_line" style="width:50px;display:inline-block">
  416. {{ afterdialysis.pulse_frequency ? afterdialysis.pulse_frequency : "/" }}
  417. </span>次/分
  418. </div>
  419. </td>
  420. <td width="80" style="border:none;padding-left:5px">实际置换量:</td>
  421. <td width="60" style="text-align:left;border:none;">
  422. <div>
  423. <span class="under_line" style="width:50px;display:inline-block">
  424. {{ afterdialysis.actual_displacement ? afterdialysis.actual_displacement : "/" }}
  425. </span>L
  426. </div>
  427. </td>
  428. <td width="80" style="border:none;padding-left:5px">透析进食:</td>
  429. <td width="80" style="text-align:left;border:none;">
  430. <div>
  431. <span class="under_line" style="width:50px;display:inline-block">
  432. {{ afterdialysis.dialysis_during ? afterdialysis.dialysis_during : '/' }}
  433. </span><span v-if="org_id==10028">ml</span><span v-else>g</span>
  434. </div>
  435. </td>
  436. <!-- <td width="70" style="border:none;padding-left:5px">透后症状:</td>
  437. <td width="100" style="text-align:left;border:none;">
  438. <div>
  439. <span class="under_line" style="width:100px;display:inline-block">
  440. {{ afterdialysis.symptom_after_dialysis ? afterdialysis.symptom_after_dialysis : "" }}
  441. </span>
  442. </div>
  443. </td> -->
  444. </tr>
  445. </tbody>
  446. </table>
  447. <table class="table-box">
  448. <tbody>
  449. <tr>
  450. <!-- <span>体外凝血等级&nbsp;&nbsp;&nbsp;&nbsp;</span> -->
  451. <td width="100" style="border:none;padding-left:5px">体外凝血等级:</td>
  452. <td width="180" style="border:none;padding-left:5px">透析器凝血:</td>
  453. <td width="120" style="text-align:left;border:none;">
  454. <span class="under_line" style="width:100px;display:inline-block">
  455. {{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
  456. </span>
  457. </td>
  458. <td width="90" style="border:none;padding-left:5px">静脉管路:</td>
  459. <td width="120" style="text-align:left;border:none;">
  460. <span class="under_line" style="width:100px;display:inline-block">
  461. {{ getintravenous(afterdialysis.intravenous_tube) }}
  462. </span>
  463. <!-- <label-box :isChecked="afterdialysis.intravenous_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
  464. <label-box :isChecked="afterdialysis.intravenous_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
  465. <label-box :isChecked="afterdialysis.intravenous_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
  466. <label-box :isChecked="afterdialysis.intravenous_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp; -->
  467. </td>
  468. <td width="90" style="border:none;padding-left:5px">动脉管路:</td>
  469. <td width="120" style="text-align:left;border:none;">
  470. <span class="under_line" style="width:100px;display:inline-block">
  471. {{ getarterial(afterdialysis.arterial_tube) }}
  472. </span>
  473. <!-- <label-box :isChecked="afterdialysis.arterial_tube == 1 ? true : false" showValue="无"></label-box>&nbsp;
  474. <label-box :isChecked="afterdialysis.arterial_tube == 2 ? true : false" showValue="+"></label-box>&nbsp;
  475. <label-box :isChecked="afterdialysis.arterial_tube == 3 ? true : false" showValue="+ +"></label-box>&nbsp;
  476. <label-box :isChecked="afterdialysis.arterial_tube == 4 ? true : false" showValue="+ + +"></label-box>&nbsp; -->
  477. </td>
  478. <td></td>
  479. <!-- <td width="10" style="text-align:left;border:none;"></td>
  480. <td width="110" style="text-align:left;border:none;"></td> -->
  481. </tr>
  482. </tbody>
  483. </table>
  484. <table class="table-box">
  485. <tbody>
  486. <tr style="height:30px;line-height:30px;">
  487. <td width="50" style="border:none;padding-left:5px;">内瘘:</td>
  488. <td width="150" colspan="3" style="text-align:left;border:none;">
  489. <div>
  490. <span class="under_line" style="width:150px;display:inline-block;">
  491. {{ afterdialysis.internal_fistula ? afterdialysis.internal_fistula : "/" }}
  492. </span>
  493. </div>
  494. </td>
  495. <td width="70" style="border:none;padding-left:5px;">导管情况:</td>
  496. <td width="150" colspan="3" style="text-align:left;border:none;">
  497. <div>
  498. <span class="under_line" style="width:150px;display:inline-block;">
  499. {{ afterdialysis.catheter ? afterdialysis.catheter : "/" }}
  500. </span>
  501. </div>
  502. </td>
  503. <td width="70" style="border:none;padding-left:5px;">体重减少:</td>
  504. <td width="100" colspan="3" style="text-align:left;border:none;">
  505. <div>
  506. <span class="under_line" style="width:50px;display:inline-block;">
  507. {{ afterdialysis.weight_loss ? afterdialysis.weight_loss : "/"}}
  508. </span>kg
  509. </div>
  510. </td>
  511. <td width="70" style="border:none;padding-left:5px">下机护士:</td>
  512. <td width="100" style="text-align:left;border:none;">
  513. <div>
  514. <span class="under_line" style="width:100px;display:inline-block">
  515. <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) == ''">
  516. {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse) }}</span>
  517. <img class="es-img" style="height:30px" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.finish_nurse)" alt="" srcset="" v-else />
  518. </span>
  519. </div>
  520. </td>
  521. <td></td>
  522. <!-- <td width="10" style="text-align:left;border:none;"></td>
  523. <td width="110" style="text-align:left;border:none;"></td> -->
  524. <!-- <td width="110" style="text-align:left;border:none;"></td> -->
  525. <!-- <td width="110" style="text-align:left;border:none;"></td> -->
  526. </tr>
  527. </tbody>
  528. </table>
  529. </td>
  530. </tr>
  531. </tbody>
  532. </table>
  533. <table class="print-table" border="1">
  534. <tr style="line-height:25px;text-align:left;border:none;">
  535. <td style="padding-left:5px;border:none">
  536. <div style="padding-bottom:10px;">
  537. 透析小结:{{ summary.dialysis_summary ? summary.dialysis_summary : "/" }}
  538. </div>
  539. </td>
  540. </tr>
  541. <tr style="height:40px">
  542. <td rowspan="11" style="border:none;text-align:right;height:40px">
  543. 护士签名:
  544. <span style="display: inline-block;width:100px;text-align: left;">
  545. <span v-if="orderForm.url === ''" style="display:flex;align-items:center;">{{ orderForm.start_nurse }}</span>
  546. <span v-if="orderForm.url !== ''" style="display:flex;align-items:center;height:36px;">
  547. <img :src="orderForm.url" style="height:30px;" />
  548. </span>
  549. </span>
  550. <!-- 二核护士
  551. <span style="display: inline-block;width:100px;text-align: left;">
  552. &nbsp;
  553. <span v-if="dialysisOrder ? dialysisOrder.start_nurse != check.modifier : false">
  554. <span v-if="setAdminUserES(check == null ? 0 : check.modifier) == ''" style="height:30px;display: inline-block;">
  555. {{ getAdminUser(check == null ? 0 : check.modifier) }}
  556. </span>
  557. <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.modifier)" alt srcset v-else />
  558. </span>
  559. <span v-else>
  560. <span v-if="setAdminUserES(check == null ? 0 : check.creater) == ''" style="height:30px;display: inline-block;">
  561. {{ getAdminUser(check == null ? 0 : check.creater) }}
  562. </span>
  563. <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt srcset v-else />
  564. </span> -->
  565. <!-- </span> -->
  566. 医生签名:
  567. <span style="display: inline-block;width:100px;text-align: left;">
  568. &nbsp;
  569. <span v-if="setAdminUserES(prescription==null?0:(prescription.creater?prescription.creater:'')) == ''">
  570. {{ getAdminUser(prescription==null?0:(prescription.creater?prescription.creater:'')) }}
  571. </span>
  572. <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.creater?prescription.creater:''))" alt="" srcset="" v-else />
  573. <!-- <span v-if="doctorForm.url === ''">{{ doctorForm.doctor }}</span>
  574. <span v-if="doctorForm.url !== ''">
  575. <img class="es-img" style="height:30px;" :src="doctorForm.url" />
  576. </span> -->
  577. </span>
  578. </td>
  579. </tr>
  580. </table>
  581. </div>
  582. <div>
  583. 透析液配方详情:
  584. <div class="inline_block">
  585. 钠:
  586. <div
  587. class="under_line"
  588. style="width: 50px; text-align: center"
  589. >
  590. {{ prescription.sodium ? prescription.sodium : "/" }}
  591. </div>
  592. mmol/L
  593. </div>
  594. <div class="inline_block" style="margin-left: 10px">
  595. 钾:
  596. <div
  597. class="under_line"
  598. style="width: 50px; text-align: center"
  599. >
  600. {{ prescription.kalium ? prescription.kalium : "/" }}
  601. </div>
  602. mmol/L
  603. </div>
  604. <div class="inline_block" style="margin-left: 10px">
  605. 钙:
  606. <div
  607. class="under_line"
  608. style="width: 50px; text-align: center"
  609. >
  610. {{ prescription.calcium ? prescription.calcium : "/" }}
  611. </div>
  612. mmol/L
  613. </div>
  614. </div>
  615. </div>
  616. </div>
  617. </template>
  618. <script>
  619. import { getDialysisRecord } from '@/api/dialysis'
  620. import { getDataConfig } from '@/utils/data'
  621. import { jsGetAge, uParseTime } from '@/utils/tools'
  622. import LabelBox from '../printItem/LabelBox'
  623. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  624. // import DialysisPrintOrderOne from './template/dialysisPrintOrderOne'
  625. // import DialysisPrintOrderTwo from './template/dialysisPrintOrderTwo'
  626. import print from 'print-js'
  627. export default {
  628. name: 'dialysisPrintOrderOne',
  629. components: {
  630. // DialysisPrintOrderOne,
  631. // DialysisPrintOrderTwo,
  632. LabelBox,
  633. BreadCrumb
  634. },
  635. data() {
  636. return {
  637. way_arr: [],
  638. consciousness_arr: [],
  639. appetite_arr: [],
  640. posture_arr: [],
  641. sick_condition_arr: [],
  642. precaution_arr: [],
  643. intake_arr: [],
  644. nutrition_arr: [],
  645. crumbs: [
  646. { path: false, name: '透析管理' },
  647. { path: false, name: '打印单' }
  648. ],
  649. operators: [],
  650. adminUser: [],
  651. check: {},
  652. dialysisOrder: {
  653. DeviceNumber: []
  654. },
  655. Order: {},
  656. operatorMaps: {},
  657. complications: [
  658. '低血压',
  659. '高血压',
  660. '心律失常',
  661. '头晕',
  662. '头痛',
  663. '呕吐',
  664. '抽搐',
  665. '出血',
  666. '心衰',
  667. '腹痛',
  668. '无'
  669. ],
  670. jilurow: 0,
  671. advice_jilurow: 0,
  672. loading: false,
  673. orgname: '',
  674. patientInfo_gender_1: false,
  675. patientInfo_gender_2: false,
  676. patientInfo_source_2: false,
  677. patientInfo_source_1: false,
  678. modeOptions: {},
  679. replacementWays: [],
  680. perfusionApparatus: [],
  681. anticoagulantsConfit: {},
  682. bloodAccessParOpera: {},
  683. dialysateFormulationOptions: {},
  684. queryParams: {
  685. xtdate: '',
  686. xtno: '',
  687. patient_id:0,
  688. },
  689. patientInfo: {
  690. birth: '',
  691. age: '',
  692. DialysisSchedule: {
  693. device_number: { number: '' },
  694. device_zone: { name: '' }
  695. },
  696. gender: 0
  697. },
  698. predialysis: {
  699. score: '',
  700. internal_fistula: '',
  701. internal_fistula_skin: '',
  702. catheter: '',
  703. blood_access_part_opera_name: ''
  704. },
  705. afterdialysis: {
  706. complications_index: ''
  707. },
  708. prescription: {
  709. dialysate_formulation_name: '',
  710. device: {}
  711. },
  712. advices: [],
  713. users: [],
  714. monitors: [],
  715. summary: {},
  716. receiverTreatmentAccess: {},
  717. org_template_info: {},
  718. isShowZero: false,
  719. doctor_advices: [],
  720. advice_groups: [],
  721. AlPanel: {
  722. id: 0,
  723. name: '',
  724. type: 1,
  725. shouji: 2,
  726. weichi: 2,
  727. zongliang: 2,
  728. gaimingcheng: -1,
  729. gaijiliang: -1,
  730. shouji_unit: 'mg',
  731. weichi_unit: 'mg/h',
  732. zongliang_unit: 'mg',
  733. gaimingcheng_unit: '',
  734. gaijiliang_unit: ''
  735. },
  736. total: '',
  737. doctorForm: {
  738. doctor: '',
  739. url: ''
  740. },
  741. dialysisDoctor: {
  742. doctor: '',
  743. url: ''
  744. },
  745. tableAdvice: [],
  746. assessmentafter: {},
  747. orderForm: {
  748. start_nurse: '',
  749. url: ''
  750. },
  751. finshForm: {
  752. finish_nurse: '',
  753. url: ''
  754. },
  755. displaceLiquiPartOptions: [],
  756. arterial_tube:[],
  757. intravenous_tube:[],
  758. org_id:'',
  759. }
  760. },
  761. methods: {
  762. checkData(){
  763. var checkDate =[]
  764. var monearr = []
  765. if(this.prescription.mode_id ==0){
  766. const obj0 = '血液净化方式'
  767. checkDate.push(obj0)
  768. }
  769. if(this.prescription.dialyzer_perfusion_apparatus ==''){
  770. const obj = '血液净化器类型'
  771. checkDate.push(obj)
  772. } if(this.prescription.dialysate_formulation_name ==''){
  773. const obj1 = '透析液配方'
  774. checkDate.push(obj1)
  775. } if(this.predialysis.blood_access_part_id ==''){
  776. const obj2 = '血管通路部位'
  777. checkDate.push(obj2)
  778. } if(this.predialysis.blood_access_part_opera_name ==''){
  779. const obj3 = '血管通路'
  780. checkDate.push(obj3)
  781. } if(this.predialysis.catheter == ''){
  782. const obj4 = '透前导管'
  783. checkDate.push(obj4)
  784. } if(this.predialysis.internal_fistula ==''){
  785. const obj5 = '透前内瘘'
  786. checkDate.push(obj5)
  787. } if(this.prescription.anticoagulant == 0){
  788. const obj6 = '抗凝药物'
  789. checkDate.push(obj6)
  790. } if(this.prescription.anticoagulant_shouji ==''){
  791. const obj7 = '首剂'
  792. checkDate.push(obj7)
  793. } if(this.prescription.anticoagulant_zongliang ==''){
  794. const obj8 = '总量'
  795. checkDate.push(obj8)
  796. } if(this.predialysis.dry_weight ==''){
  797. const obj9 = '干体重'
  798. checkDate.push(obj9)
  799. } if(this.predialysis.weight_before ==0){
  800. const obj10 = '净化前体重'
  801. checkDate.push(obj10)
  802. } if(this.prescription.target_ultrafiltration == 0){
  803. const obj11 = '预设脱水'
  804. checkDate.push(obj11)
  805. } if(this.afterdialysis.actual_treatment_hour == 0 &&
  806. this.afterdialysis.actual_treatment_minute == 0
  807. ){
  808. const obj12 = '净化时间'
  809. checkDate.push(obj12)
  810. } if(this.afterdialysis.weight_after == 0){
  811. const obj13 = '净化后体重'
  812. checkDate.push(obj13)
  813. } if(this.afterdialysis.actual_ultrafiltration == 0){
  814. const obj14 = '实际脱水'
  815. checkDate.push(obj14)
  816. } if(this.prescription.conductivity == 0){
  817. const obj15 = '电导度'
  818. checkDate.push(obj15)
  819. } if(this.predialysis.temperature == ""){
  820. const obj16 = '透前体温'
  821. checkDate.push(obj16)
  822. } if(this.predialysis.pulse_frequency == ""){
  823. const obj17 = '透前脉搏'
  824. checkDate.push(obj17)
  825. } if(this.predialysis.systolic_blood_pressure == 0 ||
  826. this.predialysis.diastolic_blood_pressure == 0
  827. ){
  828. const obj18 = '透前血压'
  829. checkDate.push(obj18)
  830. } if(this.receiverTreatmentAccess.way == 0){
  831. const obj19 = '入室方式'
  832. checkDate.push(obj19)
  833. } if(this.predialysis.dialysis_count == 0){
  834. const obj20 = '透析频次'
  835. checkDate.push(obj20)
  836. } if(this.predialysis.symptom_before_dialysis == ""){
  837. const obj21 = '透析前症状'
  838. checkDate.push(obj21)
  839. } if(this.predialysis.edema == ""){
  840. const obj22 = '水肿'
  841. checkDate.push(obj22)
  842. } if(this.predialysis.is_hemorrhage == 1 &&
  843. (this.predialysis.hemorrhage == "" && this.predialysis.hemorrhage_other == "")
  844. ){
  845. const obj23 = '出血'
  846. checkDate.push(obj23)
  847. } if(this.receiverTreatmentAccess.precaution == ''){
  848. const obj24 = '跌倒风险预防措施'
  849. checkDate.push(obj24)
  850. } if(this.prescription.prescription_doctor == 0){
  851. const obj25 = '上机医生'
  852. checkDate.push(obj25)
  853. } if(this.dialysisOrder == null || this.dialysisOrder.washpipe_nurse == 0){
  854. const obj26 = '冲管护士'
  855. checkDate.push(obj26)
  856. } if(this.dialysisOrder == null || this.dialysisOrder.puncture_nurse == 0){
  857. const obj27 = '穿刺护士'
  858. checkDate.push(obj27)
  859. } if(this.dialysisOrder == null || this.dialysisOrder.start_nurse == 0){
  860. const obj28 = '上机护士'
  861. checkDate.push(obj28)
  862. } if(this.afterdialysis.temperature == 0){
  863. const obj29 = '透后体温'
  864. checkDate.push(obj29)
  865. } if(this.afterdialysis.pulse_frequency == 0){
  866. const obj30 = '透后脉搏'
  867. checkDate.push(obj30)
  868. } if(this.afterdialysis.systolic_blood_pressure == 0 ||
  869. this.afterdialysis.diastolic_blood_pressure == 0
  870. ){
  871. const obj31 = '透后血压'
  872. checkDate.push(obj31)
  873. } if(this.afterdialysis.symptom_after_dialysis == ""){
  874. const obj32 = '透后症状'
  875. checkDate.push(obj32)
  876. } if(this.afterdialysis.actual_displacement == 0){
  877. const obj33 = '实际置换量'
  878. checkDate.push(obj33)
  879. } if(this.afterdialysis.is_eat == 0){
  880. const obj34 = '透析期间进食'
  881. checkDate.push(obj34)
  882. } if(this.predialysis.is_eat == 1 && this.predialysis.dialysis_during == 0){
  883. const obj35 = '透析进食'
  884. checkDate.push(obj35)
  885. } if(this.afterdialysis.cruor == ""){
  886. const obj36 = '透析器凝血'
  887. checkDate.push(obj36)
  888. } if(this.afterdialysis.arterial_tube == 0){
  889. const obj37 = '动脉管道'
  890. checkDate.push(obj37)
  891. } if(this.afterdialysis.intravenous_tube == 0){
  892. const obj38 = '静脉管道'
  893. checkDate.push(obj38)
  894. } if(this.afterdialysis.internal_fistula == ''){
  895. const obj39 = '透后内瘘'
  896. checkDate.push(obj39)
  897. } if(this.dialysisOrder == null || this.dialysisOrder.finish_nurse == 0){
  898. const obj40 = '下机护士'
  899. checkDate.push(obj40)
  900. } if(this.summary.dialysis_summary == ""){
  901. const obj41 = '透析小结'
  902. checkDate.push(obj41)
  903. } if(this.summary.special_record == ""){
  904. const obj42 = '病情记录'
  905. checkDate.push(obj42)
  906. } if(this.tableAdvice.length > 0){
  907. this.tableAdvice.map((item) =>{
  908. if(item.id > 0 && (item.created_time || item.start_time)){
  909. if(item.execution_staff ==0 || item.advice_doctor ==0){
  910. const obj43 = '执行人员,医生签名'
  911. checkDate.push(obj43)
  912. }
  913. }
  914. })
  915. } if(this.monitors.length >0){
  916. for(let i in this.monitors){
  917. if(this.monitors[i].systolic_blood_pressure ==0 ||
  918. this.monitors.diastolic_blood_pressure==0){
  919. const obj62 = '监测第'+((i*1)+1)+'行血压'
  920. monearr.push(obj62)
  921. } if(this.monitors[i].pulse_frequency ==0){
  922. const obj60 = '监测第'+((i*1)+1)+'行脉搏'
  923. monearr.push(obj60)
  924. }
  925. if(this.monitors[i].blood_flow_volume ==0){
  926. const obj44 = '监测第'+((i*1)+1)+'行血流速'
  927. monearr.push(obj44)
  928. } if(this.monitors[i].venous_pressure ==0 &&this.monitors[i].arterial_pressure ==0){
  929. const obj45 = '监测第'+((i*1)+1)+'行静脉压/动脉压'
  930. monearr.push(obj45)
  931. } if(this.monitors[i].ultrafiltration_volume == 0 && i !=0){
  932. const obj47= '监测第'+((i*1)+1)+'行超滤量'
  933. monearr.push(obj47)
  934. } if(this.monitors[i].transmembrane_pressure ==0){
  935. const obj46 = '监测第'+((i*1)+1)+'行TMP'
  936. monearr.push(obj46)
  937. } if(this.monitors[i].conductivity == 0){
  938. const obj47= '监测第'+((i*1)+1)+'行电导率'
  939. monearr.push(obj47)
  940. } if(this.monitors[i].dialysate_temperature == 0){
  941. const obj51 = '监测第'+((i*1)+1)+'行温度'
  942. monearr.push(obj51)
  943. } if(this.monitors[i].ultrafiltration_rate ==0 ){
  944. const obj48 = '监测第'+((i*1)+1)+'行UF'
  945. monearr.push(obj48)
  946. }
  947. }
  948. }
  949. if(monearr.length>0){
  950. checkDate =checkDate.concat(monearr)
  951. console.log('1111',checkDate.concat(monearr));
  952. }
  953. this.getcheckData(checkDate)
  954. },
  955. getNewAge(UUserCard) {
  956. if (UUserCard != null && UUserCard != '') {
  957. // 获取年龄
  958. var myDate = new Date()
  959. var month = myDate.getMonth() + 1
  960. var day = myDate.getDate()
  961. var age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1
  962. if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
  963. age++
  964. }
  965. return age
  966. }
  967. },
  968. getDisplaceLiquiPart: function(val) {
  969. let displace_liqui_part_name = '/'
  970. const displace_liqui_part = this.displaceLiquiPartOptions
  971. for (let i = 0; i < displace_liqui_part.length; i++) {
  972. if (displace_liqui_part[i].id == val) {
  973. displace_liqui_part_name = displace_liqui_part[i].name
  974. }
  975. }
  976. return displace_liqui_part_name
  977. },
  978. getAdminUser(id) {
  979. if (id == 0) {
  980. return ''
  981. }
  982. if (id == undefined) {
  983. return ''
  984. }
  985. for (let i = 0; i < this.adminUser.length; i++) {
  986. if (this.adminUser[i].id == id) {
  987. return this.adminUser[i].name
  988. }
  989. }
  990. },
  991. getTime(value, temp) {
  992. if (value == 0) {
  993. return ''
  994. }
  995. if (value != undefined) {
  996. return uParseTime(value, temp)
  997. }
  998. return ''
  999. },
  1000. printThisPage() {
  1001. var ptime = Math.round(new Date().getTime() / 1000)
  1002. this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
  1003. const style =
  1004. '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:left;border-collapse:collapse;font-size:14px} .dialysis-print-order .under_line {display: inline-block;border-bottom: 1px solid #999;text-align:left;white-space: nowrap;width: 50%;} .dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;} .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;} .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}'
  1005. if (this.org_template_info.template_id == 1) {
  1006. printJS({
  1007. printable: 'dialysis-print-box',
  1008. type: 'html',
  1009. style: style,
  1010. scanStyles: false
  1011. })
  1012. } else if (
  1013. this.org_template_info.template_id == 2 ||
  1014. this.org_template_info.template_id == 0
  1015. ) {
  1016. printJS({
  1017. printable: 'dialysis-print-box-1',
  1018. type: 'html',
  1019. style: style,
  1020. scanStyles: false
  1021. })
  1022. }
  1023. },
  1024. getNumber() {
  1025. if (this.dialysisOrder != null) {
  1026. if (this.patientInfo.DialysisSchedule.device_zone.name.indexOf('区') > -1) {
  1027. return (
  1028. this.patientInfo.DialysisSchedule.device_zone.name +
  1029. this.dialysisOrder.DeviceNumber.number
  1030. )
  1031. } else {
  1032. return (
  1033. this.patientInfo.DialysisSchedule.device_zone.name + '区' +
  1034. this.dialysisOrder.DeviceNumber.number
  1035. )
  1036. }
  1037. } else {
  1038. return (
  1039. this.patientInfo.DialysisSchedule.device_zone.name +
  1040. this.patientInfo.DialysisSchedule.device_number.number
  1041. )
  1042. }
  1043. },
  1044. getXuserName(id) {
  1045. if (id <= 0) {
  1046. return ''
  1047. }
  1048. var name = ''
  1049. if (this.users == null || typeof this.users.length === 'undefined') {
  1050. return name
  1051. }
  1052. var leng = this.users.length
  1053. if (leng == 0) {
  1054. return name
  1055. }
  1056. for (let index = 0; index < leng; index++) {
  1057. if (this.users[index].id == id) {
  1058. name = this.users[index].name
  1059. break
  1060. }
  1061. }
  1062. return name
  1063. },
  1064. setAdminUserES(id) {
  1065. if (id == 0) {
  1066. return '/'
  1067. }
  1068. if (id in this.operatorMaps) {
  1069. return this.operatorMaps[id].url
  1070. } else {
  1071. return ''
  1072. }
  1073. },
  1074. modeName(mode_id) {
  1075. return typeof this.modeOptions[mode_id] !== 'undefined' &&
  1076. typeof this.modeOptions[mode_id].name !== 'undefined'
  1077. ? this.modeOptions[mode_id].name
  1078. : ''
  1079. },
  1080. // 数据源
  1081. getDialysisRecords() {
  1082. this.loading = true
  1083. this.queryParams.patient_id = parseInt(this.$route.query.patient_id)
  1084. getDialysisRecord(this.queryParams).then(response => {
  1085. if (response.data.state === 1) {
  1086. this.total = response.data.data.total
  1087. this.adminUser = response.data.data.users
  1088. this.users = response.data.data.users
  1089. var patientInfo = response.data.data.patientInfo
  1090. console.log('response.data',response.data.data)
  1091. if (patientInfo.gender === 1) {
  1092. patientInfo.gender = '男'
  1093. }
  1094. if (patientInfo.gender === 2) {
  1095. patientInfo.gender = '女'
  1096. }
  1097. this.patientInfo = patientInfo
  1098. this.patientInfo.birth = uParseTime(
  1099. this.patientInfo.birthday,
  1100. '{y}-{m}-{d}'
  1101. )
  1102. // this.patientInfo.age = jsGetAge(this.patientInfo.birth, '-')
  1103. if (response.data.data.patientInfo.first_dialysis_date != 0) {
  1104. this.patientInfo.first_dialysis_date = uParseTime(
  1105. response.data.data.patientInfo.first_dialysis_date,
  1106. '{y}-{m}-{d}'
  1107. )
  1108. } else {
  1109. this.patientInfo.first_dialysis_date = ''
  1110. }
  1111. this.check = response.data.data.check
  1112. console.log('核对信息', this.check)
  1113. this.predialysis = response.data.data.PredialysisEvaluation
  1114. console.log('透前评估', this.predialysis)
  1115. this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
  1116. this.predialysis.blood_access_part_opera_id
  1117. )
  1118. this.assessmentafter = response.data.data.assessmentAfterDislysis
  1119. console.log('上次透后体重', this.assessmentafter)
  1120. var doctorAdevieInfo = response.data.data.advices
  1121. var tableAdvice = doctorAdevieInfo
  1122. if (tableAdvice.length === 0) {
  1123. var obj = { advice_name: '', start_time: '' }
  1124. var obj1 = { advice_name: '', start_time: '' }
  1125. var obj2 = { advice_name: '', start_time: '' }
  1126. var obj3 = { advice_name: '', start_time: '' }
  1127. var obj4 = { advice_name: '', start_time: '' }
  1128. var obj5 = { advice_name: '', start_time: '' }
  1129. tableAdvice.push(obj)
  1130. tableAdvice.push(obj1)
  1131. tableAdvice.push(obj2)
  1132. tableAdvice.push(obj3)
  1133. tableAdvice.push(obj4)
  1134. tableAdvice.push(obj5)
  1135. this.tableAdvice = tableAdvice
  1136. }
  1137. if (tableAdvice.length === 1) {
  1138. var obj = { advice_name: '', start_time: '' }
  1139. var obj1 = { advice_name: '', start_time: '' }
  1140. var obj2 = { advice_name: '', start_time: '' }
  1141. var obj3 = { advice_name: '', start_time: '' }
  1142. var obj4 = { advice_name: '', start_time: '' }
  1143. tableAdvice.push(obj)
  1144. tableAdvice.push(obj1)
  1145. tableAdvice.push(obj2)
  1146. tableAdvice.push(obj3)
  1147. tableAdvice.push(obj4)
  1148. this.tableAdvice = tableAdvice
  1149. }
  1150. if (tableAdvice.length === 2) {
  1151. var obj = { advice_name: '', start_time: '' }
  1152. var obj1 = { advice_name: '', start_time: '' }
  1153. var obj2 = { advice_name: '', start_time: '' }
  1154. var obj3 = { advice_name: '', start_time: '' }
  1155. tableAdvice.push(obj)
  1156. tableAdvice.push(obj1)
  1157. tableAdvice.push(obj2)
  1158. tableAdvice.push(obj3)
  1159. this.tableAdvice = tableAdvice
  1160. }
  1161. if (tableAdvice.length === 3) {
  1162. // eslint-disable-next-line no-redeclare
  1163. var obj = { advice_name: '', start_time: '' }
  1164. // eslint-disable-next-line no-redeclare
  1165. var obj1 = { advice_name: '', start_time: '' }
  1166. // eslint-disable-next-line no-redeclare
  1167. var obj2 = { advice_name: '', start_time: '' }
  1168. // eslint-disable-next-line no-redeclare
  1169. tableAdvice.push(obj)
  1170. tableAdvice.push(obj1)
  1171. tableAdvice.push(obj2)
  1172. this.tableAdvice = tableAdvice
  1173. }
  1174. if (tableAdvice.length === 4) {
  1175. // eslint-disable-next-line no-redeclare
  1176. var obj = { advice_name: '', start_time: '' }
  1177. // eslint-disable-next-line no-redeclare
  1178. var obj1 = { advice_name: '', start_time: '' }
  1179. // eslint-disable-next-line no-redeclare
  1180. tableAdvice.push(obj)
  1181. tableAdvice.push(obj1)
  1182. this.tableAdvice = tableAdvice
  1183. }
  1184. if (tableAdvice.length === 5) {
  1185. // eslint-disable-next-line no-redeclare
  1186. var obj = { advice_name: '', start_time: '' }
  1187. // eslint-disable-next-line no-redeclare
  1188. var obj1 = { advice_name: '', start_time: '' }
  1189. tableAdvice.push(obj)
  1190. this.tableAdvice = tableAdvice
  1191. }
  1192. // if (tableAdvice.length >= 6 && tableAdvice.length <= 8) {
  1193. // const length = 6 - tableAdvice.length
  1194. // var obj = { advice_name: '', start_time: '' }
  1195. // for (i = 0; i < length; i++) {
  1196. // console.log(1)
  1197. // tableAdvice.push(obj)
  1198. // }
  1199. // this.tableAdvice = tableAdvice
  1200. // }else{
  1201. // this.tableAdvice = tableAdvice
  1202. // }
  1203. this.afterdialysis = response.data.data.AssessmentAfterDislysis
  1204. console.log('透后评估', this.afterdialysis)
  1205. this.operators = response.data.data.operators
  1206. this.dialysisOrder =
  1207. response.data.data.dialysisOrder === null
  1208. ? null
  1209. : response.data.data.dialysisOrder
  1210. console.log(111, this.dialysisOrder)
  1211. if (this.operators.length > 0) {
  1212. var operatorsLen = this.operators.length
  1213. for (var index = 0; index < operatorsLen; index++) {
  1214. this.$set(
  1215. this.operatorMaps,
  1216. this.operators[index].creator,
  1217. this.operators[index]
  1218. )
  1219. }
  1220. }
  1221. this.afterdialysis.txqnx = -1
  1222. if (this.afterdialysis.cruor.indexOf('0度') > -1) {
  1223. this.afterdialysis.txqnx = 0
  1224. }
  1225. if (this.afterdialysis.cruor.indexOf('Ⅰ度') > -1) {
  1226. this.afterdialysis.txqnx = 1
  1227. }
  1228. if (this.afterdialysis.cruor.indexOf('Ⅱ度') > -1) {
  1229. this.afterdialysis.txqnx = 2
  1230. }
  1231. if (this.afterdialysis.cruor.indexOf('Ⅲ度') > -1) {
  1232. this.afterdialysis.txqnx = 3
  1233. }
  1234. this.afterdialysis.complications = this.afterdialysis.complication.split(
  1235. ','
  1236. )
  1237. this.afterdialysis.complications_other = []
  1238. this.afterdialysis.complications_index = []
  1239. var acllen = this.afterdialysis.complications.length
  1240. for (let index = 0; index < acllen; index++) {
  1241. if (
  1242. this.complications.indexOf(
  1243. this.afterdialysis.complications[index]
  1244. ) >= 0
  1245. ) {
  1246. this.afterdialysis.complications_index.push(
  1247. this.afterdialysis.complications[index]
  1248. )
  1249. } else if (
  1250. this.complications.indexOf(
  1251. this.afterdialysis.complications[index]
  1252. ) < 0 &&
  1253. this.afterdialysis.complications_other.indexOf(
  1254. this.afterdialysis.complications[index]
  1255. ) < 0
  1256. ) {
  1257. this.afterdialysis.complications_other.push(
  1258. this.afterdialysis.complications[index]
  1259. )
  1260. }
  1261. }
  1262. this.afterdialysis.complications_other = this.afterdialysis.complications_other.join(
  1263. ','
  1264. )
  1265. var doctorname = response.data.data.DoctorName
  1266. // console.log("医师签名", doctorname);
  1267. this.doctorForm.doctor = doctorname.user_name
  1268. this.doctorForm.url = doctorname.url
  1269. var prescription = response.data.data.dialysisPrescription
  1270. console.log('透析处方', prescription)
  1271. if (prescription.anticoagulant == 6) {
  1272. prescription.anticoagulant = '低分子肝素钙'
  1273. }
  1274. if (prescription.anticoagulant == 7) {
  1275. prescription.anticoagulant = '低分子肝素钠'
  1276. }
  1277. if (prescription.blood_access === 1) {
  1278. prescription.blood_access = '正常'
  1279. }
  1280. if (prescription.blood_access === 2) {
  1281. prescription.blood_access = '震颤'
  1282. }
  1283. if (prescription.blood_access === 3) {
  1284. prescription.blood_access = '堵塞'
  1285. }
  1286. if (prescription.blood_access === 4) {
  1287. prescription.blood_access = '血肿'
  1288. }
  1289. if (prescription.blood_access === 5) {
  1290. prescription.blood_access = '淤血'
  1291. }
  1292. if (prescription.blood_access === 6) {
  1293. prescription.blood_access = '感染'
  1294. }
  1295. if (prescription.blood_access === 7) {
  1296. prescription.blood_access = '自体内瘘'
  1297. }
  1298. if (prescription.blood_access === 8) {
  1299. prescription.blood_access = '人工血管内瘘'
  1300. }
  1301. if (prescription.replacement_way === 1) {
  1302. prescription.replacement_way = '前置换'
  1303. }
  1304. if (prescription.replacement_way === 2) {
  1305. prescription.replacement_way = '后置换'
  1306. }
  1307. if (prescription.replacement_way === 3) {
  1308. prescription.replacement_way = '中置换'
  1309. }
  1310. if (prescription.replacement_way === 4) {
  1311. prescription.replacement_way = '混合置换'
  1312. }
  1313. if (prescription.anticoagulant === 1) {
  1314. prescription.anticoagulant = '无肝素'
  1315. }
  1316. if (prescription.anticoagulant === 2) {
  1317. prescription.anticoagulant = '普通肝素'
  1318. }
  1319. if (prescription.anticoagulant === 3) {
  1320. prescription.anticoagulant = '低分子肝素'
  1321. }
  1322. if (prescription.anticoagulant === 4) {
  1323. prescription.anticoagulant = '阿加曲班'
  1324. }
  1325. if (prescription.anticoagulant === 5) {
  1326. prescription.anticoagulant = '枸橼酸钠'
  1327. }
  1328. this.prescription = prescription
  1329. var receiverTreatmentAccess =
  1330. response.data.data.receiverTreatmentAccess
  1331. if (receiverTreatmentAccess.sick_condition === 1) {
  1332. receiverTreatmentAccess.sick_condition = '一般'
  1333. }
  1334. if (receiverTreatmentAccess.sick_condition === 2) {
  1335. receiverTreatmentAccess.sick_condition = '严重'
  1336. }
  1337. if (receiverTreatmentAccess.sick_condition === 3) {
  1338. receiverTreatmentAccess.sick_condition = '危'
  1339. }
  1340. if (receiverTreatmentAccess.way === 1) {
  1341. receiverTreatmentAccess.way = '步行'
  1342. }
  1343. if (receiverTreatmentAccess.way === 2) {
  1344. receiverTreatmentAccess.way = '扶行'
  1345. }
  1346. if (receiverTreatmentAccess.way === 3) {
  1347. receiverTreatmentAccess.way = '轮椅'
  1348. }
  1349. if (receiverTreatmentAccess.way === 4) {
  1350. receiverTreatmentAccess.way = '平车'
  1351. }
  1352. console.log('接诊评估:', receiverTreatmentAccess)
  1353. var obj = receiverTreatmentAccess.precaution
  1354. var arr = obj.split(',')
  1355. console.log('arr', arr)
  1356. var arr2 = []
  1357. for (let i = 0; i < this.precaution_arr.length; i++) {
  1358. for (let j = 0; j < arr.length; j++) {
  1359. if (this.precaution_arr[i].id == parseInt(arr[j])) {
  1360. arr2.push(this.precaution_arr[i].name)
  1361. }
  1362. }
  1363. }
  1364. var obj2 = arr2.join(',')
  1365. console.log('obj2', obj2)
  1366. receiverTreatmentAccess.precaution = obj2
  1367. this.receiverTreatmentAccess = receiverTreatmentAccess
  1368. this.prescription.mode = this.modeName(this.prescription.mode_id)
  1369. var rwLen = this.replacementWays.length
  1370. this.prescription.replacement = ''
  1371. for (let index = 0; index < rwLen; index++) {
  1372. if (
  1373. this.replacementWays[index].id ==
  1374. this.prescription.replacement_way
  1375. ) {
  1376. this.prescription.replacement = this.replacementWays[index].name
  1377. break
  1378. }
  1379. }
  1380. this.prescription.dialysate_formulation_name = this.dialysateFormulationName(
  1381. this.prescription.dialysate_formulation
  1382. )
  1383. var paLen = this.perfusionApparatus.length
  1384. this.prescription.perfusion_apparatus_name = ''
  1385. for (let index = 0; index < paLen; index++) {
  1386. if (
  1387. this.perfusionApparatus[index].id ==
  1388. this.prescription.perfusion_apparatus
  1389. ) {
  1390. this.prescription.perfusion_apparatus_name = this.perfusionApparatus[
  1391. index
  1392. ].name
  1393. break
  1394. }
  1395. }
  1396. var acLen = this.anticoagulantsConfit.length
  1397. var thisALID = this.prescription.anticoagulant
  1398. this.prescription.anticoagulant_name = ''
  1399. if (
  1400. typeof this.anticoagulantsConfit[thisALID] !== 'undefined' &&
  1401. this.anticoagulantsConfit[thisALID] != null
  1402. ) {
  1403. this.prescription.anticoagulant_name = this.anticoagulantsConfit[
  1404. thisALID
  1405. ].name
  1406. this.AlPanel = this.anticoagulantsConfit[thisALID]
  1407. }
  1408. this.advices = JSON.parse(JSON.stringify(response.data.data.advices))
  1409. this.monitors = response.data.data.monitors
  1410. console.log('透析监测', this.monitors)
  1411. this.summary = response.data.data.summary
  1412. this.Order = response.data.data.order
  1413. var start_nurse = response.data.data.startNuse
  1414. // console.log('上机护士', start_nurse)
  1415. this.orderForm.start_nurse = start_nurse.user_name
  1416. this.orderForm.url = start_nurse.url
  1417. var finish_nurse = response.data.data.FinishNuse
  1418. // console.log('下机护士', finish_nurse)
  1419. this.finshForm.url = finish_nurse.url
  1420. this.finshForm.finish_nurse = finish_nurse.user_name
  1421. var dialysisdoctor = response.data.data.dialysisdocotr
  1422. // this.dialysisDoctor.doctor = dialysisdoctor.user_name;
  1423. // this.dialysisDoctor.url = dialysisdoctor.url;
  1424. this.org_template_info = response.data.data.org_template_info
  1425. // 配置超滤量和置换量是否要显示0还是空
  1426. if (this.org_template_info.org_id == 9535) {
  1427. this.isShowZero = true
  1428. }
  1429. if (this.monitors.length < 7) {
  1430. var nl = 8 - this.monitors.length
  1431. for (let index = 0; index < nl; index++) {
  1432. this.monitors.push([])
  1433. }
  1434. }
  1435. this.jilurow = this.monitors.length + 1
  1436. this.advice_jilurow = this.advices.length + 1
  1437. var childMap = {}
  1438. for (const index in this.advices) {
  1439. if (this.advices[index].parent_id == 0) {
  1440. continue
  1441. }
  1442. if (!(this.advices[index].parent_id in childMap)) {
  1443. childMap[this.advices[index].parent_id] = []
  1444. }
  1445. childMap[this.advices[index].parent_id].push(this.advices[index])
  1446. }
  1447. var advices = []
  1448. for (const index in this.advices) {
  1449. if (this.advices[index].parent_id > 0) {
  1450. continue
  1451. }
  1452. var item = this.advices[index]
  1453. if (item.id in childMap) {
  1454. item.children = childMap[item.id]
  1455. } else {
  1456. item.children = []
  1457. }
  1458. advices.push(item)
  1459. }
  1460. var leftAdvice = []
  1461. var rightAdvice = []
  1462. var adlen = advices.length
  1463. var halfLen = adlen % 2 == 0 ? adlen / 2 : (adlen + 1) / 2
  1464. for (var i = 0; i < halfLen; i++) {
  1465. leftAdvice.push(advices[i])
  1466. rightAdvice.push(advices[i + halfLen])
  1467. }
  1468. if (halfLen < 5) {
  1469. var nl = 5 - leftAdvice.length
  1470. for (let index = 0; index < nl; index++) {
  1471. leftAdvice.push([])
  1472. }
  1473. var nl = 5 - rightAdvice.length
  1474. for (let index = 0; index < nl; index++) {
  1475. rightAdvice.push([])
  1476. }
  1477. }
  1478. this.advices = []
  1479. for (var i = 0; i < halfLen; i++) {
  1480. var item = []
  1481. item.push(leftAdvice[i])
  1482. item.push(rightAdvice[i])
  1483. this.advices.push(item)
  1484. }
  1485. this.loading = false
  1486. this.doctor_advices =
  1487. response.data.data.advices == null
  1488. ? []
  1489. : response.data.data.advices
  1490. for (let index = 0; index < this.doctor_advices.length; index++) {
  1491. this.doctor_advices[index]['isShow'] = 2
  1492. }
  1493. if (this.doctor_advices.length > 0) {
  1494. var group = this.newAdviceGroupObject()
  1495. var initGroupBlock = function(group, advice) {
  1496. group.group_no = advice.groupno
  1497. }
  1498. for (
  1499. let index = this.doctor_advices.length - 1;
  1500. index >= 0;
  1501. index--
  1502. ) {
  1503. var new_advice_index = 0
  1504. if (
  1505. 'children' in this.doctor_advices[index] &&
  1506. this.doctor_advices[index].children.length > 0
  1507. ) {
  1508. new_advice_index =
  1509. index + this.doctor_advices[index].children.length + 1
  1510. var doctor_advice = {
  1511. delivery_way: this.doctor_advices[index].delivery_way,
  1512. execution_frequency: this.doctor_advices[index]
  1513. .execution_frequency,
  1514. groupno: this.doctor_advices[index].groupno,
  1515. id: this.doctor_advices[index].id,
  1516. parent_id: this.doctor_advices[index].parent_id,
  1517. children: this.doctor_advices[index].children,
  1518. remark: this.doctor_advices[index].remark
  1519. }
  1520. doctor_advice['isShow'] = 1
  1521. this.doctor_advices.splice(new_advice_index, 0, doctor_advice)
  1522. // this.doctor_advices.push(doctor_advice)
  1523. }
  1524. }
  1525. for (let index = 0; index < this.doctor_advices.length; index++) {
  1526. const advice = this.doctor_advices[index]
  1527. if (advice.groupno == 0) {
  1528. // 老版本的医嘱没有分组的概念,所以这一个 if 是解决这个问题的,将每个无分组的医嘱各自归为一组
  1529. if (advice.parent_id > 0) {
  1530. if (this.advice_groups.length > 0) {
  1531. var parent_group = this.advice_groups[
  1532. this.advice_groups.length - 1
  1533. ]
  1534. if (parent_group.advices.length > 0) {
  1535. if (parent_group.advices[0].id == advice.parent_id) {
  1536. parent_group.advices.push(advice)
  1537. }
  1538. }
  1539. }
  1540. continue
  1541. } else {
  1542. if (group.group_no > 0) {
  1543. this.advice_groups.push(group)
  1544. group = this.newAdviceGroupObject()
  1545. }
  1546. initGroupBlock(group, advice)
  1547. group.advices.push(advice)
  1548. this.advice_groups.push(group)
  1549. group = this.newAdviceGroupObject()
  1550. continue
  1551. }
  1552. }
  1553. if (group.group_no > 0 && group.group_no != advice.groupno) {
  1554. this.advice_groups.push(group)
  1555. group = this.newAdviceGroupObject()
  1556. }
  1557. if (group.group_no == 0) {
  1558. initGroupBlock(group, advice)
  1559. }
  1560. if (group.group_no == advice.groupno) {
  1561. group.advices.push(advice)
  1562. }
  1563. }
  1564. if (group.group_no > 0) {
  1565. // 上述的算法会导致最后一组没有加到advice_groups,这里要手动加上
  1566. this.advice_groups.push(group)
  1567. }
  1568. }
  1569. console.log(this.advice_groups)
  1570. } else {
  1571. this.loading = false
  1572. this.$message.error('请求数据失败')
  1573. return false
  1574. }
  1575. })
  1576. },
  1577. bloodAccessParOperaName(id) {
  1578. if (id in this.bloodAccessParOpera) {
  1579. return this.bloodAccessParOpera[id].name
  1580. }
  1581. return ''
  1582. },
  1583. dialysateFormulationName(id) {
  1584. if (id in this.dialysateFormulationOptions) {
  1585. return this.dialysateFormulationOptions[id].name
  1586. }
  1587. return ''
  1588. },
  1589. getAge: function(val) {
  1590. if (val.birthday != 0) {
  1591. return jsGetAge(val.birth, '-')
  1592. }
  1593. return ''
  1594. },
  1595. checkIdCardNo(val) {
  1596. var thisLen = val.length
  1597. var birth = ''
  1598. if (thisLen == 15) {
  1599. birth = '19' + val.substr(6, 6)
  1600. } else {
  1601. birth = val.substr(6, 8)
  1602. }
  1603. var birthTwo =
  1604. birth.substr(0, 4) +
  1605. '-' +
  1606. birth.substr(4, 2) +
  1607. '-' +
  1608. birth.substr(6, 2)
  1609. var age = jsGetAge(birthTwo, '-')
  1610. return age
  1611. },
  1612. newAdviceGroupObject: function() {
  1613. return Object.assign(
  1614. {},
  1615. {
  1616. group_no: 0,
  1617. // advice_doctor: 0,
  1618. // start_time: 0,
  1619. advices: []
  1620. // exec_staff: 0,
  1621. // exec_time: 0,
  1622. // checker: 0,
  1623. }
  1624. )
  1625. },
  1626. getPartName(id) {
  1627. for (let i = 0; i < this.vascularAccess.length; i++) {
  1628. if (this.vascularAccess[i].id == id) {
  1629. return this.vascularAccess[i].name
  1630. }
  1631. }
  1632. },
  1633. getcheckData(val){
  1634. if(val.length >0){
  1635. let message = `记录单未填数据:<br/><br/>&nbsp;&nbsp;${val.join("<br/><br/>&nbsp;&nbsp;")}`;
  1636. this.$message({
  1637. dangerouslyUseHTMLString: true,
  1638. message:message,
  1639. duration:0,
  1640. showClose:true,
  1641. type:'error'
  1642. })
  1643. return message
  1644. }else{
  1645. this.$message.success('核对完成')
  1646. }
  1647. },
  1648. getarterial(val){
  1649. const options = this.arterial_tube
  1650. if(val !=''){
  1651. for(let i in options){
  1652. if(val == options[i].id){
  1653. return options[i].name
  1654. }
  1655. }
  1656. }else{
  1657. return ''
  1658. }
  1659. },
  1660. getintravenous(val){
  1661. const options = this.intravenous_tube
  1662. if(val !=''){
  1663. for(let i in options){
  1664. if(val == options[i].id){
  1665. return options[i].name
  1666. }
  1667. }
  1668. }else{
  1669. return ''
  1670. }
  1671. },
  1672. getshoujiunit(val){
  1673. const options = this.anticoagulantsConfit
  1674. if(val != ''){
  1675. for(let i in options){
  1676. if(val == options[i].id){
  1677. return options[i].shouji_unit
  1678. }
  1679. }
  1680. }else{
  1681. return ''
  1682. }
  1683. },
  1684. getweichiunit(val){
  1685. const options = this.anticoagulantsConfit
  1686. if(val != ''){
  1687. for(let i in options){
  1688. if(val == options[i].id){
  1689. return options[i].weichi_unit
  1690. }
  1691. }
  1692. }else{
  1693. return ''
  1694. }
  1695. },
  1696. getzongliangunit(val){
  1697. const options = this.anticoagulantsConfit
  1698. if(val != ''){
  1699. for(let i in options){
  1700. if(val == options[i].id){
  1701. return options[i].zongliang_unit
  1702. }
  1703. }
  1704. }else{
  1705. return ''
  1706. }
  1707. },
  1708. },
  1709. watch: {
  1710. 'patientInfo.gender': function() {
  1711. if (this.patientInfo.gender == 1) {
  1712. this.patientInfo_gender_1 = true
  1713. this.patientInfo_gender_2 = false
  1714. } else if (this.patientInfo.gender == 2) {
  1715. this.patientInfo_gender_2 = true
  1716. this.patientInfo_gender_1 = false
  1717. } else {
  1718. this.patientInfo_gender_2 = false
  1719. this.patientInfo_gender_1 = false
  1720. }
  1721. },
  1722. 'patientInfo.source': function() {
  1723. if (this.patientInfo.source == 1) {
  1724. this.patientInfo_source_1 = true
  1725. this.patientInfo_source_2 = false
  1726. } else if (this.patientInfo.source == 2) {
  1727. this.patientInfo_source_2 = true
  1728. this.patientInfo_source_1 = false
  1729. } else {
  1730. this.patientInfo_source_2 = false
  1731. this.patientInfo_source_1 = false
  1732. }
  1733. }
  1734. },
  1735. created() {
  1736. this.org_id = this.$store.getters.xt_user.org.id;
  1737. var xtuser = this.$store.getters.xt_user
  1738. this.orgname = xtuser.org.org_name
  1739. // this.orgname = "遂溪方济医院";
  1740. this.modeOptions = this.$store.getters.treatment_mode
  1741. this.replacementWays = this.$store.getters.replacement_ways
  1742. this.perfusionApparatus = this.$store.getters.perfusion_apparatus
  1743. this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
  1744. this.arterial_tube = this.$store.getters.arterial_tube
  1745. this.intravenous_tube = this.$store.getters.intravenous_tube
  1746. console.log('intravenous_tube',this.intravenous_tube);
  1747. this.way_arr = getDataConfig('hemodialysis', 'way')
  1748. this.consciousness_arr = getDataConfig('hemodialysis', 'consciousness')
  1749. this.appetite_arr = getDataConfig('hemodialysis', 'appetite')
  1750. this.posture_arr = getDataConfig('hemodialysis', 'posture')
  1751. this.sick_condition_arr = getDataConfig('hemodialysis', 'sick_condition')
  1752. this.precaution_arr = getDataConfig('hemodialysis', 'precaution')
  1753. this.intake_arr = getDataConfig('hemodialysis', 'intake')
  1754. this.nutrition_arr = getDataConfig('hemodialysis', 'nutrition')
  1755. this.displaceLiquiPartOptions = this.$store.getters.displace_liqui
  1756. // this.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
  1757. var vascularAccess = getDataConfig('hemodialysis', 'vascular_access')
  1758. this.vascularAccess = vascularAccess
  1759. // console.log("hhe", vascularAccess);
  1760. var bloodAccessParOpera = getDataConfig(
  1761. 'hemodialysis',
  1762. 'vascular_access_desc'
  1763. )
  1764. for (var key in bloodAccessParOpera) {
  1765. this.bloodAccessParOpera[bloodAccessParOpera[key].id] =
  1766. bloodAccessParOpera[key]
  1767. }
  1768. var dialysateFormulationOptions = getDataConfig(
  1769. 'hemodialysis',
  1770. 'dialysate_formulation'
  1771. )
  1772. for (var key in dialysateFormulationOptions) {
  1773. this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] =
  1774. dialysateFormulationOptions[key]
  1775. }
  1776. const xtdate = this.$route.query && this.$route.query.xtdate
  1777. const xtno = this.$route.query && this.$route.query.xtno
  1778. if (
  1779. typeof xtdate === 'string' &&
  1780. xtdate.length > 0 &&
  1781. typeof xtno === 'string' &&
  1782. xtno.length > 0
  1783. ) {
  1784. this.queryParams.xtdate = xtdate
  1785. this.queryParams.xtno = xtno
  1786. this.getDialysisRecords()
  1787. } else {
  1788. this.$message.error('参数不齐')
  1789. return false
  1790. }
  1791. }
  1792. }
  1793. </script>
  1794. <style>
  1795. .print_page_main_content {
  1796. background-color: white;
  1797. width: 960px;
  1798. margin: 0 auto 5px;
  1799. padding: 0 0 0 0;
  1800. page-break-after: always;
  1801. }
  1802. .print_page_main_content .order-yy-name {
  1803. margin: auto;
  1804. text-align: center;
  1805. font-size: 20px;
  1806. letter-spacing: 5px;
  1807. }
  1808. .dialysis-print-order .order-title {
  1809. margin: auto;
  1810. font-weight: 600;
  1811. text-align: center;
  1812. font-size: 22px;
  1813. padding: 10px;
  1814. }
  1815. .print_page_main_content .order_title {
  1816. text-align: center;
  1817. font-size: 23px;
  1818. line-height: 50px;
  1819. font-weight: 500;
  1820. }
  1821. .row {
  1822. font-size: 14px;
  1823. line-height: 20px;
  1824. padding: 5px 0;
  1825. }
  1826. .inline_block {
  1827. display: inline-block;
  1828. }
  1829. .under_line_two {
  1830. display: inline-block;
  1831. border-bottom: 1px solid #999;
  1832. text-align: left;
  1833. white-space: nowrap;
  1834. width: 50%;
  1835. }
  1836. .under_line_two::before {
  1837. content: "\00A0";
  1838. }
  1839. .under_line_two::after {
  1840. content: "\00A0";
  1841. }
  1842. .under_line {
  1843. display: inline-block;
  1844. border-bottom: 1px solid #000;
  1845. text-align: center;
  1846. white-space: nowrap;
  1847. width: 50%;
  1848. }
  1849. /* .under_line::before {
  1850. content: "\00A0";
  1851. }
  1852. .under_line::after {
  1853. content: "\00A0";
  1854. } */
  1855. .flex {
  1856. display: -webkit-box;
  1857. display: -moz-box;
  1858. display: -ms-flexbox;
  1859. display: -webkit-flex;
  1860. display: flex;
  1861. align-items: center;
  1862. -webkit-align-items: center;
  1863. box-align: center;
  1864. -moz-box-align: center;
  1865. -webkit-box-align: center;
  1866. text-align: center;
  1867. -webkit-justify-content: space-between;
  1868. justify-content: space-between;
  1869. -moz-box-pack: space-between;
  1870. -webkit--moz-box-pack: space-between;
  1871. box-pack: space-between;
  1872. }
  1873. .print_page_main_content .proj_table {
  1874. width: 100%;
  1875. border: 1px solid;
  1876. border-collapse: collapse;
  1877. padding: 2px;
  1878. }
  1879. .print_page_main_content .proj_table tbody tr td {
  1880. border: 1px solid;
  1881. /* text-align: center; */
  1882. font-size: 16px;
  1883. padding: 5px 8px;
  1884. line-height: 30px;
  1885. }
  1886. .print_page_main_content .proj_table .inside_table {
  1887. width: 100%;
  1888. border: hidden; /* 解决边框冲突 */
  1889. border-collapse: collapse;
  1890. }
  1891. .print_page_main_content .proj_table .inside_table tr td {
  1892. border: 1px solid;
  1893. text-align: center;
  1894. font-size: 14px;
  1895. padding: 6px 5px;
  1896. line-height: 16px;
  1897. }
  1898. .print-table-no {
  1899. width: 100%;
  1900. text-align: center;
  1901. border-collapse: collapse;
  1902. font-size: 14px;
  1903. }
  1904. .es-img {
  1905. height: 20px;
  1906. }
  1907. .advice-name {
  1908. text-align: left !important;
  1909. line-height: 16px !important;
  1910. }
  1911. .advice-children {
  1912. display: flex;
  1913. }
  1914. .margin-bottom-50 {
  1915. }
  1916. .margin-bottom-300 {
  1917. margin-bottom: 450px;
  1918. }
  1919. .margin-bottom-600 {
  1920. margin-bottom: 600px;
  1921. }
  1922. .margin-bottom-900 {
  1923. margin-bottom: 900px;
  1924. }
  1925. .print-yema {
  1926. position: absolute;
  1927. left: 50%;
  1928. }
  1929. .print-yema2 {
  1930. position: absolute;
  1931. left: 50%;
  1932. }
  1933. .print-yema3 {
  1934. position: absolute;
  1935. left: 50%;
  1936. }
  1937. .print-yema4 {
  1938. position: absolute;
  1939. left: 50%;
  1940. }
  1941. .check_box_panel .did_checke::after {
  1942. font-size: 8px;
  1943. margin-left: 2px;
  1944. margin-top: 2px;
  1945. position: absolute;
  1946. }
  1947. </style>