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

monitor_dialog.vue 61KB

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