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

DialysisPrintOrderThirtyEight.vue 61KB

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