DialysisPrintOrdereighty.vue 112KB

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