血透系统pad前端

DialysisPrintOrderOne.vue 69KB

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