Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

monitor_dialog.vue 64KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546
  1. <template>
  2. <div class="dialog_box">
  3. <el-dialog
  4. title="透析监测"
  5. :visible.sync="visible"
  6. width="1100px"
  7. @close="reset"
  8. :modal-append-to-body="false" >
  9. <div v-show="edit == false">
  10. <div class="txsj">
  11. <el-button round :disabled="!is_has_create" @click="newRecordAction"
  12. >新增监测</el-button
  13. >
  14. <el-button
  15. round
  16. :disabled="!is_has_modify && !is_has_modify_other"
  17. @click="modifyRecordAction"
  18. >修改监测</el-button
  19. >
  20. <el-button
  21. round
  22. :disabled="!is_has_del && !is_has_del_other"
  23. @click="deleteRecordAction"
  24. >删除监测</el-button
  25. >
  26. </div>
  27. <el-table
  28. :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }"
  29. ref="table"
  30. :data="monitors"
  31. border
  32. highlight-current-row
  33. @current-change="tableCurrentRowChange"
  34. style="width: 100%"
  35. :class="current_row_class"
  36. >
  37. <el-table-column
  38. label="监测时间"
  39. align="center"
  40. width="144"
  41. v-if="isShow('监测时间')"
  42. >
  43. <template slot-scope="scope">
  44. {{ getMonitorDate(scope.row) }}
  45. </template>
  46. </el-table-column>
  47. <el-table-column
  48. prop="temperature"
  49. align="center"
  50. width="100"
  51. label="体温(℃)"
  52. v-if="isShow('体温')"
  53. >
  54. <template slot-scope="scope">
  55. {{ scope.row.temperature ? scope.row.temperature : "" }}
  56. </template>
  57. </el-table-column>
  58. <el-table-column
  59. align="center"
  60. label="血压(mmHg)"
  61. width="110"
  62. v-if="isShow('血压')"
  63. >
  64. <template slot-scope="scope">
  65. {{
  66. scope.row.systolic_blood_pressure
  67. ? scope.row.systolic_blood_pressure
  68. : ""
  69. }}/{{
  70. scope.row.diastolic_blood_pressure
  71. ? scope.row.diastolic_blood_pressure
  72. : ""
  73. }}
  74. </template>
  75. </el-table-column>
  76. <el-table-column
  77. prop="pulse_frequency"
  78. align="center"
  79. width="100"
  80. label="脉搏(次/分)"
  81. v-if="isShow('脉搏')"
  82. >
  83. <template slot-scope="scope">
  84. {{ scope.row.pulse_frequency ? scope.row.pulse_frequency : "" }}
  85. </template>
  86. </el-table-column>
  87. <el-table-column
  88. prop="breathing_rate"
  89. align="center"
  90. label="呼吸频率(次/分)"
  91. width="100"
  92. v-if="isShow('呼吸频率')"
  93. >
  94. <template slot-scope="scope">
  95. {{ scope.row.breathing_rate ? scope.row.breathing_rate : "" }}
  96. </template>
  97. </el-table-column>
  98. <el-table-column v-if="monitors[0] && monitors[0]['venous_pressure_type'] == 2" prop="venous_pressure" align="center" label="静脉压/动脉压(kpa)" width="120" >
  99. <template slot-scope="scope">
  100. <span>{{ scope.row.venous_pressure ? scope.row.venous_pressure : "" }}/ {{ scope.row.arterial_pressure ? scope.row.arterial_pressure : "" }}</span>
  101. </template>
  102. </el-table-column>
  103. <el-table-column v-else prop="venous_pressure" align="center" label="静脉压/动脉压(mmHg)" width="120" >
  104. <template slot-scope="scope">
  105. <span>{{ scope.row.venous_pressure ? scope.row.venous_pressure : "" }}/ {{ scope.row.arterial_pressure ? scope.row.arterial_pressure : "" }}</span>
  106. </template>
  107. </el-table-column>
  108. <el-table-column
  109. prop="blood_flow_volume"
  110. align="center"
  111. label="血流量(ml/min)"
  112. width="120"
  113. v-if="isShow('血流量')"
  114. >
  115. <template slot-scope="scope">
  116. {{
  117. scope.row.blood_flow_volume ? scope.row.blood_flow_volume : ""
  118. }}
  119. </template>
  120. </el-table-column>
  121. <el-table-column prop="transmembrane_pressure" align="center" label="跨膜压(kpa)" width="120" v-if="isShow('跨膜压') && (monitors[0] && monitors[0]['transmembrane_pressure_type'] == 2)" >
  122. <template slot-scope="scope">
  123. {{ scope.row.transmembrane_pressure ? scope.row.transmembrane_pressure : "" }}
  124. </template>
  125. </el-table-column>
  126. <el-table-column prop="transmembrane_pressure" align="center" label="跨膜压(mmHg)" width="120" v-if="isShow('跨膜压') && (monitors[0] && monitors[0]['transmembrane_pressure_type'] != 2)" >
  127. <template slot-scope="scope">
  128. {{ scope.row.transmembrane_pressure ? scope.row.transmembrane_pressure : "" }}
  129. </template>
  130. </el-table-column>
  131. <el-table-column
  132. prop="ultrafiltration_volume"
  133. align="center"
  134. label="超滤量(ml)"
  135. width="110"
  136. v-if="
  137. isShow('超滤量') &&
  138. (template_id == 6 ||
  139. template_id == 9 ||
  140. template_id == 10 ||
  141. template_id == 11 ||
  142. template_id == 12 ||
  143. template_id == 13 ||
  144. template_id == 17 ||
  145. template_id == 18 ||
  146. template_id == 19 ||
  147. template_id == 20 ||
  148. template_id == 21 ||
  149. template_id == 22 ||
  150. template_id == 23 ||
  151. template_id == 24 ||
  152. template_id == 26 ||
  153. template_id == 27 ||
  154. template_id == 29 ||
  155. template_id == 30 ||
  156. template_id == 31 ||
  157. template_id == 32 ||
  158. template_id == 34 ||
  159. template_id == 35 ||
  160. template_id == 36 ||
  161. template_id == 38 ||
  162. template_id == 39 ||
  163. org_id == 9555)
  164. "
  165. >
  166. <template slot-scope="scope">
  167. {{
  168. scope.row.ultrafiltration_volume
  169. ? scope.row.ultrafiltration_volume
  170. : ""
  171. }}
  172. </template>
  173. </el-table-column>
  174. <el-table-column
  175. prop="ultrafiltration_volume"
  176. align="center"
  177. label="超滤量(L)"
  178. width="110"
  179. v-if="
  180. isShow('超滤量') &&
  181. template_id != 6 &&
  182. template_id !=9 &&
  183. template_id != 10 &&
  184. template_id != 11 &&
  185. template_id != 12 &&
  186. template_id != 13 &&
  187. template_id != 17 &&
  188. template_id != 18 &&
  189. template_id != 19 &&
  190. template_id != 20 &&
  191. template_id != 21 &&
  192. template_id != 22 &&
  193. template_id != 23 &&
  194. template_id != 24 &&
  195. template_id != 26 &&
  196. template_id != 27 &&
  197. template_id != 29 &&
  198. template_id != 30 &&
  199. template_id != 31 &&
  200. template_id != 32 &&
  201. template_id != 34 &&
  202. template_id != 35 &&
  203. template_id != 36 &&
  204. template_id != 38 &&
  205. template_id != 39 &&
  206. org_id!=9555
  207. "
  208. >
  209. <template slot-scope="scope">
  210. {{
  211. scope.row.ultrafiltration_volume
  212. ? scope.row.ultrafiltration_volume
  213. : ""
  214. }}
  215. </template>
  216. </el-table-column>
  217. <el-table-column
  218. prop="displacement_flow_quantity"
  219. align="center"
  220. label="超滤率(ml/h)"
  221. width="100"
  222. v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35 || template_id == 38) "
  223. >
  224. <template slot-scope="scope">
  225. {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : "" }}
  226. </template>
  227. </el-table-column>
  228. <el-table-column
  229. prop="displacement_flow_quantity"
  230. align="center"
  231. label="超滤率(L/h)"
  232. width="100"
  233. v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id != 29 && template_id != 30 && template_id != 31 && template_id != 34 && template_id != 35 && template_id != 38"
  234. >
  235. <template slot-scope="scope">
  236. {{ scope.row.ultrafiltration_rate ? scope.row.ultrafiltration_rate : "" }}
  237. </template>
  238. </el-table-column>
  239. <el-table-column
  240. prop="sodium_concentration"
  241. align="center"
  242. label="钠浓度(mmol/L)"
  243. width="126"
  244. v-if="isShow('钠浓度')"
  245. >
  246. <template slot-scope="scope">
  247. {{
  248. scope.row.sodium_concentration
  249. ? scope.row.sodium_concentration
  250. : ""
  251. }}
  252. </template>
  253. </el-table-column>
  254. <el-table-column
  255. prop="dialysate_temperature"
  256. align="center"
  257. label="透析液温度(℃)"
  258. width="120"
  259. v-if="isShow('透析液温度')"
  260. >
  261. <template slot-scope="scope">
  262. {{
  263. scope.row.dialysate_temperature
  264. ? scope.row.dialysate_temperature
  265. : ""
  266. }}
  267. </template>
  268. </el-table-column>
  269. <el-table-column
  270. prop="replacement_rate"
  271. align="center"
  272. label="置换率(ml/min)"
  273. width="120"
  274. v-if=" isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29)" >
  275. <template slot-scope="scope">
  276. {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
  277. </template>
  278. </el-table-column>
  279. <el-table-column
  280. prop="replacement_rate"
  281. align="center"
  282. label="置换率(L/h)"
  283. width="120"
  284. v-if=" isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29">
  285. <template slot-scope="scope">
  286. {{ scope.row.replacement_rate ? scope.row.replacement_rate : "" }}
  287. </template>
  288. </el-table-column>
  289. <el-table-column
  290. prop="displacement_quantity"
  291. align="center"
  292. label="置换量(ml)"
  293. width="100"
  294. v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919) || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29)" >
  295. <template slot-scope="scope">
  296. {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
  297. </template>
  298. </el-table-column>
  299. <el-table-column
  300. prop="displacement_quantity"
  301. align="center"
  302. label="置换量(L)"
  303. width="100"
  304. v-if=" isShow('置换量') && ((template_id != 6 || org_id == 9919) && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29)" >
  305. <template slot-scope="scope">
  306. {{ scope.row.displacement_quantity ? scope.row.displacement_quantity : "" }}
  307. </template>
  308. </el-table-column>
  309. <el-table-column
  310. prop="displacement_quantity"
  311. align="center"
  312. label="SpO₂(%)"
  313. width="100"
  314. v-if=" isShow('SpO₂') && template_id != 6 && template_id != 10 && template_id != 11 " >
  315. <template slot-scope="scope">
  316. {{ scope.row.blood_oxygen_saturation ? scope.row.blood_oxygen_saturation : "" }}
  317. </template>
  318. </el-table-column>
  319. <el-table-column
  320. prop="displacement_flow_quantity"
  321. align="center"
  322. label="电导度(mS/m)"
  323. width="100"
  324. v-if="isShow('电导度')"
  325. >
  326. <template slot-scope="scope">
  327. {{ scope.row.conductivity ? scope.row.conductivity : "" }}
  328. </template>
  329. </el-table-column>
  330. <el-table-column
  331. prop="displacement_flow_quantity"
  332. align="center"
  333. label="置换液流量(ml/h)"
  334. width="100"
  335. v-if="isShow('置换液流量') && template_id != 27"
  336. >
  337. <template slot-scope="scope">
  338. {{ scope.row.displacement_flow_quantity ? scope.row.displacement_flow_quantity : "" }}
  339. </template>
  340. </el-table-column>
  341. <el-table-column
  342. prop="displacement_flow_quantity"
  343. align="center"
  344. label="置换液流量(ml/min)"
  345. width="100"
  346. v-if="isShow('置换液流量') && template_id == 27"
  347. >
  348. <template slot-scope="scope">
  349. {{ scope.row.displacement_flow_quantity ? scope.row.displacement_flow_quantity : "" }}
  350. </template>
  351. </el-table-column>
  352. <el-table-column
  353. prop="displacement_flow_quantity"
  354. align="center"
  355. label="透析液流量(ml/h)"
  356. width="100"
  357. v-if="isShow('透析液流量')"
  358. >
  359. <template slot-scope="scope">
  360. {{ scope.row.dialysate_flow ? scope.row.dialysate_flow : "" }}
  361. </template>
  362. </el-table-column>
  363. <el-table-column
  364. prop="heparin"
  365. align="center"
  366. label="肝素用量余量(ml)"
  367. width="140"
  368. v-if="isShow('肝素用量余量')"
  369. >
  370. </el-table-column>
  371. <el-table-column
  372. prop="heparin"
  373. align="center"
  374. label="抗凝剂"
  375. width="140"
  376. v-if="isShow('抗凝剂')"
  377. >
  378. <template slot-scope="scope">
  379. <span v-if="scope.row.monitor_anticoagulant == 1">无肝素</span>
  380. <span v-if="scope.row.monitor_anticoagulant == 2">普通肝素</span>
  381. <span v-if="scope.row.monitor_anticoagulant == 3">低分子肝素</span>
  382. <span v-if="scope.row.monitor_anticoagulant == 4">阿加曲班</span>
  383. <span v-if="scope.row.monitor_anticoagulant == 5">枸橼酸钠</span>
  384. <span v-if="scope.row.monitor_anticoagulant == 6">低分子肝素钙</span>
  385. <span v-if="scope.row.monitor_anticoagulant == 7">低分子肝素钠</span>
  386. <span v-if="scope.row.monitor_anticoagulant == 8">依诺肝素</span>
  387. <span v-if="scope.row.monitor_anticoagulant == 9">达肝素</span>
  388. <span v-if="scope.row.monitor_anticoagulant_value!=''">({{ scope.row.monitor_anticoagulant_value ? scope.row.monitor_anticoagulant_value : "" }})</span>
  389. </template>
  390. </el-table-column>
  391. <el-table-column
  392. prop="heparin"
  393. align="center"
  394. label="血压监测部位"
  395. width="140"
  396. v-if="isShow('血压监测部位')"
  397. >
  398. <template slot-scope="scope">
  399. {{ getBloodPressure(scope.row.blood_pressure_monitoring_site)}}
  400. </template>
  401. </el-table-column>
  402. <el-table-column
  403. prop="heparin"
  404. align="center"
  405. label="并发症"
  406. width="140"
  407. v-if="isShow('并发症')"
  408. >
  409. <template slot-scope="scope">
  410. {{getComplication(scope.row.complication)}}
  411. </template>
  412. </el-table-column>
  413. <el-table-column
  414. prop="heparin"
  415. align="center"
  416. label="KT/V"
  417. width="140"
  418. v-if="isShow('KT/V') && org_id == 9987"
  419. >
  420. <template slot-scope="scope">
  421. {{ scope.row.ktv ? scope.row.ktv : "" }}
  422. </template>
  423. </el-table-column>
  424. <el-table-column
  425. prop="symptom"
  426. align="center"
  427. label="病情变化"
  428. width="130"
  429. v-if="isShow('病情变化')"
  430. >
  431. </el-table-column>
  432. <el-table-column
  433. prop="dispose"
  434. align="center"
  435. label="处理"
  436. width="130"
  437. v-if="isShow('处理')"
  438. >
  439. </el-table-column>
  440. <el-table-column
  441. prop="result"
  442. align="center"
  443. label="结果"
  444. width="130"
  445. v-if="isShow('结果')"
  446. >
  447. </el-table-column>
  448. </el-table>
  449. </div>
  450. <!--<div v-show="edit">-->
  451. <el-form v-show="edit" ref="form" :model="form" label-width="130px">
  452. <el-row :gutter="20">
  453. <el-col :span="8" v-if="isShow('监测时间')">
  454. <el-form-item label="监测时间:">
  455. <!-- {{ monitor_date_str }}
  456. <el-time-picker v-model="form.monitoring_time" :clearable="false" arrow-control :picker-options="{format: 'HH:mm'}" prefix-icon="" value-format="HH:mm" style="width: 60%;">
  457. </el-time-picker> -->
  458. <el-date-picker
  459. v-model="form.operate_time"
  460. type="datetime"
  461. prefix-icon=""
  462. style="width: 100%"
  463. format="yyyy-MM-dd HH:mm"
  464. value-format="timestamp"
  465. ></el-date-picker>
  466. </el-form-item>
  467. </el-col>
  468. <el-col :span="8" v-if="isShow('体温')">
  469. <el-form-item label="体温(℃):">
  470. <el-input v-model="form.temperature"></el-input>
  471. </el-form-item>
  472. </el-col>
  473. <el-col :span="8" v-if="isShow('收缩压')">
  474. <el-form-item label="收缩压(mmHg):">
  475. <el-input v-model="form.systolic_bp"></el-input>
  476. </el-form-item>
  477. </el-col>
  478. <el-col :span="8" v-if="isShow('舒张压')">
  479. <el-form-item label="舒张压(mmHg):">
  480. <el-input v-model="form.diastolic_bp"></el-input>
  481. </el-form-item>
  482. </el-col>
  483. <el-col :span="8" v-if="isShow('脉搏')">
  484. <el-form-item label="脉搏(次/分):">
  485. <el-input v-model="form.pulse_frequency"></el-input>
  486. </el-form-item>
  487. </el-col>
  488. <el-col :span="8" v-if="isShow('呼吸频率')">
  489. <el-form-item label="呼吸频率(次/分):">
  490. <el-input v-model="form.breathing_rated"></el-input>
  491. </el-form-item>
  492. </el-col>
  493. <el-col :span="8" v-if="isShow('静脉压')">
  494. <el-form-item v-if="form.venous_pressure_type == 2" label="静脉压(kpa):">
  495. <el-input
  496. style="width: 140px"
  497. v-model="form.venous_pressure"
  498. ></el-input>
  499. <el-button
  500. size="mini"
  501. type="primary"
  502. @click="venousPressureChangeOne"
  503. >切换</el-button
  504. >
  505. </el-form-item>
  506. <el-form-item v-else label="静脉压(mmHg):">
  507. <el-input
  508. style="width: 140px"
  509. v-model="form.venous_pressure"
  510. ></el-input>
  511. <el-button
  512. size="mini"
  513. type="primary"
  514. @click="venousPressureChangeOne"
  515. >切换</el-button
  516. >
  517. </el-form-item>
  518. </el-col>
  519. <el-col :span="8" v-if="isShow('动脉压')">
  520. <el-form-item v-if="form.arterial_pressure_type == 2" label="动脉压(kpa):">
  521. <el-input style="width: 140px" v-model="form.arterial_pressure" ></el-input>
  522. <el-button size="mini" type="primary" @click="venousPressureChangeThree" >切换</el-button >
  523. </el-form-item>
  524. <el-form-item v-else label="动脉压(mmHg):">
  525. <el-input style="width: 140px" v-model="form.arterial_pressure" ></el-input>
  526. <el-button size="mini" type="primary" @click="venousPressureChangeThree" >切换</el-button >
  527. </el-form-item>
  528. </el-col>
  529. <el-col :span="8" v-if="isShow('血流量')">
  530. <el-form-item label="血流量(ml/min):">
  531. <el-input v-model="form.blood_flow_volume"></el-input>
  532. </el-form-item>
  533. </el-col>
  534. <el-col :span="8" v-if="isShow('跨膜压')">
  535. <el-form-item v-if="form.transmembrane_pressure_type == 2" label="跨膜压(kpa):">
  536. <el-input style="width: 140px" v-model="form.transmembrane_pressure" ></el-input>
  537. <el-button size="mini" type="primary" @click="venousPressureChangeTwo" >切换</el-button >
  538. </el-form-item>
  539. <el-form-item v-else label="跨膜压(mmHg):">
  540. <el-input style="width: 140px" v-model="form.transmembrane_pressure" ></el-input>
  541. <el-button size="mini" type="primary" @click="venousPressureChangeTwo" >切换</el-button >
  542. </el-form-item>
  543. </el-col>
  544. <el-col :span="8" v-if="isShow('超滤率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 34 || template_id == 35) ">
  545. <el-form-item label="超滤率(ml/h)">
  546. <el-input v-model="form.ultrafiltration_rate"></el-input>
  547. </el-form-item>
  548. </el-col>
  549. <el-col :span="8" v-if="isShow('超滤率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id != 29 && template_id != 30 && template_id != 31 && template_id != 34 && template_id != 35">
  550. <el-form-item label="超滤率(L/h)">
  551. <el-input v-model="form.ultrafiltration_rate"></el-input>
  552. </el-form-item>
  553. </el-col>
  554. <el-col
  555. :span="8"
  556. v-if=" isShow('超滤量') && (template_id == 6 || template_id == 9 || template_id == 10 || template_id == 11 || template_id == 12 || template_id == 13 || template_id == 17 || template_id == 18 || template_id == 19 || template_id == 20 || template_id == 21 || template_id == 22 || template_id == 23 || template_id == 24 || template_id == 26 || template_id == 27 || template_id == 29 || template_id == 30 || template_id == 31 || template_id == 32 || template_id == 34 || template_id == 35 || template_id == 36 || org_id == 9555) " >
  557. <el-form-item label="超滤量(ml):">
  558. <el-input v-model="form.ultrafiltration_volume"></el-input>
  559. </el-form-item>
  560. </el-col>
  561. <el-col
  562. :span="8"
  563. v-if=" isShow('超滤量') && template_id != 6 && template_id !=9 && template_id != 10 && template_id != 11 && template_id != 12 && template_id != 13 && template_id != 17 && template_id != 18 && template_id != 19 && template_id != 20 && template_id != 21 && template_id != 22 && template_id != 23 && template_id != 24 && template_id != 26 && template_id!=27 && template_id!=29 && template_id!=30 && template_id!=31 && template_id!=32 && template_id!=34 && template_id!=35 && template_id!=36 && org_id !=9555" >
  564. <el-form-item label="超滤量(L):">
  565. <el-input v-model="form.ultrafiltration_volume"></el-input>
  566. </el-form-item>
  567. </el-col>
  568. <el-col :span="8" v-if="isShow('钠浓度')">
  569. <el-form-item label="钠浓度(mmol/L):">
  570. <el-input v-model="form.sodium_concentration"></el-input>
  571. </el-form-item>
  572. </el-col>
  573. <!-- </el-row>
  574. <el-row :gutter="20"> -->
  575. <el-col :span="8" v-if="isShow('透析液温度')">
  576. <el-form-item label="透析液温度(℃):">
  577. <el-input v-model="form.dialysate_temperature"></el-input>
  578. </el-form-item>
  579. </el-col>
  580. <el-col :span="8" v-if="isShow('置换率') && template_id != 6 && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29">
  581. <el-form-item label="置换率(L/h):">
  582. <el-input v-model="form.replacement_rate"></el-input>
  583. </el-form-item>
  584. </el-col>
  585. <el-col :span="8" v-if="isShow('置换率') && (template_id == 6 || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29)">
  586. <el-form-item label="置换率(ml/min):">
  587. <el-input v-model="form.replacement_rate"></el-input>
  588. </el-form-item>
  589. </el-col>
  590. <el-col :span="8" v-if=" isShow('置换量') && ((template_id != 6 || org_id == 9919) && template_id != 10 && template_id != 11 && template_id != 20 && template_id != 26 && template_id != 29)">
  591. <el-form-item label="置换量(L):">
  592. <el-input v-model="form.displacement_quantity"></el-input>
  593. </el-form-item>
  594. </el-col>
  595. <el-col :span="8" v-if=" isShow('置换量') && ((template_id == 6 && org_id != 9919) || template_id == 10 || template_id == 11 || template_id == 20 || template_id == 26 || template_id == 29)">
  596. <el-form-item label="置换量(ml):">
  597. <el-input v-model="form.displacement_quantity"></el-input>
  598. </el-form-item>
  599. </el-col>
  600. <el-col :span="8" v-if="isShow('电导度')">
  601. <el-form-item label="电导度(mS/m):">
  602. <el-input v-model="form.conductivity"></el-input>
  603. </el-form-item>
  604. </el-col>
  605. <el-col :span="8" v-if="isShow('置换液流量') && template_id != 27">
  606. <el-form-item label="置换液流量(ml/h):">
  607. <el-input v-model="form.displacement_flow_quantity"></el-input>
  608. </el-form-item>
  609. </el-col>
  610. <el-col :span="8" v-if="isShow('置换液流量') && template_id == 27">
  611. <el-form-item label="置换液流量(ml/min):">
  612. <el-input v-model="form.displacement_flow_quantity"></el-input>
  613. </el-form-item>
  614. </el-col>
  615. <el-col :span="8" v-if="isShow('透析液流量')">
  616. <el-form-item label="透析液流量(ml/h):">
  617. <el-input v-model="form.dialysate_flow"></el-input>
  618. </el-form-item>
  619. </el-col>
  620. <el-col :span="8" v-if="isShow('SpO₂')">
  621. <el-form-item label="SpO₂(%):">
  622. <el-input v-model="form.blood_oxygen_saturation"></el-input>
  623. </el-form-item>
  624. </el-col>
  625. <el-col :span="8" v-if="isShow('血糖')">
  626. <el-form-item label="血糖(mmol/L):">
  627. <el-input v-model="form.blood_sugar"></el-input>
  628. </el-form-item>
  629. </el-col>
  630. <el-col :span="8" v-if="isShow('肝素用量余量')">
  631. <el-form-item label="肝素用量余量(ml):">
  632. <el-input v-model="form.heparin"></el-input>
  633. </el-form-item>
  634. </el-col>
  635. <el-col :span="8" v-if="isShow('抗凝剂')">
  636. <el-form-item label="抗凝剂:">
  637. <div style="display:flex;">
  638. <el-select v-model="form.monitor_anticoagulant" placeholder="请选择" style="width:50%;">
  639. <el-option v-for="(item, index) in anticoagulantsConfit" :label="item.name" :key="index + 'e'" :value="item.id"></el-option>
  640. </el-select>
  641. <el-input v-model="form.monitor_anticoagulant_value" style="width:49%;margin-left:10px;"></el-input>
  642. </div>
  643. </el-form-item>
  644. </el-col>
  645. <el-col :span="8" v-if="isShow('血压监测部位')">
  646. <el-form-item label="血压监测部位:">
  647. <div style="display:flex;">
  648. <el-select v-model="form.blood_pressure_monitoring_site" placeholder="请选择" style="width:50%;">
  649. <el-option v-for="(item, index) in bloodPressureMmonitoringSite" :label="item.name" :key="index + 'e'" :value="item.id"></el-option>
  650. </el-select>
  651. </div>
  652. </el-form-item>
  653. </el-col>
  654. <el-col :span="8" v-if="isShow('并发症')">
  655. <el-form-item label="并发症">
  656. <div style="display:flex;">
  657. <el-select v-model="form.complication" placeholder="请选择" style="width:50%;">
  658. <el-option v-for="(item, index) in complicationList" :label="item.name" :key="index + 'e'" :value="item.id"></el-option>
  659. </el-select>
  660. </div>
  661. </el-form-item>
  662. </el-col>
  663. <!-- </el-row>
  664. <el-row :gutter="20"> -->
  665. <el-col :span="24" v-if="isShow('KT/V')">
  666. <el-form-item label="KT/V(在线):">
  667. <el-input type="textarea" :rows="4" v-model="form.ktv"></el-input>
  668. </el-form-item>
  669. </el-col>
  670. <el-col :span="24" v-if="isShow('URR')">
  671. <el-form-item label="URR:">
  672. <el-input type="textarea" :rows="4" v-model="form.urr"></el-input>
  673. </el-form-item>
  674. </el-col>
  675. <!-- </el-row>
  676. <el-row :gutter="20"> -->
  677. <el-col :span="24" v-if="isShow('病情变化')">
  678. <el-form-item label="病情变化:">
  679. <el-select
  680. v-model="symptom_selecteds"
  681. style="width: 100%"
  682. :multiple="true"
  683. collapse-tags
  684. @change="symptomSelectorChange"
  685. >
  686. <el-option
  687. v-for="(symptom, index) in symptom_options"
  688. :key="index"
  689. :label="symptom.name"
  690. :value="symptom.name"
  691. ></el-option>
  692. </el-select>
  693. </el-form-item>
  694. </el-col>
  695. <!-- </el-row>
  696. <el-row :gutter="20"> -->
  697. <el-col :span="24" v-if="isShow('病情变化')">
  698. <el-form-item>
  699. <el-input
  700. type="textarea"
  701. :rows="4"
  702. v-model="form.symptom"
  703. @blur="symptomTextareaBlur"
  704. ></el-input>
  705. </el-form-item>
  706. </el-col>
  707. <!-- </el-row>
  708. <el-row :gutter="20"> -->
  709. <el-col :span="24" v-if="isShow('处理')">
  710. <el-form-item label="处理:">
  711. <el-select
  712. v-model="dispose_selecteds"
  713. style="width: 100%"
  714. :multiple="true"
  715. collapse-tags
  716. @change="disposeSelectorChange"
  717. >
  718. <el-option
  719. v-for="(dispose, index) in dispose_options"
  720. :key="index"
  721. :label="dispose.name"
  722. :value="dispose.name"
  723. ></el-option>
  724. </el-select>
  725. </el-form-item>
  726. </el-col>
  727. <!-- </el-row>
  728. <el-row :gutter="20"> -->
  729. <el-col :span="24" v-if="isShow('处理')">
  730. <el-form-item>
  731. <el-input
  732. type="textarea"
  733. :rows="4"
  734. v-model="form.dispose"
  735. @blur="disposeTextareaBlur"
  736. ></el-input>
  737. </el-form-item>
  738. </el-col>
  739. <!-- </el-row>
  740. <el-row :gutter="20"> -->
  741. <el-col :span="24" v-if="isShow('结果')">
  742. <el-form-item label="结果:">
  743. <el-select
  744. v-model="result_selecteds"
  745. style="width: 100%"
  746. :multiple="true"
  747. collapse-tags
  748. @change="resultSelectorChange"
  749. >
  750. <el-option
  751. v-for="(result, index) in result_options"
  752. :key="index"
  753. :label="result.name"
  754. :value="result.name"
  755. ></el-option>
  756. </el-select>
  757. </el-form-item>
  758. </el-col>
  759. <!-- </el-row>
  760. <el-row :gutter="20"> -->
  761. <el-col :span="24" v-if="isShow('结果')">
  762. <el-form-item>
  763. <el-input
  764. type="textarea"
  765. :rows="4"
  766. v-model="form.result"
  767. @blur="resultTextareaBlur"
  768. ></el-input>
  769. </el-form-item>
  770. </el-col>
  771. </el-row>
  772. </el-form>
  773. <div slot="footer" class="dialog-footer" v-show="edit">
  774. <el-button @click="cancelEditAction">取 消</el-button>
  775. <el-button type="primary" @click="submitAction">保 存</el-button>
  776. </div>
  777. <!--</div>-->
  778. </el-dialog>
  779. </div>
  780. </template>
  781. <script>
  782. import { parseTime } from '@/utils'
  783. import { getDataConfig } from '@/utils/data'
  784. import { editMonitor, postDelMonitorInfo, getTodayMonitor } from '@/api/dialysis_record'
  785. import store from '@/store'
  786. import request from '@/utils/request'
  787. export default {
  788. name: 'MonitorDialog',
  789. data() {
  790. return {
  791. is_has_create: true,
  792. is_has_modify: true,
  793. is_has_modify_other: true,
  794. is_has_del: true,
  795. is_has_del_other: true,
  796. visible: false,
  797. edit: false,
  798. current_row_class: 'current-box-class',
  799. creator: 0,
  800. patient_id: 0,
  801. schedule_date: 0,
  802. template_id: 0,
  803. isAdd: false,
  804. // monitoring_date: 0,
  805. form: {
  806. id: 0,
  807. monitoring_date: 0, // 监测日期
  808. // operate_date: 0, // 实际测量日期
  809. // monitoring_time: "", // 监测时间 HH:mm
  810. operate_time: 0,
  811. systolic_bp: '', // 收缩压
  812. diastolic_bp: '', // 舒张压
  813. pulse_frequency: '', // 心率
  814. temperature: '', // 体温
  815. breathing_rated: '', // 呼吸频率
  816. blood_flow_volume: '', // 血流量
  817. venous_pressure: '', // 静脉压
  818. venous_pressure_type: 1, // 静脉压
  819. transmembrane_pressure: '', // 跨膜压
  820. transmembrane_pressure_type: 1, // 跨膜压
  821. ultrafiltration_volume: '', // 超滤量
  822. ultrafiltration_rate: '', // 超滤率
  823. arterial_pressure: '', // 动脉压
  824. arterial_pressure_type: 1, // 动脉压
  825. sodium_concentration: '', // 钠浓度
  826. dialysate_temperature: '', // 透析液温度
  827. replacement_rate: '', // 置换率
  828. displacement_quantity: '', // 置换量
  829. conductivity: '', // 电导度
  830. displacement_flow_quantity: '', // 置换液流量
  831. dialysate_flow: '', // 透析液流量
  832. heparin: '', // 肝素用量余量
  833. ktv: '', // KT/V
  834. symptom: '', // 病情变化
  835. dispose: '', // 处理
  836. result: '', // 结果,
  837. blood_oxygen_saturation: '',
  838. urr:'',
  839. blood_sugar:'',//血糖
  840. monitor_anticoagulant:'',
  841. monitor_anticoagulant_value:"",
  842. blood_pressure_monitoring_site:"",
  843. complication:""
  844. },
  845. table_current_row: null,
  846. symptom_selecteds: [],
  847. symptom_options: getDataConfig('hemodialysis', 'symptoms'),
  848. dispose_selecteds: [],
  849. dispose_options: getDataConfig('hemodialysis', 'deals'),
  850. result_selecteds: [],
  851. result_options: getDataConfig('hemodialysis', 'results'),
  852. valueOne: 0,
  853. valueTwo: 0,
  854. valueThree: 0,
  855. anticoagulantsConfit:{},
  856. bloodPressureMmonitoringSite:[],
  857. complicationList:[],
  858. }
  859. },
  860. props: {
  861. monitors: {
  862. type: Array
  863. },
  864. patient:{
  865. type: Object
  866. }
  867. },
  868. computed: {
  869. monitor_date_str: function() {
  870. return parseTime(this.form.monitoring_date, '{y}-{m}-{d}')
  871. }
  872. },
  873. created() {
  874. this.template_id = this.$store.getters.xt_user.template_info.template_id;
  875. this.org_id = this.$store.getters.xt_user.template_info.org_id;
  876. var date = this.$route.query.date;
  877. var patient_id = this.$route.query.patient_id;
  878. this.patient_id = patient_id ? patient_id : this.patient.id;
  879. console.log('this.patient_id',this.patient_id)
  880. this.schedule_date = date ? date : new Date(new Date().toLocaleDateString()).getTime() / 1000;
  881. this.form.monitoring_date = date ? date : new Date(new Date().toLocaleDateString()).getTime() / 1000;
  882. // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
  883. // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
  884. this.form.operate_time = new Date().getTime();
  885. var symptoms = getDataConfig('hemodialysis', 'symptoms');
  886. console.log("sysmptoms3333333333",symptoms);
  887. this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit;
  888. //console.log("抗凝剂",this.anticoagulantsConfit)
  889. this.bloodPressureMmonitoringSite = getDataConfig('hemodialysis','blood_pressure_monitoring_site');
  890. this.complicationList = getDataConfig('hemodialysis','complication')
  891. },
  892. methods: {
  893. venousPressureChange(type) {
  894. if (type == 1) {
  895. this.form.venous_pressure = Math.ceil(
  896. Math.round(this.form.venous_pressure * 7.5)
  897. )
  898. } else if (type == 2) {
  899. this.form.transmembrane_pressure = Math.ceil(
  900. Math.round(this.form.transmembrane_pressure * 7.5)
  901. )
  902. } else {
  903. this.form.arterial_pressure = Math.ceil(
  904. Math.round(this.form.arterial_pressure * 7.5)
  905. )
  906. }
  907. },
  908. venousPressureChangeOne() {
  909. if (this.form.venous_pressure_type == 1) {
  910. this.form.venous_pressure_type = 2
  911. } else {
  912. this.form.venous_pressure_type = 1
  913. }
  914. // if (this.valueOne == 0) {
  915. // this.form.venous_pressure = Math.ceil(
  916. // Math.round(this.form.venous_pressure * 7.5)
  917. // )
  918. // this.valueOne = 1
  919. // return false
  920. // }
  921. // if (this.valueOne == 1) {
  922. // this.form.venous_pressure = Math.ceil(
  923. // Math.round(this.form.venous_pressure / 7.5)
  924. // )
  925. // this.valueOne = 0
  926. // return false
  927. // }
  928. },
  929. venousPressureChangeThree() {
  930. if (this.form.arterial_pressure_type == 1) {
  931. this.form.arterial_pressure_type = 2
  932. } else {
  933. this.form.arterial_pressure_type = 1
  934. }
  935. // if (this.valueThree == 0) {
  936. // this.form.arterial_pressure = Math.ceil(
  937. // Math.round(this.form.arterial_pressure * 7.5)
  938. // )
  939. // this.valueThree = 1
  940. // return false
  941. // }
  942. // if (this.valueThree == 1) {
  943. // this.form.arterial_pressure = Math.ceil(
  944. // Math.round(this.form.arterial_pressure / 7.5)
  945. // )
  946. // this.valueThree = 0
  947. // return false
  948. // }
  949. },
  950. venousPressureChangeTwo() {
  951. if (this.form.transmembrane_pressure_type == 1) {
  952. this.form.transmembrane_pressure_type = 2
  953. } else {
  954. this.form.transmembrane_pressure_type = 1
  955. }
  956. // if (this.valueTwo == 0) {
  957. // this.form.transmembrane_pressure = Math.ceil(
  958. // Math.round(this.form.transmembrane_pressure * 7.5)
  959. // )
  960. // this.valueTwo = 1
  961. // return false
  962. // }
  963. // if (this.valueTwo == 1) {
  964. // this.form.transmembrane_pressure = Math.ceil(
  965. // Math.round(this.form.transmembrane_pressure / 7.5)
  966. // )
  967. // this.valueTwo = 0
  968. // return false
  969. // }
  970. },
  971. isShow(name) {
  972. var filedList = store.getters.xt_user.fileds;
  973. for (let i = 0; i < filedList.length; i++) {
  974. if (filedList[i].module == 4 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
  975. return true
  976. }
  977. }
  978. return false
  979. },
  980. reset: function() {
  981. this.cancelEditAction()
  982. },
  983. show() {
  984. this.getPermission();
  985. this.visible = true
  986. },
  987. hide() {
  988. this.visible = false
  989. },
  990. getMonitorDate: function(monitor) {
  991. return parseTime(monitor.operate_time, '{y}-{m}-{d} {h}:{i}')
  992. },
  993. newRecordAction: function() {
  994. this.setEditMonitor(null);
  995. this.$refs.table.setCurrentRow(null);
  996. this.edit = true;
  997. this.isAdd = true;
  998. this.getLastRecordTody()
  999. },
  1000. getLastRecordTody() {
  1001. const params = {
  1002. patient_id: this.patient_id
  1003. };
  1004. getTodayMonitor(params).then(rs => {
  1005. console.log("机构ID",this.org_id);
  1006. var resp = rs.data.data;
  1007. this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date());
  1008. this.form.temperature = ''; // this.last_monitor_record.pulse_frequency;
  1009. this.form.pulse_frequency = ''; // this.last_monitor_record.pulse_frequency;
  1010. this.form.breathing_rated = resp.monitor.breathing_rated ? resp.monitor.breathing_rated : '';
  1011. this.form.systolic_bp = ''; // this.last_monitor_record.systolic_blood_pressure;
  1012. this.form.diastolic_bp = ''; // this.last_monitor_record.diastolic_blood_pressure;
  1013. this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : '';
  1014. // 静脉压
  1015. if(this.org_id == 10060){
  1016. this.form.venous_pressure = resp.monitor.venous_pressure
  1017. }else{
  1018. this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
  1019. }
  1020. this.form.venous_pressure_type = resp.monitor.venous_pressure_type ? resp.monitor.venous_pressure_type : 1;
  1021. this.form.arterial_pressure = resp.monitor.arterial_pressure ? resp.monitor.arterial_pressure : ''; // this.last_monitor_record.arterial_pressure;
  1022. this.form.arterial_pressure_type = resp.monitor.arterial_pressure_type ? resp.monitor.arterial_pressure_type : 1;
  1023. if(this.org_id == 10060){
  1024. this.form.transmembrane_pressure = resp.monitor.transmembrane_pressure;
  1025. }else{
  1026. this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
  1027. }
  1028. this.form.transmembrane_pressure_type = resp.monitor.transmembrane_pressure_type ? resp.monitor.transmembrane_pressure_type : 1;
  1029. this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : '';
  1030. this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : '';
  1031. this.form.sodium_concentration = resp.monitor.sodium_concentration ? resp.monitor.sodium_concentration : '';
  1032. this.form.dialysate_temperature = resp.monitor.dialysate_temperature ? resp.monitor.dialysate_temperature : '';
  1033. this.form.temperature = resp.monitor.temperature ? resp.monitor.temperature : '';
  1034. this.form.replacement_rate = resp.monitor.replacement_rate ? resp.monitor.replacement_rate : '';
  1035. this.form.heparin = resp.monitor.heparin ? resp.monitor.heparin : '';
  1036. this.form.dialysate_flow = resp.monitor.dialysate_flow ? resp.monitor.dialysate_flow : '';
  1037. this.form.displacement_quantity = resp.monitor.displacement_quantity ? resp.monitor.displacement_quantity : ''; // this.last_monitor_record.displacement_quantity;
  1038. this.form.conductivity = '';
  1039. this.form.displacement_flow_quantity = resp.monitor.displacement_flow_quantity ? resp.monitor.displacement_flow_quantity : '';
  1040. this.form.ktv = resp.monitor.ktv ? resp.monitor.ktv : ''; // this.last_monitor_record.ktv;
  1041. this.form.symptom = resp.monitor.symptom ? resp.monitor.symptom : ''; // this.last_monitor_record.symptom;
  1042. this.form.dispose = resp.monitor.dispose ? resp.monitor.dispose : ''; // this.last_monitor_record.dispose;
  1043. this.form.result = resp.monitor.result ? resp.monitor.result : ''; // this.last_monitor_record.result;
  1044. this.form.blood_oxygen_saturation = resp.monitor.blood_oxygen_saturation ? resp.monitor.blood_oxygen_saturation : '';
  1045. this.form.urr = resp.monitor.urr?resp.monitor.urr:'';
  1046. this.form.blood_sugar = resp.monitor.blood_sugar?resp.monitor.blood_sugar:'';
  1047. this.form.sodium_concentration = resp.monitor.sodium_concentration?resp.monitor.sodium_concentration:'';
  1048. this.form.conductivity = resp.monitor.conductivity?resp.monitor.conductivity:'';
  1049. this.form.monitor_anticoagulant = resp.monitor.monitor_anticoagulant?resp.monitor.monitor_anticoagulant:"";
  1050. this.form.monitor_anticoagulant_value = resp.monitor.monitor_anticoagulant_value?resp.monitor.monitor_anticoagulant_value:""
  1051. })
  1052. },
  1053. modifyRecordAction: function() {
  1054. if (this.table_current_row == null) {
  1055. this.$message.error('请选择一条监测记录');
  1056. return
  1057. }
  1058. this.creator = this.table_current_row.creator;
  1059. this.setEditMonitor(this.table_current_row);
  1060. this.$refs.table.setCurrentRow(null);
  1061. this.edit = true;
  1062. this.isAdd = false
  1063. },
  1064. cancelEditAction: function() {
  1065. this.setEditMonitor(null);
  1066. this.$refs.table.setCurrentRow(null);
  1067. this.edit = false
  1068. },
  1069. tableCurrentRowChange: function(currentRow) {
  1070. this.table_current_row = currentRow
  1071. // console.log("tableCurrentRowChange", currentRow)
  1072. },
  1073. setEditMonitor: function(monitor) {
  1074. if (monitor == null || monitor == undefined) {
  1075. this.form.id = 0;
  1076. // this.form.operate_date = parseInt((new Date()).getTime() / 1000)
  1077. // this.form.monitoring_time = parseTime(new Date(), "{h}:{i}")
  1078. this.form.operate_time = new Date().getTime();
  1079. this.form.systolic_bp = '';
  1080. this.form.diastolic_bp = '';
  1081. this.form.pulse_frequency = '';
  1082. this.form.breathing_rated = '';
  1083. this.form.blood_flow_volume = '';
  1084. this.form.temperature = '';
  1085. this.form.venous_pressure = '';
  1086. this.form.venous_pressure_type = 1;
  1087. this.form.transmembrane_pressure = '';
  1088. this.form.transmembrane_pressure_type = 1;
  1089. this.form.ultrafiltration_volume = '';
  1090. this.form.ultrafiltration_rate = '';
  1091. this.form.arterial_pressure = '';
  1092. this.form.arterial_pressure_type = 1;
  1093. this.form.sodium_concentration = '';
  1094. this.form.dialysate_temperature = '';
  1095. this.form.replacement_rate = '';
  1096. this.form.displacement_quantity = '';
  1097. this.form.conductivity = '';
  1098. this.form.displacement_flow_quantity = '';
  1099. this.form.heparin = '';
  1100. this.form.dialysate_flow = '';
  1101. this.form.ktv = '';
  1102. this.form.symptom = '';
  1103. this.form.dispose = '';
  1104. this.form.result = '';
  1105. this.symptom_selecteds = [];
  1106. this.dispose_selecteds = [];
  1107. this.result_selecteds = [];
  1108. this.form.urr = '';
  1109. this.form.blood_sugar = '';
  1110. this.form.monitor_anticoagulant = '';
  1111. this.form.monitor_anticoagulant_value = ''
  1112. } else {
  1113. (this.form.id = monitor.id),
  1114. // this.form.operate_date = monitor.operate_date
  1115. // this.form.monitoring_time = monitor.monitoring_time
  1116. (this.form.operate_time = monitor.operate_time * 1000);
  1117. this.form.systolic_bp = monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : '';
  1118. this.form.temperature = monitor.temperature ? monitor.temperature : '';
  1119. this.form.diastolic_bp = monitor.diastolic_blood_pressure ? monitor.diastolic_blood_pressure : '';
  1120. this.form.pulse_frequency = monitor.pulse_frequency ? monitor.pulse_frequency : '';
  1121. this.form.breathing_rated = monitor.breathing_rate ? monitor.breathing_rate : '';
  1122. this.form.blood_flow_volume = monitor.blood_flow_volume ? monitor.blood_flow_volume : '';
  1123. this.form.venous_pressure = monitor.venous_pressure ? monitor.venous_pressure : '';
  1124. this.form.venous_pressure_type = monitor.venous_pressure_type ? monitor.venous_pressure_type : '';
  1125. this.form.transmembrane_pressure = monitor.transmembrane_pressure ? monitor.transmembrane_pressure : '';
  1126. this.form.transmembrane_pressure_type = monitor.transmembrane_pressure_type ? monitor.transmembrane_pressure_type : '';
  1127. this.form.ultrafiltration_volume = monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : '';
  1128. this.form.ultrafiltration_rate = monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : '';
  1129. this.form.arterial_pressure = monitor.arterial_pressure ? monitor.arterial_pressure : '';
  1130. this.form.arterial_pressure_type = monitor.arterial_pressure_type ? monitor.arterial_pressure_type : '';
  1131. this.form.sodium_concentration = monitor.sodium_concentration ? monitor.sodium_concentration : '';
  1132. this.form.dialysate_temperature = monitor.dialysate_temperature ? monitor.dialysate_temperature : '';
  1133. this.form.replacement_rate = monitor.replacement_rate ? monitor.replacement_rate : '';
  1134. this.form.displacement_quantity = monitor.displacement_quantity ? monitor.displacement_quantity : '';
  1135. this.form.conductivity = monitor.conductivity ? monitor.conductivity : '';
  1136. this.form.displacement_flow_quantity = monitor.displacement_flow_quantity ? monitor.displacement_flow_quantity : '';
  1137. this.form.heparin = monitor.heparin ? monitor.heparin : '';
  1138. this.form.dialysate_flow = monitor.dialysate_flow ? monitor.dialysate_flow : '';
  1139. this.form.ktv = monitor.ktv ? monitor.ktv : '';
  1140. this.form.symptom = monitor.symptom;
  1141. this.form.dispose = monitor.dispose;
  1142. this.form.result = monitor.result;
  1143. this.form.blood_oxygen_saturation = monitor.blood_oxygen_saturation;
  1144. this.form.urr = monitor.urr?monitor.urr:'';
  1145. this.form.blood_sugar = monitor.blood_sugar?monitor.blood_sugar:'';
  1146. this.form.monitor_anticoagulant = monitor.monitor_anticoagulant?monitor.monitor_anticoagulant:'';
  1147. this.form.monitor_anticoagulant_value = monitor.monitor_anticoagulant_value?monitor.monitor_anticoagulant_value:"";
  1148. // 设置三个下拉框的值,直接调用事件偷懒
  1149. this.symptomTextareaBlur();
  1150. this.disposeTextareaBlur();
  1151. this.resultTextareaBlur()
  1152. }
  1153. },
  1154. submitAction: function() {
  1155. // TODO loading
  1156. var is_new = this.form.id;
  1157. this.form.operate_time = parseInt(this.form.operate_time / 1000);
  1158. this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp);
  1159. this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp);
  1160. this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature);
  1161. this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency);
  1162. this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated);
  1163. this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume);
  1164. this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure);
  1165. this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type);
  1166. this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure);
  1167. this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type);
  1168. this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume);
  1169. this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate);
  1170. this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure);
  1171. this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type);
  1172. this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration);
  1173. this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature);
  1174. this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate);
  1175. this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity);
  1176. this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity);
  1177. this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity);
  1178. this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin);
  1179. this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow);
  1180. this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv);
  1181. this.form.monitoring_date = parseInt(this.form.monitoring_date);
  1182. this.form.urr = this.form.urr;
  1183. this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar);
  1184. this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant);
  1185. this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value;
  1186. this.form.blood_pressure_monitoring_site = parseInt(this.form.blood_pressure_monitoring_site);
  1187. this.form.complication = parseInt(this.form.complication);
  1188. let mode = '1';
  1189. if (this.form.id > 0) {
  1190. mode = '2';
  1191. if (this.creator > 0 && this.creator != this.$store.getters.xt_user.user.id) {
  1192. mode = '3'
  1193. }
  1194. }
  1195. editMonitor(this.patient_id, this.schedule_date, this.form, mode).then(
  1196. rs => {
  1197. var resp = rs.data;
  1198. if (resp.state == 1) {
  1199. var monitor = resp.data.monitor;
  1200. if (this.isAdd) {
  1201. this.monitors.unshift(monitor);
  1202. this.monitors.sort((a, b) => b.operate_time - a.operate_time);
  1203. this.monitors.reverse()
  1204. } else {
  1205. for (let index = 0; index < this.monitors.length; index++) {
  1206. const m = this.monitors[index];
  1207. if (m.id == monitor.id) {
  1208. for (const key in monitor) {
  1209. m[key] = monitor[key]
  1210. }
  1211. break
  1212. }
  1213. }
  1214. }
  1215. this.reset()
  1216. } else {
  1217. this.form.systolic_bp = parseFloat(this.form.systolic_bp) == NaN ? 0 : parseFloat(this.form.systolic_bp);
  1218. this.form.diastolic_bp = parseFloat(this.form.diastolic_bp) == NaN ? 0 : parseFloat(this.form.diastolic_bp);
  1219. this.form.temperature = parseFloat(this.form.temperature) == NaN ? 0 : parseFloat(this.form.temperature);
  1220. this.form.pulse_frequency = parseFloat(this.form.pulse_frequency) == NaN ? 0 : parseFloat(this.form.pulse_frequency);
  1221. this.form.breathing_rated = parseFloat(this.form.breathing_rated) == NaN ? 0 : parseFloat(this.form.breathing_rated);
  1222. this.form.blood_flow_volume = parseFloat(this.form.blood_flow_volume) == NaN ? 0 : parseFloat(this.form.blood_flow_volume);
  1223. this.form.venous_pressure = parseFloat(this.form.venous_pressure) == NaN ? 0 : parseFloat(this.form.venous_pressure);
  1224. this.form.venous_pressure_type = parseFloat(this.form.venous_pressure_type) == NaN ? 1 : parseFloat(this.form.venous_pressure_type);
  1225. this.form.transmembrane_pressure = parseFloat(this.form.transmembrane_pressure) == NaN ? 0 : parseFloat(this.form.transmembrane_pressure);
  1226. this.form.transmembrane_pressure_type = parseFloat(this.form.transmembrane_pressure_type) == NaN ? 1 : parseFloat(this.form.transmembrane_pressure_type);
  1227. this.form.ultrafiltration_volume = parseFloat(this.form.ultrafiltration_volume) == NaN ? 0 : parseFloat(this.form.ultrafiltration_volume);
  1228. this.form.ultrafiltration_rate = parseFloat(this.form.ultrafiltration_rate) == NaN ? 0 : parseFloat(this.form.ultrafiltration_rate);
  1229. this.form.arterial_pressure = parseFloat(this.form.arterial_pressure) == NaN ? 0 : parseFloat(this.form.arterial_pressure);
  1230. this.form.arterial_pressure_type = parseFloat(this.form.arterial_pressure_type) == NaN ? 1 : parseFloat(this.form.arterial_pressure_type);
  1231. this.form.sodium_concentration = parseFloat(this.form.sodium_concentration) == NaN ? 0 : parseFloat(this.form.sodium_concentration);
  1232. this.form.dialysate_temperature = parseFloat(this.form.dialysate_temperature) == NaN ? 0 : parseFloat(this.form.dialysate_temperature);
  1233. this.form.replacement_rate = parseFloat(this.form.replacement_rate) == NaN ? 0 : parseFloat(this.form.replacement_rate);
  1234. this.form.displacement_quantity = parseFloat(this.form.displacement_quantity) == NaN ? 0 : parseFloat(this.form.displacement_quantity);
  1235. this.form.conductivity = parseFloat(this.form.conductivity) == NaN ? 0 : parseFloat(this.form.conductivity);
  1236. this.form.displacement_flow_quantity = parseFloat(this.form.displacement_flow_quantity) == NaN ? 0 : parseFloat(this.form.displacement_flow_quantity);
  1237. this.form.heparin = parseFloat(this.form.heparin) == NaN ? 0 : parseFloat(this.form.heparin);
  1238. this.form.dialysate_flow = parseFloat(this.form.dialysate_flow) == NaN ? 0 : parseFloat(this.form.dialysate_flow);
  1239. this.form.ktv = parseFloat(this.form.ktv) == NaN ? 0 : parseFloat(this.form.ktv);
  1240. this.form.urr = this.form.urr;
  1241. this.form.blood_sugar = parseFloat(this.form.blood_sugar) == NaN ? 0 : parseFloat(this.form.blood_sugar);
  1242. this.form.monitor_anticoagulant = parseInt(this.form.monitor_anticoagulant);
  1243. this.form.monitor_anticoagulant_value = this.form.monitor_anticoagulant_value;
  1244. this.form.blood_pressure_monitoring_site = this.form.blood_pressure_monitoring_site;
  1245. this.form.complication = this.form.complication;
  1246. this.$message.error(resp.msg)
  1247. }
  1248. }
  1249. )
  1250. },
  1251. symptomTextareaBlur: function() {
  1252. if (this.form.symptom.length > 0) {
  1253. this.symptom_selecteds = this.form.symptom.split(',')
  1254. } else {
  1255. this.symptom_selecteds = []
  1256. }
  1257. },
  1258. symptomSelectorChange: function() {
  1259. if (this.symptom_selecteds.length > 0) {
  1260. this.form.symptom = this.symptom_selecteds.join(',') + ','
  1261. } else {
  1262. this.form.symptom = ''
  1263. }
  1264. },
  1265. disposeTextareaBlur: function() {
  1266. if (this.form.dispose.length > 0) {
  1267. this.dispose_selecteds = this.form.dispose.split(',')
  1268. } else {
  1269. this.dispose_selecteds = []
  1270. }
  1271. },
  1272. disposeSelectorChange: function() {
  1273. if (this.dispose_selecteds.length > 0) {
  1274. this.form.dispose = this.dispose_selecteds.join(',') + ','
  1275. } else {
  1276. this.form.dispose = ''
  1277. }
  1278. },
  1279. resultTextareaBlur: function() {
  1280. if (this.form.result.length > 0) {
  1281. this.result_selecteds = this.form.result.split(',')
  1282. } else {
  1283. this.result_selecteds = []
  1284. }
  1285. },
  1286. setRecords(records) {
  1287. this.monitors = records
  1288. },
  1289. resultSelectorChange: function() {
  1290. if (this.result_selecteds.length > 0) {
  1291. this.form.result = this.result_selecteds.join(',') + ','
  1292. } else {
  1293. this.form.result = ''
  1294. }
  1295. },
  1296. deleteRecordAction: function() {
  1297. if (this.table_current_row == null) {
  1298. this.$message.error('请选择一条监测记录');
  1299. return
  1300. }
  1301. this.$confirm('删除记录', '是否删除该监测记录', {
  1302. confirmButtonText: '确定',
  1303. cancelButtonText: '取消',
  1304. type: 'warning'
  1305. })
  1306. .then(() => {
  1307. let mode = '4';
  1308. if (
  1309. this.table_current_row.creator > 0 &&
  1310. this.table_current_row.creator !=
  1311. this.$store.getters.xt_user.user.id
  1312. ) {
  1313. mode = '5'
  1314. }
  1315. const params = {
  1316. patient_id: this.patient_id,
  1317. record_id: this.table_current_row.id,
  1318. mode: mode
  1319. };
  1320. postDelMonitorInfo(params).then(response => {
  1321. if (response.data.state == 0) {
  1322. this.$message.error(response.data.msg);
  1323. return false
  1324. } else {
  1325. const record_id = response.data.data.record_id;
  1326. for (let i = 0; i < this.monitors.length; i++) {
  1327. if (this.monitors[i].id == record_id) {
  1328. this.monitors.splice(i, 1)
  1329. }
  1330. }
  1331. this.$message.success('删除成功')
  1332. }
  1333. })
  1334. })
  1335. .catch(() => {})
  1336. },
  1337. getPermission() {
  1338. request
  1339. .get('/api/func_per/get', {
  1340. params: {
  1341. create_url: '/api/dislysis/monitor/edit?mode=1',
  1342. modify_url: '/api/dislysis/monitor/edit?mode=2',
  1343. modify_other_url: '/api/dislysis/monitor/edit?mode=3',
  1344. del_url: '/api/dialysis/monitor/del?mode=4',
  1345. del_other_url: '/api/dialysis/monitor/del?mode=5',
  1346. module: 7
  1347. }
  1348. })
  1349. .then(res => {
  1350. console.log(res);
  1351. if (res.data.state == 0) {
  1352. this.hasPermission = false
  1353. } else if (res.data.state == 1) {
  1354. this.is_has_create = res.data.data.is_has_create;
  1355. this.is_has_exce = res.data.data.is_has_exce;
  1356. this.is_has_check = res.data.data.is_has_check;
  1357. this.is_has_modify = res.data.data.is_has_modify;
  1358. this.is_has_modify_other = res.data.data.is_has_modify_other;
  1359. this.is_has_modify_exce = res.data.data.is_has_modify_exce;
  1360. this.is_has_del = res.data.data.is_has_del;
  1361. this.is_has_del_other = res.data.data.is_has_del_other
  1362. }
  1363. })
  1364. },
  1365. getBloodPressure(id){
  1366. var name = "";
  1367. for(let i=0;i<this.bloodPressureMmonitoringSite.length;i++){
  1368. if(id == this.bloodPressureMmonitoringSite[i].id){
  1369. name = this.bloodPressureMmonitoringSite[i].name
  1370. }
  1371. }
  1372. return name
  1373. },
  1374. getComplication(id){
  1375. var name = "";
  1376. for(let i=0;i<this.complicationList.length;i++){
  1377. if(id == this.complicationList[i].id){
  1378. name = this.complicationList[i].name
  1379. }
  1380. }
  1381. return name
  1382. }
  1383. },
  1384. watch:{
  1385. patient:{
  1386. handler(newVal){
  1387. this.patient_id = newVal.id
  1388. },
  1389. deep:true
  1390. }
  1391. }
  1392. }
  1393. </script>
  1394. <style style="stylesheet/scss" lang="scss" scoped>
  1395. .grid {
  1396. padding: 10px 0 20px 0;
  1397. .list {
  1398. ul {
  1399. @include display-flex;
  1400. @include align-items-center;
  1401. @include text-align;
  1402. @include justify-content-around;
  1403. cursor: pointer;
  1404. li {
  1405. font-size: 12px;
  1406. color: #5d6b7a;
  1407. margin-top: 20px;
  1408. p {
  1409. height: 30px;
  1410. line-height: 30px;
  1411. color: #34495e;
  1412. font-size: 14px;
  1413. }
  1414. img {
  1415. width: 50px;
  1416. height: 50px;
  1417. }
  1418. }
  1419. }
  1420. }
  1421. }
  1422. .txsj {
  1423. text-align: center;
  1424. margin-bottom: 20px;
  1425. }
  1426. .current-box-class::-webkit-scrollbar {
  1427. height: 20px; /*滚动条高度*/
  1428. }
  1429. </style>
  1430. <style style="stylesheet/scss" lang="scss">
  1431. .dialog_box .current-box-class .current-row > td {
  1432. background: #6fb5fa;
  1433. // color: #000;
  1434. /* font-size: 12px; */
  1435. }
  1436. .dialog_box .current-box-class .current-row:hover > td {
  1437. background: #6fb5fa;
  1438. // color: white;
  1439. /* font-size: 12px; */
  1440. }
  1441. .el-table__body-wrapper::-webkit-scrollbar {
  1442. height: 20px;
  1443. }
  1444. .dialog_box .current-box-class .current-row {
  1445. background: #87ceff;
  1446. }
  1447. .dialog_box tr:hover > td {
  1448. background-color: #ecf5ff !important;
  1449. color: #3a8ee6;
  1450. }
  1451. .dialog_box tr > td:hover {
  1452. background-color: #409eff !important;
  1453. color: #fff !important;
  1454. }
  1455. </style>