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

DialysisPrintOrderThirty.vue 63KB

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