血透系统pad前端

ThorougDialog.vue 56KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694
  1. <template>
  2. <div>
  3. <div v-if="isShowDialog" class="Dialog">
  4. <div class="DialogTit">
  5. <span @click="close()" class="iconfont">&#xe6e9;</span>
  6. <h1 class="name">透后评估</h1>
  7. <span @click="commitInfo" class="success">保存</span>
  8. </div>
  9. <div class="DialogContent" id="dialogTop">
  10. <div @click="openPicker" class="item" v-if="isShow('实际治疗时长')">
  11. <h2 class="name">实际治疗时长</h2>
  12. <div class="content">
  13. <span class="text" style="width: 100px">{{timeValue}}</span>
  14. <span class="iconfont">&#xe6f9;</span>
  15. </div>
  16. </div>
  17. <div class="item" v-if="isShow('实际超滤量')">
  18. <label v-if="template_id == 6" class="name" for="sjcll">实际超滤量(ml)</label>
  19. <label v-else class="name" for="sjcll">实际超滤量(L)</label>
  20. <div class="content">
  21. <input
  22. type="number"
  23. id="sjcll"
  24. v-model="formValue.actual_ultrafiltration"
  25. />
  26. </div>
  27. </div>
  28. <div class="item" v-if="isShow('透后体重')">
  29. <label class="name" for="sjcll">透后体重(kg)</label>
  30. <div class="content">
  31. <input
  32. type="number"
  33. @click="newClick($event)"
  34. @focus="inputFocus"
  35. id="sjcll"
  36. v-model="formValue.weight_after"
  37. />
  38. </div>
  39. </div>
  40. <div class="item" v-if="this.$store.getters.user.template_info.template_id == 6">
  41. <label class="name" for="sjcll">透后净体重(kg)</label>
  42. <div class="content">
  43. <input
  44. type="number"
  45. readonly
  46. disabled="disabled"
  47. id="sjcll"
  48. v-model="body_weight_after"
  49. />
  50. </div>
  51. </div>
  52. <div class="item" v-if="isShow('衣物重')">
  53. <label class="name" for="sjcll">衣物重(kg)</label>
  54. <div class="content">
  55. <input
  56. type="number"
  57. @click="newClick($event)"
  58. @focus="inputFocus"
  59. id="sjcll"
  60. v-model="formValue.additional_weight"
  61. />
  62. </div>
  63. </div>
  64. <!--<div class=item" v-if="isShow('透后体重')">-->
  65. <!--<label class="name" for="thtz">透后体重(kg)</label>-->
  66. <!--<div class="content">-->
  67. <!--<input type="tel" @focus="inputFocus" id="thtz" v-model="formValue.weight_after"/>-->
  68. <!--</div>-->
  69. <!--</div>-->
  70. <div @click="showSubMenu('cruor')" class="item" ref="cruor" v-if="isShow('透析器凝血')">
  71. <label class="name" for="nx">透析器凝血</label>
  72. <div class="content">
  73. <span class="text" id="nx" style="width: 100px">{{formValue.cruor}}</span>
  74. <span class="iconfont">&#xe6f9;</span>
  75. </div>
  76. </div>
  77. <div
  78. class="item"
  79. v-if="isShow('拔针后穿刺点渗血')"
  80. @click="showSubMenu('puncture_point_oozing_blood')"
  81. >
  82. <h2 class="name">拔针后穿刺点渗血</h2>
  83. <div class="content">
  84. <!--<span class="text" style="width: 50px;"><div style="padding-top: 0.08rem; height: 0.8rem;">-->
  85. <!--<van-switch v-model="puncture_point_oozing_blood_state" @change="puncturePointOozingBlood"/></div></span>-->
  86. <div class="content">
  87. <span
  88. v-if="formValue.puncture_point_oozing_blood == 0"
  89. class="text"
  90. style="width: 50px"
  91. ></span>
  92. <span
  93. v-if="formValue.puncture_point_oozing_blood == 1"
  94. class="text"
  95. style="width: 50px"
  96. >有</span>
  97. <span
  98. v-if="formValue.puncture_point_oozing_blood == 2"
  99. class="text"
  100. style="width: 50px"
  101. >无</span>
  102. <span class="iconfont">&#xe6f9;</span>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="item" v-if="isShow('穿刺处血肿')" @click="showSubMenu('puncture_point_haematoma')">
  107. <h2 class="name">穿刺处血肿</h2>
  108. <div class="content">
  109. <span v-if="formValue.puncture_point_haematoma == 0" class="text" style="width: 50px"></span>
  110. <span v-if="formValue.puncture_point_haematoma == 1" class="text" style="width: 50px">有</span>
  111. <span v-if="formValue.puncture_point_haematoma == 2" class="text" style="width: 50px">无</span>
  112. <span class="iconfont">&#xe6f9;</span>
  113. </div>
  114. </div>
  115. <div
  116. @click="showSubMenu('internal_fistula_tremor_ac')"
  117. class="item"
  118. ref="internal_fistula_tremor_ac"
  119. v-if="isShow('压迫后内瘘震颤')"
  120. >
  121. <label class="name" for="internal_fistula_tremor_ac">压迫后内瘘震颤</label>
  122. <div class="content">
  123. <span
  124. class="text"
  125. id="internal_fistula_tremor_ac"
  126. style="width: 50px"
  127. >{{GetIFTAValue(formValue.internal_fistula_tremor_ac)}}</span>
  128. <span class="iconfont">&#xe6f9;</span>
  129. </div>
  130. </div>
  131. <div
  132. @click="showSubMenu('complication')"
  133. class="item"
  134. ref="complication"
  135. v-if="isShow('并发症')"
  136. >
  137. <label class="name" for="bfz">并发症</label>
  138. <div class="content">
  139. <span class="text" id="bfz" style="width: 50px">{{formValue.complication}}</span>
  140. <span class="iconfont">&#xe6f9;</span>
  141. </div>
  142. </div>
  143. <div
  144. @click="showSubMenu('patient_gose')"
  145. class="item"
  146. ref="patient_gose"
  147. v-if="isShow('患者去向')"
  148. >
  149. <label class="name" for="patient_gose">患者去向</label>
  150. <div class="content">
  151. <span
  152. class="text"
  153. id="patient_gose"
  154. style="width: 50px"
  155. >{{GetPatientGoes(formValue.patient_gose)}}</span>
  156. <span class="iconfont">&#xe6f9;</span>
  157. </div>
  158. </div>
  159. <div class="item" v-if="formValue.patient_gose==3&&isShow('科室')">
  160. <label class="name" for="inpatient_department">科室</label>
  161. <div class="content">
  162. <input
  163. type="text"
  164. @focus="inputFocus"
  165. id="inpatient_department"
  166. v-model="formValue.inpatient_department"
  167. />
  168. </div>
  169. </div>
  170. <div
  171. @click="showSubMenu('observation_content')"
  172. class="item"
  173. ref="observation_content"
  174. v-if="formValue.patient_gose==3&&isShow('交待病房护士/患者/陪人观察内容')"
  175. >
  176. <label class="name" for="observation_content">交待病房护士/患者/陪人观察内容</label>
  177. <div class="content">
  178. <span
  179. class="text"
  180. id="observation_content"
  181. style="width: 50px"
  182. >{{formValue.observation_content}}</span>
  183. <span class="iconfont">&#xe6f9;</span>
  184. </div>
  185. </div>
  186. <div class="item" v-if="formValue.patient_gose==3&&isShow('其他观察内容')">
  187. <label class="name" for="observation_content_other">其他观察内容</label>
  188. <div class="content">
  189. <input
  190. type="text"
  191. @focus="inputFocus"
  192. id="observation_content_other"
  193. v-model="formValue.observation_content_other"
  194. />
  195. </div>
  196. </div>
  197. <div class="line"></div>
  198. <!--<div class="item">-->
  199. <!--<label class="name" for="sjzhl">实际置换量(L)</label>-->
  200. <!--<div class="content">-->
  201. <!--<input type="tel" @focus="inputFocus" id="sjzhl" v-model="formValue.actual_displacement"/>-->
  202. <!--&lt;!&ndash;<span class="text">HD</span>&ndash;&gt;-->
  203. <!--&lt;!&ndash;<span class="iconfont">&#xe6f9;</span>&ndash;&gt;-->
  204. <!--</div>-->
  205. <!--</div>-->
  206. <div class="item" v-if="isShow('体重减少')">
  207. <label class="name" for="tzjs">体重减少(kg)</label>
  208. <div class="content">
  209. <input
  210. type="number"
  211. @click="newClick($event)"
  212. @focus="inputFocus"
  213. id="tzjs"
  214. v-model="formValue.weight_loss"
  215. />
  216. <!--<span class="text">1</span>-->
  217. <!--<span class="iconfont">&#xe6f9;</span>-->
  218. </div>
  219. </div>
  220. <div class="item" v-if="isShow('体温')">
  221. <label class="name" for="tw">体温(℃)</label>
  222. <div class="content">
  223. <input
  224. type="number"
  225. @click="newClick($event)"
  226. @focus="inputFocus"
  227. id="tw"
  228. v-model="formValue.temperature"
  229. />
  230. <!--<span class="text">HD</span>-->
  231. <!--<span class="iconfont">&#xe6f9;</span>-->
  232. </div>
  233. </div>
  234. <div class="item" v-if="isShow('收缩压')">
  235. <label class="name" for="ssy">收缩压(mmHg)</label>
  236. <div class="content">
  237. <input
  238. type="number"
  239. @click="newClick($event)"
  240. @focus="inputFocus"
  241. id="ssy"
  242. v-model="formValue.systolic_blood_pressure"
  243. />
  244. <!--<span class="text">HD</span>-->
  245. <!--<span class="iconfont">&#xe6f9;</span>-->
  246. </div>
  247. </div>
  248. <div class="item" v-if="isShow('舒张压')">
  249. <label class="name" for="szy">舒张压(mmHg)</label>
  250. <div class="content">
  251. <input
  252. type="number"
  253. @click="newClick($event)"
  254. @focus="inputFocus"
  255. id="szy"
  256. v-model="formValue.diastolic_blood_pressure"
  257. />
  258. <!--<span class="text">HD</span>-->
  259. <!--<span class="iconfont">&#xe6f9;</span>-->
  260. </div>
  261. </div>
  262. <div class="item" v-if="isShow('呼吸频率')">
  263. <label class="name" for="ml">呼吸频率(次/min)</label>
  264. <div class="content">
  265. <input
  266. type="number"
  267. @click="newClick($event)"
  268. @focus="inputFocus"
  269. id="ml"
  270. v-model="formValue.breathing_rate"
  271. />
  272. <!--<span class="text">HD</span>-->
  273. <!--<span class="iconfont">&#xe6f9;</span>-->
  274. </div>
  275. </div>
  276. <div class="item" v-if="isShow('脉搏')">
  277. <label class="name" for="ml">脉搏(次/分)</label>
  278. <div class="content">
  279. <input
  280. type="number"
  281. @click="newClick($event)"
  282. @focus="inputFocus"
  283. id="ml"
  284. v-model="formValue.pulse_frequency"
  285. />
  286. <!--<span class="text">HD</span>-->
  287. <!--<span class="iconfont">&#xe6f9;</span>-->
  288. </div>
  289. </div>
  290. <div
  291. @click="showSubMenu('symptom_after_dialysis')"
  292. class="item"
  293. ref="symptom_after_dialysis"
  294. v-if="isShow('透后症状')"
  295. >
  296. <label class="name" for="thzz">透后症状</label>
  297. <div class="content">
  298. <span class="text" id="thzz" style="width: 100px">{{formValue.symptom_after_dialysis}}</span>
  299. <span class="iconfont">&#xe6f9;</span>
  300. </div>
  301. </div>
  302. <div
  303. @click="showSubMenu('dialysis_intakes')"
  304. class="item"
  305. ref="dialysis_intakes"
  306. v-if="isShow('透析中入量')"
  307. >
  308. <label class="name" for="txz">透析中入量</label>
  309. <div class="content">
  310. <input
  311. type="number"
  312. @click="newClick($event)"
  313. @focus="inputFocus"
  314. id="txz"
  315. v-model="formValue.dialysis_intakes"
  316. />
  317. <!--<span class="text" style="width: 100px">{{formValue.dialysis_intakes}}</span>-->
  318. <!--<span class="iconfont">&#xe6f9;</span>-->
  319. </div>
  320. </div>
  321. <div
  322. @click="showSubMenu('dialysis_intakes_unit')"
  323. class="item"
  324. ref="dialysis_intakes_unit"
  325. v-if="isShow('透析中入量单位')"
  326. >
  327. <label class="name" for="txz">透析中入量单位</label>
  328. <div class="content">
  329. <span class="text" id="dg">{{getUnit(formValue.dialysis_intakes_unit)}}</span>
  330. <span class="iconfont">&#xe6f9;</span>
  331. </div>
  332. </div>
  333. <div
  334. @click="showSubMenu('internal_fistula')"
  335. class="item"
  336. ref="internal_fistula"
  337. v-if="isShow('内瘘')"
  338. >
  339. <label class="name" for="dg">内瘘</label>
  340. <div class="content">
  341. <span class="text" id="dg">{{formValue.internal_fistula}}</span>
  342. <span class="iconfont">&#xe6f9;</span>
  343. </div>
  344. </div>
  345. <div class="line"></div>
  346. <div
  347. @click="showSubMenu('blood_access_part')"
  348. class="item"
  349. ref="blood_access_part"
  350. v-if="isShow('血管通路部位')"
  351. >
  352. <label class="name" for="xgtl">血管通路部位</label>
  353. <div class="content">
  354. <span class="text" id="xgtl">{{QueryPartById(formValue.blood_access_part_id)}}</span>
  355. <span class="iconfont">&#xe6f9;</span>
  356. </div>
  357. </div>
  358. <div
  359. @click="showSubMenu('blood_access_opera')"
  360. class="item"
  361. ref="blood_access_opera"
  362. v-if="isShow('血管通路操作')"
  363. >
  364. <label class="name" for="xgtlcz">血管通路操作</label>
  365. <div class="content">
  366. <span class="text" id="xgtlcz">{{QueryOperaById(formValue.blood_access_part_opera_id)}}</span>
  367. <span class="iconfont">&#xe6f9;</span>
  368. </div>
  369. </div>
  370. <div class="line"></div>
  371. <div @click="showSubMenu('catheter')" class="item" ref="catheter" v-if="isShow('导管')">
  372. <label class="name" for="dg">导管</label>
  373. <div class="content">
  374. <span class="text" id="dg">{{formValue.catheter}}</span>
  375. <span class="iconfont">&#xe6f9;</span>
  376. </div>
  377. </div>
  378. <div class="line"></div>
  379. <div
  380. @click="showSubMenu('dialysis_process')"
  381. class="item"
  382. ref="dialysis_process"
  383. v-if="isShow('透析过程')"
  384. >
  385. <label class="name" for="dg">透析过程</label>
  386. <div class="content">
  387. <span class="text" id="dg">{{getDialysisProcess(formValue.dialysis_process)}}</span>
  388. <span class="iconfont">&#xe6f9;</span>
  389. </div>
  390. </div>
  391. <div
  392. class="item"
  393. ref="in_advance_minute"
  394. v-if="formValue.dialysis_process == 2 && isShow('透析过程提前时间') "
  395. >
  396. <label class="name" for="dg">透析过程提前时间(min)</label>
  397. <div class="content">
  398. <input
  399. type="number"
  400. @click="newClick($event)"
  401. @focus="inputFocus"
  402. id="txz"
  403. v-model="formValue.in_advance_minute"
  404. />
  405. </div>
  406. </div>
  407. <div
  408. @click="showSubMenu('in_advance_reason')"
  409. class="item"
  410. ref="in_advance_reason"
  411. v-if="formValue.dialysis_process == 2 && isShow('透析过程提前原因')"
  412. >
  413. <label class="name" for="dg">透析过程提前原因</label>
  414. <div class="content">
  415. <span class="text" id="dg">{{formValue.in_advance_reason}}</span>
  416. <span class="iconfont">&#xe6f9;</span>
  417. </div>
  418. </div>
  419. <div
  420. class="item"
  421. ref="in_advance_reason_other"
  422. v-if="formValue.dialysis_process == 2 && isShow('透析过程提前其他原因')"
  423. >
  424. <label class="name" for="dg">透析过程提前其他原因</label>
  425. <div class="content">
  426. <input
  427. @click="newClick($event)"
  428. @focus="inputFocus"
  429. id="txz"
  430. v-model="formValue.in_advance_reason_other"
  431. />
  432. </div>
  433. </div>
  434. <div class="item" ref="hemostasis_minute" v-if="isShow('内瘘管拔针后压迫止血时间')">
  435. <label class="name" for="dg">内瘘管拔针后压迫止血时间(min)</label>
  436. <div class="content">
  437. <input
  438. type="number"
  439. @click="newClick($event)"
  440. @focus="inputFocus"
  441. id="txz"
  442. v-model="formValue.hemostasis_minute"
  443. />
  444. </div>
  445. </div>
  446. <div
  447. @click="showSubMenu('hemostasis_opera')"
  448. class="item"
  449. ref="hemostasis_opera"
  450. v-if="isShow('内瘘管拔针后压迫止血操作')"
  451. >
  452. <label class="name" for="dg">内瘘管拔针后压迫止血操作</label>
  453. <div class="content">
  454. <span class="text" id="dg">{{getOpera(formValue.hemostasis_opera)}}</span>
  455. <span class="iconfont">&#xe6f9;</span>
  456. </div>
  457. </div>
  458. <div
  459. @click="showSubMenu('tremor_noise')"
  460. class="item"
  461. ref="tremor_noise"
  462. v-if="isShow('内瘘震颤和血管杂音')"
  463. >
  464. <label class="name" for="dg">内瘘震颤和血管杂音</label>
  465. <div class="content">
  466. <span class="text" id="dg">{{getTremorNoise(formValue.tremor_noise)}}</span>
  467. <span class="iconfont">&#xe6f9;</span>
  468. </div>
  469. </div>
  470. <div
  471. @click="showSubMenu('disequilibrium_syndrome')"
  472. class="item"
  473. ref="disequilibrium_syndrome"
  474. v-if="isShow('失衡综合症')"
  475. >
  476. <label class="name" for="dg">失衡综合症</label>
  477. <div class="content">
  478. <span
  479. class="text"
  480. id="dg"
  481. >{{getDisequilibriumSyndrome(formValue.disequilibrium_syndrome)}}</span>
  482. <span class="iconfont">&#xe6f9;</span>
  483. </div>
  484. </div>
  485. <div
  486. @click="showSubMenu('disequilibrium_syndrome_option')"
  487. class="item"
  488. ref="disequilibrium_syndrome_option"
  489. v-if="formValue.disequilibrium_syndrome == 2 && isShow('失衡综合症症状')"
  490. >
  491. <label class="name" for="dg">失衡综合症症状</label>
  492. <div class="content">
  493. <span class="text" id="dg">{{formValue.disequilibrium_syndrome_option}}</span>
  494. <span class="iconfont">&#xe6f9;</span>
  495. </div>
  496. </div>
  497. <div
  498. @click="showSubMenu('arterial_tube')"
  499. class="item"
  500. ref="arterial_tube"
  501. v-if="isShow('动脉管道')"
  502. >
  503. <label class="name" for="dg">动脉管道</label>
  504. <div class="content">
  505. <span class="text" id="dg">{{getArterialTubeName(formValue.arterial_tube)}}</span>
  506. <span class="iconfont">&#xe6f9;</span>
  507. </div>
  508. </div>
  509. <div
  510. @click="showSubMenu('intravenous_tube')"
  511. class="item"
  512. ref="intravenous_tube"
  513. v-if="isShow('静脉管道')"
  514. >
  515. <label class="name" for="dg">静脉管道</label>
  516. <div class="content">
  517. <span class="text" id="dg">{{getIntravenousTubeName(formValue.intravenous_tube)}}</span>
  518. <span class="iconfont">&#xe6f9;</span>
  519. </div>
  520. </div>
  521. <div @click="showSubMenu('dialyzer')" class="item" ref="dialyzer" v-if="isShow('透析器')">
  522. <label class="name" for="dg">透析器</label>
  523. <div class="content">
  524. <span class="text" id="dg">{{getDialyzer(formValue.dialyzer)}}</span>
  525. <span class="iconfont">&#xe6f9;</span>
  526. </div>
  527. </div>
  528. <div class="item" v-if="isShow('透析期间进食')" @click="showSubMenu('is_eat')" ref="is_eat">
  529. <h2 class="name">透析期间进食</h2>
  530. <div class="content">
  531. <span v-if="formValue.is_eat == 0" class="text" style="width: 50px"></span>
  532. <span v-if="formValue.is_eat == 1" class="text" style="width: 50px">有</span>
  533. <span v-if="formValue.is_eat == 2" class="text" style="width: 50px">无</span>
  534. <span class="iconfont">&#xe6f9;</span>
  535. </div>
  536. </div>
  537. <!-- <div class="line"></div> -->
  538. <div>
  539. <div class="item">
  540. <label class="name" for="bz">备注</label>
  541. <div class="content">
  542. <span class="text"></span>
  543. </div>
  544. </div>
  545. <textarea
  546. @focus="lastInputFocus"
  547. @blur="lastInputBlur"
  548. class="textarea"
  549. id="bz"
  550. placeholder="请输入内容"
  551. v-model="formValue.remark"
  552. ></textarea>
  553. </div>
  554. </div>
  555. </div>
  556. <!--<two-menu title="二级菜单" v-show="true" ></two-menu>-->
  557. <check-box-sub-menu
  558. :visibility="visibility"
  559. v-on:menu-cancle="menuCancle"
  560. v-on:menu-comfirm="menuComfirm"
  561. v-on:menu-empty="menuEmpty"
  562. :propsForm="propForm"
  563. ></check-box-sub-menu>
  564. <mt-datetime-picker
  565. ref="picker"
  566. type="time"
  567. hourFormat="{value}小时"
  568. minuteFormat="{value}分钟"
  569. @confirm="handleTimeConfirm"
  570. v-model="time"
  571. ></mt-datetime-picker>
  572. </div>
  573. </template>
  574. <script>
  575. // import TwoMenu from "./TwoMenu";
  576. import CheckBoxSubMenu from './subMenu/checkBoxSubMenu'
  577. import { commitAssessmentAfterDislysis } from '@/api/dialysis'
  578. import { Toast } from 'vant'
  579. import { getDataConfig } from '@/utils/data'
  580. export default {
  581. name: 'PrescriptionDialog',
  582. props: {
  583. record: {
  584. type: Object
  585. },
  586. last_record: {
  587. type: Object
  588. },
  589. patient_prop: {
  590. type: Object
  591. },
  592. predialysis: {
  593. type: Object
  594. }
  595. },
  596. data () {
  597. return {
  598. puncture_point_oozing_blood_state: false,
  599. puncture_point_haematoma_state: false,
  600. eat_state: false,
  601. template_id: 0,
  602. isShowDialog: true,
  603. time: '00:00',
  604. body_weight_after: '',
  605. puncture_point_oozing_bloods: [
  606. { id: 1, name: '有' },
  607. { id: 2, name: '无' }
  608. ],
  609. puncture_point_haematomas: [{ id: 1, name: '有' }, { id: 2, name: '无' }],
  610. eat: [{ id: 1, name: '有' }, { id: 2, name: '无' }],
  611. unit: [{ id: 1, name: 'g' }, { id: 2, name: 'ml' }],
  612. // sub menu prop
  613. visibility: false,
  614. propForm: {
  615. title: '',
  616. list: [],
  617. optionList: [],
  618. isMultiple: 2,
  619. result: [], // 选中的值
  620. type: 1, // 用来区分不同子菜单,方便对返回值进行赋值
  621. selectId: 0,
  622. isHasOther: 1
  623. },
  624. timeValue: '',
  625. formValue: {
  626. weight_after: '',
  627. weight_loss: '',
  628. additional_weight: '',
  629. temperature: '',
  630. systolic_blood_pressure: '',
  631. diastolic_blood_pressure: '',
  632. pulse_frequency: '',
  633. cruor: '',
  634. symptom_after_dialysis: '',
  635. dialysis_intakes: '',
  636. catheter: '',
  637. complication: '',
  638. puncture_point_oozing_blood: '',
  639. puncture_point_haematoma: '',
  640. remark: '',
  641. blood_access_part_id: 0,
  642. blood_access_part_opera_id: 0,
  643. actual_ultrafiltration: '',
  644. actual_displacement: '',
  645. actual_treatment_hour: '',
  646. actual_treatment_minute: '',
  647. internal_fistula: '',
  648. internal_fistula_tremor_ac: '',
  649. patient_gose: '',
  650. inpatient_department: '',
  651. observation_content: '',
  652. observation_content_other: '',
  653. dialysis_process: '',
  654. in_advance_minute: '',
  655. in_advance_reason: '',
  656. in_advance_reason_other: '',
  657. hemostasis_minute: '',
  658. hemostasis_opera: '',
  659. tremor_noise: '',
  660. disequilibrium_syndrome: '',
  661. disequilibrium_syndrome_option: '',
  662. arterial_tube: '',
  663. intravenous_tube: '',
  664. dialyzer: '',
  665. is_eat: '',
  666. breathing_rate: '',
  667. dialysis_intakes_unit: 0
  668. },
  669. record_date: ''
  670. }
  671. },
  672. watch: {
  673. 'formValue.weight_after': {
  674. handler (newWeight, oldWeight) {
  675. // eslint-disable-next-line no-unused-vars
  676. let weight = parseFloat(newWeight - this.formValue.additional_weight).toFixed(1)
  677. if (weight > 0) {
  678. this.body_weight_after = weight
  679. } else {
  680. this.body_weight_after = ''
  681. }
  682. },
  683. deep: true,
  684. immediate: true
  685. },
  686. 'formValue.additional_weight': {
  687. handler (newWeight, oldWeight) {
  688. // eslint-disable-next-line no-unused-vars
  689. if (newWeight > 0) {
  690. let weight = parseFloat(this.formValue.weight_after - newWeight).toFixed(1)
  691. if (weight > 0) {
  692. this.body_weight_after = weight
  693. } else {
  694. this.body_weight_after = ''
  695. }
  696. }
  697. },
  698. deep: true,
  699. immediate: true
  700. }
  701. },
  702. methods: {
  703. newClick (event) {
  704. event.currentTarget.select()
  705. },
  706. isShow (name) {
  707. var filedList = this.$store.getters.user.fileds
  708. for (let i = 0; i < filedList.length; i++) {
  709. if (
  710. filedList[i].module == 5 &&
  711. filedList[i].filed_name_cn == name &&
  712. filedList[i].is_show == 1
  713. ) {
  714. return true
  715. }
  716. }
  717. return false
  718. },
  719. puncturePointOozingBlood: function (is_select) {
  720. this.formValue.puncture_point_oozing_blood = is_select == true ? 1 : 2
  721. },
  722. puncturePointHaematoma: function (is_select) {
  723. this.formValue.puncture_point_haematoma = is_select == true ? 1 : 2
  724. },
  725. GetIFTAValue (id) {
  726. let name = ''
  727. let internal_fistula_tremor_ac = this.$store.getters
  728. .internal_fistula_tremor_ac
  729. let ifl = internal_fistula_tremor_ac.length
  730. for (let index = 0; index < ifl; index++) {
  731. if (internal_fistula_tremor_ac[index].id == id) {
  732. name = internal_fistula_tremor_ac[index].name
  733. break
  734. }
  735. }
  736. return name
  737. },
  738. GetPatientGoes (id) {
  739. let name = ''
  740. let patient_gose = this.$store.getters.patient_gose
  741. let ifl = patient_gose.length
  742. for (let index = 0; index < ifl; index++) {
  743. if (patient_gose[index].id == id) {
  744. name = patient_gose[index].name
  745. break
  746. }
  747. }
  748. return name
  749. },
  750. inputFocus: function (event) {
  751. var input = event.target
  752. setTimeout(function () {
  753. input.scrollIntoView()
  754. }, 0)
  755. if (input.setSelectionRange) {
  756. setTimeout(function () {
  757. input.setSelectionRange(0, input.value.length)
  758. }, 0)
  759. } else if (input.createTextRange) {
  760. var rng = input.createTextRange()
  761. rng.move('character', input.value.length)
  762. rng.select()
  763. }
  764. },
  765. lastInputFocus: function (event) {
  766. var input = event.target
  767. setTimeout(function () {
  768. input.style.marginBottom = '2rem'
  769. input.parentNode.scrollIntoView()
  770. }, 0)
  771. },
  772. lastInputBlur: function (event) {
  773. var input = event.target
  774. setTimeout(function () {
  775. input.style.marginBottom = ''
  776. }, 0)
  777. },
  778. showSubMenu: function (val) {
  779. switch (val) {
  780. case 'cruor':
  781. this.propForm.type = 1
  782. this.isShowDialog = false
  783. this.propForm.title = '凝血'
  784. this.propForm.isHasOther = 2
  785. this.visibility = true
  786. this.propForm.list = []
  787. this.propForm.list = getDataConfig('hemodialysis', 'cruor')
  788. this.propForm.optionList = []
  789. this.propForm.isMultiple = 2
  790. if (
  791. this.formValue.cruor != undefined ||
  792. this.formValue.cruor != null
  793. ) {
  794. if (this.formValue.cruor.length > 0) {
  795. this.propForm.result = this.formValue.cruor.split(',')
  796. } else {
  797. this.propForm.result = []
  798. }
  799. } else {
  800. this.propForm.result = []
  801. }
  802. this.propForm.click_ref = 'cruor'
  803. break
  804. case 'symptom_after_dialysis':
  805. this.propForm.type = 2
  806. this.isShowDialog = false
  807. this.propForm.title = '透后症状'
  808. this.propForm.isHasOther = 2
  809. this.visibility = true
  810. this.propForm.list = []
  811. this.propForm.list = getDataConfig('hemodialysis', 'symptoms')
  812. this.propForm.optionList = []
  813. this.propForm.isMultiple = 2
  814. if (
  815. this.formValue.symptom_after_dialysis != undefined ||
  816. this.formValue.symptom_after_dialysis != null
  817. ) {
  818. if (this.formValue.symptom_after_dialysis.length > 0) {
  819. this.propForm.result = this.formValue.symptom_after_dialysis.split(
  820. ','
  821. )
  822. } else {
  823. this.propForm.result = []
  824. }
  825. } else {
  826. this.propForm.result = []
  827. }
  828. this.propForm.click_ref = 'symptom_after_dialysis'
  829. break
  830. case 'catheter':
  831. this.propForm.type = 3
  832. this.isShowDialog = false
  833. this.propForm.title = '导管'
  834. this.visibility = true
  835. this.propForm.isHasOther = 2
  836. this.propForm.list = []
  837. this.propForm.list = getDataConfig('hemodialysis', 'catheter')
  838. this.propForm.optionList = []
  839. this.propForm.isMultiple = 2
  840. if (
  841. this.formValue.catheter != undefined ||
  842. this.formValue.catheter != null
  843. ) {
  844. if (this.formValue.catheter.length > 0) {
  845. this.propForm.result = this.formValue.catheter.split(',')
  846. } else {
  847. this.propForm.result = []
  848. }
  849. } else {
  850. this.propForm.result = []
  851. }
  852. this.propForm.click_ref = 'catheter'
  853. break
  854. case 'complication':
  855. this.propForm.type = 4
  856. this.isShowDialog = false
  857. this.propForm.title = '并发症'
  858. this.propForm.isHasOther = 2
  859. this.visibility = true
  860. this.propForm.list = []
  861. this.propForm.list = getDataConfig('hemodialysis', 'complication')
  862. this.propForm.optionList = []
  863. this.propForm.isMultiple = 2
  864. // this.propForm.result = this.formValue.complication.split(",")
  865. if (
  866. this.formValue.complication != undefined ||
  867. this.formValue.complication != null
  868. ) {
  869. if (this.formValue.complication.length > 0) {
  870. this.propForm.result = this.formValue.complication.split(',')
  871. } else {
  872. this.propForm.result = []
  873. }
  874. } else {
  875. this.propForm.result = []
  876. }
  877. this.propForm.click_ref = 'complication'
  878. break
  879. case 'blood_access_part':
  880. this.propForm.type = 5
  881. this.isShowDialog = false
  882. this.propForm.title = '血管通路部位'
  883. this.propForm.isHasOther = 2
  884. this.visibility = true
  885. this.propForm.list = []
  886. this.propForm.optionList = this.$store.getters.vascular_access
  887. this.propForm.isMultiple = 1
  888. this.propForm.selectId = this.formValue.blood_access_part_id
  889. this.propForm.click_ref = 'blood_access_part'
  890. break
  891. case 'blood_access_opera':
  892. this.propForm.type = 6
  893. this.isShowDialog = false
  894. this.propForm.title = '血管通路操作'
  895. this.propForm.isHasOther = 2
  896. this.visibility = true
  897. this.propForm.list = []
  898. this.propForm.optionList = this.$store.getters.vascular_access_desc
  899. this.propForm.isMultiple = 1
  900. this.propForm.selectId = this.formValue.blood_access_part_opera_id
  901. this.propForm.click_ref = 'blood_access_opera'
  902. break
  903. case 'internal_fistula':
  904. this.propForm.type = 7
  905. this.isShowDialog = false
  906. this.propForm.title = '内瘘'
  907. this.visibility = true
  908. this.propForm.list = []
  909. this.propForm.list = getDataConfig(
  910. 'hemodialysis',
  911. 'internal_fistula'
  912. )
  913. this.propForm.optionList = []
  914. this.propForm.isMultiple = 2
  915. this.propForm.isHasOther = 2
  916. if (
  917. this.formValue.internal_fistula != undefined ||
  918. this.formValue.internal_fistula != null
  919. ) {
  920. if (this.formValue.internal_fistula.length > 0) {
  921. this.propForm.result = this.formValue.internal_fistula.split(',')
  922. } else {
  923. this.propForm.result = []
  924. }
  925. } else {
  926. this.propForm.result = []
  927. }
  928. this.propForm.click_ref = 'internal_fistula'
  929. break
  930. case 'internal_fistula_tremor_ac':
  931. this.propForm.type = 8
  932. this.isShowDialog = false
  933. this.propForm.title = '压迫后内瘘震颤'
  934. this.visibility = true
  935. this.propForm.list = []
  936. this.propForm.isHasOther = 2
  937. this.propForm.optionList = this.$store.getters.internal_fistula_tremor_ac
  938. this.propForm.isMultiple = 1
  939. this.propForm.selectId = this.formValue.internal_fistula_tremor_ac
  940. this.propForm.click_ref = 'internal_fistula_tremor_ac'
  941. break
  942. case 'patient_gose':
  943. this.propForm.type = 9
  944. this.isShowDialog = false
  945. this.propForm.title = '患者去向'
  946. this.visibility = true
  947. this.propForm.list = []
  948. this.propForm.isHasOther = 2
  949. this.propForm.optionList = this.$store.getters.patient_gose
  950. this.propForm.isMultiple = 1
  951. this.propForm.selectId = this.formValue.patient_gose
  952. this.propForm.click_ref = 'patient_gose'
  953. break
  954. case 'observation_content':
  955. this.propForm.type = 10
  956. this.isShowDialog = false
  957. this.propForm.title = '交待病房护士/患者/陪人观察内容'
  958. this.visibility = true
  959. this.propForm.isHasOther = 2
  960. this.propForm.list = []
  961. this.propForm.list = this.$store.getters.observation_content
  962. this.propForm.optionList = []
  963. this.propForm.isMultiple = 2
  964. if (
  965. this.formValue.observation_content != undefined ||
  966. this.formValue.observation_content != null
  967. ) {
  968. if (this.formValue.observation_content.length > 0) {
  969. this.propForm.result = this.formValue.observation_content.split(
  970. ','
  971. )
  972. } else {
  973. this.propForm.result = []
  974. }
  975. } else {
  976. this.propForm.result = []
  977. }
  978. this.propForm.click_ref = 'observation_content'
  979. break
  980. case 'dialysis_process':
  981. this.propForm.type = 11
  982. this.isShowDialog = false
  983. this.propForm.title = '透析过程'
  984. this.visibility = true
  985. this.propForm.isHasOther = 2
  986. this.propForm.list = []
  987. this.propForm.optionList = this.$store.getters.dialysis_process
  988. this.propForm.isMultiple = 1
  989. this.propForm.selectId = this.formValue.dialysis_process
  990. this.propForm.click_ref = 'dialysis_process'
  991. break
  992. case 'in_advance_reason':
  993. this.propForm.type = 12
  994. this.isShowDialog = false
  995. this.propForm.title = '透析过程提前原因'
  996. this.visibility = true
  997. this.propForm.isHasOther = 2
  998. this.propForm.list = []
  999. this.propForm.list = this.$store.getters.in_advance_reason
  1000. this.propForm.optionList = []
  1001. this.propForm.isMultiple = 2
  1002. if (
  1003. this.formValue.in_advance_reason != undefined ||
  1004. this.formValue.in_advance_reason != null
  1005. ) {
  1006. if (this.formValue.in_advance_reason.length > 0) {
  1007. this.propForm.result = this.formValue.in_advance_reason.split(
  1008. ','
  1009. )
  1010. } else {
  1011. this.propForm.result = []
  1012. }
  1013. } else {
  1014. this.propForm.result = []
  1015. }
  1016. this.propForm.click_ref = 'in_advance_reason'
  1017. break
  1018. case 'hemostasis_opera':
  1019. this.propForm.type = 13
  1020. this.isShowDialog = false
  1021. this.propForm.title = '内瘘管拔针后压迫止血操作'
  1022. this.visibility = true
  1023. this.propForm.isHasOther = 2
  1024. this.propForm.list = []
  1025. this.propForm.optionList = this.$store.getters.hemostasis_opera
  1026. this.propForm.isMultiple = 1
  1027. this.propForm.selectId = this.formValue.hemostasis_opera
  1028. this.propForm.click_ref = 'hemostasis_opera'
  1029. break
  1030. case 'tremor_noise':
  1031. this.propForm.type = 14
  1032. this.isShowDialog = false
  1033. this.propForm.title = '内瘘震颤和血管杂音'
  1034. this.visibility = true
  1035. this.propForm.isHasOther = 2
  1036. this.propForm.list = []
  1037. this.propForm.optionList = this.$store.getters.tremor_noise
  1038. this.propForm.isMultiple = 1
  1039. this.propForm.selectId = this.formValue.tremor_noise
  1040. this.propForm.click_ref = 'tremor_noise'
  1041. break
  1042. case 'disequilibrium_syndrome':
  1043. this.propForm.type = 15
  1044. this.isShowDialog = false
  1045. this.propForm.title = '失衡综合症'
  1046. this.visibility = true
  1047. this.propForm.list = []
  1048. this.propForm.isHasOther = 2
  1049. this.propForm.optionList = this.$store.getters.disequilibrium_syndrome
  1050. this.propForm.isMultiple = 1
  1051. this.propForm.selectId = this.formValue.disequilibrium_syndrome
  1052. this.propForm.click_ref = 'disequilibrium_syndrome'
  1053. break
  1054. case 'disequilibrium_syndrome_option':
  1055. this.propForm.type = 16
  1056. this.isShowDialog = false
  1057. this.propForm.title = '失衡综合症情况'
  1058. this.visibility = true
  1059. this.propForm.isHasOther = 2
  1060. this.propForm.list = []
  1061. this.propForm.list = this.$store.getters.disequilibrium_syndrome_option
  1062. this.propForm.optionList = []
  1063. this.propForm.isMultiple = 2
  1064. if (
  1065. this.formValue.disequilibrium_syndrome_option != undefined ||
  1066. this.formValue.disequilibrium_syndrome_option != null
  1067. ) {
  1068. if (this.formValue.disequilibrium_syndrome_option.length > 0) {
  1069. this.propForm.result = this.formValue.disequilibrium_syndrome_option.split(
  1070. ','
  1071. )
  1072. } else {
  1073. this.propForm.result = []
  1074. }
  1075. } else {
  1076. this.propForm.result = []
  1077. }
  1078. this.propForm.click_ref = 'disequilibrium_syndrome_option'
  1079. break
  1080. case 'arterial_tube':
  1081. this.propForm.type = 17
  1082. this.isShowDialog = false
  1083. this.propForm.title = '动脉管道'
  1084. this.propForm.isHasOther = 2
  1085. this.propForm.list = []
  1086. this.visibility = true
  1087. this.propForm.list = []
  1088. this.propForm.optionList = this.$store.getters.arterial_tube
  1089. this.propForm.isMultiple = 1
  1090. this.propForm.selectId = this.formValue.arterial_tube
  1091. this.propForm.click_ref = 'arterial_tube'
  1092. break
  1093. case 'intravenous_tube':
  1094. this.propForm.type = 18
  1095. this.isShowDialog = false
  1096. this.propForm.title = '静脉管道'
  1097. this.visibility = true
  1098. this.propForm.list = []
  1099. this.propForm.isHasOther = 2
  1100. this.propForm.optionList = this.$store.getters.intravenous_tube
  1101. this.propForm.isMultiple = 1
  1102. this.propForm.selectId = this.formValue.intravenous_tube
  1103. this.propForm.click_ref = 'intravenous_tube'
  1104. break
  1105. case 'dialyzer':
  1106. this.propForm.type = 19
  1107. this.isShowDialog = false
  1108. this.propForm.title = '透析器'
  1109. this.visibility = true
  1110. this.propForm.isHasOther = 2
  1111. this.propForm.list = []
  1112. this.propForm.optionList = this.$store.getters.dialyzer
  1113. this.propForm.isMultiple = 1
  1114. this.propForm.selectId = this.formValue.dialyzer
  1115. this.propForm.click_ref = 'dialyzer'
  1116. break
  1117. case 'puncture_point_oozing_blood':
  1118. this.propForm.type = 20
  1119. this.isShowDialog = false
  1120. this.propForm.title = '拔针后穿刺点渗血'
  1121. this.visibility = true
  1122. this.propForm.isHasOther = 2
  1123. this.propForm.list = []
  1124. this.propForm.optionList = this.puncture_point_oozing_bloods
  1125. this.propForm.isMultiple = 1
  1126. this.propForm.selectId = this.formValue.puncture_point_oozing_blood
  1127. this.propForm.click_ref = 'puncture_point_oozing_blood'
  1128. break
  1129. case 'puncture_point_haematoma':
  1130. this.propForm.type = 21
  1131. this.isShowDialog = false
  1132. this.propForm.title = '穿刺处血肿'
  1133. this.visibility = true
  1134. this.propForm.isHasOther = 2
  1135. this.propForm.list = []
  1136. this.propForm.optionList = this.puncture_point_haematomas
  1137. this.propForm.isMultiple = 1
  1138. this.propForm.selectId = this.formValue.puncture_point_haematoma
  1139. this.propForm.click_ref = 'puncture_point_haematoma'
  1140. break
  1141. case 'is_eat':
  1142. this.propForm.type = 22
  1143. this.isShowDialog = false
  1144. this.propForm.title = '透析期间进食'
  1145. this.visibility = true
  1146. this.propForm.isHasOther = 2
  1147. this.propForm.list = []
  1148. this.propForm.optionList = this.eat
  1149. this.propForm.isMultiple = 1
  1150. this.propForm.selectId = this.formValue.is_eat
  1151. this.propForm.click_ref = 'is_eat'
  1152. break
  1153. case 'dialysis_intakes_unit':
  1154. this.propForm.type = 23
  1155. this.isShowDialog = false
  1156. this.propForm.title = '透析中入量单位'
  1157. this.visibility = true
  1158. this.propForm.isHasOther = 2
  1159. this.propForm.list = []
  1160. this.propForm.optionList = this.unit
  1161. this.propForm.isMultiple = 1
  1162. this.propForm.selectId = this.formValue.dialysis_intakes_unit
  1163. this.propForm.click_ref = 'dialysis_intakes_unit'
  1164. break
  1165. }
  1166. },
  1167. menuCancle: function () {
  1168. this.visibility = false
  1169. this.isShowDialog = true
  1170. this.$nextTick(() => {
  1171. if (
  1172. this.$refs[this.propForm.click_ref] != undefined &&
  1173. this.$refs[this.propForm.click_ref] != null
  1174. ) {
  1175. this.$refs[this.propForm.click_ref].scrollIntoView()
  1176. }
  1177. })
  1178. },
  1179. menuComfirm: function (val) {
  1180. this.visibility = false
  1181. this.isShowDialog = true
  1182. this.$nextTick(() => {
  1183. if (
  1184. this.$refs[this.propForm.click_ref] != undefined &&
  1185. this.$refs[this.propForm.click_ref] != null
  1186. ) {
  1187. this.$refs[this.propForm.click_ref].scrollIntoView()
  1188. }
  1189. })
  1190. switch (val.type) {
  1191. case 1:
  1192. this.formValue.cruor = val.result.join(',')
  1193. break
  1194. case 2:
  1195. this.formValue.symptom_after_dialysis = val.result.join(',')
  1196. break
  1197. case 3:
  1198. this.formValue.catheter = val.result.join(',')
  1199. break
  1200. case 4:
  1201. this.formValue.complication = val.result.join(',')
  1202. break
  1203. case 5:
  1204. this.formValue.blood_access_part_id = val.selectId
  1205. break
  1206. case 6:
  1207. this.formValue.blood_access_part_opera_id = val.selectId
  1208. break
  1209. case 7:
  1210. this.formValue.internal_fistula = val.result.join(',')
  1211. break
  1212. case 8:
  1213. this.formValue.internal_fistula_tremor_ac = val.selectId
  1214. break
  1215. case 9:
  1216. this.formValue.patient_gose = val.selectId
  1217. break
  1218. case 10:
  1219. this.formValue.observation_content = val.result.join(',')
  1220. break
  1221. case 11:
  1222. this.formValue.dialysis_process = val.selectId
  1223. break
  1224. case 12:
  1225. this.formValue.in_advance_reason = val.result.join(',')
  1226. break
  1227. case 13:
  1228. this.formValue.hemostasis_opera = val.selectId
  1229. break
  1230. case 14:
  1231. this.formValue.tremor_noise = val.selectId
  1232. break
  1233. case 15:
  1234. this.formValue.disequilibrium_syndrome = val.selectId
  1235. break
  1236. case 16:
  1237. this.formValue.disequilibrium_syndrome_option = val.result.join(',')
  1238. break
  1239. case 17:
  1240. this.formValue.arterial_tube = val.selectId
  1241. break
  1242. case 18:
  1243. this.formValue.intravenous_tube = val.selectId
  1244. break
  1245. case 19:
  1246. this.formValue.dialyzer = val.selectId
  1247. break
  1248. case 20:
  1249. if (val.selectId == 1) {
  1250. this.formValue.puncture_point_oozing_blood = val.selectId
  1251. this.puncture_point_oozing_blood_state = true
  1252. } else if (val.selectId == 2) {
  1253. this.formValue.puncture_point_oozing_blood = val.selectId
  1254. this.puncture_point_oozing_blood_state = false
  1255. } else {
  1256. this.formValue.puncture_point_oozing_blood = 0
  1257. }
  1258. break
  1259. case 21:
  1260. if (val.selectId == 1) {
  1261. this.formValue.puncture_point_haematoma = val.selectId
  1262. this.puncture_point_haematoma_state = true
  1263. } else if (val.selectId == 2) {
  1264. this.formValue.puncture_point_haematoma = val.selectId
  1265. this.puncture_point_haematoma_state = false
  1266. } else {
  1267. this.formValue.puncture_point_haematoma = 0
  1268. }
  1269. break
  1270. case 22:
  1271. if (val.selectId == 1) {
  1272. this.formValue.is_eat = val.selectId
  1273. this.eat_state = true
  1274. } else if (val.selectId == 2) {
  1275. this.formValue.is_eat = val.selectId
  1276. this.eat_state = false
  1277. } else {
  1278. this.formValue.is_eat = 0
  1279. }
  1280. break
  1281. case 23:
  1282. this.formValue.dialysis_intakes_unit = val.selectId
  1283. break
  1284. }
  1285. },
  1286. getUnit: function (val) {
  1287. let name = ''
  1288. for (let i = 0; i < this.unit.length; i++) {
  1289. if (this.unit[i].id == val) {
  1290. name = this.unit[i].name
  1291. }
  1292. }
  1293. return name
  1294. },
  1295. QueryPartById: function (val) {
  1296. let vascular_access_part_name = ''
  1297. let vascular_access = this.$store.getters.vascular_access
  1298. for (let i = 0; i < vascular_access.length; i++) {
  1299. if (vascular_access[i].id == val) {
  1300. vascular_access_part_name = vascular_access[i].name
  1301. }
  1302. }
  1303. return vascular_access_part_name
  1304. },
  1305. QueryOperaById: function (val) {
  1306. let vascular_access_desc_name = ''
  1307. var vascular_access_desc = this.$store.getters.vascular_access_desc
  1308. for (let i = 0; i < vascular_access_desc.length; i++) {
  1309. if (vascular_access_desc[i].id == val) {
  1310. vascular_access_desc_name = vascular_access_desc[i].name
  1311. break
  1312. }
  1313. }
  1314. return vascular_access_desc_name
  1315. },
  1316. commitInfo: function () {
  1317. let ParamsQuery = this.formValue
  1318. ParamsQuery['patient'] = this.$route.query.patient_id
  1319. ParamsQuery['record_date'] = this.record_date
  1320. commitAssessmentAfterDislysis(ParamsQuery).then(response => {
  1321. if (response.data.state == 0) {
  1322. Toast.fail(response.data.msg)
  1323. return false
  1324. } else {
  1325. Toast.success('提交成功')
  1326. this.$emit('did_update', response.data.data.assessmentAfterDislysis)
  1327. for (const key in response.data.data.assessmentAfterDislysis) {
  1328. this.record[key] = response.data.data.assessmentAfterDislysis[key]
  1329. }
  1330. }
  1331. }).catch(err => {
  1332. Toast.fail(err)
  1333. });
  1334. },
  1335. close: function () {
  1336. this.$emit('close')
  1337. },
  1338. openPicker: function () {
  1339. this.$refs.picker.open()
  1340. },
  1341. handleTimeConfirm: function (val) {
  1342. val = val.replace('小时')
  1343. val = val.replace('分钟')
  1344. let timeArray = val.split(':')
  1345. if (parseInt(timeArray[0].substring(0, 1)) == 0) {
  1346. this.formValue.actual_treatment_hour = timeArray[0].charAt(
  1347. timeArray[0].length - 1
  1348. )
  1349. } else {
  1350. this.formValue.actual_treatment_hour = timeArray[0]
  1351. }
  1352. if (parseInt(timeArray[1].substring(0, 1)) == 0) {
  1353. this.formValue.actual_treatment_minute = timeArray[1].charAt(
  1354. timeArray[1].length - 1
  1355. )
  1356. } else {
  1357. this.formValue.actual_treatment_minute = timeArray[1]
  1358. }
  1359. this.timeValue =
  1360. this.formValue.actual_treatment_hour +
  1361. '小时' +
  1362. this.formValue.actual_treatment_minute +
  1363. '分钟'
  1364. },
  1365. open: function () {
  1366. this.isShowDialog = true
  1367. this.visibility = false
  1368. this.$refs.picker.close()
  1369. var dialogTop = document.querySelector('#dialogTop')
  1370. if (dialogTop != null) {
  1371. this.$nextTick(() => {
  1372. dialogTop.scrollTop = 0
  1373. })
  1374. }
  1375. },
  1376. getTremorNoise: function (id) {
  1377. var tremor_noise = this.$store.getters.tremor_noise
  1378. var tremorNoiseName = ''
  1379. for (let i = 0; i < tremor_noise.length; i++) {
  1380. if (tremor_noise[i].id == id) {
  1381. tremorNoiseName = tremor_noise[i].name
  1382. }
  1383. }
  1384. return tremorNoiseName
  1385. },
  1386. getDisequilibriumSyndrome: function (id) {
  1387. var disequilibrium_syndrome = this.$store.getters.disequilibrium_syndrome
  1388. var disequilibriumSyndromeName = ''
  1389. for (let i = 0; i < disequilibrium_syndrome.length; i++) {
  1390. if (disequilibrium_syndrome[i].id == id) {
  1391. disequilibriumSyndromeName = disequilibrium_syndrome[i].name
  1392. }
  1393. }
  1394. return disequilibriumSyndromeName
  1395. },
  1396. getDisequilibriumSyndromeOptionName: function (id) {
  1397. var disequilibrium_syndrome_option = this.$store.getters
  1398. .disequilibrium_syndrome_option
  1399. var disequilibriumSyndromeOptionName = ''
  1400. for (let i = 0; i < disequilibrium_syndrome_option.length; i++) {
  1401. if (disequilibrium_syndrome_option[i].id == id) {
  1402. disequilibriumSyndromeOptionName =
  1403. disequilibrium_syndrome_option[i].name
  1404. }
  1405. }
  1406. return disequilibriumSyndromeOptionName
  1407. },
  1408. getArterialTubeName: function (id) {
  1409. var arterial_tube = this.$store.getters.arterial_tube
  1410. var arterialTubeName = ''
  1411. for (let i = 0; i < arterial_tube.length; i++) {
  1412. if (arterial_tube[i].id == id) {
  1413. arterialTubeName = arterial_tube[i].name
  1414. }
  1415. }
  1416. return arterialTubeName
  1417. },
  1418. getIntravenousTubeName: function (id) {
  1419. var intravenous_tube = this.$store.getters.intravenous_tube
  1420. var intravenousTubeName = ''
  1421. for (let i = 0; i < intravenous_tube.length; i++) {
  1422. if (intravenous_tube[i].id == id) {
  1423. intravenousTubeName = intravenous_tube[i].name
  1424. }
  1425. }
  1426. return intravenousTubeName
  1427. },
  1428. getDialyzer: function (id) {
  1429. var dialyzer = this.$store.getters.dialyzer
  1430. var dialyzerName = ''
  1431. for (let i = 0; i < dialyzer.length; i++) {
  1432. if (dialyzer[i].id == id) {
  1433. dialyzerName = dialyzer[i].name
  1434. }
  1435. }
  1436. return dialyzerName
  1437. },
  1438. getDialysisProcess: function (id) {
  1439. var dialysis_process = this.$store.getters.dialysis_process
  1440. var dialysisProcessName = ''
  1441. for (let i = 0; i < dialysis_process.length; i++) {
  1442. if (dialysis_process[i].id == id) {
  1443. dialysisProcessName = dialysis_process[i].name
  1444. }
  1445. }
  1446. return dialysisProcessName
  1447. },
  1448. getOpera: function (id) {
  1449. var hemostasis_opera = this.$store.getters.hemostasis_opera
  1450. var hemostasisOperaName = ''
  1451. for (let i = 0; i < hemostasis_opera.length; i++) {
  1452. if (hemostasis_opera[i].id == id) {
  1453. hemostasisOperaName = hemostasis_opera[i].name
  1454. }
  1455. }
  1456. return hemostasisOperaName
  1457. },
  1458. menuEmpty: function (val) {
  1459. this.visibility = false
  1460. this.isShowDialog = true
  1461. switch (val.type) {
  1462. case 5:
  1463. this.formValue.blood_access_part_id = ''
  1464. break
  1465. case 6:
  1466. this.formValue.blood_access_part_opera_id = ''
  1467. break
  1468. case 8:
  1469. this.formValue.internal_fistula_tremor_ac = ''
  1470. break
  1471. case 9:
  1472. this.formValue.patient_gose = ''
  1473. break
  1474. case 11:
  1475. this.formValue.dialysis_process = ''
  1476. break
  1477. case 13:
  1478. this.formValue.hemostasis_opera = ''
  1479. break
  1480. case 14:
  1481. this.formValue.tremor_noise = ''
  1482. break
  1483. case 15:
  1484. this.formValue.disequilibrium_syndrome = ''
  1485. break
  1486. case 17:
  1487. this.formValue.arterial_tube = ''
  1488. break
  1489. case 18:
  1490. this.formValue.intravenous_tube = ''
  1491. break
  1492. case 19:
  1493. this.formValue.dialyzer = ''
  1494. break
  1495. }
  1496. }
  1497. },
  1498. components: {
  1499. CheckBoxSubMenu
  1500. },
  1501. created () {
  1502. let initHour = ''
  1503. let initMinute = ''
  1504. let tempHour = ''
  1505. let tempMinute = ''
  1506. this.template_id = this.$store.getters.user.template_info.template_id
  1507. if (this.record != null && this.record.id != '') {
  1508. for (const key in this.formValue) {
  1509. // console.log(key, this.record[key]);
  1510. this.formValue[key] = this.record[key]
  1511. console.log(key + '----' + this.formValue[key])
  1512. }
  1513. }
  1514. // else {
  1515. // if (this.record != null && this.record.id != '' && this.record.assessment_doctor == 0){
  1516. // this.$set(this.formValue, "actual_ultrafiltration", this.record.actual_ultrafiltration)
  1517. // this.$set(this.formValue, "weight_after", this.record.weight_after)
  1518. // this.$set(this.formValue, "weight_loss", this.record.weight_loss)
  1519. // this.$set(this.formValue, "actual_ultrafiltration", this.record.actual_ultrafiltration)
  1520. // this.$set(this.formValue, "actual_displacement", this.record.actual_displacement)
  1521. // this.$set(this.formValue, "actual_treatment_hour", this.record.actual_treatment_hour)
  1522. // this.$set(this.formValue, "actual_treatment_minute", this.record.actual_treatment_minute)
  1523. // } else {
  1524. // this.$set(this.formValue, "actual_ultrafiltration", '')
  1525. // this.$set(this.formValue, "weight_after", '')
  1526. // this.$set(this.formValue, "weight_loss", '')
  1527. // this.$set(this.formValue, "actual_ultrafiltration", '')
  1528. // this.$set(this.formValue, "actual_displacement", '')
  1529. // this.$set(this.formValue, "actual_treatment_hour", '')
  1530. // this.$set(this.formValue, "actual_treatment_minute", '')
  1531. // }
  1532. // }
  1533. if (typeof this.formValue.actual_treatment_hour === 'undefined') {
  1534. tempHour = ''
  1535. initHour = '00'
  1536. } else {
  1537. tempHour = this.formValue.actual_treatment_hour + '小时'
  1538. if (parseInt(this.formValue.actual_treatment_hour) < 10) {
  1539. initHour = '0' + this.formValue.actual_treatment_hour
  1540. } else {
  1541. initHour = this.formValue.actual_treatment_hour
  1542. }
  1543. }
  1544. if (typeof this.formValue.actual_treatment_minute === 'undefined') {
  1545. tempMinute = ''
  1546. initMinute = '00'
  1547. } else {
  1548. tempMinute = this.formValue.actual_treatment_minute + '分钟'
  1549. if (parseInt(this.formValue.actual_treatment_minute) < 10) {
  1550. initMinute = '0' + this.formValue.actual_treatment_minute
  1551. } else {
  1552. initMinute = this.formValue.actual_treatment_minute
  1553. }
  1554. }
  1555. this.time = initHour + ':' + initMinute
  1556. this.timeValue = tempHour + tempMinute
  1557. var date = this.$route.query && this.$route.query.date
  1558. date *= 1000
  1559. var newDate = new Date(date)
  1560. var y = newDate.getFullYear()
  1561. var m = newDate.getMonth() + 1
  1562. var d = newDate.getDate()
  1563. if (isNaN(y) || isNaN(m) || isNaN(d)) {
  1564. newDate = new Date()
  1565. y = newDate.getFullYear()
  1566. m = newDate.getMonth() + 1
  1567. d = newDate.getDate()
  1568. }
  1569. this.record_date =
  1570. y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d)
  1571. this.puncture_point_oozing_blood_state =
  1572. this.formValue.puncture_point_oozing_blood == 0
  1573. this.puncture_point_haematoma_state =
  1574. this.formValue.puncture_point_haematoma == 0
  1575. this.eat_state = this.formValue.is_eat == 0
  1576. }
  1577. }
  1578. </script>
  1579. <style style="stylesheet/scss" lang="scss" scoped>
  1580. .textarea {
  1581. width: 100%;
  1582. height: 2.4rem;
  1583. line-height: 0.6rem;
  1584. color: $pgh-color;
  1585. font-size: 0.45rem;
  1586. padding-left: 0.36rem;
  1587. border: none;
  1588. border-bottom: 1px #e5e5e5 solid;
  1589. }
  1590. .DialogContent {
  1591. padding-bottom: 2rem !important;
  1592. }
  1593. </style>