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

monitor_dialog.vue 64KB

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