Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

DialysisPrintOrderSeven.vue 66KB

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