DialysisPrintOrderEighteen.vue 62KB

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