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

monitor_dialog.vue 58KB

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