DialysisPrintOrdereightythree.vue 73KB

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