monitor_dialog.vue 47KB

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