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

DialysisPrintOrderFiftyFour.vue 63KB

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