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

monitor_dialog.vue 52KB

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