DialysisPrintOrderSeven.vue 67KB

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