batch_print_order_seventyone.vue 67KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs="crumbs"></bread-crumb>
  5. <el-button
  6. :loading="loading"
  7. size="small"
  8. icon="el-icon-printer"
  9. @click="printThisPage"
  10. type="primary"
  11. >打印
  12. </el-button>
  13. </div>
  14. <div class="app-container">
  15. <div id="print_content">
  16. <div
  17. v-for="(record, index) in records"
  18. :key="record.id"
  19. class="print_page_main_content"
  20. >
  21. <div id="dialysis-print-box">
  22. <div class="dialysis-print-order">
  23. <div class="order-yy-name">{{ orgname }}</div>
  24. <div class="order-title">血液透析治疗记录单</div>
  25. <div style="display: flex;border: 1px solid black;padding: 5px;">
  26. <div style="flex: 1;">
  27. 姓名
  28. <span class="under-line" style="display: inline-block;width: 50%;">{{ record.patient.name ? record.patient.name : "/" }}</span>
  29. </div>
  30. <div style="flex: 1;">
  31. 性别
  32. <span class="under-line" style="display: inline-block;width: 50%;">{{ record.patient.gender == 1 ? '男' : '女' }}</span>
  33. </div>
  34. <div style="flex: 1;">
  35. 年龄
  36. <span class="under-line" style="display: inline-block;width: 50%;">{{ checkIdCardNo(record.patient.id_card_no) }}</span>
  37. </div>
  38. <div style="flex: 1;">
  39. 透析号
  40. <span class="under-line" style="display: inline-block;width: 50%;">
  41. {{ record.patient.dialysis_no }}
  42. </span>
  43. </div>
  44. </div>
  45. <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
  46. <div style="flex: 1;">
  47. 治疗日期
  48. <span class="under-line" style="display: inline-block;width: 50%;">
  49. {{ getTime(record.schedule_date, "{y}-{m}-{d}") }}
  50. </span>
  51. </div>
  52. <div style="flex: 1;">
  53. 治疗区域
  54. <span class="under-line" style="display: inline-block;width: 50%;">
  55. {{record.device_zone.name ? record.device_zone.name: ""}}
  56. </span>
  57. </div>
  58. <div style="flex: 1;">
  59. 透析床
  60. <span class="under-line" style="display: inline-block;width: 50%;">
  61. {{
  62. record.dialysis_order && record.dialysis_order.device_number &&
  63. record.dialysis_order.device_number.number.length > 0
  64. ? record.dialysis_order.device_number.number
  65. : record.device_number.number
  66. }}
  67. </span>
  68. </div>
  69. </div>
  70. <div style="border: 1px solid black;padding: 5px;">
  71. 上机前病情
  72. <span class="under-line" style="display: inline-block;width: 50%;">
  73. <span v-if="record.assessment_before_dislysis.symptom_before_dialysis.indexOf('无特殊') == -1">{{ record.assessment_before_dislysis.symptom_before_dialysis ? record.assessment_before_dislysis.symptom_before_dialysis : "" }}</span>
  74. </span>
  75. </div>
  76. <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
  77. <div style="flex: 1;">
  78. 治疗方式
  79. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="!record.prescription.mode_id">
  80. /
  81. </div>
  82. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 1">
  83. HD
  84. </div>
  85. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 2">
  86. HDF
  87. </div>
  88. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 3">
  89. HD+HP
  90. </div>
  91. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 4">
  92. HP
  93. </div>
  94. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 5">
  95. HF
  96. </div>
  97. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 6">
  98. SCUF
  99. </div>
  100. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 7">
  101. IUF
  102. </div>
  103. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 8">
  104. HFHD
  105. </div>
  106. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 9">
  107. HFHD+HP
  108. </div>
  109. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 10">
  110. PHF
  111. </div>
  112. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 11">
  113. HFR
  114. </div>
  115. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 12">
  116. HDF+HP
  117. </div>
  118. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 13">
  119. CRRT
  120. </div>
  121. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 14">
  122. 腹水回输
  123. </div>
  124. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 15">
  125. HD前置换
  126. </div>
  127. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 16">
  128. HD后置换
  129. </div>
  130. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 17">
  131. HDF前置换
  132. </div>
  133. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 18">
  134. HDF后置换
  135. </div>
  136. <div class="under_line" style="width: 100px;text-align: center;font-weight:600;" v-if="record.prescription.mode_id == 19">
  137. IUF+HD
  138. </div>
  139. </div>
  140. <div style="flex: 1;">
  141. 置换方式
  142. <span class="under-line" style="display: inline-block;width: 50%;" v-if="record.prescription.mode_id == 2 || record.prescription.mode_id == 5 || record.prescription.mode_id == 12">
  143. {{ getDisplaceLiquiPart(record.prescription.displace_liqui_part) ? getDisplaceLiquiPart(record.prescription.displace_liqui_part):"/" }}
  144. </span>
  145. <span class="under-line" style="display: inline-block;width: 50%;" v-else>
  146. /
  147. </span>
  148. </div>
  149. <div style="flex: 1;">
  150. 置换量
  151. <span class="under-line" style="display: inline-block;width: 50%;">
  152. {{ record.prescription && record.prescription.displace_liqui_value
  153. ? record.prescription.displace_liqui_value : "/" }}
  154. </span>L
  155. </div>
  156. <div style="flex: 1;">
  157. 治疗时间
  158. <span class="under-line" style="display: inline-block;width: 50%;">
  159. {{ record.prescription.dialysis_duration_hour ? record.prescription.dialysis_duration_hour : "0" }}小时
  160. {{ record.prescription.dialysis_duration_minute ? record.prescription.dialysis_duration_minute : "0" }}分钟
  161. </span>
  162. </div>
  163. </div>
  164. <div style="display: flex;border: 1px solid black;padding: 5px;">
  165. <div style="flex:1;">
  166. 抗凝剂
  167. <span class="under-line"
  168. v-if="record.prescription.anticoagulant == 0"
  169. >&nbsp;/</span>
  170. <span class="under-line"
  171. v-if="record.prescription.anticoagulant == 1"
  172. >&nbsp;无肝素</span>
  173. <span class="under-line"
  174. v-if="record.prescription.anticoagulant == 2"
  175. >&nbsp;普通肝素</span>
  176. <span class="under-line"
  177. v-if="record.prescription.anticoagulant == 3"
  178. >&nbsp;低分子肝素</span>
  179. <span class="under-line"
  180. v-if="record.prescription.anticoagulant == 4"
  181. >&nbsp;阿加曲班</span>
  182. <span class="under-line"
  183. v-if="record.prescription.anticoagulant == 5"
  184. >&nbsp;枸橼酸钠</span>
  185. <span class="under-line"
  186. v-if="record.prescription.anticoagulant == 6"
  187. >&nbsp;低分子肝素钙</span>
  188. <span class="under-line"
  189. v-if="record.prescription.anticoagulant == 7"
  190. >&nbsp;低分子肝素钠</span>
  191. </div>
  192. <div style="flex:1;">
  193. 首剂
  194. <span class="under-line" style="display:inline-block;width: 50%;">
  195. {{ record.prescription && record.prescription.anticoagulant_shouji
  196. ? record.prescription.anticoagulant_shouji : "/"
  197. }}
  198. </span>
  199. <span v-if="record.prescription.anticoagulant == 10 ||
  200. record.prescription.anticoagulant == 11||record.prescription.anticoagulant==13"
  201. >mg</span>
  202. <span v-if="record.prescription.anticoagulant == 8 || record.prescription.anticoagulant == 9"
  203. >iu</span>
  204. <span v-if="record.prescription.anticoagulant == 6"
  205. >iu</span>
  206. <span v-if="record.prescription.anticoagulant == 7"
  207. >iu</span>
  208. <span v-if="record.prescription.anticoagulant == 4"
  209. >mg</span>
  210. <span v-if="record.prescription.anticoagulant == 3"
  211. >iu</span>
  212. <span v-if="record.prescription.anticoagulant == 2"
  213. >mg</span>
  214. <span v-if="record.prescription.anticoagulant == 1"
  215. >mg</span>
  216. </div>
  217. <div style="flex:1;">
  218. 维持
  219. <span class="under-line" style="display:inline-block; width: 50%;">
  220. {{ record.prescription.anticoagulant_weichi ? record.prescription.anticoagulant_weichi : "0" }}
  221. </span>
  222. <span
  223. v-if="
  224. record.prescription.anticoagulant == '枸橼酸钠'
  225. "
  226. >ml/h</span>
  227. <span
  228. v-if="
  229. record.prescription.anticoagulant == '阿加曲班'
  230. "
  231. >mg/h</span>
  232. <span
  233. v-if="
  234. record.prescription.anticoagulant == '低分子肝素'
  235. "
  236. >iu/h</span>
  237. <span
  238. v-if="
  239. record.prescription.anticoagulant == '普通肝素'
  240. "
  241. >iu/h</span>
  242. <span
  243. v-if="record.prescription.anticoagulant == '无肝素'"
  244. >mg/h</span>
  245. <span
  246. v-if="
  247. record.prescription.anticoagulant == 6
  248. "
  249. >iu/h</span>
  250. <span
  251. v-if="
  252. record.prescription.anticoagulant == 7
  253. "
  254. >iu/h</span>
  255. </div>
  256. <div style="flex:1;">
  257. 总量:
  258. <span class="under-line" style="display:inline-block;width: 50%;">
  259. {{ record.prescription.anticoagulant_zongliang ? record.prescription.anticoagulant_zongliang : "0"}}
  260. </span>
  261. <span
  262. v-if="
  263. record.prescription.anticoagulant == '枸橼酸钠'
  264. "
  265. >mg</span>
  266. <span
  267. v-if="
  268. record.prescription.anticoagulant == '阿加曲班'
  269. "
  270. >mg</span>
  271. <span
  272. v-if="
  273. record.prescription.anticoagulant == '低分子肝素'
  274. "
  275. >iu</span>
  276. <span
  277. v-if="
  278. record.prescription.anticoagulant == '普通肝素'
  279. "
  280. >iu</span>
  281. <span
  282. v-if="record.prescription.anticoagulant == '无肝素'"
  283. >mg</span>
  284. <span
  285. v-if="
  286. record.prescription.anticoagulant == 6
  287. "
  288. >iu</span>
  289. <span
  290. v-if="
  291. record.prescription.anticoagulant ==7
  292. "
  293. >iu</span>
  294. </div>
  295. </div>
  296. <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
  297. <div style="flex: 1;">
  298. 处方脱水量
  299. <span class="under-line" style="display: inline-block;width: 50%;">
  300. <span v-if="org_id==10617">{{ record.prescription.target_ultrafiltration ? record.prescription.target_ultrafiltration : "/" }}L</span>
  301. <span v-if="org_id==10612">{{ record.prescription.prescription_water ? record.prescription.prescription_water : "/" }}L</span>
  302. </span>
  303. </div>
  304. <div style="flex: 1;">
  305. 透析液流量
  306. <span class="under-line" style="display: inline-block;width: 50%;">
  307. {{ record.prescription.dialysate_flow ? record.prescription.dialysate_flow : "" }}ml/min
  308. </span>
  309. </div>
  310. <div style="flex: 1;">
  311. 医师签名
  312. <span class="under-line" style="display: inline-block;width: 50%;" v-if="setAdminUserES(record.prescription,'creater') == ''">
  313. {{ getAdminUser(record.prescription, 'creater')}}
  314. </span>
  315. <span class="under-line" style="display: inline-block;width: 50%;" v-else>
  316. <img style="height:30px;" :src="setAdminUserES(record.prescription,'creater')" alt srcset />
  317. </span>
  318. </div>
  319. </div>
  320. <div style="display: flex;border: 1px solid black;padding: 5px;">
  321. <div style="flex: 1;">
  322. 透析机
  323. <span class="under-line" style="display: inline-block;width: 50%">
  324. {{ record.assessment_before_dislysis.machine_type ? record.assessment_before_dislysis.machine_type : ""}}
  325. </span>
  326. </div>
  327. <div style="flex: 1;">
  328. 透 (滤) 器
  329. <span class="under-line" style="display: inline-block;width: 50%;" >
  330. {{ record.prescription && record.prescription.dialysis_dialyszers
  331. ? record.prescription.dialysis_dialyszers : "/"
  332. }}
  333. {{ record.prescription.dialysis_strainer?record.prescription.dialysis_strainer:"/" }}
  334. </span>
  335. </div>
  336. <div style="flex: 1;">
  337. 灌流器
  338. <span class="under-line" style="display: inline-block;width: 50%;">
  339. {{ record.prescription && record.prescription.dialysis_irrigation
  340. ? record.prescription.dialysis_irrigation : "/"
  341. }}
  342. </span>
  343. </div>
  344. <div style="flex: 1;display: flex">
  345. 透析液:
  346. <div style="">
  347. 碳酸
  348. <!-- <check-box text="碳酸" :checked="prescription_dialyzate1"></check-box>&nbsp;
  349. <check-box text="醋酸" :checked="prescription_dialyzate2"></check-box> -->
  350. <!-- <check-box :checked="patientInfo_gender_2"></check-box>&nbsp; -->
  351. </div>
  352. <!-- <div class="under_line" style="width: 100px; text-align: center;display: inline-block;" v-if="prescription.dialyzate.indexOf('碳酸')>-1">
  353. 碳酸
  354. </div>
  355. <div class="under_line" style="width: 100px; text-align: center;display: inline-block;" v-if="prescription.dialyzate.indexOf('醋酸')>-1">
  356. 醋酸
  357. </div> -->
  358. </div>
  359. </div>
  360. <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
  361. <div style="flex: 1;">
  362. 血管通路
  363. <span class="under-line" style="display: inline-block;width: 50%;">
  364. {{ record.assessment_before_dislysis && record.assessment_before_dislysis.blood_access_part_id
  365. ? record.assessment_before_dislysis.blood_access_part_id : 0
  366. }}
  367. {{QueryPartById(record.assessment_before_dislysis.blood_access_part_opera_id) }}
  368. </span>
  369. </div>
  370. <div style="flex: 1;">
  371. 操作者
  372. <div class="under-line" style="display: inline-block;width: 50%;">
  373. <span v-if="setAdminUserES(record.dialysis_order,'start_nurse') == ''">
  374. {{ getAdminUser(record.dialysis_order, "start_nurse") ? getAdminUser(record.dialysis_order, "start_nurse") :'' }}
  375. </span>
  376. <img style="height:20px;" :src="setAdminUserES(record.dialysis_order,'start_nurse')" alt="" srcset="" v-else />
  377. </div>
  378. </div>
  379. </div>
  380. <div style="display: flex;border: 1px solid black;padding: 5px;" v-if="org_id == 10612 || org_id == 0">
  381. <div style="flex: 1;">
  382. 穿刺针
  383. <span class="under-line" style="display: inline-block;width: 50%;">
  384. {{ record.assessment_before_dislysis && record.assessment_before_dislysis.puncture_needle
  385. ? record.assessment_before_dislysis.puncture_needle : "/" }}
  386. </span>
  387. </div>
  388. <div style="flex: 1;">
  389. 穿刺护士
  390. <div class="under-line" style="display: inline-block;width: 50%;">
  391. <span v-if="setAdminUserES(record.dialysis_order,'puncture_nurse') == ''">
  392. {{ getAdminUser(record.dialysis_order,"puncture_nurse")
  393. ? getAdminUser(record.dialysis_order, "puncture_nurse"): "/"
  394. }}
  395. </span>
  396. <img style="height:20px;" :src="setAdminUserES(record.dialysis_order,'puncture_nurse')" alt="" srcset="" v-else />
  397. </div>
  398. </div>
  399. </div>
  400. <div style="border-left: 1px solid black;border-right: 1px solid black;border-top: 1px solid black;padding: 5px;text-align: center;">
  401. 治疗过程记录
  402. </div>
  403. <table border="1" style="border-collapse: collapse;text-align: center;">
  404. <tr>
  405. <td style="width: 60px;text-align: center;" rowspan="2" >时间</td>
  406. <td :colspan="org_id==10612 ?'6':'4'" style="text-align: center;">透析参数</td>
  407. <td colspan="5" style="text-align: center;">生命体征</td>
  408. <td :colspan="org_id==10612 ? '2' : '3'" style="text-align: center;">治疗中病情变化</td>
  409. </tr>
  410. <tr>
  411. <th style="width: 70px; font-weight: normal">
  412. <p style="height: 20px; line-height: 20px">TMP</p>
  413. <p style="height: 20px; line-height: 20px">mmHg</p>
  414. </th>
  415. <th style="width: 70px; font-weight: normal" v-if='org_id==10612'>
  416. <p style="height: 20px; line-height: 20px">动脉压</p>
  417. <p style="height: 20px; line-height: 20px">mmHg</p>
  418. </th>
  419. <th style="width: 70px; font-weight: normal">
  420. <p style="height: 20px; line-height: 20px">静脉压</p>
  421. <p style="height: 20px; line-height: 20px">mmHg</p>
  422. </th>
  423. <th style="width: 70px; font-weight: normal">
  424. <p style="height: 20px; line-height: 20px">血流量</p>
  425. <p style="height: 20px; line-height: 20px">ml/min</p>
  426. </th>
  427. <th style="width: 70px; font-weight: normal">
  428. <p style="height: 20px; line-height: 20px">脱水量</p>
  429. <p style="height: 20px; line-height: 20px">ml</p>
  430. </th>
  431. <th style="width: 130px; font-weight: normal" v-if='org_id==10612'>
  432. <p style="height: 20px; line-height: 30px">透析液温度</p>
  433. <p style="height: 20px; line-height: 20px">℃</p>
  434. </th>
  435. <th style="width: 60px; font-weight: normal">
  436. <p style="height: 20px; line-height: 20px">HR</p>
  437. <p style="height: 20px; line-height: 20px">bpm</p>
  438. </th>
  439. <th style="width: 60px; font-weight: normal">
  440. <p style="height: 20px; line-height: 30px">T</p>
  441. <p style="height: 20px; line-height: 20px">℃</p>
  442. </th>
  443. <th style="width: 60px; font-weight: normal">
  444. <p style="height: 20px; line-height: 20px">R</p>
  445. <p style="height: 20px; line-height: 20px">bpm</p>
  446. </th>
  447. <th style="width: 60px; font-weight: normal">
  448. <p style="height: 20px; line-height: 20px">BP</p>
  449. <p style="height: 20px; line-height: 20px">mmHg</p>
  450. </th>
  451. <th style="width: 80px; font-weight: normal" v-if='org_id==10612'>
  452. <p style="height: 20px; line-height: 20px">电导度</p>
  453. <p style="height: 20px; line-height: 20px">mS/m</p>
  454. </th>
  455. <th style="width: 80px; font-weight: normal" v-if='org_id!=10612'>
  456. <p style="height: 20px; line-height: 20px">SpO2</p>
  457. <p style="height: 20px; line-height: 20px">%</p>
  458. </th>
  459. <th style="width: 60px; font-weight: normal" v-if='org_id!=10612'>
  460. 时间
  461. </th>
  462. <th style="width: 333px; font-weight: normal">
  463. <p style="height: 20px; line-height: 20px">
  464. 记&nbsp;&nbsp;&nbsp;&nbsp;录
  465. </p>
  466. </th>
  467. </tr>
  468. <tr v-for="(monitor, monindex) in record.monitor_records" :key="monindex">
  469. <td style="min-width: 60px; height: 30px">
  470. {{ getTime(monitor.operate_time, "{h}:{i}") }}
  471. </td>
  472. <td>
  473. <span v-if="getTime(monitor.operate_time) != ''">
  474. {{
  475. monitor.transmembrane_pressure
  476. ? monitor.transmembrane_pressure
  477. : "/"
  478. }}
  479. </span>
  480. </td>
  481. <td style="width: 70px; font-weight: normal" v-if='org_id==10612'>
  482. <span v-if="getTime(monitor.operate_time) != ''">
  483. {{
  484. monitor.arterial_pressure
  485. ? monitor.arterial_pressure
  486. : "/"
  487. }}
  488. </span>
  489. </td>
  490. <td>
  491. <span v-if="getTime(monitor.operate_time) != ''">
  492. &nbsp;{{ monitor.venous_pressure ? monitor.venous_pressure : "/" }}
  493. </span>
  494. </td>
  495. <td>
  496. <span v-if="getTime(monitor.operate_time) != ''">
  497. {{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "/" }}
  498. </span>
  499. </td>
  500. <td style="min-width: 45px">
  501. <span v-if="getTime(monitor.operate_time) != ''">
  502. {{
  503. monitor.ultrafiltration_volume
  504. ? monitor.ultrafiltration_volume
  505. : ""
  506. }}
  507. </span>
  508. </td>
  509. <!-- 透析液温度 -->
  510. <td v-if='org_id==10612'>
  511. <span v-if="getTime(monitor.operate_time) != ''">
  512. {{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "/" }}
  513. </span>
  514. </td>
  515. <td>
  516. <span v-if="getTime(monitor.operate_time) != ''">
  517. {{ monitor.pulse_frequency ? monitor.pulse_frequency : "/" }}
  518. </span>
  519. </td>
  520. <td>
  521. <span v-if="getTime(monitor.operate_time) != ''">
  522. {{ monitor.temperature ? monitor.temperature : "/" }}
  523. </span>
  524. </td>
  525. <td>
  526. <span v-if="getTime(monitor.operate_time) != ''">
  527. {{ monitor.breathing_rate ? monitor.breathing_rate : "/" }}
  528. </span>
  529. </td>
  530. <td>
  531. <span v-if="getTime(monitor.operate_time) != ''">
  532. {{
  533. monitor.systolic_blood_pressure
  534. ? monitor.systolic_blood_pressure
  535. : "/"
  536. }}/{{
  537. monitor.diastolic_blood_pressure
  538. ? monitor.diastolic_blood_pressure
  539. : "/"
  540. }}
  541. </span>
  542. </td>
  543. <td v-if='org_id==10612'>
  544. <span v-if="getTime(monitor.operate_time) != ''">
  545. {{
  546. monitor.conductivity
  547. ? monitor.conductivity
  548. : "/"
  549. }}
  550. </span>
  551. </td>
  552. <!-- SpO2 -->
  553. <td v-if='org_id!=10612'>
  554. <span v-if="getTime(monitor.operate_time) != ''">
  555. {{
  556. monitor.blood_oxygen_saturation
  557. ? monitor.blood_oxygen_saturation
  558. : ""
  559. }}
  560. </span>
  561. </td>
  562. <!-- 时间 -->
  563. <td style="min-width: 60px; height: 30px" v-if='org_id!=10612'>
  564. {{ getTime(monitor.operate_time, "{h}:{i}") }}
  565. </td>
  566. <td>
  567. <template
  568. v-if=" (record.dialysis_order && monitor.operate_time == record.dialysis_order.start_time)"
  569. >
  570. 开始上机,引血100ml/min
  571. </template>
  572. <template v-if=" record.dialysis_order && monitor.operate_time == record.dialysis_order.end_time"
  573. >【结束透析】</template>
  574. <span v-if="monitor.symptom || monitor.dispose || monitor.result || monitor.end ">
  575. {{ monitor_record.end }} {{ monitor_record.symptom }} &nbsp;{{ monitor_record.dispose }} &nbsp;{{
  576. monitor_record.result
  577. }}
  578. </span>
  579. </td>
  580. </tr>
  581. </table>
  582. <div style="border-left: 1px solid black;border-right: 1px solid black;padding: 5px;text-align: center;">
  583. 医嘱内容
  584. </div>
  585. <table class="print-table" border="1">
  586. <tbody>
  587. <tr>
  588. <td style="width:13%;">
  589. <p style="height:20px;line-height:20px">时间</p>
  590. </td>
  591. <td style="">
  592. <p style="height:15px;line-height:15px">医嘱执行记录</p>
  593. </td>
  594. <td style="width:10%;">
  595. <p style="height:15px;line-height:15px">执行</p>
  596. </td>
  597. <td style="width:10%;">
  598. <p style="height:15px;line-height:15px">核对</p>
  599. </td>
  600. <td style="width:15%;">
  601. <p style="height:15px;line-height:15px">上次透后体重</p>
  602. </td>
  603. <td style="width:8%;">
  604. {{
  605. record.lastafterweight.weight_after
  606. ? parseFloat(
  607. record.lastafterweight.weight_after
  608. ).toFixed(1)
  609. : '未称重'
  610. }}kg
  611. </td>
  612. </tr>
  613. <tr v-for="(advice, advice_index) in record.advices" :key="advice_index">
  614. <td style="min-width:60px;height:40px">{{ getTime(advice[0].start_time, '{h}:{i}') }}</td>
  615. <td>
  616. <span v-if="advice[0].parent_id > 0">└</span>
  617. <span>{{ advice[0].advice_name }}</span>
  618. <span
  619. >{{ advice[0].advice_desc
  620. }}{{ advice[0].drug_spec_unit }}</span
  621. >
  622. <span v-if="advice[0].prescribing_number"
  623. >* {{ advice[0].prescribing_number
  624. }}{{ advice[0].prescribing_number_unit }}</span
  625. >
  626. <span v-if="advice[0].single_dose != 0"
  627. >{{ advice[0].single_dose
  628. }}{{ advice[0].single_dose_unit }}</span
  629. >
  630. <span>{{ advice[0].delivery_way }}</span>
  631. <span>{{ advice[0].execution_frequency }}</span>
  632. </td>
  633. <td>
  634. <span v-if="setAdminUserES(advice[0], 'execution_staff') == ''">
  635. {{getAdminUser(advice[0], 'execution_staff')}}
  636. </span>
  637. <img
  638. class="es-img"
  639. :src="setAdminUserES(advice[0], 'execution_staff')"
  640. alt=""
  641. srcset=""
  642. v-else
  643. style="height: 40px;"
  644. />
  645. </td>
  646. <td>
  647. <span
  648. v-if="setAdminUserES(advice[0], 'checker') == ''"
  649. >{{ getAdminUser(advice[0], 'checker') }}
  650. </span>
  651. <img
  652. class="es-img"
  653. :src="setAdminUserES(advice[0], 'checker')"
  654. alt=""
  655. srcset=""
  656. v-else
  657. style="height: 40px;"
  658. />
  659. </td>
  660. <td v-if="advice_index === 0">透前体重</td>
  661. <td v-if="advice_index === 0">
  662. {{ record.assessment_before_dislysis.weight_before ? record.assessment_before_dislysis.weight_before :'0' }}kg
  663. </td>
  664. <td v-if="advice_index === 1">体重增加量</td>
  665. <td v-if="advice_index === 1">
  666. {{(record.assessment_before_dislysis.weight_before - record.lastafterweight.weight_after).toFixed(1)}}kg
  667. </td>
  668. <td v-if="advice_index === 2">干体重(DW)</td>
  669. <td v-if="advice_index === 2">{{ record.assessment_before_dislysis.dry_weight ? record.assessment_before_dislysis.dry_weight:'0' }}kg</td>
  670. <td v-if="advice_index === 3">较干体重增加量</td>
  671. <td v-if="advice_index === 3">
  672. {{(record.assessment_before_dislysis.weight_before - record.assessment_before_dislysis.dry_weight -
  673. record.assessment_before_dislysis.additional_weight).toFixed(2)}}kg
  674. </td>
  675. <td v-if="advice_index === 4">净脱水量</td>
  676. <td v-if="advice_index === 4">
  677. {{record.assessment_after_dislysis.actual_ultrafiltration ? record.assessment_after_dislysis.actual_ultrafiltration : '0'}}L
  678. </td>
  679. <td v-if="advice_index === 5">透后体重</td>
  680. <td v-if="advice_index === 5">
  681. {{record.assessment_after_dislysis.weight_after ? record.assessment_after_dislysis.weight_after :'0' }}kg
  682. </td>
  683. <td v-if="advice_index === 6">本次透析体重下降量</td>
  684. <td v-if="advice_index === 6">
  685. {{record.assessment_after_dislysis.weight_after == 0 || record.assessment_before_dislysis.weight_before == 0 ?
  686. 0 : ( record.assessment_before_dislysis.weight_before - record.assessment_after_dislysis.weight_after ).toFixed(2)
  687. }}kg
  688. </td>
  689. </tr>
  690. </tbody>
  691. </table>
  692. <div style="border-top: none;border: 1px solid black;padding: 5px;">
  693. <div style="width: 100%;">
  694. 治疗小结:
  695. <span class="under-line" style="">
  696. &nbsp;{{record.summer && record.summer.dialysis_summary? record.summer.dialysis_summary: '/'}}
  697. </span>
  698. </div>
  699. <div style="display: flex;">
  700. <div style="flex: 1;"></div>
  701. <div style="flex: 1;display: flex; margin-top: 15px;">
  702. <div style="flex:1">
  703. 医师签名
  704. <div class="under-line" style="display: inline-block;width: 50%;">
  705. <span v-if="setAdminUserES(record.prescription, 'creater') == ''">{{getAdminUser(record.prescription, 'creater')}}</span>
  706. <img class="es-img" :src="setAdminUserES(record.prescription, 'creater')" alt="" srcset="" v-else style="height: 30px;">
  707. </div>
  708. </div>
  709. <div style="flex:1">
  710. 护士签名
  711. <div class="under-line" style="width: 50%;display: inline-block;">
  712. <span v-if="setAdminUserES( record.dialysis_order,'start_nurse') == '' ">
  713. {{getAdminUser(record.dialysis_order, "start_nurse") ? getAdminUser(record.dialysis_order, "start_nurse") :' '}}
  714. </span>
  715. <img class="es-img" style="height: 30px"
  716. :src=" setAdminUserES(record.dialysis_order,'start_nurse') "
  717. alt=""
  718. srcset=""
  719. v-else
  720. />
  721. </div>
  722. </div>
  723. </div>
  724. </div>
  725. </div>
  726. </div>
  727. </div>
  728. </div>
  729. </div>
  730. </div>
  731. </div>
  732. </template>
  733. <script>
  734. import CheckBox from './option_check_box'
  735. import LabelBox from '../printItem/LabelBox'
  736. import { GetBatchPrintDialysisData, getLastAfterWeight } from '@/api/print_data'
  737. import { jsGetAge, uParseTime } from '@/utils/tools'
  738. import { getDataConfig } from '@/utils/data'
  739. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  740. export default {
  741. name: 'BatchPrintOrderSeven',
  742. components: {
  743. CheckBox,
  744. BreadCrumb,
  745. LabelBox
  746. },
  747. data() {
  748. return {
  749. crumbs: [
  750. { path: false, name: '透析管理' },
  751. { path: false, name: '批量打印' }
  752. ],
  753. records: [
  754. // 模拟有多条数据
  755. // {
  756. // monitor_records: [ {},{},{},{},{},{},{},{},{},{},{}, ],
  757. // advices: [ {},{},{},{},{},{},{}, ],
  758. // },
  759. // {
  760. // monitor_records: [],
  761. // advices: [],
  762. // },
  763. ],
  764. queryParams: {
  765. xtdate: '',
  766. xtno: ''
  767. },
  768. loading: false,
  769. orgname: '',
  770. bloodAccessParOpera: {},
  771. anticoagulantsConfit: {},
  772. dialysateFormulationOptions: {},
  773. operatorMaps: {},
  774. operators: [],
  775. adminUser: [],
  776. doctor_advices: [],
  777. monitor_records: [],
  778. advice_groups: [],
  779. advice_groups_2: [],
  780. blood_access_part: [],
  781. complications: [
  782. '低血压',
  783. '高血压',
  784. '心律失常',
  785. '头晕',
  786. '头痛',
  787. '呕吐',
  788. '抽搐',
  789. '出血',
  790. '心衰',
  791. '腹痛'
  792. ],
  793. allName: [],
  794. NameStatus: 0,
  795. advices: [],
  796. docotorId: '',
  797. doctorNameForm: {
  798. user_name: '',
  799. url: ''
  800. },
  801. doctorNameFormTwo: {
  802. user_name: '',
  803. url: ''
  804. },
  805. doctorNameFormThree: {
  806. user_name: '',
  807. url: ''
  808. },
  809. doctorNameFormFour: {
  810. user_name: '',
  811. url: ''
  812. },
  813. doctorNameFormFive: {
  814. user_name: '',
  815. url: ''
  816. },
  817. doctorNameFormSix: {
  818. user_name: '',
  819. url: ''
  820. },
  821. lastAfterWeight: '',
  822. org_id:0,
  823. displaceLiquiPartOptions: []
  824. }
  825. },
  826. created() {
  827. var xtuser = this.$store.getters.xt_user
  828. // console.log('xtuser', xtuser)
  829. this.orgname = xtuser.org.org_name
  830. // this.orgname = "遂溪方济医院";
  831. this.modeOptions = this.$store.getters.treatment_mode
  832. this.org_id = this.$store.getters.xt_user.org.id;
  833. // this.replacementWays = this.$store.getters.replacement_ways;
  834. // this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
  835. this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
  836. this.displaceLiquiPartOptions = this.$store.getters.displace_liqui;
  837. var bloodAccessParOpera = getDataConfig(
  838. 'hemodialysis',
  839. 'vascular_access_desc'
  840. )
  841. for (var key in bloodAccessParOpera) {
  842. this.bloodAccessParOpera[bloodAccessParOpera[key].id] =
  843. bloodAccessParOpera[key]
  844. }
  845. this.blood_access_part = getDataConfig('hemodialysis', 'vascular_access')
  846. var dialysateFormulationOptions = getDataConfig(
  847. 'hemodialysis',
  848. 'dialysate_formulation'
  849. )
  850. for (var key in dialysateFormulationOptions) {
  851. this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] =
  852. dialysateFormulationOptions[key]
  853. }
  854. // const xtdate = this.$route.query && this.$route.query.xtdate;
  855. // const xtno = this.$route.query && this.$route.query.xtno;
  856. // if (typeof (xtdate) == "string" && xtdate.length > 0 && typeof (xtno) == "string" && xtno.length > 0) {
  857. // this.queryParams.xtdate = xtdate;
  858. // this.queryParams.xtno = xtno;
  859. // this.getDialysisRecord();
  860. // } else {
  861. // this.$message.error("参数不齐");
  862. // return false;
  863. // }
  864. },
  865. mounted() {
  866. this.loading = true
  867. var ids = this.$store.getters.temp_params.batch_print_dialysis_record_ids
  868. if (ids.length == 0) {
  869. this.$router.back(-1)
  870. return
  871. }
  872. GetBatchPrintDialysisData(ids.join(','))
  873. .then(rs => {
  874. var resp = rs.data
  875. if (resp.state == 1) {
  876. this.org_template_info = resp.data.templateInfo
  877. this.records = this.records.concat(resp.data.schedules)
  878. console.log('记录', this.records)
  879. for (const recordIndex in this.records) {
  880. var dlegh = 0
  881. if (
  882. this.records[recordIndex].monitor_records &&
  883. this.records[recordIndex].monitor_records.length < 8
  884. ) {
  885. dlegh = 8 - this.records[recordIndex].monitor_records.length
  886. } else {
  887. dlegh = 0
  888. }
  889. if (dlegh > 0) {
  890. if (
  891. typeof this.records[recordIndex].monitor_records ===
  892. 'undefined' ||
  893. this.records[recordIndex].monitor_records == null
  894. ) {
  895. this.records[recordIndex].monitor_records = []
  896. }
  897. for (let index = 0; index < dlegh; index++) {
  898. this.records[recordIndex].monitor_records.push([])
  899. }
  900. }
  901. this.records[recordIndex].isShowZero = false
  902. if (this.records[recordIndex].patient.user_org_id == 9535) {
  903. this.records[recordIndex].isShowZero = true
  904. }
  905. var delghTwo = 0
  906. if (
  907. this.records[recordIndex].advices &&
  908. this.records[recordIndex].advices.length < 13
  909. ) {
  910. delghTwo = 13 - this.records[recordIndex].advices.length
  911. } else {
  912. delghTwo = 0
  913. }
  914. if (delghTwo > 0) {
  915. if (
  916. typeof this.records[recordIndex].advices === 'undefined' ||
  917. this.records[recordIndex].advices == null
  918. ) {
  919. this.records[recordIndex].advices = []
  920. }
  921. for (let index = 0; index < delghTwo; index++) {
  922. this.records[recordIndex].advices.push([])
  923. }
  924. }
  925. var childMap = {}
  926. for (const index in this.records[recordIndex].advices) {
  927. if (this.records[recordIndex].advices[index].parent_id == 0) {
  928. continue
  929. }
  930. if (
  931. !(
  932. this.records[recordIndex].advices[index].parent_id in childMap
  933. )
  934. ) {
  935. childMap[
  936. this.records[recordIndex].advices[index].parent_id
  937. ] = []
  938. }
  939. childMap[this.records[recordIndex].advices[index].parent_id].push(
  940. this.records[recordIndex].advices[index]
  941. )
  942. }
  943. var advices = []
  944. for (const index in this.records[recordIndex].advices) {
  945. if (this.records[recordIndex].advices[index].parent_id > 0) {
  946. continue
  947. }
  948. var item = this.records[recordIndex].advices[index]
  949. if (item.id in childMap) {
  950. item.children = childMap[item.id]
  951. } else {
  952. item.children = []
  953. }
  954. advices.push(item)
  955. }
  956. var leftAdvice = []
  957. var rightAdvice = []
  958. var adlen = advices.length
  959. var halfLen = adlen % 2 == 0 ? adlen / 2 : (adlen + 1) / 2
  960. for (var i = 0; i < halfLen; i++) {
  961. leftAdvice.push(advices[i])
  962. var rightIndex = i + halfLen
  963. rightAdvice.push(
  964. rightIndex in advices ? advices[i + halfLen] : []
  965. )
  966. }
  967. if (halfLen < 6) {
  968. var nl = 6 - leftAdvice.length
  969. for (let index = 0; index < nl; index++) {
  970. leftAdvice.push([])
  971. }
  972. var nl = 6 - rightAdvice.length
  973. for (let index = 0; index < nl; index++) {
  974. rightAdvice.push([])
  975. }
  976. }
  977. this.records[recordIndex].advices = []
  978. for (var i = 0; i < halfLen; i++) {
  979. var item = []
  980. item.push(leftAdvice[i])
  981. item.push(rightAdvice[i])
  982. this.records[recordIndex].advices.push(item)
  983. }
  984. }
  985. console.log(' this.records[recordIndex].advices', this.records)
  986. this.operators = resp.data.medical_staffs
  987. if (this.operators.length > 0) {
  988. var operatorsLen = this.operators.length
  989. for (var index = 0; index < operatorsLen; index++) {
  990. this.$set(
  991. this.operatorMaps,
  992. this.operators[index].id,
  993. this.operators[index]
  994. )
  995. }
  996. }
  997. this.adminUser = resp.data.users
  998. //console.log("使用者",this.adminUser)
  999. this.loading = false
  1000. } else {
  1001. this.loading = false
  1002. this.$message.error(resp.msg)
  1003. }
  1004. })
  1005. .catch(err => {
  1006. this.$message.error(err)
  1007. })
  1008. },
  1009. methods: {
  1010. getUnit: function(val) {
  1011. if (val.assessment_after_dislysis == null) {
  1012. return ''
  1013. } else if (val.assessment_after_dislysis != null) {
  1014. switch (val.assessment_after_dislysis.dialysis_intakes_unit) {
  1015. case 1:
  1016. return 'g'
  1017. break
  1018. case 2:
  1019. return 'ml'
  1020. break
  1021. }
  1022. }
  1023. },
  1024. QueryPartById: function(val) {
  1025. let vascular_access_part_name = '/'
  1026. const vascular_access = getDataConfig('hemodialysis', 'vascular_access_desc')
  1027. // console.log("血管通路",vascular_access)
  1028. for (let i = 0; i < vascular_access.length; i++) {
  1029. if (vascular_access[i].id == val) {
  1030. vascular_access_part_name = vascular_access[i].name
  1031. }
  1032. }
  1033. return vascular_access_part_name
  1034. },
  1035. printThisPage() {
  1036. var ptime = Math.round(new Date().getTime() / 1000)
  1037. this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
  1038. const style =
  1039. '@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;}'
  1040. const style2 =
  1041. '@media print {.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 3px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-50{margin-bottom:50px;}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:900px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top: 1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
  1042. printJS({
  1043. printable: 'print_content',
  1044. type: 'html',
  1045. documentTitle: ' ',
  1046. style: style,
  1047. scanStyles: false
  1048. })
  1049. },
  1050. complicationsOther: function(record) {
  1051. if (record == null || typeof record === 'undefined') {
  1052. return ''
  1053. }
  1054. if (record.complication.length == 0) {
  1055. return ''
  1056. }
  1057. var complications = record.complication.split(',')
  1058. var complicationOthers = []
  1059. for (const index in complications) {
  1060. if (
  1061. this.complications.indexOf(complications[index]) < 0 &&
  1062. complicationOthers.indexOf(complications[index]) < 0
  1063. ) {
  1064. complicationOthers.push(complications[index])
  1065. }
  1066. }
  1067. return complicationOthers.join(',')
  1068. },
  1069. modeName(mode_id) {
  1070. if (mode_id in this.modeOptions) {
  1071. return this.modeOptions[mode_id].name
  1072. }
  1073. return ''
  1074. },
  1075. anticoagulantName: function(key) {
  1076. if (key == null || typeof key === 'undefined') {
  1077. return ''
  1078. }
  1079. var id = key.anticoagulant
  1080. if (id in this.anticoagulantsConfit) {
  1081. return this.anticoagulantsConfit[id].name
  1082. }
  1083. return ''
  1084. },
  1085. bloodAccessParOperaName(id) {
  1086. if (id in this.bloodAccessParOpera) {
  1087. return this.bloodAccessParOpera[id].name
  1088. }
  1089. return ''
  1090. },
  1091. isBbloodAccessParOperaCheck(key, value) {
  1092. if (key == null || typeof key === 'undefined') {
  1093. return false
  1094. }
  1095. var id = key.blood_access_part_opera_id
  1096. if (id in this.bloodAccessParOpera) {
  1097. return this.bloodAccessParOpera[id].name.indexOf(value) > -1
  1098. }
  1099. return false
  1100. },
  1101. isdialysateFormulatioCheck(key, value) {
  1102. if (key == null || typeof key === 'undefined') {
  1103. return false
  1104. }
  1105. var id = key.dialysate_formulation
  1106. if (id in this.dialysateFormulationOptions) {
  1107. return this.dialysateFormulationOptions[id].name.indexOf(value) > -1
  1108. }
  1109. return false
  1110. },
  1111. isValueIndexOfCheck: function(record, key, value) {
  1112. if (record == null || record == undefined) {
  1113. return false
  1114. } else {
  1115. return record[key].indexOf(value) > -1
  1116. }
  1117. },
  1118. setAdminUserES(key, id) {
  1119. if (
  1120. typeof key === 'undefined' ||
  1121. key == null ||
  1122. typeof key[id] === 'undefined'
  1123. ) {
  1124. return ''
  1125. }
  1126. if (key[id] == 0) {
  1127. return ''
  1128. }
  1129. if (key[id] in this.operatorMaps) {
  1130. return this.operatorMaps[key[id]].es_url
  1131. } else {
  1132. return ''
  1133. }
  1134. },
  1135. getFloat: function(x) {
  1136. if (x != '.') {
  1137. var f = Math.round(x * 100) / 100
  1138. var s = f.toString()
  1139. var rs = s.indexOf('.')
  1140. if (rs <= 0) {
  1141. rs = s.length
  1142. s += '.'
  1143. }
  1144. while (s.length <= rs + 1) {
  1145. s += '0'
  1146. }
  1147. return s
  1148. } else {
  1149. return '0.0'
  1150. }
  1151. },
  1152. getAdminUser(key, id) {
  1153. // console.log('key', key)
  1154. // console.log('id', id)
  1155. if (
  1156. typeof key === 'undefined' ||
  1157. key == null ||
  1158. typeof key[id] === 'undefined'
  1159. ) {
  1160. return ''
  1161. }
  1162. if (key[id] === 0) {
  1163. return ''
  1164. }
  1165. if (key[id] === undefined) {
  1166. return ''
  1167. }
  1168. for (let i = 0; i < this.adminUser.length; i++) {
  1169. if (this.adminUser[i].id === key[id]) {
  1170. return this.adminUser[i].name
  1171. }
  1172. }
  1173. },
  1174. getName(id) {
  1175. // console.log('签名', this.operatorMaps)
  1176. for (let i = 0; i < this.adminUser.length; i++) {
  1177. if (this.adminUser[i].id === id) {
  1178. return this.adminUser[i].name
  1179. }
  1180. }
  1181. },
  1182. jsGetAge: function(agetime) {
  1183. if (agetime == 0) {
  1184. return ''
  1185. }
  1186. return jsGetAge(uParseTime(agetime, '{y}-{m}-{d}'), '-')
  1187. },
  1188. getTime(value, temp) {
  1189. if (value != undefined) {
  1190. return uParseTime(value, temp)
  1191. }
  1192. return ''
  1193. },
  1194. // 函数说明:因为一次透析记录有些记录不一定是必须填的,比如 record.receive_assessment 可能为 null,所以要取 record.receive_assessment.way 前需要判断 record.receive_assessment 是否为 null,所以这个方法用来简化模板渲染的代码
  1195. // 参数说明:比如判断 record.receive_assessment.way 是不是为1,参数为 (record.receive_assessment, way, 1)
  1196. isCheckBoxChecked: function(record, key, target_value) {
  1197. if (record == null || record == undefined) {
  1198. return false
  1199. } else {
  1200. return record[key] == target_value
  1201. }
  1202. },
  1203. getAge: function(val) {
  1204. if (val.age == 0) {
  1205. if (val.birthday == 0) {
  1206. return ''
  1207. }
  1208. return jsGetAge(uParseTime(val.birthday, '{y}-{m}-{d}'), '-')
  1209. } else {
  1210. return val.age
  1211. }
  1212. },
  1213. checkIdCardNo(val) {
  1214. var thisLen = val.length;
  1215. var birth = "";
  1216. if (thisLen == 15) {
  1217. birth = "19" + val.substr(6, 6);
  1218. } else {
  1219. birth = val.substr(6, 8);
  1220. }
  1221. var birthTwo =
  1222. birth.substr(0, 4) +
  1223. "-" +
  1224. birth.substr(4, 2) +
  1225. "-" +
  1226. birth.substr(6, 2);
  1227. var age = jsGetAge(birthTwo, "-");
  1228. return age;
  1229. },
  1230. newAdviceGroupObject: function() {
  1231. return Object.assign(
  1232. {},
  1233. {
  1234. group_no: 0,
  1235. advices: []
  1236. }
  1237. )
  1238. },
  1239. getNumber: function(record) {
  1240. //console.log(record)
  1241. },
  1242. getLastAfterWeight(id, assessmentDate) {
  1243. getLastAfterWeight(id, assessmentDate).then(response => {
  1244. if (response.data.state === 1) {
  1245. var weight = response.data.data.weight
  1246. this.lastAfterWeight = weight.weight_after.toFixed(1)
  1247. // console.log('weight', weight)
  1248. }
  1249. })
  1250. },
  1251. getDisplaceLiquiPart: function(val) {
  1252. // console.log(val)
  1253. let displace_liqui_part_name = "/";
  1254. const displace_liqui_part = this.displaceLiquiPartOptions;
  1255. // console.log("置换方式",displace_liqui_part)
  1256. for (let i = 0; i < displace_liqui_part.length; i++) {
  1257. if (displace_liqui_part[i].id == val) {
  1258. displace_liqui_part_name = displace_liqui_part[i].name;
  1259. }
  1260. }
  1261. return displace_liqui_part_name;
  1262. },
  1263. }
  1264. }
  1265. </script>
  1266. <style scoped>
  1267. .print_page_main_content {
  1268. background-color: white;
  1269. width: 960px;
  1270. margin: 0 auto 50px;
  1271. padding: 0 0 0 0;
  1272. page-break-after: always;
  1273. }
  1274. .print_page_main_content .order-yy-name {
  1275. margin: auto;
  1276. text-align: center;
  1277. font-size: 20px;
  1278. letter-spacing: 5px;
  1279. }
  1280. .print_page_main_content .order_title {
  1281. text-align: center;
  1282. font-size: 23px;
  1283. line-height: 40px;
  1284. font-weight: 500;
  1285. }
  1286. .row {
  1287. font-size: 14px;
  1288. line-height: 20px;
  1289. padding: 5px 0;
  1290. }
  1291. .inline_block {
  1292. display: inline-block;
  1293. }
  1294. .under_line {
  1295. display: inline-block;
  1296. border-bottom: 1px solid #999;
  1297. text-align: center;
  1298. white-space: nowrap;
  1299. width: 50%;
  1300. }
  1301. .under_line::before {
  1302. content: "\00A0";
  1303. }
  1304. .under_line::after {
  1305. content: "\00A0";
  1306. }
  1307. .under_line_two {
  1308. display: inline-block;
  1309. border-bottom: 1px solid #999;
  1310. text-align: left;
  1311. white-space: nowrap;
  1312. width: 50%;
  1313. }
  1314. .under_line_two::before {
  1315. content: "\00A0";
  1316. }
  1317. .under_line_two::after {
  1318. content: "\00A0";
  1319. }
  1320. .flex {
  1321. display: -webkit-box;
  1322. display: -moz-box;
  1323. display: -ms-flexbox;
  1324. display: -webkit-flex;
  1325. display: flex;
  1326. align-items: center;
  1327. -webkit-align-items: center;
  1328. box-align: center;
  1329. -moz-box-align: center;
  1330. -webkit-box-align: center;
  1331. text-align: center;
  1332. -webkit-justify-content: space-between;
  1333. justify-content: space-between;
  1334. -moz-box-pack: space-between;
  1335. -webkit--moz-box-pack: space-between;
  1336. box-pack: space-between;
  1337. }
  1338. .print_page_main_content .proj_table {
  1339. width: 100%;
  1340. border: 1px solid;
  1341. border-collapse: collapse;
  1342. padding: 2px;
  1343. }
  1344. .print_page_main_content .proj_table tbody tr td {
  1345. border: 1px solid;
  1346. /* text-align: center; */
  1347. font-size: 16px;
  1348. padding: 6px 8px;
  1349. line-height: 30px;
  1350. }
  1351. .print_page_main_content .proj_table .inside_table {
  1352. width: 100%;
  1353. border: hidden; /* 解决边框冲突 */
  1354. border-collapse: collapse;
  1355. }
  1356. .print_page_main_content .proj_table .inside_table tr td {
  1357. border: 1px solid;
  1358. text-align: center;
  1359. font-size: 14px;
  1360. padding: 8px 5px;
  1361. line-height: 16px;
  1362. }
  1363. .print-table-no {
  1364. width: 100%;
  1365. text-align: center;
  1366. border-collapse: collapse;
  1367. font-size: 14px;
  1368. }
  1369. .es-img {
  1370. height: 30px;
  1371. }
  1372. .advice-name {
  1373. text-align: left !important;
  1374. line-height: 16px !important;
  1375. }
  1376. .advice-children {
  1377. display: flex;
  1378. }
  1379. .margin-bottom-300 {
  1380. margin-bottom: 450px;
  1381. }
  1382. .margin-bottom-600 {
  1383. margin-bottom: 600px;
  1384. }
  1385. .margin-bottom-900 {
  1386. margin-bottom: 900px;
  1387. }
  1388. .print-yema {
  1389. position: absolute;
  1390. left: 50%;
  1391. }
  1392. .print-yema2 {
  1393. position: absolute;
  1394. left: 50%;
  1395. }
  1396. .print-yema3 {
  1397. position: absolute;
  1398. left: 50%;
  1399. }
  1400. .print-yema4 {
  1401. position: absolute;
  1402. left: 50%;
  1403. }
  1404. .print-yema5 {
  1405. position: absolute;
  1406. left: 50%;
  1407. }
  1408. .did_checke::after {
  1409. content: "\221A";
  1410. font-size: 8px;
  1411. margin-left: 2px;
  1412. margin-top: 2px;
  1413. position: absolute;
  1414. }
  1415. .dialysis-print-order {
  1416. width: 960px;
  1417. margin: 0 auto;
  1418. }
  1419. .dialysis-print-order .order-yy-name {
  1420. margin: auto;
  1421. text-align: center;
  1422. font-size: 20px;
  1423. letter-spacing: 5px;
  1424. }
  1425. .dialysis-print-order .order-title {
  1426. margin: auto;
  1427. font-weight: 600;
  1428. text-align: center;
  1429. font-size: 22px;
  1430. padding: 10px 20px 20px 20px;
  1431. }
  1432. .dialysis-print-order .table-box {
  1433. width: 100%;
  1434. line-height: 23px;
  1435. font-size: 14px;
  1436. }
  1437. .dialysis-print-order .print-table {
  1438. width: 100%;
  1439. text-align: center;
  1440. border-collapse: collapse;
  1441. line-height: 40px;
  1442. font-size: 14px;
  1443. }
  1444. .dialysis-print-order .print-table-no {
  1445. width: 100%;
  1446. text-align: center;
  1447. border-collapse: collapse;
  1448. font-size: 14px;
  1449. }
  1450. .dialysis-print-order .under-line {
  1451. border-bottom: 1px solid #999;
  1452. width: 95%;
  1453. text-align: center;
  1454. margin-left: 2px;
  1455. }
  1456. .dialysis-print-order .title-box {
  1457. text-align: center;
  1458. font-size: 16px;
  1459. }
  1460. .dialysis-print-order .radio-lebel-box {
  1461. font-weight: 400;
  1462. cursor: pointer;
  1463. }
  1464. .dialysis-print-order .radio-no {
  1465. opacity: 0;
  1466. outline: none;
  1467. position: absolute;
  1468. margin: 0;
  1469. width: 0;
  1470. height: 0;
  1471. z-index: -1;
  1472. }
  1473. .dialysis-print-order .radio-inner {
  1474. white-space: nowrap;
  1475. cursor: pointer;
  1476. outline: none;
  1477. display: inline-block;
  1478. line-height: 1;
  1479. position: relative;
  1480. vertical-align: middle;
  1481. }
  1482. .dialysis-print-order .radio-fang {
  1483. display: inline-block;
  1484. position: relative;
  1485. border: 1px solid #000;
  1486. box-sizing: border-box;
  1487. width: 14px;
  1488. height: 14px;
  1489. background-color: #fff;
  1490. z-index: 1;
  1491. transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
  1492. background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
  1493. }
  1494. .dialysis-print-order .is-checked-radio::after {
  1495. content: "√";
  1496. font-size: 15px;
  1497. }
  1498. .dialysis-print-order .print-table-no tr td {
  1499. padding: 8px 5px;
  1500. line-height: 25px;
  1501. }
  1502. .dialysis-print-order .print-table tr td {
  1503. padding: 1px 1px;
  1504. /*line-height: 25px;*/
  1505. }
  1506. .es-img {
  1507. height: 25px;
  1508. }
  1509. .advice-name {
  1510. text-align: left;
  1511. }
  1512. .advice-children {
  1513. display: flex;
  1514. }
  1515. .title-box-pro {
  1516. border: 0 #fff;
  1517. line-height: 25px;
  1518. height: 25px;
  1519. text-align: left;
  1520. padding-left: 10px !important;
  1521. }
  1522. .title-box-pro-tr {
  1523. border: 0 #fff;
  1524. }
  1525. .text-align-left {
  1526. text-align: left !important;
  1527. padding-left: 10px !important;
  1528. font-size: 14px !important;
  1529. line-height: 25px;
  1530. }
  1531. .print-table-tr-new td {
  1532. line-height: 20px !important;
  1533. }
  1534. .border-top-solid {
  1535. border: solid 1px #000;
  1536. }
  1537. .print-template-two tr {
  1538. line-height: 30px;
  1539. }
  1540. </style>
  1541. <style>
  1542. .dialysis-print-order {
  1543. width: 960px;
  1544. margin: 0 auto;
  1545. }
  1546. .dialysis-print-order .order-yy-name {
  1547. margin: auto;
  1548. text-align: center;
  1549. font-size: 20px;
  1550. letter-spacing: 5px;
  1551. }
  1552. .dialysis-print-order .order-title {
  1553. margin: auto;
  1554. font-weight: 600;
  1555. text-align: center;
  1556. font-size: 22px;
  1557. padding: 10px 20px 20px 20px;
  1558. }
  1559. .dialysis-print-order .table-box {
  1560. width: 100%;
  1561. line-height: 23px;
  1562. font-size: 14px;
  1563. }
  1564. .dialysis-print-order .print-table {
  1565. width: 100%;
  1566. text-align: center;
  1567. border-collapse: collapse;
  1568. line-height: 40px;
  1569. font-size: 14px;
  1570. }
  1571. .dialysis-print-order .print-table-no {
  1572. width: 100%;
  1573. text-align: center;
  1574. border-collapse: collapse;
  1575. font-size: 14px;
  1576. }
  1577. .dialysis-print-order .under-line {
  1578. border-bottom: 1px solid #999;
  1579. width: 95%;
  1580. text-align: center;
  1581. margin-left: 2px;
  1582. }
  1583. .dialysis-print-order .title-box {
  1584. text-align: center;
  1585. font-size: 16px;
  1586. }
  1587. .dialysis-print-order .radio-lebel-box {
  1588. font-weight: 400;
  1589. cursor: pointer;
  1590. }
  1591. .dialysis-print-order .radio-no {
  1592. opacity: 0;
  1593. outline: none;
  1594. position: absolute;
  1595. margin: 0;
  1596. width: 0;
  1597. height: 0;
  1598. z-index: -1;
  1599. }
  1600. .dialysis-print-order .radio-inner {
  1601. white-space: nowrap;
  1602. cursor: pointer;
  1603. outline: none;
  1604. display: inline-block;
  1605. line-height: 1;
  1606. position: relative;
  1607. vertical-align: middle;
  1608. }
  1609. .dialysis-print-order .radio-fang {
  1610. display: inline-block;
  1611. position: relative;
  1612. border: 1px solid #000;
  1613. box-sizing: border-box;
  1614. width: 14px;
  1615. height: 14px;
  1616. background-color: #fff;
  1617. z-index: 1;
  1618. transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
  1619. background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
  1620. }
  1621. .dialysis-print-order .is-checked-radio::after {
  1622. content: "√";
  1623. font-size: 15px;
  1624. }
  1625. .dialysis-print-order .print-table-no tr td {
  1626. padding: 8px 5px;
  1627. line-height: 25px;
  1628. }
  1629. .dialysis-print-order .print-table tr td {
  1630. padding: 1px 1px;
  1631. /*line-height: 25px;*/
  1632. }
  1633. .es-img {
  1634. height: 25px;
  1635. }
  1636. .advice-name {
  1637. text-align: left;
  1638. }
  1639. .advice-children {
  1640. display: flex;
  1641. }
  1642. .title-box-pro {
  1643. border: 0 #fff;
  1644. line-height: 25px;
  1645. height: 25px;
  1646. text-align: left;
  1647. padding-left: 10px !important;
  1648. }
  1649. .title-box-pro-tr {
  1650. border: 0 #fff;
  1651. }
  1652. .text-align-left {
  1653. text-align: left !important;
  1654. padding-left: 10px !important;
  1655. font-size: 14px !important;
  1656. line-height: 25px;
  1657. }
  1658. .print-table-tr-new td {
  1659. line-height: 20px !important;
  1660. }
  1661. .border-top-solid {
  1662. border: solid 1px #000;
  1663. }
  1664. .print-template-two tr {
  1665. line-height: 30px;
  1666. }
  1667. </style>