血透系统pad前端

AssessmentDialog.vue 53KB

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