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

AssessmentAfterDislysis.vue 38KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061
  1. <template>
  2. <div class="assessment-after-box">
  3. <el-dialog
  4. class="newDialog"
  5. title="透后评估"
  6. :visible.sync="isVisibility"
  7. width="1010px"
  8. :modal-append-to-body="false"
  9. >
  10. <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
  11. <el-form ref="form" :model="form" label-width="160px">
  12. <!-- <el-row :gutter="20"> -->
  13. <el-row :gutter="20">
  14. <el-col :span="8" v-if="isShow('实际治疗时长')">
  15. <el-form-item label="实际治疗时长(时):">
  16. <!-- <el-input v-model="form.actual_treatment_hour"></el-input> -->
  17. <el-time-picker
  18. v-model="actualTreatmentHourShow"
  19. placeholder="透析时长"
  20. style="width:100%;"
  21. value-format="H:m"
  22. format="H:m"
  23. @change="selectActualTreatmentHour"
  24. >
  25. </el-time-picker>
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="8" v-if="isShow('实际超滤量')">
  29. <el-form-item label="实际超滤量(L): " v-if="this.template_id != 6">
  30. <el-input v-model="form.actual_ultrafiltration"></el-input>
  31. </el-form-item>
  32. <el-form-item label="实际超滤量(ml): " v-if="this.template_id == 6">
  33. <el-input v-model="form.actual_ultrafiltration"></el-input>
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="8" v-if="isShow('透后称重')">
  37. <el-form-item label="透后称重(kg): ">
  38. <el-input v-model="form.weight_after"></el-input>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :span="8" v-if="isShow('体重减少')">
  42. <el-form-item label="体重减少(kg): ">
  43. <el-input v-model="form.weight_loss"></el-input>
  44. </el-form-item>
  45. </el-col>
  46. <el-col :span="8" v-if="isShow('穿刺处血肿')">
  47. <el-form-item label="穿刺处血肿: ">
  48. <el-radio-group v-model="form.puncture_point_haematoma">
  49. <el-radio :label="1">有</el-radio>
  50. <el-radio :label="2">无</el-radio>
  51. </el-radio-group>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="8" v-if="isShow('并发症')">
  55. <el-form-item label="并发症: ">
  56. <el-input
  57. v-model="form.complication"
  58. readonly
  59. @focus="showDialog('5')"
  60. ></el-input>
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="8" v-if="isShow('内瘘')">
  64. <el-form-item label="内瘘: ">
  65. <el-input
  66. v-model="form.internal_fistula"
  67. readonly
  68. @focus="showDialog('3')"
  69. ></el-input>
  70. </el-form-item>
  71. </el-col>
  72. <el-col :span="8" v-if="isShow('导管')">
  73. <el-form-item label="导管: ">
  74. <el-input
  75. v-model="form.catheter"
  76. readonly
  77. @focus="showDialog('4')"
  78. ></el-input>
  79. </el-form-item>
  80. </el-col>
  81. <el-col :span="8" v-if="isShow('透析过程')">
  82. <el-form-item label="透析过程: ">
  83. <el-select v-model="form.dialysis_process">
  84. <el-option :key="0" label="请选择" :value="0"></el-option>
  85. <el-option
  86. v-for="item in this.$store.getters.dialysis_process"
  87. :label="item.name"
  88. :value="item.id"
  89. :key="item.id"
  90. ></el-option>
  91. </el-select>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="8" v-if="isShow('透析过程提前时间')">
  95. <el-form-item label="透析过程提前时间(min): ">
  96. <el-input v-model="form.in_advance_minute"></el-input>
  97. </el-form-item>
  98. </el-col>
  99. <el-col :span="8" v-if="isShow('透析过程提前原因')">
  100. <el-form-item label="透析过程提前原因: ">
  101. <el-input
  102. v-model="form.in_advance_reason"
  103. readonly
  104. @focus="showDialog('7')"
  105. ></el-input>
  106. </el-form-item>
  107. </el-col>
  108. <el-col :span="8" v-if="isShow('透析过程提前其他原因')">
  109. <el-form-item label="透析过程提前其他原因: ">
  110. <el-input
  111. v-model="form.in_advance_reason_other"
  112. :rows="2"
  113. ></el-input>
  114. </el-form-item>
  115. </el-col>
  116. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血时间')">
  117. <el-form-item label="内瘘管拔针后压迫止血时间(min): ">
  118. <el-input v-model="form.hemostasis_minute" :rows="5"></el-input>
  119. </el-form-item>
  120. </el-col>
  121. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血操作')">
  122. <el-form-item label="内瘘管拔针后压迫止血操作: ">
  123. <el-select v-model="form.hemostasis_opera">
  124. <el-option :key="0" label="请选择" :value="0"></el-option>
  125. <el-option
  126. v-for="item in this.$store.getters.hemostasis_opera"
  127. :label="item.name"
  128. :value="item.id"
  129. :key="item.id"
  130. ></el-option>
  131. </el-select>
  132. </el-form-item>
  133. </el-col>
  134. <el-col :span="8" v-if="isShow('动脉管道')">
  135. <el-form-item label="动脉管道: ">
  136. <el-select v-model="form.arterial_tube">
  137. <el-option :key="0" label="请选择" :value="0"></el-option>
  138. <el-option
  139. v-for="item in this.$store.getters.arterial_tube"
  140. :label="item.name"
  141. :value="item.id"
  142. :key="item.id"
  143. ></el-option>
  144. </el-select>
  145. </el-form-item>
  146. </el-col>
  147. <el-col :span="8" v-if="isShow('静脉管道')">
  148. <el-form-item label="静脉管道: ">
  149. <el-select v-model="form.intravenous_tube">
  150. <el-option :key="0" label="请选择" :value="0"></el-option>
  151. <el-option
  152. v-for="item in this.$store.getters.intravenous_tube"
  153. :label="item.name"
  154. :value="item.id"
  155. :key="item.id"
  156. ></el-option>
  157. </el-select>
  158. </el-form-item>
  159. </el-col>
  160. <el-col :span="8" v-if="isShow('透析器凝血')">
  161. <el-form-item label="透析器凝血: ">
  162. <el-input
  163. v-model="form.cruor"
  164. readonly
  165. @focus="showDialog('1')"
  166. ></el-input>
  167. </el-form-item>
  168. </el-col>
  169. <el-col :span="8" v-if="isShow('患者去向')">
  170. <el-form-item label="患者去向: ">
  171. <el-select v-model="form.patient_gose">
  172. <el-option :key="0" label="请选择" :value="0"></el-option>
  173. <el-option
  174. v-for="item in patientGoseOptions"
  175. :label="item.name"
  176. :value="item.id"
  177. :key="item.id"
  178. ></el-option>
  179. </el-select>
  180. </el-form-item>
  181. </el-col>
  182. <el-col :span="8" v-if="isShow('拔针后穿刺点渗血')">
  183. <el-form-item label="拔针后穿刺点渗血: ">
  184. <el-radio-group v-model="form.puncture_point_oozing_blood">
  185. <el-radio :label="1">有</el-radio>
  186. <el-radio :label="2">无</el-radio>
  187. </el-radio-group>
  188. </el-form-item>
  189. </el-col>
  190. <!-- <el-col :span="8" v-if="isShow('压迫后内瘘震颤')">-->
  191. <!-- <el-form-item label="压迫后内瘘震颤: ">-->
  192. <!-- <el-select v-model="form.internal_fistula_tremor_ac">-->
  193. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  194. <!-- <el-option-->
  195. <!-- v-for="item in internalFistulaTremorAcOptions"-->
  196. <!-- :label="item.name"-->
  197. <!-- :value="item.id"-->
  198. <!-- :key="item.id"-->
  199. <!-- ></el-option>-->
  200. <!-- </el-select>-->
  201. <!-- </el-form-item>-->
  202. <!-- </el-col>-->
  203. <el-row :gutter="20" v-if="form.patient_gose == 3 && isShow('科室')">
  204. <el-col :span="24">
  205. <el-form-item label="科室: ">
  206. <el-input
  207. v-model="form.inpatient_department"
  208. :rows="5"
  209. ></el-input>
  210. </el-form-item>
  211. </el-col>
  212. </el-row>
  213. <el-row
  214. :gutter="20"
  215. v-if="form.patient_gose == 3 && isShow('交待观察内容')"
  216. >
  217. <el-col :span="24">
  218. <el-form-item label="交待观察内容: ">
  219. <el-input
  220. placeholder="交待病房护士/患者/陪人观察内容"
  221. v-model="form.observation_content"
  222. :rows="5"
  223. readonly
  224. @focus="showDialog('6')"
  225. ></el-input>
  226. </el-form-item>
  227. </el-col>
  228. </el-row>
  229. <el-row
  230. :gutter="20"
  231. v-show="form.patient_gose == 3 && isShow('其他观察内容')"
  232. >
  233. <el-col :span="24">
  234. <el-form-item label="其他观察内容: ">
  235. <el-input
  236. v-model="form.observation_content_other"
  237. :rows="5"
  238. ></el-input>
  239. </el-form-item>
  240. </el-col>
  241. </el-row>
  242. <el-col :span="8" v-if="isShow('体温')">
  243. <el-form-item label="体温(℃): ">
  244. <el-input v-model="form.temperature"></el-input>
  245. </el-form-item>
  246. </el-col>
  247. <!-- </el-row>
  248. <el-row :gutter="20"> -->
  249. <el-col :span="8" v-if="isShow('收缩压')">
  250. <el-form-item label="收缩压(mmHg): ">
  251. <el-input v-model="form.systolic_blood_pressure"></el-input>
  252. </el-form-item>
  253. </el-col>
  254. <el-col :span="8" v-if="isShow('舒张压')">
  255. <el-form-item label="舒张压(mmHg): ">
  256. <el-input v-model="form.diastolic_blood_pressure"></el-input>
  257. </el-form-item>
  258. </el-col>
  259. <el-col :span="8" v-if="isShow('呼吸频率')">
  260. <el-form-item label="呼吸频率(次/min): ">
  261. <el-input v-model="form.breathing_rate"></el-input>
  262. </el-form-item>
  263. </el-col>
  264. <el-col :span="8" v-if="isShow('脉搏')">
  265. <el-form-item label="脉搏(次/分): ">
  266. <el-input v-model="form.pulse_frequency"></el-input>
  267. </el-form-item>
  268. </el-col>
  269. <el-col :span="8" v-if="isShow('透后症状')">
  270. <el-form-item label="透后症状: ">
  271. <el-input
  272. v-model="form.symptom_after_dialysis"
  273. readonly
  274. @focus="showDialog('2')"
  275. ></el-input>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="8" v-if="isShow('透析中入量')">
  279. <el-form-item label="透析中入量: ">
  280. <el-input v-model="form.dialysis_intakes"></el-input>
  281. </el-form-item>
  282. </el-col>
  283. <el-col :span="8" v-if="isShow('透析中入量单位')">
  284. <el-form-item label="透析中入量单位: ">
  285. <el-select v-model="form.dialysis_intakes_unit">
  286. <el-option :key="0" label="请选择" :value="0"></el-option>
  287. <el-option
  288. v-for="item in unit"
  289. :label="item.name"
  290. :value="item.id"
  291. :key="item.id"
  292. ></el-option>
  293. </el-select>
  294. </el-form-item>
  295. </el-col>
  296. <!-- </el-row>
  297. <el-row :gutter="20"> -->
  298. <el-col :span="8" v-if="isShow('实际置换量')">
  299. <el-form-item label="实际置换量(L): ">
  300. <el-input v-model="form.actual_displacement"></el-input>
  301. </el-form-item>
  302. </el-col>
  303. <!-- </el-row>
  304. <el-row :gutter="20"> -->
  305. <!-- </el-row>
  306. <el-row :gutter="20"> -->
  307. <!-- <el-col :span="8" v-if="isShow('血管通路部位')">-->
  308. <!-- <el-form-item label="血管通路部位: ">-->
  309. <!-- <el-select v-model="form.blood_access_part_id">-->
  310. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  311. <!-- <el-option-->
  312. <!-- v-for="item in vascularAccessOptions"-->
  313. <!-- :label="item.name"-->
  314. <!-- :value="item.id"-->
  315. <!-- :key="item.id"-->
  316. <!-- ></el-option>-->
  317. <!-- </el-select>-->
  318. <!-- </el-form-item>-->
  319. <!-- </el-col>-->
  320. <!-- <el-col :span="8" v-if="isShow('血管通路')">-->
  321. <!-- <el-form-item label="血管通路: ">-->
  322. <!-- <el-select v-model="form.blood_access_part_opera_id">-->
  323. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  324. <!-- <el-option-->
  325. <!-- v-for="item in vascularAccessDescOptions"-->
  326. <!-- :label="item.name"-->
  327. <!-- :value="item.id"-->
  328. <!-- :key="item.id"-->
  329. <!-- ></el-option>-->
  330. <!-- </el-select>-->
  331. <!-- </el-form-item>-->
  332. <!-- </el-col>-->
  333. <!-- </el-row>
  334. <el-row :gutter="20"> -->
  335. <!-- </el-row>
  336. <el-row :gutter="20" > -->
  337. <!--
  338. </el-row>
  339. <el-row :gutter="20"> -->
  340. <!-- <el-col :span="8" v-if="isShow('内瘘震颤和血管杂音')">-->
  341. <!-- <el-form-item label="内瘘震颤和血管杂音: ">-->
  342. <!-- <el-select v-model="form.tremor_noise">-->
  343. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  344. <!-- <el-option-->
  345. <!-- v-for="item in this.$store.getters.tremor_noise"-->
  346. <!-- :label="item.name"-->
  347. <!-- :value="item.id"-->
  348. <!-- :key="item.id"-->
  349. <!-- ></el-option>-->
  350. <!-- </el-select>-->
  351. <!-- </el-form-item>-->
  352. <!-- </el-col>-->
  353. <el-col :span="8" v-if="isShow('失衡综合症')">
  354. <el-form-item label="失衡综合症: ">
  355. <el-select v-model="form.disequilibrium_syndrome">
  356. <el-option :key="0" label="请选择" :value="0"></el-option>
  357. <el-option
  358. v-for="item in this.$store.getters.disequilibrium_syndrome"
  359. :label="item.name"
  360. :value="item.id"
  361. :key="item.id"
  362. ></el-option>
  363. </el-select>
  364. </el-form-item>
  365. </el-col>
  366. <!-- <el-col :span="8" v-if="isShow('失衡综合症症状')">-->
  367. <!-- <el-form-item label="失衡综合症症状: ">-->
  368. <!-- <el-input-->
  369. <!-- v-model="form.disequilibrium_syndrome_option"-->
  370. <!-- readonly-->
  371. <!-- @focus="showDialog('8')"-->
  372. <!-- ></el-input>-->
  373. <!-- </el-form-item>-->
  374. <!-- </el-col>-->
  375. <!-- </el-row>
  376. <el-row :gutter="20" > -->
  377. <!-- <el-col :span="8" v-if="isShow('透析器')">-->
  378. <!-- <el-form-item label="透析器凝血: ">-->
  379. <!-- <el-select v-model="form.dialyzer">-->
  380. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  381. <!-- <el-option-->
  382. <!-- v-for="item in this.$store.getters.dialyzer"-->
  383. <!-- :label="item.name"-->
  384. <!-- :value="item.id"-->
  385. <!-- :key="item.id"-->
  386. <!-- ></el-option>-->
  387. <!-- </el-select>-->
  388. <!-- </el-form-item>-->
  389. <!-- </el-col>-->
  390. <el-col :span="8" v-if="isShow('透析期间进食')">
  391. <el-form-item label="透析期间进食: ">
  392. <el-radio-group v-model="form.is_eat">
  393. <el-radio :label="1">有</el-radio>
  394. <el-radio :label="2">无</el-radio>
  395. </el-radio-group>
  396. </el-form-item>
  397. </el-col>
  398. </el-row>
  399. </el-form>
  400. <span slot="footer" class="dialog-footer">
  401. <el-button @click="hide">取 消</el-button>
  402. <el-button
  403. type="primary"
  404. @click="submitForm"
  405. :loading="loading"
  406. v-if="hasPermission"
  407. >保 存</el-button
  408. >
  409. </span>
  410. </el-dialog>
  411. <multi-select-box
  412. :propsForm="InnerDialogProps"
  413. v-on:dialog-comfirm="DialogComfirm"
  414. v-on:dialog-cancle="DialogCancle"
  415. ></multi-select-box>
  416. </div>
  417. </template>
  418. <script>
  419. import { getDataConfig } from "@/utils/data";
  420. import MultiSelectBox from "./MultiSelectBox";
  421. import { postAssessmentAfterDislysis } from "@/api/dialysis";
  422. import { uParseTime } from "@/utils/tools";
  423. import store from "@/store";
  424. import request from "@/utils/request";
  425. export default {
  426. name: "AssessmentAfterDislysis",
  427. props: {
  428. assessment_after_dislysis: {
  429. // 透后评估
  430. type: Object,
  431. default: () => {
  432. return { id: 0 };
  433. }
  434. },
  435. dialysis_order: {
  436. // 透析记录
  437. type: Object,
  438. default: () => {
  439. return { id: 0 };
  440. }
  441. },
  442. patient: {
  443. // 患者信息
  444. type: Object,
  445. default: () => {
  446. return { id: 0 };
  447. }
  448. }
  449. },
  450. data() {
  451. return {
  452. showTxt: "",
  453. hasPermission: true,
  454. loading: false,
  455. record_date: "",
  456. isVisibility: false,
  457. template_id: 0,
  458. cruorOptions: [],
  459. symptomsOptions: [],
  460. internalFistulaOptions: [],
  461. vascularAccessOptions: [],
  462. unit: [{ id: 1, name: "g" }, { id: 2, name: "ml" }],
  463. actualTreatmentHourShow: "",
  464. vascularAccessDescOptions: [],
  465. catheterOptions: [],
  466. complicationOptions: [],
  467. internalFistulaTremorAcOptions: [],
  468. patientGoseOptions: [],
  469. observationContentOptions: [],
  470. isVisibiltyForCruorDialog: false,
  471. dialogCruorTitle: "凝血",
  472. InnerDialogProps: {
  473. values: [],
  474. visibility: false,
  475. isShowTextArea: true,
  476. customContent: "",
  477. titles: "",
  478. type: "" // 不同弹框类型,用来匹配数据
  479. },
  480. form: {
  481. weight_after: "",
  482. weight_loss: "",
  483. temperature: "",
  484. systolic_blood_pressure: "",
  485. diastolic_blood_pressure: "",
  486. pulse_frequency: "",
  487. actual_ultrafiltration: "",
  488. actual_displacement: "",
  489. actual_treatment_hour: "",
  490. actual_treatment_minute: "",
  491. cruor: "",
  492. symptom_after_dialysis: "",
  493. dialysis_intakes: "",
  494. internal_fistula: "",
  495. blood_access_part_id: "",
  496. blood_access_part_opera_id: "",
  497. catheter: "",
  498. complication: "",
  499. puncture_point_oozing_blood: 2,
  500. puncture_point_haematoma: 2,
  501. internal_fistula_tremor_ac: "",
  502. patient_gose: "",
  503. inpatient_department: "",
  504. observation_content: "",
  505. observation_content_other: "",
  506. remark: "",
  507. dialysis_order_id: 0,
  508. is_eat: 2,
  509. dialysis_process: "",
  510. in_advance_minute: "",
  511. in_advance_reason: "",
  512. in_advance_reason_other: "",
  513. hemostasis_minute: "",
  514. hemostasis_opera: "",
  515. tremor_noise: "",
  516. disequilibrium_syndrome: "",
  517. disequilibrium_syndrome_option: "",
  518. arterial_tube: "",
  519. intravenous_tube: "",
  520. dialyzer: "",
  521. breathing_rate: "",
  522. dialysis_intakes_unit: 0
  523. }
  524. };
  525. },
  526. watch: {
  527. "assessment_after_dislysis.id": function() {
  528. if (this.assessment_after_dislysis.id > 0) {
  529. for (var index in this.form) {
  530. this.form[index] = this.assessment_after_dislysis[index];
  531. }
  532. if (this.assessment_after_dislysis["blood_access_part_id"] == 0) {
  533. this.form["blood_access_part_id"] = "";
  534. }
  535. if (this.assessment_after_dislysis["blood_access_part_opera_id"] == 0) {
  536. this.form["blood_access_part_opera_id"] = "";
  537. }
  538. if (this.assessment_after_dislysis["internal_fistula_tremor_ac"] == 0) {
  539. this.form["internal_fistula_tremor_ac"] = "";
  540. }
  541. if (this.assessment_after_dislysis["patient_gose"] == 0) {
  542. this.form["patient_gose"] = "";
  543. }
  544. if (this.assessment_after_dislysis["weight_after"] == 0) {
  545. this.form["weight_after"] = "";
  546. }
  547. if (this.assessment_after_dislysis["weight_loss"] == 0) {
  548. this.form["weight_loss"] = "";
  549. }
  550. if (this.assessment_after_dislysis["temperature"] == 0) {
  551. this.form["temperature"] = "";
  552. }
  553. if (this.assessment_after_dislysis["systolic_blood_pressure"] == 0) {
  554. this.form["systolic_blood_pressure"] = "";
  555. }
  556. if (this.assessment_after_dislysis["diastolic_blood_pressure"] == 0) {
  557. this.form["diastolic_blood_pressure"] = "";
  558. }
  559. if (this.assessment_after_dislysis["pulse_frequency"] == 0) {
  560. this.form["pulse_frequency"] = "";
  561. }
  562. if (this.assessment_after_dislysis["breathing_rate"] == 0) {
  563. this.form["breathing_rate"] = "";
  564. }
  565. if (this.assessment_after_dislysis["actual_ultrafiltration"] == 0) {
  566. this.form["actual_ultrafiltration"] = "";
  567. }
  568. if (this.assessment_after_dislysis["actual_displacement"] == 0) {
  569. this.form["actual_displacement"] = "";
  570. }
  571. if (this.assessment_after_dislysis["dialysis_intakes"] == 0) {
  572. this.form["dialysis_intakes"] = "";
  573. }
  574. this.actualTreatmentHourShow = new Date(
  575. 2018,
  576. 1,
  577. 1,
  578. this.assessment_after_dislysis["actual_treatment_hour"],
  579. this.assessment_after_dislysis["actual_treatment_minute"]
  580. );
  581. }
  582. },
  583. "dialysis_order.id": function() {
  584. this.form["dialysis_order_id"] = this.assessment_after_dislysis[
  585. "dialysis_order_id"
  586. ];
  587. },
  588. "form.patient_gose": function() {
  589. if (this.form.patient_gose.patient_gose != 3) {
  590. this.form.inpatient_department = "";
  591. this.form.observation_content = "";
  592. this.form.observation_content_other = "";
  593. }
  594. }
  595. },
  596. methods: {
  597. submitForm() {
  598. this.loading = true;
  599. const ParamsQuery = {};
  600. if (!(this.patient.id > 0)) {
  601. this.$message.error("没有选择患者");
  602. this.loading = false;
  603. return false;
  604. }
  605. if (this.record_date.length != 10) {
  606. this.$message.error("无效的日期");
  607. this.loading = false;
  608. return false;
  609. }
  610. ParamsQuery["patient"] = this.patient.id;
  611. ParamsQuery["record_date"] = this.record_date;
  612. ParamsQuery["mode"] = "1";
  613. if (this.assessment_after_dislysis.creater > 0) {
  614. ParamsQuery["mode"] = "2";
  615. if (
  616. this.assessment_after_dislysis.creater !=
  617. this.$store.getters.xt_user.user.id
  618. ) {
  619. ParamsQuery["mode"] = "3";
  620. }
  621. }
  622. const data = {};
  623. data["weight_after"] = this.form.weight_after
  624. ? parseFloat(this.form.weight_after)
  625. : 0;
  626. data["weight_loss"] = this.form.weight_loss
  627. ? parseFloat(this.form.weight_loss)
  628. : 0;
  629. data["temperature"] = this.form.temperature
  630. ? parseFloat(this.form.temperature)
  631. : 0;
  632. data["breathing_rate"] = this.form.temperature
  633. ? parseFloat(this.form.breathing_rate)
  634. : 0;
  635. data["systolic_blood_pressure"] = this.form.systolic_blood_pressure
  636. ? parseFloat(this.form.systolic_blood_pressure)
  637. : 0;
  638. data["diastolic_blood_pressure"] = this.form.diastolic_blood_pressure
  639. ? parseFloat(this.form.diastolic_blood_pressure)
  640. : 0;
  641. data["pulse_frequency"] = this.form.pulse_frequency
  642. ? parseFloat(this.form.pulse_frequency)
  643. : 0;
  644. data["actual_ultrafiltration"] = this.form.actual_ultrafiltration
  645. ? parseFloat(this.form.actual_ultrafiltration)
  646. : 0;
  647. data["actual_displacement"] = this.form.actual_displacement
  648. ? parseFloat(this.form.actual_displacement)
  649. : 0;
  650. data["actual_treatment_hour"] = this.form.actual_treatment_hour
  651. ? parseFloat(this.form.actual_treatment_hour)
  652. : 0;
  653. data["actual_treatment_minute"] = this.form.actual_treatment_minute
  654. ? parseFloat(this.form.actual_treatment_minute)
  655. : 0;
  656. data["cruor"] = this.form.cruor;
  657. data["symptom_after_dialysis"] = this.form.symptom_after_dialysis;
  658. data["dialysis_intakes"] = this.form.dialysis_intakes
  659. ? parseFloat(this.form.dialysis_intakes)
  660. : 0;
  661. data["internal_fistula"] = this.form.internal_fistula;
  662. data["blood_access_part_id"] = this.form.blood_access_part_id
  663. ? parseFloat(this.form.blood_access_part_id)
  664. : 0;
  665. data["blood_access_part_opera_id"] = this.form.blood_access_part_opera_id
  666. ? parseFloat(this.form.blood_access_part_opera_id)
  667. : 0;
  668. data["catheter"] = this.form.catheter;
  669. data["complication"] = this.form.complication;
  670. data["puncture_point_oozing_blood"] = this.form
  671. .puncture_point_oozing_blood
  672. ? parseFloat(this.form.puncture_point_oozing_blood)
  673. : 0;
  674. data["puncture_point_haematoma"] = this.form.puncture_point_haematoma
  675. ? parseFloat(this.form.puncture_point_haematoma)
  676. : 0;
  677. data["internal_fistula_tremor_ac"] = this.form.internal_fistula_tremor_ac
  678. ? parseFloat(this.form.internal_fistula_tremor_ac)
  679. : 0;
  680. data["patient_gose"] = this.form.patient_gose
  681. ? parseFloat(this.form.patient_gose)
  682. : 0;
  683. data["inpatient_department"] = this.form.inpatient_department;
  684. data["observation_content"] = this.form.observation_content;
  685. data["observation_content_other"] = this.form.observation_content_other;
  686. data["remark"] = this.form.remark;
  687. data["dialysis_order_id"] = this.form.dialysis_order_id
  688. ? parseFloat(this.form.dialysis_order_id)
  689. : 0;
  690. data["dialysis_process"] = this.form.dialysis_process
  691. ? parseFloat(this.form.dialysis_process)
  692. : 0;
  693. data["in_advance_minute"] = this.form.in_advance_minute
  694. ? parseFloat(this.form.in_advance_minute)
  695. : 0;
  696. data["in_advance_reason_other"] = this.form.in_advance_reason_other;
  697. data["in_advance_reason"] = this.form.in_advance_reason;
  698. data["hemostasis_minute"] = this.form.hemostasis_minute
  699. ? parseFloat(this.form.hemostasis_minute)
  700. : 0;
  701. data["hemostasis_opera"] = this.form.hemostasis_opera
  702. ? parseFloat(this.form.hemostasis_opera)
  703. : 0;
  704. data["tremor_noise"] = this.form.tremor_noise
  705. ? parseFloat(this.form.tremor_noise)
  706. : 0;
  707. data["disequilibrium_syndrome"] = this.form.disequilibrium_syndrome
  708. ? parseFloat(this.form.disequilibrium_syndrome)
  709. : 0;
  710. data[
  711. "disequilibrium_syndrome_option"
  712. ] = this.form.disequilibrium_syndrome_option;
  713. data["arterial_tube"] = this.form.arterial_tube
  714. ? parseFloat(this.form.arterial_tube)
  715. : 0;
  716. data["intravenous_tube"] = this.form.intravenous_tube
  717. ? parseFloat(this.form.intravenous_tube)
  718. : 0;
  719. data["dialysis_intakes_unit"] = this.form.dialysis_intakes_unit;
  720. data["dialyzer"] = this.form.dialyzer
  721. ? parseFloat(this.form.dialyzer)
  722. : 0;
  723. data["is_eat"] = this.form.is_eat ? parseFloat(this.form.is_eat) : 0;
  724. postAssessmentAfterDislysis(ParamsQuery, data)
  725. .then(response => {
  726. this.loading = false;
  727. if (response.data.state == 0) {
  728. this.$message.error(response.data.msg);
  729. return false;
  730. } else {
  731. this.$notify({
  732. title: "成功",
  733. message: "提交成功",
  734. type: "success",
  735. duration: 2000
  736. });
  737. var assement = response.data.data.AssessmentAfterDislysis;
  738. var assessment_after_dislysis = this.assessment_after_dislysis;
  739. for (var index in assement) {
  740. // assessment_after_dislysis[index] = assement[index];
  741. this.$set(assessment_after_dislysis, index, assement[index]);
  742. }
  743. this.hide();
  744. }
  745. })
  746. .catch(v => {
  747. this.loading = false;
  748. });
  749. },
  750. showDialog: function(val) {
  751. this.InnerDialogProps.visibility = true;
  752. switch (val) {
  753. case "1":
  754. this.InnerDialogProps.values = this.cruorOptions;
  755. this.InnerDialogProps.titles = "凝血";
  756. this.InnerDialogProps.type = "cruor";
  757. this.InnerDialogProps.selected = this.form.cruor;
  758. this.InnerDialogProps.isShowTextArea = false;
  759. break;
  760. case "2":
  761. this.InnerDialogProps.values = this.symptomsOptions;
  762. this.InnerDialogProps.titles = "透后症状";
  763. this.InnerDialogProps.type = "symptom_after_dialysis";
  764. this.InnerDialogProps.selected = this.form.symptom_after_dialysis;
  765. this.InnerDialogProps.isShowTextArea = false;
  766. break;
  767. case "3":
  768. this.InnerDialogProps.values = this.internalFistulaOptions;
  769. this.InnerDialogProps.titles = "内瘘";
  770. this.InnerDialogProps.type = "internal_fistula";
  771. this.InnerDialogProps.selected = this.form.internal_fistula;
  772. this.InnerDialogProps.isShowTextArea = false;
  773. break;
  774. case "4":
  775. this.InnerDialogProps.values = this.catheterOptions;
  776. this.InnerDialogProps.titles = "导管";
  777. this.InnerDialogProps.type = "catheter";
  778. this.InnerDialogProps.selected = this.form.catheter;
  779. this.InnerDialogProps.isShowTextArea = false;
  780. break;
  781. case "5":
  782. this.InnerDialogProps.values = this.complicationOptions;
  783. this.InnerDialogProps.titles = "并发症";
  784. this.InnerDialogProps.type = "complication";
  785. this.InnerDialogProps.selected = this.form.complication;
  786. this.InnerDialogProps.isShowTextArea = false;
  787. break;
  788. case "6":
  789. this.InnerDialogProps.values = this.observationContentOptions;
  790. this.InnerDialogProps.titles = "交待病房护士/患者/陪人观察内容";
  791. this.InnerDialogProps.type = "observation_content";
  792. this.InnerDialogProps.selected = this.form.observation_content;
  793. this.InnerDialogProps.isShowTextArea = false;
  794. break;
  795. case "7":
  796. this.InnerDialogProps.values = this.$store.getters.in_advance_reason;
  797. this.InnerDialogProps.titles = "透析过程提前原因";
  798. this.InnerDialogProps.type = "in_advance_reason";
  799. this.InnerDialogProps.selected = this.form.in_advance_reason;
  800. this.InnerDialogProps.isShowTextArea = false;
  801. break;
  802. case "8":
  803. this.InnerDialogProps.values = this.$store.getters.disequilibrium_syndrome_option;
  804. this.InnerDialogProps.titles = "失衡综合症症状";
  805. this.InnerDialogProps.type = "disequilibrium_syndrome_option";
  806. this.InnerDialogProps.selected = this.form.disequilibrium_syndrome_option;
  807. this.InnerDialogProps.isShowTextArea = false;
  808. break;
  809. }
  810. },
  811. selectActualTreatmentHour(val) {
  812. var valTime = val.split(":");
  813. this.form.actual_treatment_hour = valTime[0];
  814. this.form.actual_treatment_minute = valTime[1];
  815. },
  816. DialogComfirm: function(val) {
  817. this.InnerDialogProps.visibility = false;
  818. switch (val.type) {
  819. case "cruor":
  820. this.form.cruor = val.value.join(",");
  821. break;
  822. case "symptom_after_dialysis":
  823. this.form.symptom_after_dialysis = val.value.join(",");
  824. break;
  825. case "internal_fistula":
  826. this.form.internal_fistula = val.value.join(",");
  827. break;
  828. case "catheter":
  829. this.form.catheter = val.value.join(",");
  830. break;
  831. case "complication":
  832. this.form.complication = val.value.join(",");
  833. break;
  834. case "observation_content":
  835. this.form.observation_content = val.value.join(",");
  836. break;
  837. case "in_advance_reason":
  838. this.form.in_advance_reason = val.value.join(",");
  839. break;
  840. case "disequilibrium_syndrome_option":
  841. this.form.disequilibrium_syndrome_option = val.value.join(",");
  842. break;
  843. default:
  844. break;
  845. }
  846. // console.log(val);
  847. },
  848. DialogCancle: function(val) {
  849. this.InnerDialogProps.visibility = false;
  850. },
  851. show(predialysis) {
  852. this.isVisibility = true;
  853. this.predialysis = predialysis;
  854. // console.log("透后", predialysis);
  855. this.getPermission();
  856. },
  857. hide() {
  858. this.isVisibility = false;
  859. },
  860. isShow(name) {
  861. var filedList = store.getters.xt_user.fileds;
  862. for (let i = 0; i < filedList.length; i++) {
  863. if (
  864. filedList[i].module == 5 &&
  865. filedList[i].filed_name_cn == name &&
  866. filedList[i].is_show == 1
  867. ) {
  868. return true;
  869. }
  870. }
  871. return false;
  872. },
  873. setRecords(records) {
  874. for (var index in records) {
  875. this.$set(this.assessment_after_dislysis, index, records[index]);
  876. }
  877. this.actualTreatmentHourShow = new Date(
  878. 2018,
  879. 1,
  880. 1,
  881. this.assessment_after_dislysis["actual_treatment_hour"],
  882. this.assessment_after_dislysis["actual_treatment_minute"]
  883. );
  884. },
  885. getPermission() {
  886. request
  887. .get("/api/func_per/get", {
  888. params: {
  889. create_url: "/api/dialysis/assessmentafterdislysis?mode=1",
  890. modify_url: "/api/dialysis/assessmentafterdislysis?mode=2",
  891. modify_other_url: "/api/dialysis/assessmentafterdislysis?mode=3",
  892. module: 8
  893. }
  894. })
  895. .then(res => {
  896. console.log(res);
  897. // console.log("透后", this.predialysis);
  898. if (res.data.state == 0) {
  899. this.hasPermission = false;
  900. } else if (res.data.state == 1) {
  901. if (this.predialysis.id != "" && this.predialysis.creater != 0) {
  902. //有数据
  903. if (
  904. this.predialysis.creater == this.$store.getters.xt_user.user.id
  905. ) {
  906. //创建人是自己
  907. if (res.data.data.is_has_modify == false) {
  908. this.hasPermission = false;
  909. this.showTxt = "你没有修改透后评估权限";
  910. }
  911. } else {
  912. //创建人不是自己
  913. if (res.data.data.is_has_modify_other == false) {
  914. this.hasPermission = false;
  915. this.showTxt = "你没有修改他人透后评估权限";
  916. }
  917. }
  918. } else if (
  919. this.predialysis.id == "" ||
  920. this.predialysis.creater == 0
  921. ) {
  922. if (res.data.data.is_has_create == false) {
  923. this.hasPermission = false;
  924. this.showTxt = "你没有新增透后评估权限";
  925. }
  926. }
  927. }
  928. });
  929. }
  930. },
  931. created() {
  932. // console.log("this.form", this.form);
  933. this.cruorOptions = getDataConfig("hemodialysis", "cruor");
  934. this.symptomsOptions = getDataConfig("hemodialysis", "symptoms");
  935. this.internalFistulaOptions = getDataConfig(
  936. "hemodialysis",
  937. "internal_fistula"
  938. );
  939. this.vascularAccessOptions = getDataConfig(
  940. "hemodialysis",
  941. "vascular_access"
  942. );
  943. this.vascularAccessDescOptions = getDataConfig(
  944. "hemodialysis",
  945. "vascular_access_desc"
  946. );
  947. this.catheterOptions = getDataConfig("hemodialysis", "catheter");
  948. this.complicationOptions = getDataConfig("hemodialysis", "complication");
  949. this.internalFistulaTremorAcOptions = this.$store.getters.internal_fistula_tremor_ac;
  950. this.patientGoseOptions = this.$store.getters.patient_gose;
  951. this.observationContentOptions = this.$store.getters.observation_content;
  952. this.template_id = this.$store.getters.xt_user.template_info.template_id;
  953. var date = this.$route.query && this.$route.query.date;
  954. this.record_date = uParseTime(date, "{y}-{m}-{d}");
  955. },
  956. components: {
  957. MultiSelectBox
  958. }
  959. };
  960. </script>
  961. <style scoped>
  962. .warnTxt {
  963. text-align: center;
  964. margin: 0 auto;
  965. background: #faa331;
  966. max-width: 240px;
  967. padding: 10px 20px;
  968. border-radius: 4px;
  969. margin-bottom: 10px;
  970. color: #fff;
  971. }
  972. </style>
  973. <style lang="scss">
  974. .newDialog {
  975. .el-dialog__body {
  976. padding: 10px 20px 30px;
  977. }
  978. }
  979. </style>