AssessmentAfterDislysis.vue 35KB

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