DialysisPrintOrdereighty.vue 110KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032
  1. <template>
  2. <div>
  3. <el-button type="primary" @click="checkData">一键核对</el-button>
  4. <el-button type="primary" @click="toUpload">一键上传</el-button>
  5. <div id="dialysis-print-box-1" ref="pdfContent">
  6. <div id="dialysis-print-box-1-1" style="font-family:SimSun;"
  7. class="dialysis-print-order print-template-two print_page_main_content"
  8. >
  9. <div style="display: inline-block; width: 100%; text-align: center">
  10. <div class="order-yy-name"
  11. style=" letter-spacing: 0;font-weight: 600;font-size: 25px;display: inline-block; "
  12. >
  13. {{ orgname }}
  14. </div>
  15. <div class="order-title"
  16. style=" letter-spacing: 0; font-weight: 600; font-size: 25px;"
  17. >
  18. 血液净化治疗记录单
  19. </div>
  20. </div>
  21. <div class="row" style="display: flex">
  22. <div class="inline_block" style="flex: 1;">
  23. 姓名:
  24. <div class="under_line" style="width: 50px; text-align: center">
  25. {{ patientInfo.name }}
  26. </div>
  27. </div>
  28. <div class="inline_block" style="flex: 1;">
  29. 性别:
  30. <div class="under_line" style="width: 30px; text-align: center">
  31. {{ patientInfo_gender_1 ? "男" : "女" }}
  32. </div>
  33. </div>
  34. <div class="inline_block" style="flex: 1;">
  35. 年龄:
  36. <div class="under_line" style="width: 30px; text-align: center">
  37. <!-- {{ getAge(patientInfo) }} -->
  38. {{ calculateAge(patientInfo.id_card_no,schedule_date) }}
  39. </div>
  40. </div>
  41. <div class="inline_block" v-if="receiverTreatmentAccess.condition!=1" style="flex: 1;">
  42. 门诊:
  43. <div class="under_line" style="width: 30px; text-align: center">
  44. <check-box :checked="patientInfo_source_1"></check-box>
  45. </div>
  46. </div>
  47. <div class="inline_block" v-if="receiverTreatmentAccess.condition==1" style="flex: 1;">
  48. 住院:
  49. <div class="under_line" style="width: 30px; text-align: center">
  50. <check-box :checked="receiverTreatmentAccess.condition == 1"></check-box>
  51. </div>
  52. </div>
  53. <div class="inline_block" style="flex: 1;">
  54. 病区:
  55. <div class="under_line" style="width: 50px; text-align: center">
  56. <span v-if="receiverTreatmentAccess.condition != 1">{{
  57. patientInfo.DialysisSchedule.device_zone.name
  58. ? patientInfo.DialysisSchedule.device_zone.name
  59. : ""
  60. }}</span>
  61. </div>
  62. </div>
  63. <div class="inline_block" style="flex: 1;">
  64. 床号:
  65. <div class="under_line" style="width: 50px; text-align: center">
  66. <span>{{
  67. dialysisOrder &&
  68. dialysisOrder.DeviceNumber &&
  69. dialysisOrder.DeviceNumber.number.length > 0
  70. ? dialysisOrder.DeviceNumber.number
  71. : patientInfo.DialysisSchedule.device_number.number
  72. }}</span>
  73. </div>
  74. </div>
  75. <div class="inline_block" style="flex: 1.1;">
  76. 透析号:
  77. <div class="under_line" style="width: 70px; text-align: center">
  78. {{ patientInfo.dialysis_no }}
  79. </div>
  80. </div>
  81. <div class="inline_block" style="flex: 1.1;">
  82. 住院号:
  83. <div class="under_line" style="width: 70px;text-align: left">
  84. {{ receiverTreatmentAccess.admission_number ? receiverTreatmentAccess.admission_number :'/' }}
  85. </div>
  86. </div>
  87. </div>
  88. <div class="row">
  89. <div style="">
  90. 诊断:
  91. <div style="border-bottom: 1px solid black; width: 95%; text-align: left;word-wrap: break-word;
  92. white-space: inherit;display: inline-block;"
  93. >
  94. {{ patientInfo.diagnose }}
  95. </div>
  96. </div>
  97. </div>
  98. <div class="row">
  99. <table class="proj_table">
  100. <tbody>
  101. <tr>
  102. <td colspan="2"
  103. style="letter-spacing: 5px;text-align: center;font-weight: 520;font-size: 16px;
  104. padding: 6px 8px;line-height: 30px;"
  105. >
  106. 透析前情况
  107. </td>
  108. </tr>
  109. <tr>
  110. <td colspan="2">
  111. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  112. <div class="inline_block" style="flex: 1">
  113. 本次透析日期:
  114. <div class="under_line" style="width: 100px; text-align: center">
  115. {{ xtdate }}
  116. </div>
  117. </div>
  118. <div class="inline_block" style="flex: 1">
  119. 透析次数:
  120. <div class="under_line" style="width: 70px; text-align: center">
  121. {{
  122. patientInfo.total_dialysis +
  123. patientInfo.user_sys_before_count
  124. ? patientInfo.total_dialysis +
  125. patientInfo.user_sys_before_count
  126. : "/"
  127. }}
  128. </div>次
  129. </div>
  130. <div class="inline_block" style="flex: 1">
  131. 透析机型号:
  132. <div class="under_line" style="width: 60%; text-align: center">
  133. <span v-if="dialysisOrder && dialysisOrder.bed_id !=0">
  134. {{ getnumberlist(dialysisOrder.bed_id) }}
  135. </span>
  136. <span v-else>
  137. {{ getnumberlist(patientInfo.DialysisSchedule.bed_id) }}
  138. </span>
  139. </div>
  140. </div>
  141. <div class="inline_block" style="flex: 1">
  142. 透析机号:
  143. <div class="under_line" style="width: 70px; text-align: center">
  144. {{
  145. dialysisOrder &&
  146. dialysisOrder.DeviceNumber &&
  147. dialysisOrder.DeviceNumber.number.length > 0
  148. ? dialysisOrder.DeviceNumber.number
  149. : patientInfo.DialysisSchedule.device_number.number
  150. }}
  151. </div>号
  152. </div>
  153. </div>
  154. <div class="row" style="padding: 2px 0; line-height: 23px;display: flex">
  155. <div class="inline_block" style="flex: 1;">
  156. 温度:
  157. <div class="under_line" style="width: 50px; text-align: center">
  158. {{
  159. predialysis.temperature
  160. ? predialysis.temperature
  161. : "/"
  162. }}
  163. </div>
  164. °C
  165. </div>
  166. <div class="inline_block" style="flex: 1;">
  167. 脉搏:
  168. <div class="under_line" style="width: 50px; text-align: center">
  169. {{
  170. predialysis.pulse_frequency
  171. ? predialysis.pulse_frequency
  172. : "/"
  173. }}
  174. </div>
  175. 次/分
  176. </div>
  177. <div class="inline_block" style="flex: 1;">
  178. 血压:
  179. <div class="under_line" style="width: 50px; text-align: center">
  180. {{
  181. predialysis.systolic_blood_pressure
  182. ? predialysis.systolic_blood_pressure
  183. : "/"
  184. }}
  185. </div>
  186. /
  187. <div class="under_line" style="width: 50px; text-align: center">
  188. {{
  189. predialysis.diastolic_blood_pressure
  190. ? predialysis.diastolic_blood_pressure
  191. : "/"
  192. }}
  193. </div>
  194. mmHg
  195. </div>
  196. <div class="inline_block" style="flex: 1;">
  197. 呼吸:
  198. <div class="under_line" style="width: 50px; text-align: center">
  199. {{
  200. predialysis.breathing_rate
  201. ? predialysis.breathing_rate
  202. : "/"
  203. }}
  204. </div>
  205. 次/分
  206. </div>
  207. </div>
  208. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  209. <div class="inline_block" style="flex: 1;">
  210. 透析时间:
  211. <div class="under_line"
  212. style=" width: 50%; text-align: center; white-space: normal; "
  213. >
  214. {{ prescription.dialysis_duration_hour ? prescription.dialysis_duration_hour : "0"}}h
  215. {{ prescription.dialysis_duration_minute ? prescription.dialysis_duration_minute : "0"}}min
  216. </div>
  217. </div>
  218. <div class="inline_block" style="flex: 1">
  219. 透析方式:
  220. <div class="under_line"
  221. style="width: 50%;text-align: center;white-space: normal;"
  222. >
  223. {{prescription.mode ? prescription.mode :'/'}}
  224. </div>
  225. </div>
  226. <div class="inline_block" style="flex: 1;">
  227. 血管通路:
  228. <div class="under_line" style="width: 68%;white-space: normal;">
  229. <!-- {{ QueryPartById(predialysis.blood_access_part_id) }} -->
  230. {{ predialysis.blood_access_part_id }}
  231. {{ predialysis.blood_access_part_opera_name }}
  232. </div>
  233. </div>
  234. <div class="inline_block" style="flex: 1">
  235. 导管:
  236. <div class="under_line"
  237. style="width: 80%; text-align: center;white-space: normal;"
  238. >
  239. {{ predialysis.catheter ? predialysis.catheter : "/" }}
  240. </div>
  241. </div>
  242. </div>
  243. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  244. <div class="inline_block" style="flex: 1">
  245. 透析(滤)器:
  246. <div class="under_line"
  247. style="width: 40%; text-align: center"
  248. >
  249. {{
  250. prescription.dialyzer_perfusion_apparatus
  251. ? prescription.dialyzer_perfusion_apparatus
  252. : ""
  253. }}
  254. <span v-if="prescription.dialyzer_perfusion_apparatus&&prescription.dialyzer_perfusion_apparatus!=''">/</span>
  255. {{
  256. prescription.dialysis_dialyszers
  257. ? prescription.dialysis_dialyszers
  258. : ""
  259. }}
  260. </div>
  261. </div>
  262. <div class="inline_block" style="flex: 1">
  263. 灌流器:
  264. <div class="under_line" style="width: 80px; text-align: center">
  265. {{
  266. prescription.dialysis_irrigation
  267. ? prescription.dialysis_irrigation
  268. : "/"
  269. }}
  270. </div>
  271. </div>
  272. <div class="inline_block" style="flex: 1">
  273. 置换方式:
  274. <div class="under_line"
  275. style="width: 50px; text-align: center"
  276. >
  277. {{
  278. getDisplaceLiquiPart(prescription.displace_liqui_part)
  279. }}
  280. </div>
  281. 置换量:
  282. <div class="under_line"
  283. style="width: 30px; text-align: center"
  284. >
  285. <span> {{
  286. prescription.replacement_total
  287. ? prescription.replacement_total
  288. : "/"
  289. }}
  290. </span>
  291. </div>
  292. L
  293. </div>
  294. <div class="inline_block" style="flex: 1">
  295. 血流量:
  296. <div class="under_line"
  297. style="width: 50px; text-align: center"
  298. >
  299. {{
  300. prescription.blood_flow_volume
  301. ? prescription.blood_flow_volume
  302. : "/"
  303. }}
  304. </div>
  305. ml/min
  306. </div>
  307. </div>
  308. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  309. <div class="inline_block" style="flex: 1">
  310. 干体重:
  311. <div class="under_line" style="width: 100px; text-align: center">
  312. {{
  313. predialysis.dry_weight ? predialysis.dry_weight : "/"
  314. }}
  315. </div>
  316. kg
  317. </div>
  318. <div class="inline_block" style="flex: 1">
  319. 上次透后体重:
  320. <div class="under_line" style="width: 100px; text-align: center">
  321. {{lastafterdialysis.weight_after?lastafterdialysis.weight_after:"未称重"}}
  322. </div>
  323. kg
  324. </div>
  325. <div class="inline_block" style="flex: 1">
  326. 透前体重:
  327. <div class="under_line" style="width: 70px; text-align: center">
  328. <span>{{
  329. predialysis.weight_before
  330. ? parseFloat(
  331. predialysis.weight_before -
  332. predialysis.additional_weight
  333. ).toFixed(1)
  334. : "/"
  335. }}
  336. </span>
  337. </div>
  338. kg
  339. </div>
  340. <div class="inline_block" style="flex: 1">
  341. 计划超滤量:
  342. <div class="under_line" style="width: 100px; text-align: center">
  343. {{
  344. prescription.target_ultrafiltration
  345. ? prescription.target_ultrafiltration
  346. : "/"
  347. }}
  348. </div>
  349. L
  350. </div>
  351. </div>
  352. <div class="row" style="padding: 2px 0; line-height: 23px;display: flex;">
  353. <div class="inline_block" style="flex: 1;">
  354. 透析液流量:
  355. <div class="under_line"
  356. style="width: 50px; text-align: center"
  357. >
  358. {{
  359. prescription.dialysate_flow
  360. ? prescription.dialysate_flow
  361. : "/"
  362. }}
  363. </div>
  364. ml/min
  365. </div>
  366. <div class="inline_block" style="flex: 1;">
  367. 透析液成分:钾:
  368. <div class="under_line"
  369. style="width: 50px; text-align: center"
  370. >
  371. {{ prescription.kalium ? prescription.kalium : "/" }}
  372. </div>
  373. mmol/L
  374. </div>
  375. <div class="inline_block" style="flex: 1;">
  376. 钠:
  377. <div class="under_line"
  378. style="width: 35px; text-align: center"
  379. >
  380. <span>{{ prescription.sodium ? prescription.sodium : "/" }}</span>
  381. </div>
  382. mmol/L
  383. 钙:
  384. <div class="under_line"
  385. style="width: 35px; text-align: center"
  386. >
  387. <span> {{ prescription.calcium ? prescription.calcium : "/" }}</span>
  388. </div>
  389. mmol/L
  390. </div>
  391. <div class="inline_block" style="flex: 1;">
  392. 碳酸氢根:
  393. <div
  394. class="under_line"
  395. style="width: 50px; text-align: center"
  396. >
  397. <span>{{
  398. prescription.bicarbonate ? prescription.bicarbonate : "/"
  399. }}
  400. </span>
  401. </div>
  402. mmol/L
  403. </div>
  404. </div>
  405. <div class="row" style="padding: 2px 0; line-height: 23px;display: flex;">
  406. <div class="inline_block" style="flex: 1;">
  407. 抗凝剂:
  408. <div class="under_line"
  409. style="width: 150px; text-align: center"
  410. >
  411. <span>{{prescription.anticoagulant_name?prescription.anticoagulant_name:'/'}}</span>
  412. </div>
  413. </div>
  414. <div class="inline_block" style="flex: 1;"
  415. v-if="prescription.anticoagulant != 5"
  416. >
  417. 首剂:
  418. <div class="under_line"
  419. style="width: 50px; text-align: center"
  420. >
  421. {{
  422. prescription.anticoagulant_shouji
  423. ? prescription.anticoagulant_shouji
  424. : "/"
  425. }}
  426. </div>
  427. <span v-if="prescription.anticoagulant!=''">
  428. {{ getshouji(prescription.anticoagulant) }}
  429. </span>
  430. </div>
  431. <div class="inline_block" style="flex: 1;">
  432. 追加:
  433. <div class="under_line"
  434. style="width: 50px; text-align: center"
  435. >
  436. {{
  437. prescription.anticoagulant_weichi
  438. ? prescription.anticoagulant_weichi
  439. : "0"
  440. }}
  441. </div>
  442. <span v-if="prescription.anticoagulant!=''">
  443. {{ getweichi(prescription.anticoagulant) }}
  444. </span>
  445. </div>
  446. <div class="inline_block" style="flex: 1;"
  447. v-if="prescription.anticoagulant == 5"
  448. >
  449. 钙名称:
  450. <div
  451. class="under_line"
  452. style="width: 150px; text-align: center"
  453. >
  454. {{
  455. prescription.anticoagulant_gaimingcheng
  456. ? prescription.anticoagulant_gaimingcheng
  457. : "/"
  458. }}
  459. </div>
  460. </div>
  461. <div class="inline_block" style="flex: 1;"
  462. v-if="prescription.anticoagulant == 5"
  463. >
  464. 钙剂量:
  465. <div
  466. class="under_line"
  467. style="width: 50px; text-align: center"
  468. >
  469. {{
  470. prescription.anticoagulant_gaijiliang
  471. ? prescription.anticoagulant_gaijiliang
  472. : "/"
  473. }}
  474. </div>
  475. ml
  476. </div>
  477. <div class="inline_block" style="flex: 1;"
  478. v-if="prescription.anticoagulant != 5"
  479. >
  480. 总量:
  481. <div class="under_line"
  482. style="width: 50px; text-align: center"
  483. >
  484. {{
  485. prescription.anticoagulant_zongliang
  486. ? prescription.anticoagulant_zongliang
  487. : "/"
  488. }}
  489. </div>
  490. <span v-if="prescription.anticoagulant!=''">
  491. {{ getzongliang(prescription.anticoagulant) }}
  492. </span>
  493. </div>
  494. </div>
  495. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  496. <div style="flex:2">
  497. 流行性病史:
  498. <div class="under_line" style="width: 50%; text-align: center">
  499. <span style="display: inline-block;height: 30px;"></span>
  500. </div>
  501. </div>
  502. <div style="flex:1">医生签名:
  503. <div class="under_line" style="width: 150px; text-align: center">
  504. <span v-if="setAdminUserES( prescription == null ? 0 : prescription.creater ? prescription.creater : '' ) == ''">
  505. {{ getAdminUser( prescription == null ? 0
  506. : prescription.creater ? prescription.prescription_doctor : ""
  507. )
  508. }}
  509. </span>
  510. <img style="height: 30px"
  511. :src=" setAdminUserES(
  512. prescription == null ? 0 : prescription.creater
  513. ? prescription.creater : ''
  514. )
  515. " alt=""srcset=""
  516. v-else
  517. />
  518. </div>
  519. </div>
  520. </div>
  521. </td>
  522. </tr>
  523. <tr>
  524. <td style="padding: 0; position: relative" colspan="2">
  525. <table class="inside_table">
  526. <tbody>
  527. <tr>
  528. <td colspan="12"
  529. style="
  530. letter-spacing: 5px;
  531. text-align: center;
  532. font-weight: 520;
  533. font-size: 16px;
  534. padding: 0px 8px;
  535. line-height: 30px;
  536. "
  537. >
  538. 治疗记录
  539. </td>
  540. </tr>
  541. <tr>
  542. <td width="50">时间</td>
  543. <td width="70">血压<br />(mmHg)</td>
  544. <td width="70">脉搏<br />(次/分)</td>
  545. <td width="50">血流量<br />(ml/min)</td>
  546. <td width="50">动脉压<br />
  547. ({{monitors[0] && monitors[0]["venous_pressure_type"] == 2
  548. ? "kpa" : "mmHg"
  549. }})
  550. </td>
  551. <td width="50">
  552. 静脉压<br />({{
  553. monitors[0] &&
  554. monitors[0]["venous_pressure_type"] == 2
  555. ? "kpa"
  556. : "mmHg"
  557. }})
  558. </td>
  559. <td width="50">
  560. 跨膜压<br />({{
  561. monitors[0] &&
  562. monitors[0]["transmembrane_pressure_type"] == 2
  563. ? "kpa"
  564. : "mmHg"
  565. }})
  566. </td>
  567. <td width="60">透析液温度(°C)</td>
  568. <td width="60">电导度<br/>(ms/cm)</td>
  569. <td width="60">超滤量<br/>(ml)</td>
  570. <td width="200">病情变化及处理</td>
  571. <td width="200">责任护士</td>
  572. </tr>
  573. <tr v-for="(monitor, monindex) in monitors" :key="monindex" style="">
  574. <td>{{ getTime(monitor.operate_time, "{h}:{i}") }}</td>
  575. <td>{{monitor.systolic_blood_pressure? monitor.systolic_blood_pressure + "/": ""}}
  576. {{monitor.diastolic_blood_pressure? monitor.diastolic_blood_pressure: ""}}</td>
  577. <td>{{ monitor.pulse_frequency? monitor.pulse_frequency: ""}}</td>
  578. <td>{{monitor.blood_flow_volume? monitor.blood_flow_volume: ""}}</td>
  579. <td>
  580. {{monitor.arterial_pressure ? monitor.arterial_pressure : "/"}}
  581. </td>
  582. <td>
  583. <span>
  584. {{ monitor.venous_pressure ? monitor.venous_pressure : ""}}
  585. </span>
  586. </td>
  587. <td>
  588. <span>
  589. {{
  590. monitor.transmembrane_pressure
  591. ? monitor.transmembrane_pressure
  592. : ""
  593. }}
  594. </span>
  595. </td>
  596. <td>
  597. {{monitor.dialysate_temperature? monitor.dialysate_temperature: ""}}
  598. </td>
  599. <td>{{ monitor.conductivity ? monitor.conductivity : "" }}</td>
  600. <td>{{ monitor.ultrafiltration_volume? monitor.ultrafiltration_volume: ""}}</td>
  601. <td style="line-height: 16px; padding: 0px">
  602. <div
  603. style=" min-height: 35px; line-height: 35px;
  604. overflow: hidden;
  605. "
  606. >
  607. <span
  608. style="
  609. word-break: break-all;
  610. margin: 0;
  611. line-height: 16px;
  612. -webkit-line-clamp: 3;
  613. overflow: visible;
  614. display: inline-block;
  615. vertical-align: middle;
  616. height: auto;
  617. "
  618. >
  619. <template
  620. v-if="
  621. (dialysisOrder &&
  622. monitor.operate_time ==
  623. dialysisOrder.start_time)&&(org_id!=10414) && (org_id!=10683)
  624. "
  625. >【开始透析】 <span v-if="org_id ==10598">引血100ml/min</span>
  626. </template>
  627. {{ monitor.end }} {{ monitor.symptom }} &nbsp;{{
  628. monitor.dispose
  629. }}
  630. &nbsp;{{ monitor.result }}
  631. </span>
  632. </div>
  633. </td>
  634. <td>
  635. <span v-if="setAdminUserES(monitor.monitoring_nurse) == ''">
  636. {{ getAdminUser(monitor.monitoring_nurse)}}
  637. </span>
  638. <span v-else
  639. style="display:flex;align-items:center;justify-content:space-around;height:36px;"
  640. >
  641. <img style="height:30px;" :src="setAdminUserES(monitor.monitoring_nurse)" alt srcset />
  642. </span>
  643. </td>
  644. </tr>
  645. </tbody>
  646. </table>
  647. </td>
  648. </tr>
  649. <tr>
  650. <td style="padding: 0; position: relative" colspan="2">
  651. <table class="inside_table">
  652. <tbody>
  653. <tr style="line-height: 35px; padding: 8px 5px">
  654. <td
  655. colspan="7"
  656. style="
  657. letter-spacing: 5px;
  658. text-align: center;
  659. font-weight: 520;
  660. font-size: 16px;
  661. padding: 0px 8px;
  662. line-height: 30px;
  663. "
  664. >
  665. 医嘱内容
  666. </td>
  667. </tr>
  668. <tr style="line-height: 35px; padding: 8px 5px">
  669. <td style="font-size: 16px" width="10%">时间</td>
  670. <td style="font-size: 16px" colspan="2" width="45%">
  671. 医嘱内容
  672. </td>
  673. <td style="font-size: 16px" width="10%">医生签名</td>
  674. <!-- <td style="font-size: 16px" width="10%">核对人签名</td> -->
  675. <td style="font-size: 16px" width="10%">执行人签名</td>
  676. <td style="font-size: 16px" width="10%">时间</td>
  677. </tr>
  678. <tr
  679. v-for="(advice, advice_index) in new_doctor_advice_list"
  680. :key="advice_index"
  681. >
  682. <td height="32px">
  683. <span v-if="advice.start_time">
  684. {{ getTime(advice.start_time, "{h}:{i}") }}
  685. </span>
  686. </td>
  687. <td height="32px" colspan="2"
  688. class="advice-name" style="padding-left: 7px"
  689. >
  690. <span v-for="(it,i) in advice.child" :key="i">
  691. <span v-if="it && it.advice_name">{{ it.advice_name}}</span>
  692. <span v-if="it && it.advice_desc">({{ it.advice_desc}}{{ it.drug_spec_unit }})</span>
  693. <span v-if="it.prescribing_number">{{ it.prescribing_number}}{{ it.prescribing_number_unit }}</span>
  694. <span v-if="it.single_dose != 0">{{ it.single_dose}}{{ it.single_dose_unit }}</span>
  695. <span v-if="it && it.delivery_way">{{ it.delivery_way }}</span>
  696. <span v-if="it && it.execution_frequency">{{ it.execution_frequency }}</span>
  697. <span v-if="it&& it.remark">{{ it.remark }}</span>&nbsp;&nbsp;&nbsp;
  698. </span>
  699. </td>
  700. <td height="32px">
  701. <span v-if="advice!=null && advice.advice_doctor>0">
  702. <span
  703. v-if="setAdminUserES(advice.advice_doctor) == ''"
  704. >{{ getAdminUser(advice.advice_doctor) }}
  705. </span>
  706. <img
  707. style="height: 30px"
  708. :src="setAdminUserES(advice.advice_doctor)"
  709. alt=""
  710. srcset=""
  711. v-else
  712. />
  713. </span>
  714. </td>
  715. <td height="32px">
  716. <span v-if="advice!=null && advice.execution_staff>0">
  717. <span
  718. v-if="setAdminUserES(advice.execution_staff) == ''"
  719. >{{ getAdminUser(advice.execution_staff) }}</span
  720. >
  721. <img
  722. style="height: 30px"
  723. :src="setAdminUserES(advice.execution_staff)"
  724. alt=""
  725. srcset=""
  726. v-else
  727. />
  728. </span>
  729. </td>
  730. <td height="32px">
  731. <span v-if="advice.execution_time">{{
  732. getTime(advice.execution_time, "{h}:{i}")
  733. }}</span>
  734. </td>
  735. </tr>
  736. <!-- <tr
  737. v-for="(advice, advice_index) in projectsOne"
  738. :key="advice_index"
  739. >
  740. <td height="32px;padding:1px 1px" width="10%">
  741. <span v-if="advice.start_time">
  742. {{ getTime(advice.start_time, "{h}:{i}") }}
  743. </span>
  744. </td>
  745. <td colspan="2"
  746. class="advice-name"
  747. style="
  748. letter-spacing: 5px;
  749. text-align: center;
  750. font-weight: 520;
  751. font-size: 14px;
  752. padding: 0px 8px;
  753. line-height: 30px;
  754. width: 200px;
  755. "
  756. >
  757. <span v-if="advice.type == 2"> {{advice && advice.project? advice.project.project_name: ""}} {{ advice.count }} {{ advice.unit }}</span>
  758. <span v-if="advice.type == 3"> {{advice && advice.good_info? advice.good_info.good_name: ""}} {{ advice.count }} {{ advice.unit }}</span>
  759. </td>
  760. <td height="32px">
  761. <span
  762. v-if="setAdminUserES(advice.doctor) == ''"
  763. >{{ getAdminUser(advice.doctor) }}</span
  764. >
  765. <img
  766. style="height: 30px"
  767. :src="setAdminUserES(advice.doctor)"
  768. alt=""
  769. srcset=""
  770. v-else
  771. />
  772. </td>
  773. <td height="32px">
  774. <span
  775. v-if="
  776. setAdminUserES(advice.execution_staff) == ''
  777. "
  778. >{{
  779. getAdminUser(advice.execution_staff)
  780. }}</span
  781. >
  782. <img
  783. style="height: 30px"
  784. :src="setAdminUserES(advice.execution_staff)"
  785. alt=""
  786. srcset=""
  787. v-else
  788. />
  789. </td>
  790. <td height="32px">
  791. <span v-if="advice.execution_time">{{
  792. getTime(advice.execution_time, "{h}:{i}")
  793. }}</span>
  794. </td>
  795. </tr> -->
  796. </tbody>
  797. </table>
  798. </td>
  799. </tr>
  800. </tbody>
  801. </table>
  802. </div>
  803. <div class="row" style="margin-top: -11px; position: relative">
  804. <table class="proj_table">
  805. <tbody>
  806. <tr>
  807. <td
  808. colspan="7"
  809. style="
  810. letter-spacing: 5px;
  811. text-align: center;
  812. font-weight: 520;
  813. font-size: 16px;
  814. padding: 6px 8px;
  815. line-height: 30px;
  816. "
  817. >
  818. 透析后情况
  819. </td>
  820. </tr>
  821. <tr>
  822. <td colspan="7">
  823. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  824. <div class="inline_block" style="flex: 1">
  825. 温度:
  826. <div class="under_line"
  827. style="width: 50px; text-align: center"
  828. >
  829. {{
  830. afterdialysis.temperature
  831. ? afterdialysis.temperature
  832. : "/"
  833. }}
  834. </div>
  835. °C
  836. </div>
  837. <div class="inline_block" style="flex: 1">
  838. 脉搏:
  839. <div class="under_line"
  840. style="width: 50px; text-align: center"
  841. >
  842. {{
  843. afterdialysis.pulse_frequency
  844. ? afterdialysis.pulse_frequency
  845. : "/"
  846. }}
  847. </div>
  848. 次/分
  849. </div>
  850. <div class="inline_block"style="flex: 1">
  851. 血压:
  852. <div class="under_line"
  853. style="width: 50px; text-align: center"
  854. >
  855. <!-- {{
  856. afterdialysis.systolic_blood_pressure
  857. ? afterdialysis.systolic_blood_pressure
  858. : "/"
  859. }} -->
  860. <span v-if="monitors.length>0">
  861. {{
  862. monitors[monitors.length-1].systolic_blood_pressure ?
  863. monitors[monitors.length-1].systolic_blood_pressure :"/"
  864. }}
  865. </span>
  866. <span v-else>/</span>
  867. </div>
  868. /
  869. <div
  870. class="under_line"
  871. style="width: 50px; text-align: center"
  872. >
  873. <!-- {{
  874. afterdialysis.diastolic_blood_pressure
  875. ? afterdialysis.diastolic_blood_pressure
  876. : "/"
  877. }} -->
  878. <span v-if="monitors.length>0">
  879. {{
  880. monitors[monitors.length-1].diastolic_blood_pressure ?
  881. monitors[monitors.length-1].diastolic_blood_pressure :"/"
  882. }}
  883. </span>
  884. <span v-else>/</span>
  885. </div>
  886. mmHg
  887. </div>
  888. <div class="inline_block" style="flex: 1">
  889. 呼吸:
  890. <div class="under_line"
  891. style="width: 50px; text-align: center"
  892. >
  893. {{
  894. afterdialysis.breathing_rate
  895. ? afterdialysis.breathing_rate
  896. : "/"
  897. }}
  898. </div>
  899. 次/分
  900. </div>
  901. </div>
  902. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  903. <div class="inline_block" style="flex: 2">
  904. 透析器凝血:
  905. <div
  906. class="under_line"
  907. style="
  908. width: 60%;
  909. text-align: center;
  910. white-space: normal;
  911. "
  912. >
  913. {{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
  914. </div>
  915. </div>
  916. <div class="inline_block" style="flex: 2">
  917. 内瘘:
  918. <div
  919. class="under_line"
  920. style="
  921. width: 75%;
  922. text-align: center;
  923. white-space: normal;
  924. "
  925. >
  926. {{
  927. afterdialysis.internal_fistula
  928. ? afterdialysis.internal_fistula
  929. : "/"
  930. }}
  931. </div>
  932. </div>
  933. <div class="inline_block" style="flex: 2">
  934. 导管:
  935. <div class="under_line"
  936. style="width: 75%; text-align: center;white-space: normal;"
  937. >
  938. {{
  939. afterdialysis.catheter ? afterdialysis.catheter : "/"
  940. }}
  941. </div>
  942. </div>
  943. <div class="inline_block" style="flex: 2">
  944. 实际治疗时间:
  945. <div class="under_line"
  946. style="width: 30px; text-align: center"
  947. >
  948. {{
  949. afterdialysis.actual_treatment_hour
  950. ? afterdialysis.actual_treatment_hour
  951. : "/"
  952. }}
  953. </div>
  954. h
  955. <div class="under_line"
  956. style="width: 30px; text-align: center"
  957. >
  958. {{
  959. afterdialysis.actual_treatment_minute
  960. ? afterdialysis.actual_treatment_minute
  961. : 0
  962. }}
  963. </div>
  964. min
  965. </div>
  966. </div>
  967. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  968. <div class="inline_block" style="flex: 1">
  969. 透后体重:
  970. <div class="under_line"
  971. style="width: 70px; text-align: center"
  972. >
  973. <span>
  974. {{
  975. afterdialysis.weight_after
  976. ? parseFloat(
  977. afterdialysis.weight_after -
  978. afterdialysis.additional_weight
  979. ).toFixed(1)
  980. : "/"
  981. }}
  982. </span>
  983. </div>
  984. kg
  985. </div>
  986. <div class="inline_block" style="flex: 1">
  987. 体重减少:
  988. <div class="under_line"
  989. style="width: 70px; text-align: center"
  990. >
  991. <!-- <span v-if="org_id!=10598 && org_id!=10551">{{
  992. afterdialysis.weight_loss
  993. ? afterdialysis.weight_loss
  994. : "/"
  995. }}
  996. </span> -->
  997. <span>
  998. {{(predialysis.weight_before - afterdialysis.weight_after).toFixed(2)}}
  999. </span>
  1000. </div>
  1001. kg
  1002. </div>
  1003. <div class="inline_block" style="flex: 1">
  1004. 透析中入量(L):
  1005. <div class="under_line"
  1006. style="width: 70px; text-align: center"
  1007. >
  1008. {{
  1009. afterdialysis.dialysis_intakes
  1010. ? afterdialysis.dialysis_intakes
  1011. : "/"
  1012. }}
  1013. </div>
  1014. {{ getUnit(afterdialysis.dialysis_intakes_unit) }}
  1015. </div>
  1016. <div class="inline_block" style="flex: 1">
  1017. 实际超滤量:
  1018. <div class="under_line"
  1019. style="width: 70px; text-align: center"
  1020. >
  1021. <span v-if="monitors[monitors.length - 1].ultrafiltration_volume !=''">
  1022. {{ (monitors[monitors.length - 1].ultrafiltration_volume/1000).toFixed(1) }}
  1023. </span>
  1024. <span v-else>
  1025. {{ afterdialysis.actual_ultrafiltration
  1026. ? afterdialysis.actual_ultrafiltration : '/' }}
  1027. </span>
  1028. </div>
  1029. L
  1030. </div>
  1031. </div>
  1032. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  1033. <div class="inline_block"
  1034. style="flex: 1; display: inline-block"
  1035. >
  1036. 治疗小结:
  1037. <div class="under_line"
  1038. style=" width: 860px;
  1039. line-height: 25px;
  1040. text-align: left;
  1041. margin-left: 2px;
  1042. display: inline-block;
  1043. white-space: normal;
  1044. "
  1045. >
  1046. {{
  1047. summary.dialysis_summary
  1048. ? summary.dialysis_summary
  1049. : "/"
  1050. }}
  1051. </div>
  1052. </div>
  1053. </div>
  1054. <div class="row" style="padding: 2px 0; line-height: 23px; display: flex">
  1055. <div class="inline_block"
  1056. style="flex: 1; display: inline-block"
  1057. >
  1058. 宣教知识:
  1059. <div
  1060. class="under_line"
  1061. style="
  1062. width: 860px;
  1063. line-height: 25px;
  1064. text-align: left;
  1065. margin-left: 2px;
  1066. display: inline-block;
  1067. white-space: normal;
  1068. "
  1069. >
  1070. {{
  1071. summary.mission
  1072. ? summary.mission
  1073. : "/"
  1074. }}
  1075. </div>
  1076. </div>
  1077. </div>
  1078. </td>
  1079. </tr>
  1080. <tr>
  1081. <td colspan="7">
  1082. <div class="row"
  1083. style="padding: 2px 0; line-height: 23px; display: flex"
  1084. >
  1085. <div class="inline_block" style="flex: 1">
  1086. 上机护士:
  1087. <div class="under_line"
  1088. style="width: 90px; text-align: center"
  1089. >
  1090. <span
  1091. style="height: 30px; display: inline-block"
  1092. v-if="
  1093. setAdminUserES(
  1094. dialysisOrder == null
  1095. ? 0
  1096. : dialysisOrder.start_nurse
  1097. ) == ''
  1098. "
  1099. >
  1100. {{
  1101. getAdminUser(
  1102. dialysisOrder == null
  1103. ? 0
  1104. : dialysisOrder.start_nurse
  1105. )
  1106. }}</span
  1107. >
  1108. <img
  1109. style="height: 30px"
  1110. :src="
  1111. setAdminUserES(
  1112. dialysisOrder == null
  1113. ? 0
  1114. : dialysisOrder.start_nurse
  1115. )
  1116. "
  1117. alt=""
  1118. srcset=""
  1119. v-else
  1120. />
  1121. </div>
  1122. </div>
  1123. <div class="inline_block" style="flex: 1">
  1124. <span>核对护士:</span>
  1125. <div
  1126. class="under_line"
  1127. style="width: 80px; text-align: center"
  1128. v-if="dialysisOrder == null"
  1129. >
  1130. <span
  1131. style="height: 30px; display: inline-block"
  1132. v-if="
  1133. setAdminUserES(check == null ? 0 : check.creater) ==
  1134. ''
  1135. "
  1136. >
  1137. {{ getAdminUser(check == null ? 0 : check.creater) }}
  1138. </span>
  1139. <img
  1140. style="height: 30px"
  1141. :src="
  1142. setAdminUserES(check == null ? 0 : check.creater)
  1143. "
  1144. alt=""
  1145. srcset=""
  1146. v-else
  1147. />
  1148. </div>
  1149. <div
  1150. class="under_line"
  1151. style="width: 80px; text-align: center"
  1152. v-if="
  1153. dialysisOrder != null &&
  1154. dialysisOrder.start_nurse == check.modifier
  1155. "
  1156. >
  1157. <span
  1158. style="height: 30px; display: inline-block"
  1159. v-if="
  1160. setAdminUserES(check == null ? 0 : check.creater) ==
  1161. ''
  1162. "
  1163. >
  1164. {{ getAdminUser(check == null ? 0 : check.creater) }}
  1165. </span>
  1166. <img
  1167. style="height: 30px"
  1168. :src="
  1169. setAdminUserES(check == null ? 0 : check.creater)
  1170. "
  1171. alt=""
  1172. srcset=""
  1173. v-else
  1174. />
  1175. </div>
  1176. <div
  1177. class="under_line"
  1178. style="width: 80px; text-align: center"
  1179. v-if="
  1180. dialysisOrder != null &&
  1181. dialysisOrder.start_nurse == check.creater
  1182. "
  1183. >
  1184. <span
  1185. style="height: 30px; display: inline-block"
  1186. v-if="
  1187. setAdminUserES(
  1188. check == null ? 0 : check.modifier
  1189. ) == ''
  1190. "
  1191. >
  1192. {{ getAdminUser(check == null ? 0 : check.modifier) }}
  1193. </span>
  1194. <img
  1195. style="height: 30px"
  1196. :src="
  1197. setAdminUserES(check == null ? 0 : check.modifier)
  1198. "
  1199. alt=""
  1200. srcset=""
  1201. v-else
  1202. />
  1203. </div>
  1204. <div
  1205. class="under_line"
  1206. style="width: 80px; text-align: center"
  1207. v-if="
  1208. dialysisOrder != null &&
  1209. dialysisOrder.start_nurse != check.creater &&
  1210. dialysisOrder.start_nurse != check.modifier
  1211. "
  1212. >
  1213. <span
  1214. style="height: 30px; display: inline-block"
  1215. v-if="
  1216. setAdminUserES(check == null ? 0 : check.creater) ==
  1217. ''
  1218. "
  1219. >
  1220. {{ getAdminUser(check == null ? 0 : check.creater) }}
  1221. </span>
  1222. <img
  1223. style="height: 30px"
  1224. :src="
  1225. setAdminUserES(check == null ? 0 : check.creater)
  1226. "
  1227. alt=""
  1228. srcset=""
  1229. v-else
  1230. />
  1231. </div>
  1232. </div>
  1233. <div class="inline_block" style="flex: 1">
  1234. 下机护士:
  1235. <div
  1236. class="under_line"
  1237. style="width: 80px; text-align: center"
  1238. >
  1239. <span
  1240. style="height: 30px; display: inline-block"
  1241. v-if="
  1242. setAdminUserES(
  1243. dialysisOrder == null
  1244. ? 0
  1245. : dialysisOrder.finish_nurse
  1246. ) == ''
  1247. "
  1248. >
  1249. {{
  1250. getAdminUser(
  1251. dialysisOrder == null
  1252. ? 0
  1253. : dialysisOrder.finish_nurse
  1254. )
  1255. }}
  1256. </span>
  1257. <img
  1258. style="height: 30px"
  1259. :src="
  1260. setAdminUserES(
  1261. dialysisOrder == null
  1262. ? 0
  1263. : dialysisOrder.finish_nurse
  1264. )
  1265. "
  1266. alt=""
  1267. srcset=""
  1268. v-else
  1269. />
  1270. </div>
  1271. </div>
  1272. <div class="inline_block" style="flex: 1.1">
  1273. 上机时间:
  1274. <div class="under_line"
  1275. style="width: 64%; text-align: center"
  1276. >
  1277. <span style="height: 30px;display: inline-block;">
  1278. </span>
  1279. <span v-if="dialysisOrder!=null">
  1280. {{getTime(dialysisOrder.start_time, "{y}-{m}-{d} {h}:{i}") ?
  1281. getTime(dialysisOrder.start_time, "{y}-{m}-{d} {h}:{i}") :''}}
  1282. </span>
  1283. </div>
  1284. </div>
  1285. <div class="inline_block" style="flex: 1.1">
  1286. 下机时间:
  1287. <div class="under_line"
  1288. style="width: 64%; text-align: center"
  1289. >
  1290. <span style="height: 30px; display: inline-block">
  1291. </span>
  1292. <span v-if="dialysisOrder!=null">
  1293. {{ getTime(dialysisOrder.end_time, "{y}-{m}-{d} {h}:{i}") ?
  1294. getTime(dialysisOrder.end_time, "{y}-{m}-{d} {h}:{i}") : "0" }}
  1295. </span>
  1296. </div>
  1297. </div>
  1298. </div>
  1299. </td>
  1300. </tr>
  1301. </tbody>
  1302. </table>
  1303. </div>
  1304. </div>
  1305. </div>
  1306. </div>
  1307. </template>
  1308. <script>
  1309. import CheckBox from "../batch_print/option_check_box";
  1310. import { getDialysisRecord } from "@/api/dialysis";
  1311. import { getDataConfig } from "@/utils/data";
  1312. import { jsGetAge, uParseTime,jsGetAgeOne } from "@/utils/tools";
  1313. import LabelBox from "../printItem/LabelBox";
  1314. import BreadCrumb from "@/xt_pages/components/bread-crumb";
  1315. // import DialysisPrintOrderOne from './template/dialysisPrintOrderOne'
  1316. // import DialysisPrintOrderTwo from './template/dialysisPrintOrderTwo'
  1317. import print from "print-js";
  1318. import html2pdf from 'html2pdf.js'
  1319. import { UploadPrintOrder } from "@/api/role/admin"
  1320. import { HTML5_FMT } from "moment";
  1321. import html2canvas from 'html2canvas'
  1322. import { jsPDF } from 'jspdf';
  1323. export default {
  1324. name: "dialysisPrintOrderSix",
  1325. props: ["childResponse"],
  1326. components: {
  1327. // DialysisPrintOrderOne,
  1328. // DialysisPrintOrderTwo,
  1329. CheckBox,
  1330. LabelBox,
  1331. BreadCrumb,
  1332. },
  1333. data() {
  1334. return {
  1335. way_arr: [],
  1336. consciousness_arr: [],
  1337. appetite_arr: [],
  1338. posture_arr: [],
  1339. sick_condition_arr: [],
  1340. precaution_arr: [],
  1341. intake_arr: [],
  1342. nutrition_arr: [],
  1343. crumbs: [
  1344. { path: false, name: "透析管理" },
  1345. { path: false, name: "打印单" },
  1346. ],
  1347. operators: [],
  1348. adminUser: [],
  1349. check: {},
  1350. xtdate: "",
  1351. dialysisOrder: {
  1352. DeviceNumber: [],
  1353. },
  1354. displaceLiquiPartOptions: [],
  1355. operatorMaps: {},
  1356. complications: [
  1357. "低血压",
  1358. "高血压",
  1359. "心律失常",
  1360. "头晕",
  1361. "头痛",
  1362. "呕吐",
  1363. "抽搐",
  1364. "出血",
  1365. "心衰",
  1366. "腹痛",
  1367. ],
  1368. jilurow: 0,
  1369. advice_jilurow: 0,
  1370. loading: false,
  1371. orgname: "",
  1372. patientInfo_gender_1: false,
  1373. patientInfo_gender_2: false,
  1374. patientInfo_source_2: false,
  1375. patientInfo_source_1: false,
  1376. modeOptions: {},
  1377. replacementWays: [],
  1378. perfusionApparatus: [],
  1379. anticoagulantsConfit: {},
  1380. bloodAccessParOpera: {},
  1381. dialysateFormulationOptions: {},
  1382. totollength: 0,
  1383. queryParams: {
  1384. xtdate: "",
  1385. xtno: "",
  1386. patient_id:0,
  1387. },
  1388. patientInfo: {
  1389. birth: "",
  1390. age: "",
  1391. DialysisSchedule: {
  1392. device_number: { number: "" },
  1393. device_zone: { name: "" },
  1394. },
  1395. gender: 0,
  1396. },
  1397. predialysis: {
  1398. score: "",
  1399. internal_fistula: "",
  1400. internal_fistula_skin: "",
  1401. catheter: "",
  1402. blood_access_part_opera_name: "",
  1403. },
  1404. afterdialysis: {
  1405. complications_index: "",
  1406. },
  1407. lastafterdialysis: {},
  1408. prescription: {
  1409. dialysate_formulation_name: "",
  1410. device: {},
  1411. },
  1412. advices: [],
  1413. users: [],
  1414. monitors: [],
  1415. monitors2: [],
  1416. summary: {},
  1417. receiverTreatmentAccess: {},
  1418. org_template_info: {},
  1419. doctor_advices: [],
  1420. doctor_advices_2: [],
  1421. advice_groups: [],
  1422. advice_groups_2: [],
  1423. print_length: 0,
  1424. blood_access_part: [],
  1425. blood_access_part_opera: [],
  1426. AlPanel: {
  1427. id: 0,
  1428. name: "",
  1429. type: 1,
  1430. shouji: 2,
  1431. weichi: 2,
  1432. zongliang: 2,
  1433. gaimingcheng: -1,
  1434. gaijiliang: -1,
  1435. shouji_unit: "mg",
  1436. weichi_unit: "mg/h",
  1437. zongliang_unit: "mg",
  1438. gaimingcheng_unit: "",
  1439. gaijiliang_unit: "",
  1440. },
  1441. org_id: 0,
  1442. projectsOne: [],
  1443. schedule_date_one:"",
  1444. new_doctor_advice_list:[],
  1445. number_list:[],
  1446. schedule_date:""
  1447. };
  1448. },
  1449. methods: {
  1450. checkData() {
  1451. var checkDate =[]
  1452. if((this.dialysisOrder != undefined && this.dialysisOrder.bed_id == 0 &&
  1453. this.patientInfo.DialysisSchedule.bed_id == 0)||this.dialysisOrder == undefined
  1454. ){
  1455. const obj = "透析机型号"
  1456. checkDate.push(obj)
  1457. }
  1458. if (this.predialysis.temperature == '') {
  1459. const obj1 = "透前体温"
  1460. checkDate.push(obj1)
  1461. } if (this.predialysis.pulse_frequency == "") {
  1462. const obj2 = "透前脉搏"
  1463. checkDate.push(obj2)
  1464. } if (this.predialysis.breathing_rate == "") {
  1465. const obj3 = "透前呼吸"
  1466. checkDate.push(obj3)
  1467. } if (
  1468. this.predialysis.systolic_blood_pressure == 0 ||
  1469. this.predialysis.diastolic_blood_pressure == 0
  1470. ) {
  1471. const obj4 = "透前血压"
  1472. checkDate.push(obj4)
  1473. } if (this.prescription.dialysis_duration_hour == 0 &&
  1474. this.prescription.dialysis_duration_minute ==0
  1475. ) {
  1476. const obj5 = "透析时间"
  1477. checkDate.push(obj5)
  1478. } if (this.prescription.mode == "") {
  1479. const obj6 = "透析方式"
  1480. checkDate.push(obj6)
  1481. } if (this.predialysis.blood_access_part_opera_name =='' ) {
  1482. const obj7 = "血管通路"
  1483. checkDate.push(obj7)
  1484. } if (this.predialysis.catheter == '' ) {
  1485. const obj8 = "导管"
  1486. checkDate.push(obj8)
  1487. } if (this.prescription.dialyzer_perfusion_apparatus == '' &&
  1488. this.prescription.dialysis_dialyszers ==''
  1489. ) {
  1490. const obj9 = "透析(滤)器"
  1491. checkDate.push(obj9)
  1492. } if (this.prescription.dialysis_irrigation == '') {
  1493. const obj10 = "灌流器"
  1494. checkDate.push(obj10)
  1495. } if (this.prescription.displace_liqui_part == ""&&
  1496. (this.prescription.mode_id ==2 || this.prescription.mode_id ==12)
  1497. ) {
  1498. const obj11 = "置换方式"
  1499. checkDate.push(obj11)
  1500. } if (this.prescription.replacement_total == "" &&
  1501. (this.prescription.mode_id ==2 || this.prescription.mode_id ==12)
  1502. ) {
  1503. const obj12 = "置换量"
  1504. checkDate.push(obj12)
  1505. } if ( this.prescription.blood_flow_volume == '') {
  1506. const obj13 = "血流量"
  1507. checkDate.push(obj13)
  1508. } if (this.predialysis.dry_weight == "") {
  1509. const obj14 = "干体重"
  1510. checkDate.push(obj14)
  1511. } if (this.lastafterdialysis.weight_after == "") {
  1512. const obj15 = "上次透后体重"
  1513. checkDate.push(obj15)
  1514. } if (this.predialysis.weight_before == "" ) {
  1515. const obj16 = "透前体重"
  1516. checkDate.push(obj16)
  1517. } if (this.prescription.target_ultrafiltration == 0) {
  1518. const obj17 = "计划超滤量"
  1519. checkDate.push(obj17)
  1520. } if (this.prescription.dialysate_flow == 0 ) {
  1521. const obj18 = "透析液流量"
  1522. checkDate.push(obj18)
  1523. } if (this.prescription.kalium == 0) {
  1524. const obj19 = "钾"
  1525. checkDate.push(obj19)
  1526. } if (this.prescription.calcium == 0) {
  1527. const obj20 = "钙"
  1528. checkDate.push(obj20)
  1529. } if (this.prescription.sodium == 0) {
  1530. const obj21 = "钠"
  1531. checkDate.push(obj21)
  1532. }if (this.prescription.bicarbonate == 0) {
  1533. const obj22 = "碳酸氢根"
  1534. checkDate.push(obj22)
  1535. } if (this.prescription.anticoagulant_name == 0) {
  1536. const obj23 = "抗凝剂"
  1537. checkDate.push(obj23)
  1538. } if (this.prescription.anticoagulant_shouji == 0 &&
  1539. this.prescription.anticoagulant !=1 && this.prescription.anticoagulant !=''
  1540. ) {
  1541. const obj24 = "首剂"
  1542. checkDate.push(obj24)
  1543. }if (this.prescription.anticoagulant_zongliang == 0 &&
  1544. this.prescription.anticoagulant !=1 && this.prescription.anticoagulant !='' && this.prescription.anticoagulant != 5
  1545. ) {
  1546. const obj25 = "总量"
  1547. checkDate.push(obj25)
  1548. } if (
  1549. this.prescription.anticoagulant_gaimingcheng == "" &&
  1550. this.prescription.anticoagulant == 5
  1551. ) {
  1552. const obj26 = "钙名称"
  1553. checkDate.push(obj26)
  1554. } if (
  1555. this.prescription.anticoagulant_gaijiliang == "" &&
  1556. this.prescription.anticoagulant == 5
  1557. ) {
  1558. const obj27 = "钙剂量"
  1559. checkDate.push(obj27)
  1560. } if (this.afterdialysis.temperature == ''){
  1561. const obj28 = "透后温度"
  1562. checkDate.push(obj28)
  1563. } if (this.afterdialysis.pulse_frequency == 0) {
  1564. const obj29 = "透后脉搏"
  1565. checkDate.push(obj29)
  1566. } if (
  1567. this.afterdialysis.systolic_blood_pressure == '' &&
  1568. this.afterdialysis.diastolic_blood_pressure == ''
  1569. ){
  1570. const obj30 = "透后血压"
  1571. checkDate.push(obj30)
  1572. } if (this.afterdialysis.breathing_rate == 0) {
  1573. const obj31 = "透后呼吸"
  1574. checkDate.push(obj31)
  1575. } if (this.afterdialysis.cruor == '') {
  1576. const obj32 = "透析器凝血"
  1577. checkDate.push(obj32)
  1578. } if (this.afterdialysis.internal_fistula == '') {
  1579. const obj33 = "透后内瘘"
  1580. checkDate.push(obj33)
  1581. } if (this.afterdialysis.catheter =='') {
  1582. const obj34 = "透后导管"
  1583. checkDate.push(obj34)
  1584. } if (this.afterdialysis.actual_treatment_hour == 0 &&
  1585. this.afterdialysis.actual_treatment_minute == 0
  1586. ) {
  1587. const obj35 = "实际治疗时间"
  1588. checkDate.push(obj35)
  1589. } if (this.afterdialysis.weight_after == 0) {
  1590. const obj36 = "透后体重"
  1591. checkDate.push(obj36)
  1592. } if (this.afterdialysis.dialysis_intakes_unit == 0) {
  1593. const obj37 = "透析中入量"
  1594. checkDate.push(obj37)
  1595. } if (this.afterdialysis.actual_ultrafiltration == 0) {
  1596. const obj38 = "实际超滤量"
  1597. checkDate.push(obj38)
  1598. } if (this.summary.dialysis_summary == '') {
  1599. const obj39 = "治疗小结"
  1600. checkDate.push(obj39)
  1601. } if (this.summary.mission == 0) {
  1602. const obj40 = "宣教知识"
  1603. checkDate.push(obj40)
  1604. } if (
  1605. this.dialysisOrder == null ||
  1606. this.dialysisOrder.start_nurse == 0
  1607. ) {
  1608. const obj41 = "上机护士"
  1609. checkDate.push(obj41)
  1610. } if (this.dialysisOrder == null && this.check.creater == 0) {
  1611. const obj42 = "核对人员"
  1612. checkDate.push(obj42)
  1613. } else if (
  1614. this.dialysisOrder != null &&
  1615. this.dialysisOrder.start_nurse == this.check.modifier &&
  1616. this.check.creater == 0
  1617. ) {
  1618. const obj42 = "核对人员"
  1619. checkDate.push(obj42)
  1620. } else if (
  1621. this.dialysisOrder != null &&
  1622. this.dialysisOrder.start_nurse == this.check.creater &&
  1623. this.check.modifier == 0
  1624. ) {
  1625. const obj42 = "核对人员"
  1626. checkDate.push(obj42)
  1627. } else if (
  1628. this.dialysisOrder != null &&
  1629. this.dialysisOrder.start_nurse != this.check.creater &&
  1630. this.dialysisOrder.start_nurse != this.check.modifier &&
  1631. this.check.creater == 0
  1632. ) {
  1633. const obj42 = "核对人员"
  1634. checkDate.push(obj42)
  1635. } if (
  1636. this.dialysisOrder == null ||
  1637. this.dialysisOrder.finish_nurse == 0
  1638. ) {
  1639. const obj43 = "下机护士"
  1640. checkDate.push(obj43)
  1641. } if (this.prescription.creater == 0) {
  1642. const obj44 = "医生签名"
  1643. checkDate.push(obj44)
  1644. } if (this.dialysisOrder.start_time == '' && this.dialysisOrder != null) {
  1645. const obj45 = "上机时间"
  1646. checkDate.push(obj45)
  1647. } if (this.dialysisOrder.end_time == "" && this.dialysisOrder != null) {
  1648. const obj46 = "下机时间"
  1649. checkDate.push(obj46)
  1650. } if(this.new_doctor_advice_list.length > 0){
  1651. this.new_doctor_advice_list.map((item) =>{
  1652. if(item.id > 0 && (item.created_time || item.start_time)){
  1653. if(item.execution_staff ==0 && item.advice_doctor ==0){
  1654. const obj47 = '执行人员,医生签名'
  1655. checkDate.push(obj47)
  1656. }
  1657. }
  1658. })
  1659. }
  1660. this.getcheckData(checkDate)
  1661. },
  1662. toUpload() {
  1663. let dom = document.getElementById("dialysis-print-box-1")
  1664. //调用方法下载
  1665. html2canvas(dom, {
  1666. useCORS: true, //允许跨域
  1667. allowTaint: false,
  1668. logging: false,
  1669. letterRendering: true,
  1670. ddpi: window.devicePixelRatio * 4, //将分辨率提高到特定的DPI 提高四倍
  1671. scale: 4, //按比例增加分辨率
  1672. background: '#fff',//pdf背景色为白色,默认是黑色的
  1673. }).then((canvas) => {
  1674. //返回图片dataURL,参数:图片格式和清晰度(0-1)
  1675. var pageData = canvas.toDataURL('image/jpeg', 1.0);
  1676. //方向默认竖直,尺寸ponits,格式a4[595.28,841.89]
  1677. var pdf = new jsPDF('', 'pt', 'a4');
  1678. //addImage后两个参数控制添加图片的尺寸,此处将页面高度按照a4纸宽高比列进行压缩
  1679. // pdf.addImage(pageData, 'JPEG', 0, 0, 595.28, 592.28 / canvas.width * canvas.height);
  1680. pdf.addImage(pageData, 'JPEG', 0, 0, 555.28, 592.28 / canvas.width * canvas.height);
  1681. console.log("pdf222222222222222222",pdf)
  1682. var newBase64Data = pdf.output("dataurlstring").split("base64,")[1]
  1683. // console.log("base63",newBase64Data)
  1684. const blob = this.base64ToBlob(newBase64Data, 'application/pdf');
  1685. console.log("blobwoowowowwo",blob)
  1686. this.openPdf(blob);
  1687. // var data = {
  1688. // name:newBase64Data,
  1689. // }
  1690. // UploadPrintOrder(data).then(response=>{
  1691. // if(response.data.state == 1){
  1692. // var sign = response.data.data.sign
  1693. // console.log("SIGNWWOOWWO")
  1694. // var pdfBase64 = response.data.data.pdfBase64
  1695. // console.log("pdfBase64",pdfBase64)
  1696. // this.$message.success("保存成功!")
  1697. // const blob = this.base64ToBlob(pdfBase64, 'application/pdf');
  1698. // this.openPdf(blob);
  1699. // }
  1700. // })
  1701. // this.viewPdf(newBase64Data)
  1702. //保存到pdf,名字是stone
  1703. // pdf.save('stone.pdf');
  1704. });
  1705. },
  1706. viewPdf(content) {
  1707. console.log("content",content);
  1708. const blob = this.base64ToBlob(content);
  1709. if (window.navigator && window.navigator.msSaveOrOpenBlob) {
  1710. window.navigator.msSaveOrOpenBlob(blob);
  1711. } else {
  1712. const fileURL = URL.createObjectURL(blob);
  1713. console.log("fileUlrwowowoow",fileURL)
  1714. window.open(fileURL);//打开ppf文件
  1715. }
  1716. },
  1717. compare (property) {
  1718. return function (a, b) {
  1719. var value1 = a[property]
  1720. var value2 = b[property]
  1721. return value1 - value2
  1722. }
  1723. },
  1724. openPdf(blob) {
  1725. const objectUrl = URL.createObjectURL(blob);
  1726. const a = document.createElement('a');
  1727. a.href = objectUrl;
  1728. a.target = '_blank';
  1729. a.click();
  1730. URL.revokeObjectURL(objectUrl);
  1731. },
  1732. base64ToBlob(base64Data, contentType) {
  1733. contentType = contentType || '';
  1734. const sliceSize = 1024;
  1735. const byteCharacters = window.atob(base64Data);
  1736. const bytesLength = byteCharacters.length;
  1737. const slicesCount = Math.ceil(bytesLength / sliceSize);
  1738. const byteArrays = new Array(slicesCount);
  1739. for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {
  1740. const begin = sliceIndex * sliceSize;
  1741. const end = Math.min(begin + sliceSize, bytesLength);
  1742. const bytes = new Array(end - begin);
  1743. for (let offset = begin, i = 0; offset < end; ++i, ++offset) {
  1744. bytes[i] = byteCharacters[offset].charCodeAt(0);
  1745. }
  1746. byteArrays[sliceIndex] = new Uint8Array(bytes);
  1747. }
  1748. return new Blob(byteArrays, {
  1749. type: contentType
  1750. });
  1751. },
  1752. UploadPdf(res) {
  1753. let pdfBase64Str = res;
  1754. let title = "上传给后端的个人报告";
  1755. var myfile = this.dataURLtoFile(pdfBase64Str, title + ".pdf")
  1756. console.log("myfile",myfile)
  1757. },
  1758. // 获取当前年份,用于年龄计算
  1759. getoldAge() {
  1760. let date = new Date();
  1761. let year = date.getFullYear();
  1762. let year_d =
  1763. this.xtdate.split("-")[0] - this.patientInfo.birth.split("-")[0];
  1764. let year_m = this.xtdate.split("-")[1];
  1765. let birth_m = this.patientInfo.birth.split("-")[1];
  1766. let year_date = this.xtdate.split("-")[2];
  1767. let birth_date = this.patientInfo.birth.split("-")[2];
  1768. // console.log(year,'今年年月')
  1769. // console.log(this.xtdate.split('-'),'病人就诊年月')
  1770. console.log(this.patientInfo.birth, "病人生日");
  1771. // console.log(year_d,'year_d')
  1772. if (year_m < birth_m) {
  1773. return year_d - 1;
  1774. } else if (year_m == birth_m) {
  1775. if (year_date < birth_date) {
  1776. return year_d - 1;
  1777. } else {
  1778. return year_d;
  1779. }
  1780. } else {
  1781. return year_d;
  1782. }
  1783. },
  1784. getDisplaceLiquiPart: function (val) {
  1785. let displace_liqui_part_name = "/";
  1786. const displace_liqui_part = this.displaceLiquiPartOptions;
  1787. for (let i = 0; i < displace_liqui_part.length; i++) {
  1788. if (displace_liqui_part[i].id == val) {
  1789. displace_liqui_part_name = displace_liqui_part[i].name;
  1790. }
  1791. }
  1792. return displace_liqui_part_name;
  1793. },
  1794. replacementWaysById: function (val) {
  1795. let replacementWaysname = "/";
  1796. // let vascular_access = getDataConfig('hemodialysis', 'vascular_access')
  1797. for (let i = 0; i < this.replacementWays.length; i++) {
  1798. if (this.replacementWays[i].id == val) {
  1799. replacementWaysname = this.replacementWays[i].name;
  1800. }
  1801. }
  1802. return replacementWaysname;
  1803. },
  1804. QueryPartById: function (val) {
  1805. let vascular_access_part_name = "/";
  1806. const vascular_access = getDataConfig("hemodialysis", "vascular_access");
  1807. for (let i = 0; i < vascular_access.length; i++) {
  1808. if (vascular_access[i].id == val) {
  1809. vascular_access_part_name = vascular_access[i].name;
  1810. }
  1811. }
  1812. return vascular_access_part_name;
  1813. },
  1814. getAdminUser(id) {
  1815. if (id == 0) {
  1816. return "";
  1817. }
  1818. if (id == undefined) {
  1819. return "";
  1820. }
  1821. for (let i = 0; i < this.adminUser.length; i++) {
  1822. if (this.adminUser[i].id == id) {
  1823. return this.adminUser[i].name;
  1824. }
  1825. }
  1826. },
  1827. getTime(value, temp) {
  1828. if (value == 0) {
  1829. return "";
  1830. }
  1831. if (value != undefined) {
  1832. return uParseTime(value, temp);
  1833. }
  1834. return "";
  1835. },
  1836. getUnit: function (val) {
  1837. switch (val) {
  1838. case 1:
  1839. return "g";
  1840. break;
  1841. case 2:
  1842. return "ml";
  1843. break;
  1844. }
  1845. },
  1846. printThisPage() {
  1847. var ptime = Math.round(new Date().getTime() / 1000);
  1848. this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
  1849. const style =
  1850. '@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}.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:left;border-collapse:collapse;font-size:14px} .dialysis-print-order .under_line {display: inline-block;border-bottom: 1px solid #999;text-align:left;white-space: nowrap;width: 50%;} .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;}';
  1851. if (this.org_template_info.template_id == 1) {
  1852. printJS({
  1853. printable: "dialysis-print-box",
  1854. type: "html",
  1855. style: style,
  1856. scanStyles: false,
  1857. });
  1858. } else if (
  1859. this.org_template_info.template_id == 2 ||
  1860. this.org_template_info.template_id == 0
  1861. ) {
  1862. printJS({
  1863. printable: "dialysis-print-box-1",
  1864. type: "html",
  1865. style: style,
  1866. scanStyles: false,
  1867. });
  1868. }
  1869. },
  1870. getNumber() {
  1871. if (this.dialysisOrder != null) {
  1872. return (
  1873. this.patientInfo.DialysisSchedule.device_zone.name +
  1874. this.dialysisOrder.DeviceNumber.number
  1875. );
  1876. } else {
  1877. return (
  1878. this.patientInfo.DialysisSchedule.device_zone.name +
  1879. this.patientInfo.DialysisSchedule.device_number.number
  1880. );
  1881. }
  1882. },
  1883. getXuserName(id) {
  1884. if (id <= 0) {
  1885. return "";
  1886. }
  1887. var name = "";
  1888. if (this.users == null || typeof this.users.length === "undefined") {
  1889. return name;
  1890. }
  1891. var leng = this.users.length;
  1892. if (leng == 0) {
  1893. return name;
  1894. }
  1895. for (let index = 0; index < leng; index++) {
  1896. if (this.users[index].id == id) {
  1897. name = this.users[index].name;
  1898. break;
  1899. }
  1900. }
  1901. return name;
  1902. },
  1903. setAdminUserES(id) {
  1904. if (id == 0) {
  1905. return "";
  1906. }
  1907. if (id in this.operatorMaps) {
  1908. return this.operatorMaps[id].url;
  1909. } else {
  1910. return "";
  1911. }
  1912. },
  1913. modeName(mode_id) {
  1914. return typeof this.modeOptions[mode_id] !== "undefined" &&
  1915. typeof this.modeOptions[mode_id].name !== "undefined"
  1916. ? this.modeOptions[mode_id].name
  1917. : "";
  1918. },
  1919. // 数据源
  1920. getDialysisRecord() {
  1921. this.loading = true;
  1922. // getDialysisRecord(this.queryParams).then(response => {
  1923. var response = this.childResponse;
  1924. if (response.data.state == 1) {
  1925. this.adminUser = response.data.data.users;
  1926. console.log('3333333wwwwww12121',response.data.data);
  1927. var schedule_date = response.data.data.schedule.schedule_date
  1928. this.schedule_date = schedule_date
  1929. this.schedule_date_one = uParseTime(
  1930. schedule_date,
  1931. "{y}-{m}-{d}"
  1932. );
  1933. this.users = response.data.data.users;
  1934. this.patientInfo = response.data.data.patientInfo;
  1935. this.patientInfo.birth = uParseTime(
  1936. this.patientInfo.birthday,
  1937. "{y}-{m}-{d}"
  1938. );
  1939. // console.log(this.patientInfo.birth,'测试生日')
  1940. // this.patientInfo.age = jsGetAge(this.patientInfo.birth, '-')
  1941. if (response.data.data.patientInfo.first_dialysis_date != 0) {
  1942. this.patientInfo.first_dialysis_date = uParseTime(
  1943. response.data.data.patientInfo.first_dialysis_date,
  1944. "{y}-{m}-{d}"
  1945. );
  1946. } else {
  1947. this.patientInfo.first_dialysis_date = "";
  1948. }
  1949. this.number_list = response.data.data.numberList
  1950. this.check = response.data.data.check;
  1951. this.xtdate = response.data.data.xtdate;
  1952. this.predialysis = response.data.data.PredialysisEvaluation;
  1953. console.log('透前评估', this.predialysis)
  1954. this.predialysis.blood_access_part_opera_name =this.bloodAccessParOperaName(this.predialysis.blood_access_part_opera_id);
  1955. this.afterdialysis = response.data.data.AssessmentAfterDislysis;
  1956. // console.log('透后体重', this.afterdialysis)
  1957. this.lastafterdialysis = response.data.data.assessmentAfterDislysis;
  1958. // console.log("上次透后体重", this.lastafterdialysis.weight_after);
  1959. this.operators = response.data.data.operators;
  1960. // console.log("operators", this.operators);
  1961. this.dialysisOrder =
  1962. response.data.data.dialysisOrder === null
  1963. ? null
  1964. : response.data.data.dialysisOrder;
  1965. // console.log("上机233232323232", this.dialysisOrder);
  1966. if (this.operators.length > 0) {
  1967. var operatorsLen = this.operators.length;
  1968. for (var index = 0; index < operatorsLen; index++) {
  1969. this.$set(
  1970. this.operatorMaps,
  1971. this.operators[index].creator,
  1972. this.operators[index]
  1973. );
  1974. }
  1975. }
  1976. this.afterdialysis.txqnx = -1;
  1977. if (this.afterdialysis.cruor.indexOf("0度") > -1) {
  1978. this.afterdialysis.txqnx = 0;
  1979. }
  1980. if (this.afterdialysis.cruor.indexOf("Ⅰ度") > -1) {
  1981. this.afterdialysis.txqnx = 1;
  1982. }
  1983. if (this.afterdialysis.cruor.indexOf("Ⅱ度") > -1) {
  1984. this.afterdialysis.txqnx = 2;
  1985. }
  1986. if (this.afterdialysis.cruor.indexOf("Ⅲ度") > -1) {
  1987. this.afterdialysis.txqnx = 3;
  1988. }
  1989. this.afterdialysis.complications =
  1990. this.afterdialysis.complication.split(",");
  1991. this.afterdialysis.complications_other = [];
  1992. this.afterdialysis.complications_index = [];
  1993. var acllen = this.afterdialysis.complications.length;
  1994. for (let index = 0; index < acllen; index++) {
  1995. if (
  1996. this.complications.indexOf(
  1997. this.afterdialysis.complications[index]
  1998. ) >= 0
  1999. ) {
  2000. this.afterdialysis.complications_index.push(
  2001. this.afterdialysis.complications[index]
  2002. );
  2003. } else if (
  2004. this.complications.indexOf(
  2005. this.afterdialysis.complications[index]
  2006. ) < 0 &&
  2007. this.afterdialysis.complications_other.indexOf(
  2008. this.afterdialysis.complications[index]
  2009. ) < 0
  2010. ) {
  2011. this.afterdialysis.complications_other.push(
  2012. this.afterdialysis.complications[index]
  2013. );
  2014. }
  2015. }
  2016. this.afterdialysis.complications_other =
  2017. this.afterdialysis.complications_other.join(",");
  2018. this.prescription = response.data.data.dialysisPrescription;
  2019. // console.log("透析处方", this.prescription);
  2020. this.receiverTreatmentAccess =
  2021. response.data.data.receiverTreatmentAccess;
  2022. this.prescription.mode = this.modeName(this.prescription.mode_id);
  2023. var rwLen = this.replacementWays.length;
  2024. this.prescription.replacement = "";
  2025. for (let index = 0; index < rwLen; index++) {
  2026. if (
  2027. this.replacementWays[index].id == this.prescription.replacement_way
  2028. ) {
  2029. this.prescription.replacement = this.replacementWays[index].name;
  2030. break;
  2031. }
  2032. }
  2033. this.prescription.dialysate_formulation_name =
  2034. this.dialysateFormulationName(
  2035. this.prescription.dialysate_formulation
  2036. );
  2037. var paLen = this.perfusionApparatus.length;
  2038. this.prescription.perfusion_apparatus_name = "";
  2039. for (let index = 0; index < paLen; index++) {
  2040. if (
  2041. this.perfusionApparatus[index].id ==
  2042. this.prescription.perfusion_apparatus
  2043. ) {
  2044. this.prescription.perfusion_apparatus_name =
  2045. this.perfusionApparatus[index].name;
  2046. break;
  2047. }
  2048. }
  2049. var acLen = this.anticoagulantsConfit.length;
  2050. var thisALID = this.prescription.anticoagulant;
  2051. this.prescription.anticoagulant_name = "";
  2052. if (
  2053. typeof this.anticoagulantsConfit[thisALID] !== "undefined" &&
  2054. this.anticoagulantsConfit[thisALID] != null
  2055. ) {
  2056. this.prescription.anticoagulant_name =
  2057. this.anticoagulantsConfit[thisALID].name;
  2058. this.AlPanel = this.anticoagulantsConfit[thisALID];
  2059. }
  2060. this.advices = response.data.data.advices;
  2061. this.tableAdvice = response.data.data.advices;
  2062. // console.log("医嘱数据2222222222", this.advices);
  2063. this.monitors = response.data.data.monitors;
  2064. this.summary = response.data.data.summary;
  2065. this.org_template_info = response.data.data.org_template_info;
  2066. if (this.monitors.length <= 3) {
  2067. var nl = 3;
  2068. this.print_length = 3;
  2069. for (let index = 0; index < nl; index++) {
  2070. if (
  2071. this.monitors[index] == undefined ||
  2072. this.monitors[index].length <= 0
  2073. ) {
  2074. this.monitors2.push([]);
  2075. } else {
  2076. continue;
  2077. }
  2078. }
  2079. }
  2080. var tempmonitorflag = true;
  2081. for (let index = 0; index < this.monitors.length; index++) {
  2082. const monitor = this.monitors[index];
  2083. this.monitors[index].end = "";
  2084. if (Object.keys(monitor).length > 0 && index > 1) {
  2085. if ((this.dialysisOrder &&monitor.operate_time == this.dialysisOrder.end_time)&&(this.org_id!=10414)) {
  2086. if(this.org_id!=10683){
  2087. this.monitors[index].end = "【结束透析】";
  2088. }
  2089. tempmonitorflag = false;
  2090. }
  2091. if ((tempmonitorflag && index == this.monitors.length - 1)&&(this.org_id!=10414)) {
  2092. if(this.org_id!=10683){
  2093. this.monitors[index].end = "【结束透析】";
  2094. }
  2095. }
  2096. }
  2097. }
  2098. this.jilurow = this.monitors.length + 1;
  2099. this.advice_jilurow = this.advices.length + 1;
  2100. var childMap = {};
  2101. for (const index in this.advices) {
  2102. if (this.advices[index].parent_id == 0) {
  2103. continue;
  2104. }
  2105. if (!(this.advices[index].parent_id in childMap)) {
  2106. childMap[this.advices[index].parent_id] = [];
  2107. }
  2108. childMap[this.advices[index].parent_id].push(this.advices[index]);
  2109. }
  2110. var advices = [];
  2111. for (const index in this.advices) {
  2112. if (this.advices[index].parent_id > 0) {
  2113. continue;
  2114. }
  2115. var item = this.advices[index];
  2116. if (item.id in childMap) {
  2117. item.children = childMap[item.id];
  2118. } else {
  2119. item.children = [];
  2120. }
  2121. advices.push(item);
  2122. }
  2123. var leftAdvice = [];
  2124. var rightAdvice = [];
  2125. var adlen = advices.length;
  2126. var halfLen = adlen % 2 == 0 ? adlen / 2 : (adlen + 1) / 2;
  2127. for (var i = 0; i < halfLen; i++) {
  2128. leftAdvice.push(advices[i]);
  2129. rightAdvice.push(advices[i + halfLen]);
  2130. }
  2131. if (halfLen < 5) {
  2132. var nl = 5 - leftAdvice.length;
  2133. for (let index = 0; index < nl; index++) {
  2134. leftAdvice.push([]);
  2135. }
  2136. var nl = 5 - rightAdvice.length;
  2137. for (let index = 0; index < nl; index++) {
  2138. rightAdvice.push([]);
  2139. }
  2140. }
  2141. this.advices = [];
  2142. for (var i = 0; i < halfLen; i++) {
  2143. var item = [];
  2144. item.push(leftAdvice[i]);
  2145. item.push(rightAdvice[i]);
  2146. this.advices.push(item);
  2147. }
  2148. this.loading = false;
  2149. this.doctor_advices =
  2150. response.data.data.advices == null ? [] : response.data.data.advices;
  2151. for (let index = 0; index < this.doctor_advices.length; index++) {
  2152. this.doctor_advices[index]["isShow"] = 2;
  2153. }
  2154. console.log("haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",this.doctor_advices)
  2155. if(this.org_id ==10206 || this.org_id ==10644 || this.org_id ==10633 || this.org_id == 10489 || this.org_id == 0){
  2156. let projectsOne = [];
  2157. response.data.data.projects.map((item) => {
  2158. projectsOne.push(item);
  2159. });
  2160. this.projectsOne = projectsOne;
  2161. console.log("this.projectsOne", this.projectsOne);
  2162. }
  2163. console.log("RESWOOWOWWOOW",response.data.data.doctorAdevieInfo)
  2164. //华池
  2165. if(this.org_id == 10440){
  2166. var parint_id =0
  2167. var newArr = []
  2168. if(this.doctor_advices!=null&&this.doctor_advices.length>0){
  2169. for(let i=0;i<this.doctor_advices.length;i++){
  2170. if(this.doctor_advices[i].advice_name.indexOf("低分子")!=-1){
  2171. parint_id = this.doctor_advices[i].id
  2172. }
  2173. }
  2174. for(let i=0;i<this.doctor_advices.length;i++){
  2175. if(this.doctor_advices[i].id != parint_id && this.doctor_advices[i].parent_id!=parint_id){
  2176. newArr.push(this.doctor_advices[i])
  2177. }
  2178. }
  2179. this.doctor_advices =[]
  2180. this.doctor_advices = newArr
  2181. }
  2182. }
  2183. //HIS客户显示临时医嘱的地方
  2184. if(this.org_id == 10510 || this.org_id ==10567 || this.org_id == 10489 || this.org_id ==10644 || this.org_id == 0){
  2185. if(response.data.data.doctorAdevieInfo!=null && response.data.data.doctorAdevieInfo.length>0){
  2186. for(let i=0;i<response.data.data.doctorAdevieInfo.length;i++){
  2187. this.doctor_advices.push(response.data.data.doctorAdevieInfo[i])
  2188. console.log("寄哪里 222")
  2189. }
  2190. }
  2191. let projects = [];
  2192. response.data.data.projects.map((item) => {
  2193. if (item.type == 2) {
  2194. projects.push(item);
  2195. }
  2196. });
  2197. this.projects = projects;
  2198. // console.log("this.projects=========================================", this.projects);
  2199. if(this.org_id!=10510 &&this.org_id!=10206 && this.org_id!=10478 && this.org_id!=10489){
  2200. console.log("列表===================================",this.projects)
  2201. var newHisArr = []
  2202. if(this.projects!=null && this.projects.length >0){
  2203. for(let i=0;i<this.projects.length;i++){
  2204. if(this.projects[i].type== 2){
  2205. this.projects[i].project_team_name = ""
  2206. this.projects[i].project_team_id = 0
  2207. if(this.projects[i].team!= "undefined" && this.projects[i].team.id >0){
  2208. this.projects[i].project_team = this.projects[i].team.project_team
  2209. this.projects[i].project_team_id = this.projects[i].team.id
  2210. this.projects[i].start_time = this.projects[i].start_time
  2211. this.projects[i].single_dose = this.projects[i].single_dose
  2212. this.projects[i].single_dose_unit = this.projects[i].unit
  2213. this.projects[i].execution_time = this.projects[i].execution_time
  2214. this.projects[i].execution_staff= this.projects[i].execution_staff
  2215. this.projects[i].advice_name = this.projects[i].team.project_team
  2216. this.projects[i].advice_doctor = this.projects[i].doctor
  2217. newHisArr.push(this.projects[i])
  2218. // this.doctor_advices_2.push(this.project[i])
  2219. }else{
  2220. this.projects[i].project_team = this.projects[i].project.project_name
  2221. this.projects[i].advice_name = this.projects[i].project.project_name
  2222. this.projects[i].start_time = this.projects[i].start_time
  2223. this.projects[i].single_dose = this.projects[i].single_dose
  2224. this.projects[i].single_dose_unit = this.projects[i].unit
  2225. this.projects[i].execution_time = this.projects[i].execution_time
  2226. this.projects[i].execution_staff= this.projects[i].execution_staff
  2227. this.projects[i].advice_doctor = this.projects[i].doctor
  2228. newHisArr.push(this.projects[i])
  2229. // this.doctor_advices_2.push(this.projects[i])
  2230. }
  2231. }
  2232. }
  2233. }
  2234. for(let i=0;i<newHisArr.length;i++){
  2235. newHisArr[i].advice_name_str = ""
  2236. newHisArr[i].advice_name_str = newHisArr[i].project_team + (newHisArr[i].prescription_id).toString()
  2237. }
  2238. console.log("newHisArr===================================",newHisArr)
  2239. var ordHisArr = this.getQuChong(newHisArr)
  2240. this.doctor_advices.push(...ordHisArr)
  2241. }
  2242. }
  2243. //针对内蒙古阿拉善
  2244. if(this.org_id ==10206 || this.org_id ==0){
  2245. if(this.doctor_advices!=null && this.doctor_advices.length > 0){
  2246. for(let i=0;i<this.doctor_advices.length;i++){
  2247. this.doctor_advices[i].new_groupno = ""
  2248. this.doctor_advices[i].new_groupno = this.doctor_advices[i].prescription_id + "_" + this.doctor_advices[i].groupno
  2249. let objInfo = {}
  2250. this.doctor_advices.forEach((item,index)=>{
  2251. let { new_groupno } = item
  2252. if(!objInfo[new_groupno]){
  2253. objInfo[new_groupno] = {
  2254. new_groupno,
  2255. child:[],
  2256. start_time:item.start_time,
  2257. advice_doctor:item.advice_doctor,
  2258. advice_name:item.advice_name,
  2259. check_time:item.check_time,
  2260. checker:item.checker,
  2261. delivery_way:item.delivery_way,
  2262. execution_frequency:item.execution_frequency,
  2263. execution_staff:item.execution_staff,
  2264. execution_state:item.execution_state,
  2265. execution_time:item.execution_time,
  2266. frequency_type:item.frequency_type,
  2267. new_groupno:item.new_groupno,
  2268. advice_desc:item.advice_desc,
  2269. drug_spec_unit:item.drug_spec_unit,
  2270. prescribing_number:item.prescribing_number,
  2271. prescribing_number_unit:item.prescribing_number_unit,
  2272. single_dose:item.single_dose,
  2273. single_dose_unit:item.single_dose_unit,
  2274. parent_id:item.parent_id,
  2275. remark:item.remark,
  2276. }
  2277. }
  2278. })
  2279. let newArr = Object.values(objInfo);
  2280. if(newArr!=null && newArr.length >0){
  2281. for(let i=0;i<newArr.length;i++){
  2282. for(let j=0;j<this.doctor_advices.length;j++){
  2283. if(newArr[i].new_groupno == this.doctor_advices[j].new_groupno){
  2284. newArr[i].child.push(this.doctor_advices[j])
  2285. }
  2286. }
  2287. }
  2288. }
  2289. // console.log("newArrwowoow",newArr)
  2290. this.new_doctor_advice_list = []
  2291. this.new_doctor_advice_list.push(...newArr)
  2292. // console.log("newArrwowoow",this.new_doctor_advice_list)
  2293. }
  2294. }
  2295. }
  2296. console.log("新时间我哦我哦",this.doctor_advices)
  2297. //过滤口服药
  2298. if(this.org_id == 10265){
  2299. var docArr = []
  2300. if(this.doctor_advices!=null && this.doctor_advices.length>0){
  2301. for(let i=0;i<this.doctor_advices.length;i++){
  2302. if(this.doctor_advices[i].delivery_way!='口服' && this.doctor_advices[i].delivery_way!='中药口服'){
  2303. docArr.push(this.doctor_advices[i])
  2304. }
  2305. }
  2306. }
  2307. this.doctor_advices = []
  2308. this.doctor_advices = docArr
  2309. }
  2310. if (this.doctor_advices.length + this.projectsOne.length <= 6) {
  2311. var nl = 6 - (this.doctor_advices.length + this.projectsOne.length);
  2312. this.print_length = 6;
  2313. for (let index = 0; index < nl; index++) {
  2314. if (
  2315. this.projectsOne[index] == undefined ||
  2316. this.projectsOne[index].length <= 0
  2317. ) {
  2318. this.projectsOne.push([]);
  2319. } else {
  2320. continue;
  2321. }
  2322. }
  2323. }
  2324. this.totollength = this.doctor_advices.length + this.monitors.length;
  2325. console.log("this.totollength",this.totollength)
  2326. if (this.totollength > 18) {
  2327. var temp_advice_length = this.doctor_advices.length
  2328. var doctor_advices_1 = [];
  2329. var doctor_advices_2 = [];
  2330. for (let index = 0; index < this.doctor_advices.length; index++) {
  2331. const element = this.doctor_advices[index];
  2332. if (temp_advice_length > index) {
  2333. doctor_advices_1.push(element);
  2334. } else {
  2335. doctor_advices_2.push(element);
  2336. }
  2337. }
  2338. this.doctor_advices = doctor_advices_1;
  2339. this.doctor_advices_2 = doctor_advices_2;
  2340. }
  2341. // console.log(this.advice_groups);
  2342. console.log("医嘱列表=--=----------------------------------------------",this.doctor_advices)
  2343. } else {
  2344. this.loading = false;
  2345. this.$message.error("请求数据失败");
  2346. return false;
  2347. }
  2348. // })
  2349. },
  2350. getQuChong(tempArr) {
  2351. let result = [];
  2352. let obj = {};
  2353. for (let i = 0; i < tempArr.length; i++) {
  2354. if (!obj[tempArr[i].advice_name_str]) {
  2355. result.push(tempArr[i]);
  2356. obj[tempArr[i].advice_name_str] = true;
  2357. };
  2358. };
  2359. return result;
  2360. },
  2361. bloodAccessParOperaName(id) {
  2362. if (id in this.bloodAccessParOpera) {
  2363. return this.bloodAccessParOpera[id].name;
  2364. }
  2365. return "";
  2366. },
  2367. dialysateFormulationName(id) {
  2368. if (id in this.dialysateFormulationOptions) {
  2369. return this.dialysateFormulationOptions[id].name;
  2370. }
  2371. return "";
  2372. },
  2373. // getAge: function (val) {
  2374. // if (
  2375. // this.org_template_info.template_id == 2 ||
  2376. // this.org_template_info.template_id == 0
  2377. // ) {
  2378. // if (val.age == 0) {
  2379. // return jsGetAge(val.birth, "-");
  2380. // } else {
  2381. // return val.age;
  2382. // }
  2383. // } else {
  2384. // return this.getoldAge();
  2385. // }
  2386. // },
  2387. getAge: function(val) {
  2388. if (val.id_card_no) {
  2389. var thisLen = val.id_card_no.length
  2390. var birth = ''
  2391. if (thisLen == 15) {
  2392. birth = '19' + val.id_card_no.substr(6, 6)
  2393. } else {
  2394. birth = val.id_card_no.substr(6, 8)
  2395. }
  2396. var birthtwo =
  2397. birth.substr(0, 4) +
  2398. '-' +
  2399. birth.substr(4, 2) +
  2400. '-' +
  2401. birth.substr(6, 2)
  2402. if(this.org_id!=0&& this.org_id!=10460){
  2403. var age = jsGetAge(birthtwo, '-')
  2404. return age
  2405. }
  2406. if(this.org_id == 0 || this.org_id ==10460){
  2407. console.log("日期搜哦",this.schedule_date_one)
  2408. var strBirthdayArr = this.schedule_date_one.split("-")
  2409. console.log("strBirthdayArr",strBirthdayArr)
  2410. var yeaer = strBirthdayArr[0]
  2411. var month = strBirthdayArr[1]
  2412. var day = strBirthdayArr[2]
  2413. var age = jsGetAgeOne(birthtwo, '-',yeaer,month,day)
  2414. // console.log("agesssss",age)
  2415. return age
  2416. }
  2417. }
  2418. },
  2419. newAdviceGroupObject: function () {
  2420. return Object.assign(
  2421. {},
  2422. {
  2423. group_no: 0,
  2424. // advice_doctor: 0,
  2425. // start_time: 0,
  2426. advices: [],
  2427. // exec_staff: 0,
  2428. // exec_time: 0,
  2429. // checker: 0,
  2430. }
  2431. );
  2432. },
  2433. getFloat: function (x) {
  2434. if (x == 0) {
  2435. return "/";
  2436. }
  2437. if (x != ".") {
  2438. var f = Math.round(x * 100) / 100;
  2439. var s = f.toString();
  2440. var rs = s.indexOf(".");
  2441. if (rs <= 0) {
  2442. rs = s.length;
  2443. s += ".";
  2444. }
  2445. while (s.length <= rs + 1) {
  2446. s += "0";
  2447. }
  2448. return s;
  2449. } else {
  2450. return "0.0";
  2451. }
  2452. },
  2453. getshouji(id){
  2454. const options = this.anticoagulantsConfit
  2455. console.log('anticoagulantsConfit11111',id,options[id].shouji_unit);
  2456. if(id != 0){
  2457. for(let i in options){
  2458. if(id == options[i].id){
  2459. console.log('anticoagulantsConfit11111',id);
  2460. return options[i].shouji_unit
  2461. }
  2462. }
  2463. }else{
  2464. return ''
  2465. }
  2466. },
  2467. getweichi(id){
  2468. const options = this.anticoagulantsConfit
  2469. if(id != 0){
  2470. for(let i in options){
  2471. if(id == options[i].id){
  2472. return options[i].weichi_unit
  2473. }
  2474. }
  2475. }else{
  2476. return ''
  2477. }
  2478. },
  2479. getzongliang(id){
  2480. const options = this.anticoagulantsConfit
  2481. if(id != 0){
  2482. for(let i in options){
  2483. if(id == options[i].id){
  2484. return options[i].zongliang_unit
  2485. }
  2486. }
  2487. }else{
  2488. return ''
  2489. }
  2490. },
  2491. // 透析型号
  2492. getnumberlist(id){
  2493. const options = this.number_list
  2494. for(let i in options){
  2495. if(id == options[i].id){
  2496. return options[i].number_type
  2497. }
  2498. }
  2499. },
  2500. getcheckData(val){
  2501. if(val.length >0){
  2502. let message = `记录单未填数据:<br/>&nbsp;&nbsp;${val.join("<br/>&nbsp;&nbsp;")}`;
  2503. this.$confirm(message, '提示', {
  2504. confirmButtonText: '确定',
  2505. cancelButtonText: '取消',
  2506. type: 'warning',
  2507. dangerouslyUseHTMLString: true,
  2508. })
  2509. return message
  2510. }else{
  2511. this.$message.success('核对完成')
  2512. }
  2513. },
  2514. calculateAge(idNumber,created_time) {
  2515. var year = this.getTimeOne(created_time)
  2516. var month = this.getTimeTwo(created_time)
  2517. var day = this.getTimeThree(created_time)
  2518. console.log("start_time=====",year)
  2519. // 假设身份证号码是18位,且生日在第7位到第14位
  2520. const birthYear = parseInt(idNumber.substring(6, 10), 10);
  2521. const birthMonth = parseInt(idNumber.substring(10, 12), 10);
  2522. const birthDay = parseInt(idNumber.substring(12, 14), 10);
  2523. const today = new Date();
  2524. // console.log("today============",today)
  2525. var ageYear = year - birthYear;
  2526. let ageMonth = month - birthMonth; // 月份是从0开始的
  2527. let ageDay = day - birthDay;
  2528. // 调整月份和日期,以便于正确计算
  2529. if (ageDay < 0) {
  2530. ageMonth -= 1;
  2531. // 获取上个月的天数
  2532. const pastMonthDay = new Date(year,month, 0).getDate();
  2533. ageDay += pastMonthDay;
  2534. }
  2535. if (ageMonth < 0) {
  2536. ageYear -= 1;
  2537. ageMonth += 12;
  2538. }
  2539. return ageYear
  2540. },
  2541. // getTime(val) {
  2542. // return uParseTime(val, "{y}年{m}月{d}日");
  2543. // },
  2544. getTimeOne(val) {
  2545. return uParseTime(val, "{y}");
  2546. },
  2547. getTimeTwo(val) {
  2548. return uParseTime(val, "{m}");
  2549. },
  2550. getTimeThree(val) {
  2551. return uParseTime(val, "{h}");
  2552. },
  2553. calculateAge(idNumber,created_time) {
  2554. var year = this.getTimeOne(created_time)
  2555. var month = this.getTimeTwo(created_time)
  2556. var day = this.getTimeThree(created_time)
  2557. console.log("start_time=====",year)
  2558. // 假设身份证号码是18位,且生日在第7位到第14位
  2559. const birthYear = parseInt(idNumber.substring(6, 10), 10);
  2560. const birthMonth = parseInt(idNumber.substring(10, 12), 10);
  2561. const birthDay = parseInt(idNumber.substring(12, 14), 10);
  2562. const today = new Date();
  2563. // console.log("today============",today)
  2564. var ageYear = year - birthYear;
  2565. let ageMonth = month - birthMonth; // 月份是从0开始的
  2566. let ageDay = day - birthDay;
  2567. // 调整月份和日期,以便于正确计算
  2568. if (ageDay < 0) {
  2569. ageMonth -= 1;
  2570. // 获取上个月的天数
  2571. const pastMonthDay = new Date(year,month, 0).getDate();
  2572. ageDay += pastMonthDay;
  2573. }
  2574. if (ageMonth < 0) {
  2575. ageYear -= 1;
  2576. ageMonth += 12;
  2577. }
  2578. return ageYear
  2579. },
  2580. // getmonitor(){
  2581. // const options = this.monitors
  2582. // console.log('1111111111',this.monitors,this.dialysisOrder.end_time);
  2583. // if(this.dialysisOrder.end_time !=''){
  2584. // for(let i in options){
  2585. // console.log('222222',options[i].operate_time==this.dialysisOrder.end_time);
  2586. // if(options[i].operate_time == this.dialysisOrder.end_time){
  2587. // console.log('444445555',options[i].ultrafiltration_volume);
  2588. // return options[i].ultrafiltration_volume
  2589. // }
  2590. // }
  2591. // }
  2592. // // for(v-for="(monitor, monindex) in monitors" :key="monindex" style="")
  2593. // }
  2594. },
  2595. watch: {
  2596. "patientInfo.gender": function () {
  2597. if (this.patientInfo.gender == 1) {
  2598. this.patientInfo_gender_1 = true;
  2599. this.patientInfo_gender_2 = false;
  2600. } else if (this.patientInfo.gender == 2) {
  2601. this.patientInfo_gender_2 = true;
  2602. this.patientInfo_gender_1 = false;
  2603. } else {
  2604. this.patientInfo_gender_2 = false;
  2605. this.patientInfo_gender_1 = false;
  2606. }
  2607. },
  2608. "patientInfo.source": function () {
  2609. if (this.patientInfo.source == 1) {
  2610. this.patientInfo_source_1 = true;
  2611. this.patientInfo_source_2 = false;
  2612. } else if (this.patientInfo.source == 2) {
  2613. this.patientInfo_source_2 = true;
  2614. this.patientInfo_source_1 = false;
  2615. } else {
  2616. this.patientInfo_source_2 = false;
  2617. this.patientInfo_source_1 = false;
  2618. }
  2619. },
  2620. },
  2621. created() {
  2622. this.way_arr = getDataConfig("hemodialysis", "way");
  2623. this.consciousness_arr = getDataConfig("hemodialysis", "consciousness");
  2624. this.appetite_arr = getDataConfig("hemodialysis", "appetite");
  2625. this.posture_arr = getDataConfig("hemodialysis", "posture");
  2626. this.sick_condition_arr = getDataConfig("hemodialysis", "sick_condition");
  2627. this.precaution_arr = getDataConfig("hemodialysis", "precaution");
  2628. this.intake_arr = getDataConfig("hemodialysis", "intake");
  2629. this.nutrition_arr = getDataConfig("hemodialysis", "nutrition");
  2630. var xtuser = this.$store.getters.xt_user;
  2631. this.orgname = xtuser.org.org_name;
  2632. // this.orgname = "遂溪方济医院";
  2633. this.modeOptions = this.$store.getters.treatment_mode;
  2634. this.replacementWays = this.$store.getters.replacement_ways;
  2635. this.perfusionApparatus = this.$store.getters.perfusion_apparatus;
  2636. this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
  2637. this.displaceLiquiPartOptions = this.$store.getters.displace_liqui;
  2638. this.blood_access_part = getDataConfig("hemodialysis", "vascular_access");
  2639. console.log('this.modeOptions',this.anticoagulantsConfit);
  2640. this.blood_access_part_opera = getDataConfig(
  2641. "hemodialysis",
  2642. "vascular_access_desc"
  2643. );
  2644. this.org_id = this.$store.getters.xt_user.org.id;
  2645. // this.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
  2646. var bloodAccessParOpera = getDataConfig(
  2647. "hemodialysis",
  2648. "vascular_access_desc"
  2649. );
  2650. for (var key in bloodAccessParOpera) {
  2651. this.bloodAccessParOpera[bloodAccessParOpera[key].id] =
  2652. bloodAccessParOpera[key];
  2653. }
  2654. var dialysateFormulationOptions = getDataConfig(
  2655. "hemodialysis",
  2656. "dialysate_formulation"
  2657. );
  2658. for (var key in dialysateFormulationOptions) {
  2659. this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] =
  2660. dialysateFormulationOptions[key];
  2661. }
  2662. const xtdate = this.$route.query && this.$route.query.xtdate;
  2663. // console.log("xtdate", xtdate);
  2664. const xtno = this.$route.query && this.$route.query.xtno;
  2665. // console.log("xtno", xtno);
  2666. if (
  2667. typeof xtdate === "string" &&
  2668. xtdate.length > 0 &&
  2669. typeof xtno === "string" &&
  2670. xtno.length > 0
  2671. ) {
  2672. this.queryParams.xtdate = xtdate;
  2673. this.queryParams.xtno = xtno;
  2674. this.getDialysisRecord();
  2675. } else {
  2676. this.$message.error("参数不齐");
  2677. return false;
  2678. }
  2679. },
  2680. };
  2681. </script>
  2682. <style>
  2683. .print_page_main_content {
  2684. background-color: white;
  2685. width: 960px;
  2686. margin: 0 auto 50px;
  2687. padding: 0 0 0 0;
  2688. page-break-after: always;
  2689. }
  2690. .print_page_main_content .order-yy-name {
  2691. margin: auto;
  2692. text-align: center;
  2693. font-size: 20px;
  2694. letter-spacing: 5px;
  2695. }
  2696. .dialysis-print-order .order-title {
  2697. margin: auto;
  2698. font-weight: 600;
  2699. text-align: center;
  2700. font-size: 22px;
  2701. padding: 10px;
  2702. }
  2703. .print_page_main_content .order_title {
  2704. text-align: center;
  2705. font-size: 23px;
  2706. line-height: 50px;
  2707. font-weight: 500;
  2708. }
  2709. .row {
  2710. font-size: 14px;
  2711. line-height: 20px;
  2712. padding: 5px 0;
  2713. }
  2714. .inline_block {
  2715. display: inline-block;
  2716. }
  2717. .under_line_two {
  2718. display: inline-block;
  2719. border-bottom: 1px solid #999;
  2720. text-align: left;
  2721. white-space: nowrap;
  2722. width: 50%;
  2723. }
  2724. /* .under_line_two::before {
  2725. content: "\00A0";
  2726. }
  2727. .under_line_two::after {
  2728. content: "\00A0";
  2729. } */
  2730. .under_line {
  2731. display: inline-block;
  2732. border-bottom: 1px solid #999;
  2733. text-align: center;
  2734. white-space: nowrap;
  2735. width: 50%;
  2736. }
  2737. /* .under_line::before {
  2738. content: "\00A0";
  2739. }
  2740. .under_line::after {
  2741. content: "\00A0";
  2742. } */
  2743. .flex {
  2744. display: -webkit-box;
  2745. display: -moz-box;
  2746. display: -ms-flexbox;
  2747. display: -webkit-flex;
  2748. display: flex;
  2749. align-items: center;
  2750. -webkit-align-items: center;
  2751. box-align: center;
  2752. -moz-box-align: center;
  2753. -webkit-box-align: center;
  2754. text-align: center;
  2755. -webkit-justify-content: space-between;
  2756. justify-content: space-between;
  2757. -moz-box-pack: space-between;
  2758. -webkit--moz-box-pack: space-between;
  2759. box-pack: space-between;
  2760. }
  2761. .print_page_main_content .proj_table {
  2762. width: 100%;
  2763. border: 1px solid;
  2764. border-collapse: collapse;
  2765. padding: 2px;
  2766. }
  2767. .print_page_main_content .proj_table tbody tr td {
  2768. border: 1px solid;
  2769. /* text-align: center; */
  2770. font-size: 16px;
  2771. padding: 5px 8px;
  2772. line-height: 30px;
  2773. }
  2774. .print_page_main_content .proj_table .inside_table {
  2775. width: 100%;
  2776. border: hidden; /* 解决边框冲突 */
  2777. border-collapse: collapse;
  2778. }
  2779. .print_page_main_content .proj_table .inside_table tr td {
  2780. border: 1px solid;
  2781. text-align: center;
  2782. font-size: 14px;
  2783. padding: 0px 5px;
  2784. line-height: 16px;
  2785. }
  2786. .print-table-no {
  2787. width: 100%;
  2788. text-align: center;
  2789. border-collapse: collapse;
  2790. font-size: 14px;
  2791. }
  2792. .es-img {
  2793. height: 20px;
  2794. }
  2795. .advice-name {
  2796. text-align: left !important;
  2797. line-height: 16px !important;
  2798. }
  2799. .advice-children {
  2800. display: flex;
  2801. }
  2802. .margin-bottom-50 {
  2803. }
  2804. .margin-bottom-300 {
  2805. margin-bottom: 450px;
  2806. }
  2807. .margin-bottom-600 {
  2808. margin-bottom: 600px;
  2809. }
  2810. .margin-bottom-900 {
  2811. margin-bottom: 900px;
  2812. }
  2813. .print-yema {
  2814. position: absolute;
  2815. left: 50%;
  2816. }
  2817. .print-yema2 {
  2818. position: absolute;
  2819. left: 50%;
  2820. }
  2821. .print-yema3 {
  2822. position: absolute;
  2823. left: 50%;
  2824. }
  2825. .print-yema4 {
  2826. position: absolute;
  2827. left: 50%;
  2828. }
  2829. .check_box_panel .did_checke::after {
  2830. font-size: 8px;
  2831. margin-left: 2px;
  2832. margin-top: 2px;
  2833. position: absolute;
  2834. }
  2835. </style>