DialysisPrintOrdersixtySeven.vue 59KB

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