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

AssessmentAfterDislysis.vue 35KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005
  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="体重减少(kg): ">
  41. <el-input v-model="form.weight_loss"></el-input>
  42. </el-form-item>
  43. </el-col>
  44. <el-col :span="8" v-if="isShow('穿刺处血肿')">
  45. <el-form-item label="穿刺处血肿: ">
  46. <el-radio-group v-model="form.puncture_point_haematoma">
  47. <el-radio :label="1">有</el-radio>
  48. <el-radio :label="2">无</el-radio>
  49. </el-radio-group>
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="8" v-if="isShow('并发症')">
  53. <el-form-item label="并发症: ">
  54. <el-input
  55. v-model="form.complication"
  56. readonly
  57. @focus="showDialog('5')"
  58. ></el-input>
  59. </el-form-item>
  60. </el-col>
  61. <el-col :span="8" v-if="isShow('内瘘')">
  62. <el-form-item label="内瘘: ">
  63. <el-input
  64. v-model="form.internal_fistula"
  65. readonly
  66. @focus="showDialog('3')"
  67. ></el-input>
  68. </el-form-item>
  69. </el-col>
  70. <el-col :span="8" v-if="isShow('导管')">
  71. <el-form-item label="导管: ">
  72. <el-input
  73. v-model="form.catheter"
  74. readonly
  75. @focus="showDialog('4')"
  76. ></el-input>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="8" v-if="isShow('透析过程')">
  80. <el-form-item label="透析过程: ">
  81. <el-select v-model="form.dialysis_process">
  82. <el-option :key="0" label="请选择" :value="0"></el-option>
  83. <el-option
  84. v-for="item in this.$store.getters.dialysis_process"
  85. :label="item.name"
  86. :value="item.id"
  87. :key="item.id"
  88. ></el-option>
  89. </el-select>
  90. </el-form-item>
  91. </el-col>
  92. <el-col :span="8" v-if="isShow('透析过程提前时间')">
  93. <el-form-item label="透析过程提前时间(min): ">
  94. <el-input v-model="form.in_advance_minute"></el-input>
  95. </el-form-item>
  96. </el-col>
  97. <el-col :span="8" v-if="isShow('透析过程提前原因')">
  98. <el-form-item label="透析过程提前原因: ">
  99. <el-input
  100. v-model="form.in_advance_reason"
  101. readonly
  102. @focus="showDialog('7')"
  103. ></el-input>
  104. </el-form-item>
  105. </el-col>
  106. <el-col :span="8" v-if="isShow('透析过程提前其他原因')">
  107. <el-form-item label="透析过程提前其他原因: ">
  108. <el-input
  109. v-model="form.in_advance_reason_other"
  110. :rows="2"
  111. ></el-input>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血时间')">
  115. <el-form-item label="内瘘管拔针后压迫止血时间(min): ">
  116. <el-input v-model="form.hemostasis_minute" :rows="5"></el-input>
  117. </el-form-item>
  118. </el-col>
  119. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血操作')">
  120. <el-form-item label="内瘘管拔针后压迫止血操作: ">
  121. <el-select v-model="form.hemostasis_opera">
  122. <el-option :key="0" label="请选择" :value="0"></el-option>
  123. <el-option
  124. v-for="item in this.$store.getters.hemostasis_opera"
  125. :label="item.name"
  126. :value="item.id"
  127. :key="item.id"
  128. ></el-option>
  129. </el-select>
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="8" v-if="isShow('动脉管道')">
  133. <el-form-item label="动脉管道: ">
  134. <el-select v-model="form.arterial_tube">
  135. <el-option :key="0" label="请选择" :value="0"></el-option>
  136. <el-option
  137. v-for="item in this.$store.getters.arterial_tube"
  138. :label="item.name"
  139. :value="item.id"
  140. :key="item.id"
  141. ></el-option>
  142. </el-select>
  143. </el-form-item>
  144. </el-col>
  145. <el-col :span="8" v-if="isShow('静脉管道')">
  146. <el-form-item label="静脉管道: ">
  147. <el-select v-model="form.intravenous_tube">
  148. <el-option :key="0" label="请选择" :value="0"></el-option>
  149. <el-option
  150. v-for="item in this.$store.getters.intravenous_tube"
  151. :label="item.name"
  152. :value="item.id"
  153. :key="item.id"
  154. ></el-option>
  155. </el-select>
  156. </el-form-item>
  157. </el-col>
  158. <!-- <el-col :span="8" v-if="isShow('透析器凝血')">-->
  159. <!-- <el-form-item label="透析器凝血: ">-->
  160. <!-- <el-input-->
  161. <!-- v-model="form.cruor"-->
  162. <!-- readonly-->
  163. <!-- @focus="showDialog('1')"-->
  164. <!-- ></el-input>-->
  165. <!-- </el-form-item>-->
  166. <!-- </el-col>-->
  167. <el-col :span="8" v-if="isShow('患者去向')">
  168. <el-form-item label="患者去向: ">
  169. <el-select v-model="form.patient_gose">
  170. <el-option :key="0" label="请选择" :value="0"></el-option>
  171. <el-option
  172. v-for="item in patientGoseOptions"
  173. :label="item.name"
  174. :value="item.id"
  175. :key="item.id"
  176. ></el-option>
  177. </el-select>
  178. </el-form-item>
  179. </el-col>
  180. <el-col :span="8" v-if="isShow('拔针后穿刺点渗血')">
  181. <el-form-item label="拔针后穿刺点渗血: ">
  182. <el-radio-group v-model="form.puncture_point_oozing_blood">
  183. <el-radio :label="1">有</el-radio>
  184. <el-radio :label="2">无</el-radio>
  185. </el-radio-group>
  186. </el-form-item>
  187. </el-col>
  188. <!-- <el-col :span="8" v-if="isShow('压迫后内瘘震颤')">-->
  189. <!-- <el-form-item label="压迫后内瘘震颤: ">-->
  190. <!-- <el-select v-model="form.internal_fistula_tremor_ac">-->
  191. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  192. <!-- <el-option-->
  193. <!-- v-for="item in internalFistulaTremorAcOptions"-->
  194. <!-- :label="item.name"-->
  195. <!-- :value="item.id"-->
  196. <!-- :key="item.id"-->
  197. <!-- ></el-option>-->
  198. <!-- </el-select>-->
  199. <!-- </el-form-item>-->
  200. <!-- </el-col>-->
  201. <el-row :gutter="20" v-if="form.patient_gose == 3 && isShow('科室')">
  202. <el-col :span="24">
  203. <el-form-item label="科室: ">
  204. <el-input
  205. v-model="form.inpatient_department"
  206. :rows="5"
  207. ></el-input>
  208. </el-form-item>
  209. </el-col>
  210. </el-row>
  211. <el-row
  212. :gutter="20"
  213. v-if="form.patient_gose == 3 && isShow('交待观察内容')"
  214. >
  215. <el-col :span="24">
  216. <el-form-item label="交待观察内容: ">
  217. <el-input
  218. placeholder="交待病房护士/患者/陪人观察内容"
  219. v-model="form.observation_content"
  220. :rows="5"
  221. readonly
  222. @focus="showDialog('6')"
  223. ></el-input>
  224. </el-form-item>
  225. </el-col>
  226. </el-row>
  227. <el-row
  228. :gutter="20"
  229. v-show="form.patient_gose == 3 && isShow('其他观察内容')"
  230. >
  231. <el-col :span="24">
  232. <el-form-item label="其他观察内容: ">
  233. <el-input
  234. v-model="form.observation_content_other"
  235. :rows="5"
  236. ></el-input>
  237. </el-form-item>
  238. </el-col>
  239. </el-row>
  240. <el-col :span="8" v-if="isShow('体温')">
  241. <el-form-item label="体温(℃): ">
  242. <el-input v-model="form.temperature"></el-input>
  243. </el-form-item>
  244. </el-col>
  245. <!-- </el-row>
  246. <el-row :gutter="20"> -->
  247. <el-col :span="8" v-if="isShow('收缩压')">
  248. <el-form-item label="收缩压(mmHg): ">
  249. <el-input v-model="form.systolic_blood_pressure"></el-input>
  250. </el-form-item>
  251. </el-col>
  252. <el-col :span="8" v-if="isShow('舒张压')">
  253. <el-form-item label="舒张压(mmHg): ">
  254. <el-input v-model="form.diastolic_blood_pressure"></el-input>
  255. </el-form-item>
  256. </el-col>
  257. <el-col :span="8" v-if="isShow('呼吸频率')">
  258. <el-form-item label="呼吸频率(次/min): ">
  259. <el-input v-model="form.breathing_rate"></el-input>
  260. </el-form-item>
  261. </el-col>
  262. <el-col :span="8" v-if="isShow('脉搏')">
  263. <el-form-item label="脉搏(次/分): ">
  264. <el-input v-model="form.pulse_frequency"></el-input>
  265. </el-form-item>
  266. </el-col>
  267. <el-col :span="8" v-if="isShow('透后症状')">
  268. <el-form-item label="透后症状: ">
  269. <el-input
  270. v-model="form.symptom_after_dialysis"
  271. readonly
  272. @focus="showDialog('2')"
  273. ></el-input>
  274. </el-form-item>
  275. </el-col>
  276. <el-col :span="8" v-if="isShow('透析中入量')">
  277. <el-form-item label="透析中入量: ">
  278. <el-input v-model="form.dialysis_intakes"></el-input>
  279. </el-form-item>
  280. </el-col>
  281. <el-col :span="8" v-if="isShow('透析中入量单位')">
  282. <el-form-item label="透析中入量单位: ">
  283. <el-select v-model="form.dialysis_intakes_unit">
  284. <el-option :key="0" label="请选择" :value="0"></el-option>
  285. <el-option
  286. v-for="item in unit"
  287. :label="item.name"
  288. :value="item.id"
  289. :key="item.id"
  290. ></el-option>
  291. </el-select>
  292. </el-form-item>
  293. </el-col>
  294. <!-- </el-row>
  295. <el-row :gutter="20"> -->
  296. <!--<el-col :span="8" v-if="isShow('实际置换量')">-->
  297. <!--<el-form-item label="实际置换量(L): " >-->
  298. <!--<el-input v-model="form.actual_displacement"></el-input>-->
  299. <!--</el-form-item>-->
  300. <!--</el-col>-->
  301. <!-- </el-row>
  302. <el-row :gutter="20"> -->
  303. <!-- </el-row>
  304. <el-row :gutter="20"> -->
  305. <!-- <el-col :span="8" v-if="isShow('血管通路部位')">-->
  306. <!-- <el-form-item label="血管通路部位: ">-->
  307. <!-- <el-select v-model="form.blood_access_part_id">-->
  308. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  309. <!-- <el-option-->
  310. <!-- v-for="item in vascularAccessOptions"-->
  311. <!-- :label="item.name"-->
  312. <!-- :value="item.id"-->
  313. <!-- :key="item.id"-->
  314. <!-- ></el-option>-->
  315. <!-- </el-select>-->
  316. <!-- </el-form-item>-->
  317. <!-- </el-col>-->
  318. <!-- <el-col :span="8" v-if="isShow('血管通路')">-->
  319. <!-- <el-form-item label="血管通路: ">-->
  320. <!-- <el-select v-model="form.blood_access_part_opera_id">-->
  321. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  322. <!-- <el-option-->
  323. <!-- v-for="item in vascularAccessDescOptions"-->
  324. <!-- :label="item.name"-->
  325. <!-- :value="item.id"-->
  326. <!-- :key="item.id"-->
  327. <!-- ></el-option>-->
  328. <!-- </el-select>-->
  329. <!-- </el-form-item>-->
  330. <!-- </el-col>-->
  331. <!-- </el-row>
  332. <el-row :gutter="20"> -->
  333. <!-- </el-row>
  334. <el-row :gutter="20" > -->
  335. <!--
  336. </el-row>
  337. <el-row :gutter="20"> -->
  338. <!-- <el-col :span="8" v-if="isShow('内瘘震颤和血管杂音')">-->
  339. <!-- <el-form-item label="内瘘震颤和血管杂音: ">-->
  340. <!-- <el-select v-model="form.tremor_noise">-->
  341. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  342. <!-- <el-option-->
  343. <!-- v-for="item in this.$store.getters.tremor_noise"-->
  344. <!-- :label="item.name"-->
  345. <!-- :value="item.id"-->
  346. <!-- :key="item.id"-->
  347. <!-- ></el-option>-->
  348. <!-- </el-select>-->
  349. <!-- </el-form-item>-->
  350. <!-- </el-col>-->
  351. <!-- <el-col :span="8" v-if="isShow('失衡综合症')">-->
  352. <!-- <el-form-item label="失衡综合症: ">-->
  353. <!-- <el-select v-model="form.disequilibrium_syndrome">-->
  354. <!-- <el-option :key="0" label="请选择" :value="0"></el-option>-->
  355. <!-- <el-option-->
  356. <!-- v-for="item in this.$store.getters.disequilibrium_syndrome"-->
  357. <!-- :label="item.name"-->
  358. <!-- :value="item.id"-->
  359. <!-- :key="item.id"-->
  360. <!-- ></el-option>-->
  361. <!-- </el-select>-->
  362. <!-- </el-form-item>-->
  363. <!-- </el-col>-->
  364. <!-- <el-col :span="8" v-if="isShow('失衡综合症症状')">-->
  365. <!-- <el-form-item label="失衡综合症症状: ">-->
  366. <!-- <el-input-->
  367. <!-- v-model="form.disequilibrium_syndrome_option"-->
  368. <!-- readonly-->
  369. <!-- @focus="showDialog('8')"-->
  370. <!-- ></el-input>-->
  371. <!-- </el-form-item>-->
  372. <!-- </el-col>-->
  373. <!-- </el-row>
  374. <el-row :gutter="20" > -->
  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>