血透系统pad前端

ThorougDialog.vue 56KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692
  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. })
  1332. },
  1333. close: function () {
  1334. this.$emit('close')
  1335. },
  1336. openPicker: function () {
  1337. this.$refs.picker.open()
  1338. },
  1339. handleTimeConfirm: function (val) {
  1340. val = val.replace('小时')
  1341. val = val.replace('分钟')
  1342. let timeArray = val.split(':')
  1343. if (parseInt(timeArray[0].substring(0, 1)) == 0) {
  1344. this.formValue.actual_treatment_hour = timeArray[0].charAt(
  1345. timeArray[0].length - 1
  1346. )
  1347. } else {
  1348. this.formValue.actual_treatment_hour = timeArray[0]
  1349. }
  1350. if (parseInt(timeArray[1].substring(0, 1)) == 0) {
  1351. this.formValue.actual_treatment_minute = timeArray[1].charAt(
  1352. timeArray[1].length - 1
  1353. )
  1354. } else {
  1355. this.formValue.actual_treatment_minute = timeArray[1]
  1356. }
  1357. this.timeValue =
  1358. this.formValue.actual_treatment_hour +
  1359. '小时' +
  1360. this.formValue.actual_treatment_minute +
  1361. '分钟'
  1362. },
  1363. open: function () {
  1364. this.isShowDialog = true
  1365. this.visibility = false
  1366. this.$refs.picker.close()
  1367. var dialogTop = document.querySelector('#dialogTop')
  1368. if (dialogTop != null) {
  1369. this.$nextTick(() => {
  1370. dialogTop.scrollTop = 0
  1371. })
  1372. }
  1373. },
  1374. getTremorNoise: function (id) {
  1375. var tremor_noise = this.$store.getters.tremor_noise
  1376. var tremorNoiseName = ''
  1377. for (let i = 0; i < tremor_noise.length; i++) {
  1378. if (tremor_noise[i].id == id) {
  1379. tremorNoiseName = tremor_noise[i].name
  1380. }
  1381. }
  1382. return tremorNoiseName
  1383. },
  1384. getDisequilibriumSyndrome: function (id) {
  1385. var disequilibrium_syndrome = this.$store.getters.disequilibrium_syndrome
  1386. var disequilibriumSyndromeName = ''
  1387. for (let i = 0; i < disequilibrium_syndrome.length; i++) {
  1388. if (disequilibrium_syndrome[i].id == id) {
  1389. disequilibriumSyndromeName = disequilibrium_syndrome[i].name
  1390. }
  1391. }
  1392. return disequilibriumSyndromeName
  1393. },
  1394. getDisequilibriumSyndromeOptionName: function (id) {
  1395. var disequilibrium_syndrome_option = this.$store.getters
  1396. .disequilibrium_syndrome_option
  1397. var disequilibriumSyndromeOptionName = ''
  1398. for (let i = 0; i < disequilibrium_syndrome_option.length; i++) {
  1399. if (disequilibrium_syndrome_option[i].id == id) {
  1400. disequilibriumSyndromeOptionName =
  1401. disequilibrium_syndrome_option[i].name
  1402. }
  1403. }
  1404. return disequilibriumSyndromeOptionName
  1405. },
  1406. getArterialTubeName: function (id) {
  1407. var arterial_tube = this.$store.getters.arterial_tube
  1408. var arterialTubeName = ''
  1409. for (let i = 0; i < arterial_tube.length; i++) {
  1410. if (arterial_tube[i].id == id) {
  1411. arterialTubeName = arterial_tube[i].name
  1412. }
  1413. }
  1414. return arterialTubeName
  1415. },
  1416. getIntravenousTubeName: function (id) {
  1417. var intravenous_tube = this.$store.getters.intravenous_tube
  1418. var intravenousTubeName = ''
  1419. for (let i = 0; i < intravenous_tube.length; i++) {
  1420. if (intravenous_tube[i].id == id) {
  1421. intravenousTubeName = intravenous_tube[i].name
  1422. }
  1423. }
  1424. return intravenousTubeName
  1425. },
  1426. getDialyzer: function (id) {
  1427. var dialyzer = this.$store.getters.dialyzer
  1428. var dialyzerName = ''
  1429. for (let i = 0; i < dialyzer.length; i++) {
  1430. if (dialyzer[i].id == id) {
  1431. dialyzerName = dialyzer[i].name
  1432. }
  1433. }
  1434. return dialyzerName
  1435. },
  1436. getDialysisProcess: function (id) {
  1437. var dialysis_process = this.$store.getters.dialysis_process
  1438. var dialysisProcessName = ''
  1439. for (let i = 0; i < dialysis_process.length; i++) {
  1440. if (dialysis_process[i].id == id) {
  1441. dialysisProcessName = dialysis_process[i].name
  1442. }
  1443. }
  1444. return dialysisProcessName
  1445. },
  1446. getOpera: function (id) {
  1447. var hemostasis_opera = this.$store.getters.hemostasis_opera
  1448. var hemostasisOperaName = ''
  1449. for (let i = 0; i < hemostasis_opera.length; i++) {
  1450. if (hemostasis_opera[i].id == id) {
  1451. hemostasisOperaName = hemostasis_opera[i].name
  1452. }
  1453. }
  1454. return hemostasisOperaName
  1455. },
  1456. menuEmpty: function (val) {
  1457. this.visibility = false
  1458. this.isShowDialog = true
  1459. switch (val.type) {
  1460. case 5:
  1461. this.formValue.blood_access_part_id = ''
  1462. break
  1463. case 6:
  1464. this.formValue.blood_access_part_opera_id = ''
  1465. break
  1466. case 8:
  1467. this.formValue.internal_fistula_tremor_ac = ''
  1468. break
  1469. case 9:
  1470. this.formValue.patient_gose = ''
  1471. break
  1472. case 11:
  1473. this.formValue.dialysis_process = ''
  1474. break
  1475. case 13:
  1476. this.formValue.hemostasis_opera = ''
  1477. break
  1478. case 14:
  1479. this.formValue.tremor_noise = ''
  1480. break
  1481. case 15:
  1482. this.formValue.disequilibrium_syndrome = ''
  1483. break
  1484. case 17:
  1485. this.formValue.arterial_tube = ''
  1486. break
  1487. case 18:
  1488. this.formValue.intravenous_tube = ''
  1489. break
  1490. case 19:
  1491. this.formValue.dialyzer = ''
  1492. break
  1493. }
  1494. }
  1495. },
  1496. components: {
  1497. CheckBoxSubMenu
  1498. },
  1499. created () {
  1500. let initHour = ''
  1501. let initMinute = ''
  1502. let tempHour = ''
  1503. let tempMinute = ''
  1504. this.template_id = this.$store.getters.user.template_info.template_id
  1505. if (this.record != null && this.record.id != '') {
  1506. for (const key in this.formValue) {
  1507. // console.log(key, this.record[key]);
  1508. this.formValue[key] = this.record[key]
  1509. console.log(key + '----' + this.formValue[key])
  1510. }
  1511. }
  1512. // else {
  1513. // if (this.record != null && this.record.id != '' && this.record.assessment_doctor == 0){
  1514. // this.$set(this.formValue, "actual_ultrafiltration", this.record.actual_ultrafiltration)
  1515. // this.$set(this.formValue, "weight_after", this.record.weight_after)
  1516. // this.$set(this.formValue, "weight_loss", this.record.weight_loss)
  1517. // this.$set(this.formValue, "actual_ultrafiltration", this.record.actual_ultrafiltration)
  1518. // this.$set(this.formValue, "actual_displacement", this.record.actual_displacement)
  1519. // this.$set(this.formValue, "actual_treatment_hour", this.record.actual_treatment_hour)
  1520. // this.$set(this.formValue, "actual_treatment_minute", this.record.actual_treatment_minute)
  1521. // } else {
  1522. // this.$set(this.formValue, "actual_ultrafiltration", '')
  1523. // this.$set(this.formValue, "weight_after", '')
  1524. // this.$set(this.formValue, "weight_loss", '')
  1525. // this.$set(this.formValue, "actual_ultrafiltration", '')
  1526. // this.$set(this.formValue, "actual_displacement", '')
  1527. // this.$set(this.formValue, "actual_treatment_hour", '')
  1528. // this.$set(this.formValue, "actual_treatment_minute", '')
  1529. // }
  1530. // }
  1531. if (typeof this.formValue.actual_treatment_hour === 'undefined') {
  1532. tempHour = ''
  1533. initHour = '00'
  1534. } else {
  1535. tempHour = this.formValue.actual_treatment_hour + '小时'
  1536. if (parseInt(this.formValue.actual_treatment_hour) < 10) {
  1537. initHour = '0' + this.formValue.actual_treatment_hour
  1538. } else {
  1539. initHour = this.formValue.actual_treatment_hour
  1540. }
  1541. }
  1542. if (typeof this.formValue.actual_treatment_minute === 'undefined') {
  1543. tempMinute = ''
  1544. initMinute = '00'
  1545. } else {
  1546. tempMinute = this.formValue.actual_treatment_minute + '分钟'
  1547. if (parseInt(this.formValue.actual_treatment_minute) < 10) {
  1548. initMinute = '0' + this.formValue.actual_treatment_minute
  1549. } else {
  1550. initMinute = this.formValue.actual_treatment_minute
  1551. }
  1552. }
  1553. this.time = initHour + ':' + initMinute
  1554. this.timeValue = tempHour + tempMinute
  1555. var date = this.$route.query && this.$route.query.date
  1556. date *= 1000
  1557. var newDate = new Date(date)
  1558. var y = newDate.getFullYear()
  1559. var m = newDate.getMonth() + 1
  1560. var d = newDate.getDate()
  1561. if (isNaN(y) || isNaN(m) || isNaN(d)) {
  1562. newDate = new Date()
  1563. y = newDate.getFullYear()
  1564. m = newDate.getMonth() + 1
  1565. d = newDate.getDate()
  1566. }
  1567. this.record_date =
  1568. y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d)
  1569. this.puncture_point_oozing_blood_state =
  1570. this.formValue.puncture_point_oozing_blood == 0
  1571. this.puncture_point_haematoma_state =
  1572. this.formValue.puncture_point_haematoma == 0
  1573. this.eat_state = this.formValue.is_eat == 0
  1574. }
  1575. }
  1576. </script>
  1577. <style style="stylesheet/scss" lang="scss" scoped>
  1578. .textarea {
  1579. width: 100%;
  1580. height: 2.4rem;
  1581. line-height: 0.6rem;
  1582. color: $pgh-color;
  1583. font-size: 0.45rem;
  1584. padding-left: 0.36rem;
  1585. border: none;
  1586. border-bottom: 1px #e5e5e5 solid;
  1587. }
  1588. .DialogContent {
  1589. padding-bottom: 2rem !important;
  1590. }
  1591. </style>