AssessmentAfterDislysis.vue 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810
  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 v-model="form.cruor" readonly @focus="showDialog('1')"></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_oozing_blood">
  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-radio-group v-model="form.puncture_point_haematoma">
  55. <el-radio :label="1">有</el-radio>
  56. <el-radio :label="2">无</el-radio>
  57. </el-radio-group>
  58. </el-form-item>
  59. </el-col>
  60. <el-col :span="8" v-if="isShow('压迫后内瘘震颤')">
  61. <el-form-item label="压迫后内瘘震颤: ">
  62. <el-select v-model="form.internal_fistula_tremor_ac">
  63. <el-option :key="0" label="请选择" :value="0"></el-option>
  64. <el-option v-for="item in internalFistulaTremorAcOptions" :label="item.name" :value="item.id"
  65. :key="item.id"></el-option>
  66. </el-select>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="8" v-if="isShow('并发症')">
  70. <el-form-item label="并发症: ">
  71. <el-input v-model="form.complication" readonly @focus="showDialog('5')"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="8" v-if="isShow('患者去向')">
  75. <el-form-item label="患者去向: ">
  76. <el-select v-model="form.patient_gose">
  77. <el-option :key="0" label="请选择" :value="0"></el-option>
  78. <el-option v-for="item in patientGoseOptions" :label="item.name" :value="item.id"
  79. :key="item.id"></el-option>
  80. </el-select>
  81. </el-form-item>
  82. </el-col>
  83. <el-row :gutter="20" v-if="form.patient_gose==3&&isShow('科室')">
  84. <el-col :span="24" >
  85. <el-form-item label="科室: ">
  86. <el-input v-model="form.inpatient_department" :rows="5"></el-input>
  87. </el-form-item>
  88. </el-col>
  89. </el-row>
  90. <el-row :gutter="20" v-if="form.patient_gose==3&&isShow('交待观察内容')">
  91. <el-col :span="24" >
  92. <el-form-item label="交待观察内容: ">
  93. <el-input placeholder="交待病房护士/患者/陪人观察内容" v-model="form.observation_content" :rows="5" readonly
  94. @focus="showDialog('6')"></el-input>
  95. </el-form-item>
  96. </el-col>
  97. </el-row>
  98. <el-row :gutter="20" v-show="form.patient_gose==3&&isShow('其他观察内容')">
  99. <el-col :span="24">
  100. <el-form-item label="其他观察内容: ">
  101. <el-input v-model="form.observation_content_other" :rows="5"></el-input>
  102. </el-form-item>
  103. </el-col>
  104. </el-row>
  105. <el-col :span="8" v-if="isShow('体重减少')">
  106. <el-form-item label="体重减少(kg): " >
  107. <el-input v-model="form.weight_loss"></el-input>
  108. </el-form-item>
  109. </el-col>
  110. <el-col :span="8" v-if="isShow('体温')">
  111. <el-form-item label="体温(℃): " >
  112. <el-input v-model="form.temperature"></el-input>
  113. </el-form-item>
  114. </el-col>
  115. <!-- </el-row>
  116. <el-row :gutter="20"> -->
  117. <el-col :span="8" v-if="isShow('收缩压')">
  118. <el-form-item label="收缩压(mmHg): " >
  119. <el-input v-model="form.systolic_blood_pressure"></el-input>
  120. </el-form-item>
  121. </el-col>
  122. <el-col :span="8" v-if="isShow('舒张压')">
  123. <el-form-item label="舒张压(mmHg): " >
  124. <el-input v-model="form.diastolic_blood_pressure"></el-input>
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="8" v-if="isShow('呼吸频率')">
  128. <el-form-item label="呼吸频率(次/min): " >
  129. <el-input v-model="form.breathing_rate"></el-input>
  130. </el-form-item>
  131. </el-col>
  132. <el-col :span="8" v-if="isShow('脉搏')">
  133. <el-form-item label="脉搏(次/分): " >
  134. <el-input v-model="form.pulse_frequency"></el-input>
  135. </el-form-item>
  136. </el-col>
  137. <el-col :span="8" v-if="isShow('透后症状')">
  138. <el-form-item label="透后症状: " >
  139. <el-input v-model="form.symptom_after_dialysis" readonly @focus="showDialog('2')"></el-input>
  140. </el-form-item>
  141. </el-col>
  142. <el-col :span="8" v-if="isShow('透析中入量')">
  143. <el-form-item label="透析中入量: ">
  144. <el-input v-model="form.dialysis_intakes"></el-input>
  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.dialysis_intakes_unit">
  150. <el-option :key="0" label="请选择" :value="0"></el-option>
  151. <el-option v-for="item in unit" :label="item.name" :value="item.id"
  152. :key="item.id"></el-option>
  153. </el-select>
  154. </el-form-item>
  155. </el-col>
  156. <!-- </el-row>
  157. <el-row :gutter="20"> -->
  158. <!--<el-col :span="8" v-if="isShow('实际置换量')">-->
  159. <!--<el-form-item label="实际置换量(L): " >-->
  160. <!--<el-input v-model="form.actual_displacement"></el-input>-->
  161. <!--</el-form-item>-->
  162. <!--</el-col>-->
  163. <!-- </el-row>
  164. <el-row :gutter="20"> -->
  165. <!-- </el-row>
  166. <el-row :gutter="20"> -->
  167. <el-col :span="8" v-if="isShow('内瘘')">
  168. <el-form-item label="内瘘: ">
  169. <el-input v-model="form.internal_fistula" readonly @focus="showDialog('3')"></el-input>
  170. </el-form-item>
  171. </el-col>
  172. <el-col :span="8" v-if="isShow('血管通路部位')">
  173. <el-form-item label="血管通路部位: ">
  174. <el-select v-model="form.blood_access_part_id">
  175. <el-option :key="0" label="请选择" :value="0"></el-option>
  176. <el-option v-for="item in vascularAccessOptions" :label="item.name" :value="item.id"
  177. :key="item.id"></el-option>
  178. </el-select>
  179. </el-form-item>
  180. </el-col>
  181. <el-col :span="8" v-if="isShow('血管通路操作')">
  182. <el-form-item label="血管通路操作: ">
  183. <el-select v-model="form.blood_access_part_opera_id">
  184. <el-option :key="0" label="请选择" :value="0"></el-option>
  185. <el-option v-for="item in vascularAccessDescOptions" :label="item.name" :value="item.id"
  186. :key="item.id"></el-option>
  187. </el-select>
  188. </el-form-item>
  189. </el-col>
  190. <!-- </el-row>
  191. <el-row :gutter="20"> -->
  192. <el-col :span="8" v-if="isShow('导管')">
  193. <el-form-item label="导管: ">
  194. <el-input v-model="form.catheter" readonly @focus="showDialog('4')"></el-input>
  195. </el-form-item>
  196. </el-col>
  197. <el-col :span="8" v-if="isShow('透析过程')">
  198. <el-form-item label="透析过程: ">
  199. <el-select v-model="form.dialysis_process">
  200. <el-option :key="0" label="请选择" :value="0"></el-option>
  201. <el-option v-for="item in this.$store.getters.dialysis_process" :label="item.name" :value="item.id"
  202. :key="item.id"></el-option>
  203. </el-select>
  204. </el-form-item>
  205. </el-col>
  206. <el-col :span="8" v-if="isShow('透析过程提前时间')">
  207. <el-form-item label="透析过程提前时间(min): ">
  208. <el-input v-model="form.in_advance_minute"></el-input>
  209. </el-form-item>
  210. </el-col>
  211. <el-col :span="8" v-if="isShow('透析过程提前原因')">
  212. <el-form-item label="透析过程提前原因: ">
  213. <el-input v-model="form.in_advance_reason" readonly @focus="showDialog('7')"></el-input>
  214. </el-form-item>
  215. </el-col>
  216. <!-- </el-row>
  217. <el-row :gutter="20" > -->
  218. <el-col :span="8" v-if="isShow('透析过程提前其他原因')">
  219. <el-form-item label="透析过程提前其他原因: ">
  220. <el-input v-model="form.in_advance_reason_other" :rows="2"></el-input>
  221. </el-form-item>
  222. </el-col>
  223. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血时间')">
  224. <el-form-item label="内瘘管拔针后压迫止血时间(min): ">
  225. <el-input v-model="form.hemostasis_minute" :rows="5"></el-input>
  226. </el-form-item>
  227. </el-col>
  228. <el-col :span="8" v-if="isShow('内瘘管拔针后压迫止血操作')">
  229. <el-form-item label="内瘘管拔针后压迫止血操作: ">
  230. <el-select v-model="form.hemostasis_opera">
  231. <el-option :key="0" label="请选择" :value="0"></el-option>
  232. <el-option v-for="item in this.$store.getters.hemostasis_opera" :label="item.name" :value="item.id"
  233. :key="item.id"></el-option>
  234. </el-select>
  235. </el-form-item>
  236. </el-col>
  237. <!--
  238. </el-row>
  239. <el-row :gutter="20"> -->
  240. <el-col :span="8" v-if="isShow('内瘘震颤和血管杂音')">
  241. <el-form-item label="内瘘震颤和血管杂音: " >
  242. <el-select v-model="form.tremor_noise">
  243. <el-option :key="0" label="请选择" :value="0"></el-option>
  244. <el-option v-for="item in this.$store.getters.tremor_noise" :label="item.name" :value="item.id"
  245. :key="item.id"></el-option>
  246. </el-select>
  247. </el-form-item>
  248. </el-col>
  249. <el-col :span="8" v-if="isShow('失衡综合症')">
  250. <el-form-item label="失衡综合症: ">
  251. <el-select v-model="form.disequilibrium_syndrome">
  252. <el-option :key="0" label="请选择" :value="0"></el-option>
  253. <el-option v-for="item in this.$store.getters.disequilibrium_syndrome" :label="item.name" :value="item.id"
  254. :key="item.id"></el-option>
  255. </el-select>
  256. </el-form-item>
  257. </el-col>
  258. <el-col :span="8" v-if="isShow('失衡综合症症状')">
  259. <el-form-item label="失衡综合症症状: ">
  260. <el-input v-model="form.disequilibrium_syndrome_option" readonly @focus="showDialog('8')"></el-input>
  261. </el-form-item>
  262. </el-col>
  263. <!-- </el-row>
  264. <el-row :gutter="20" > -->
  265. <el-col :span="8" v-if="isShow('动脉管道')">
  266. <el-form-item label="动脉管道: ">
  267. <el-select v-model="form.arterial_tube">
  268. <el-option :key="0" label="请选择" :value="0"></el-option>
  269. <el-option v-for="item in this.$store.getters.arterial_tube" :label="item.name" :value="item.id"
  270. :key="item.id"></el-option>
  271. </el-select>
  272. </el-form-item>
  273. </el-col>
  274. <el-col :span="8" v-if="isShow('静脉管道')">
  275. <el-form-item label="静脉管道: ">
  276. <el-select v-model="form.intravenous_tube">
  277. <el-option :key="0" label="请选择" :value="0"></el-option>
  278. <el-option v-for="item in this.$store.getters.intravenous_tube" :label="item.name" :value="item.id"
  279. :key="item.id"></el-option>
  280. </el-select>
  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.dialyzer">
  286. <el-option :key="0" label="请选择" :value="0"></el-option>
  287. <el-option v-for="item in this.$store.getters.dialyzer" :label="item.name" :value="item.id"
  288. :key="item.id"></el-option>
  289. </el-select>
  290. </el-form-item>
  291. </el-col>
  292. <el-col :span="8" v-if="isShow('透析期间进食')">
  293. <el-form-item label="透析期间进食: ">
  294. <el-radio-group v-model="form.is_eat">
  295. <el-radio :label="1">有</el-radio>
  296. <el-radio :label="2">无</el-radio>
  297. </el-radio-group>
  298. </el-form-item>
  299. </el-col>
  300. </el-row>
  301. </el-form>
  302. <span slot="footer" class="dialog-footer">
  303. <el-button @click="hide">取 消</el-button>
  304. <el-button type="primary" @click="submitForm" :loading="loading">保 存</el-button>
  305. </span>
  306. </el-dialog>
  307. <multi-select-box
  308. :propsForm="InnerDialogProps"
  309. v-on:dialog-comfirm="DialogComfirm"
  310. v-on:dialog-cancle="DialogCancle"
  311. ></multi-select-box>
  312. </div>
  313. </template>
  314. <script>
  315. import { getDataConfig } from '@/utils/data'
  316. import MultiSelectBox from './MultiSelectBox'
  317. import { postAssessmentAfterDislysis } from '@/api/dialysis'
  318. import { uParseTime } from '@/utils/tools'
  319. import store from '@/store'
  320. export default {
  321. name: 'AssessmentAfterDislysis',
  322. props: {
  323. assessment_after_dislysis: { // 透后评估
  324. type: Object,
  325. default: () => {
  326. return { id: 0 }
  327. }
  328. },
  329. dialysis_order: { // 透析记录
  330. type: Object,
  331. default: () => {
  332. return { id: 0 }
  333. }
  334. },
  335. patient: { // 患者信息
  336. type: Object,
  337. default: () => {
  338. return { id: 0 }
  339. }
  340. }
  341. },
  342. data() {
  343. return {
  344. loading: false,
  345. record_date: '',
  346. isVisibility: false,
  347. template_id:0,
  348. cruorOptions: [],
  349. symptomsOptions: [],
  350. internalFistulaOptions: [],
  351. vascularAccessOptions: [],
  352. unit: [
  353. {id: 1, name: 'g'},
  354. {id: 2, name: 'ml'},
  355. ],
  356. actualTreatmentHourShow:'',
  357. vascularAccessDescOptions: [],
  358. catheterOptions: [],
  359. complicationOptions: [],
  360. internalFistulaTremorAcOptions: [],
  361. patientGoseOptions: [],
  362. observationContentOptions: [],
  363. isVisibiltyForCruorDialog: false,
  364. dialogCruorTitle: '凝血',
  365. InnerDialogProps: {
  366. values: [],
  367. visibility: false,
  368. isShowTextArea: true,
  369. customContent: '',
  370. titles: '',
  371. type: '' // 不同弹框类型,用来匹配数据
  372. },
  373. form: {
  374. weight_after: '',
  375. weight_loss: '',
  376. temperature: '',
  377. systolic_blood_pressure: '',
  378. diastolic_blood_pressure: '',
  379. pulse_frequency: '',
  380. actual_ultrafiltration: '',
  381. actual_displacement: '',
  382. actual_treatment_hour: '',
  383. actual_treatment_minute: '',
  384. cruor: '',
  385. symptom_after_dialysis: '',
  386. dialysis_intakes: '',
  387. internal_fistula: '',
  388. blood_access_part_id: '',
  389. blood_access_part_opera_id: '',
  390. catheter: '',
  391. complication: '',
  392. puncture_point_oozing_blood: 2,
  393. puncture_point_haematoma: 2,
  394. internal_fistula_tremor_ac: '',
  395. patient_gose: '',
  396. inpatient_department: '',
  397. observation_content: '',
  398. observation_content_other: '',
  399. remark: '',
  400. dialysis_order_id: 0,
  401. is_eat: 2,
  402. dialysis_process: '',
  403. in_advance_minute: '',
  404. in_advance_reason: '',
  405. in_advance_reason_other: '',
  406. hemostasis_minute: '',
  407. hemostasis_opera: '',
  408. tremor_noise: '',
  409. disequilibrium_syndrome: '',
  410. disequilibrium_syndrome_option: '',
  411. arterial_tube: '',
  412. intravenous_tube: '',
  413. dialyzer: '',
  414. breathing_rate: '',
  415. dialysis_intakes_unit:0,
  416. }
  417. }
  418. },
  419. watch: {
  420. 'assessment_after_dislysis.id': function() {
  421. if (this.assessment_after_dislysis.id > 0) {
  422. for (var index in this.form) {
  423. this.form[index] = this.assessment_after_dislysis[index]
  424. }
  425. if (this.assessment_after_dislysis['blood_access_part_id'] == 0) {
  426. this.form['blood_access_part_id'] = ''
  427. }
  428. if (this.assessment_after_dislysis['blood_access_part_opera_id'] == 0) {
  429. this.form['blood_access_part_opera_id'] = ''
  430. }
  431. if (this.assessment_after_dislysis['internal_fistula_tremor_ac'] == 0) {
  432. this.form['internal_fistula_tremor_ac'] = ''
  433. }
  434. if (this.assessment_after_dislysis['patient_gose'] == 0) {
  435. this.form['patient_gose'] = ''
  436. }
  437. if (this.assessment_after_dislysis['weight_after'] == 0) {
  438. this.form['weight_after'] = ''
  439. }
  440. if (this.assessment_after_dislysis['weight_loss'] == 0) {
  441. this.form['weight_loss'] = ''
  442. }
  443. if (this.assessment_after_dislysis['temperature'] == 0) {
  444. this.form['temperature'] = ''
  445. }
  446. if (this.assessment_after_dislysis['systolic_blood_pressure'] == 0) {
  447. this.form['systolic_blood_pressure'] = ''
  448. }
  449. if (this.assessment_after_dislysis['diastolic_blood_pressure'] == 0) {
  450. this.form['diastolic_blood_pressure'] = ''
  451. }
  452. if (this.assessment_after_dislysis['pulse_frequency'] == 0) {
  453. this.form['pulse_frequency'] = ''
  454. }
  455. if (this.assessment_after_dislysis['breathing_rate'] == 0) {
  456. this.form['breathing_rate'] = ''
  457. }
  458. if (this.assessment_after_dislysis['actual_ultrafiltration'] == 0) {
  459. this.form['actual_ultrafiltration'] = ''
  460. }
  461. if (this.assessment_after_dislysis['actual_displacement'] == 0) {
  462. this.form['actual_displacement'] = ''
  463. }
  464. if (this.assessment_after_dislysis['dialysis_intakes'] == 0) {
  465. this.form['dialysis_intakes'] = ''
  466. }
  467. this.actualTreatmentHourShow = new Date(2018, 1, 1, this.assessment_after_dislysis['actual_treatment_hour'], this.assessment_after_dislysis['actual_treatment_minute'])
  468. }
  469. },
  470. 'dialysis_order.id': function() {
  471. this.form['dialysis_order_id'] = this.assessment_after_dislysis['dialysis_order_id']
  472. },
  473. 'form.patient_gose': function() {
  474. if (this.form.patient_gose.patient_gose != 3) {
  475. this.form.inpatient_department = ''
  476. this.form.observation_content = ''
  477. this.form.observation_content_other = ''
  478. }
  479. }
  480. },
  481. methods: {
  482. submitForm() {
  483. this.loading = true
  484. const ParamsQuery = {}
  485. if (!(this.patient.id > 0)) {
  486. this.$message.error('没有选择患者')
  487. this.loading = false
  488. return false
  489. }
  490. if (this.record_date.length != 10) {
  491. this.$message.error('无效的日期')
  492. this.loading = false
  493. return false
  494. }
  495. ParamsQuery['patient'] = this.patient.id
  496. ParamsQuery['record_date'] = this.record_date
  497. const data = {}
  498. data['weight_after'] = this.form.weight_after ? parseFloat(this.form.weight_after) : 0
  499. data['weight_loss'] = this.form.weight_loss ? parseFloat(this.form.weight_loss) : 0
  500. data['temperature'] = this.form.temperature ? parseFloat(this.form.temperature) : 0
  501. data['breathing_rate'] = this.form.temperature ? parseFloat(this.form.breathing_rate) : 0
  502. data['systolic_blood_pressure'] = this.form.systolic_blood_pressure ? parseFloat(this.form.systolic_blood_pressure) : 0
  503. data['diastolic_blood_pressure'] = this.form.diastolic_blood_pressure ? parseFloat(this.form.diastolic_blood_pressure) : 0
  504. data['pulse_frequency'] = this.form.pulse_frequency ? parseFloat(this.form.pulse_frequency) : 0
  505. data['actual_ultrafiltration'] = this.form.actual_ultrafiltration ? parseFloat(this.form.actual_ultrafiltration) : 0
  506. data['actual_displacement'] = this.form.actual_displacement ? parseFloat(this.form.actual_displacement) : 0
  507. data['actual_treatment_hour'] = this.form.actual_treatment_hour ? parseFloat(this.form.actual_treatment_hour) : 0
  508. data['actual_treatment_minute'] = this.form.actual_treatment_minute ? parseFloat(this.form.actual_treatment_minute) : 0
  509. data['cruor'] = this.form.cruor
  510. data['symptom_after_dialysis'] = this.form.symptom_after_dialysis
  511. data['dialysis_intakes'] = this.form.dialysis_intakes ? parseFloat(this.form.dialysis_intakes) : 0
  512. data['internal_fistula'] = this.form.internal_fistula
  513. data['blood_access_part_id'] = this.form.blood_access_part_id ? parseFloat(this.form.blood_access_part_id) : 0
  514. data['blood_access_part_opera_id'] = this.form.blood_access_part_opera_id ? parseFloat(this.form.blood_access_part_opera_id) : 0
  515. data['catheter'] = this.form.catheter
  516. data['complication'] = this.form.complication
  517. data['puncture_point_oozing_blood'] = this.form.puncture_point_oozing_blood ? parseFloat(this.form.puncture_point_oozing_blood) : 0
  518. data['puncture_point_haematoma'] = this.form.puncture_point_haematoma ? parseFloat(this.form.puncture_point_haematoma) : 0
  519. data['internal_fistula_tremor_ac'] = this.form.internal_fistula_tremor_ac ? parseFloat(this.form.internal_fistula_tremor_ac) : 0
  520. data['patient_gose'] = this.form.patient_gose ? parseFloat(this.form.patient_gose) : 0
  521. data['inpatient_department'] = this.form.inpatient_department
  522. data['observation_content'] = this.form.observation_content
  523. data['observation_content_other'] = this.form.observation_content_other
  524. data['remark'] = this.form.remark
  525. data['dialysis_order_id'] = this.form.dialysis_order_id ? parseFloat(this.form.dialysis_order_id) : 0
  526. data['dialysis_process'] = this.form.dialysis_process ? parseFloat(this.form.dialysis_process) : 0
  527. data['in_advance_minute'] = this.form.in_advance_minute ? parseFloat(this.form.in_advance_minute) : 0
  528. data['in_advance_reason_other'] = this.form.in_advance_reason_other
  529. data['in_advance_reason'] = this.form.in_advance_reason
  530. data['hemostasis_minute'] = this.form.hemostasis_minute ? parseFloat(this.form.hemostasis_minute) : 0
  531. data['hemostasis_opera'] = this.form.hemostasis_opera ? parseFloat(this.form.hemostasis_opera) : 0
  532. data['tremor_noise'] = this.form.tremor_noise ? parseFloat(this.form.tremor_noise) : 0
  533. data['disequilibrium_syndrome'] = this.form.disequilibrium_syndrome ? parseFloat(this.form.disequilibrium_syndrome) : 0
  534. data['disequilibrium_syndrome_option'] = this.form.disequilibrium_syndrome_option
  535. data['arterial_tube'] = this.form.arterial_tube ? parseFloat(this.form.arterial_tube) : 0
  536. data['intravenous_tube'] = this.form.intravenous_tube ? parseFloat(this.form.intravenous_tube) : 0
  537. data['dialysis_intakes_unit'] = this.form.dialysis_intakes_unit
  538. data['dialyzer'] = this.form.dialyzer ? parseFloat(this.form.dialyzer) : 0
  539. data['is_eat'] = this.form.is_eat ? parseFloat(this.form.is_eat) : 0
  540. postAssessmentAfterDislysis(ParamsQuery, data).then(response => {
  541. this.loading = false
  542. if (response.data.state == 0) {
  543. this.$message.error(response.data.msg)
  544. return false
  545. } else {
  546. this.$notify({
  547. title: '成功',
  548. message: '提交成功',
  549. type: 'success',
  550. duration: 2000
  551. })
  552. var assement = response.data.data.AssessmentAfterDislysis
  553. var assessment_after_dislysis = this.assessment_after_dislysis
  554. for (var index in assement) {
  555. // assessment_after_dislysis[index] = assement[index];
  556. this.$set(assessment_after_dislysis, index, assement[index])
  557. }
  558. this.hide()
  559. }
  560. }).catch(v => {
  561. this.loading = false
  562. })
  563. },
  564. showDialog: function(val) {
  565. this.InnerDialogProps.visibility = true
  566. switch (val) {
  567. case '1':
  568. this.InnerDialogProps.values = this.cruorOptions
  569. this.InnerDialogProps.titles = '凝血'
  570. this.InnerDialogProps.type = 'cruor'
  571. this.InnerDialogProps.selected = this.form.cruor
  572. this.InnerDialogProps.isShowTextArea = false
  573. break
  574. case '2':
  575. this.InnerDialogProps.values = this.symptomsOptions
  576. this.InnerDialogProps.titles = '透后症状'
  577. this.InnerDialogProps.type = 'symptom_after_dialysis'
  578. this.InnerDialogProps.selected = this.form.symptom_after_dialysis
  579. this.InnerDialogProps.isShowTextArea = false
  580. break
  581. case '3':
  582. this.InnerDialogProps.values = this.internalFistulaOptions
  583. this.InnerDialogProps.titles = '内瘘'
  584. this.InnerDialogProps.type = 'internal_fistula'
  585. this.InnerDialogProps.selected = this.form.internal_fistula
  586. this.InnerDialogProps.isShowTextArea = false
  587. break
  588. case '4':
  589. this.InnerDialogProps.values = this.catheterOptions
  590. this.InnerDialogProps.titles = '导管'
  591. this.InnerDialogProps.type = 'catheter'
  592. this.InnerDialogProps.selected = this.form.catheter
  593. this.InnerDialogProps.isShowTextArea = false
  594. break
  595. case '5':
  596. this.InnerDialogProps.values = this.complicationOptions
  597. this.InnerDialogProps.titles = '并发症'
  598. this.InnerDialogProps.type = 'complication'
  599. this.InnerDialogProps.selected = this.form.complication
  600. this.InnerDialogProps.isShowTextArea = false
  601. break
  602. case '6':
  603. this.InnerDialogProps.values = this.observationContentOptions
  604. this.InnerDialogProps.titles = '交待病房护士/患者/陪人观察内容'
  605. this.InnerDialogProps.type = 'observation_content'
  606. this.InnerDialogProps.selected = this.form.observation_content
  607. this.InnerDialogProps.isShowTextArea = false
  608. break
  609. case '7':
  610. this.InnerDialogProps.values = this.$store.getters.in_advance_reason
  611. this.InnerDialogProps.titles = '透析过程提前原因'
  612. this.InnerDialogProps.type = 'in_advance_reason'
  613. this.InnerDialogProps.selected = this.form.in_advance_reason
  614. this.InnerDialogProps.isShowTextArea = false
  615. break
  616. case '8':
  617. this.InnerDialogProps.values = this.$store.getters.disequilibrium_syndrome_option
  618. this.InnerDialogProps.titles = '失衡综合症症状'
  619. this.InnerDialogProps.type = 'disequilibrium_syndrome_option'
  620. this.InnerDialogProps.selected = this.form.disequilibrium_syndrome_option
  621. this.InnerDialogProps.isShowTextArea = false
  622. break
  623. }
  624. },
  625. selectActualTreatmentHour(val) {
  626. var valTime = val.split(':')
  627. this.form.actual_treatment_hour = valTime[0]
  628. this.form.actual_treatment_minute = valTime[1]
  629. },
  630. DialogComfirm: function(val) {
  631. this.InnerDialogProps.visibility = false
  632. switch (val.type) {
  633. case 'cruor':
  634. this.form.cruor = val.value.join(',')
  635. break
  636. case 'symptom_after_dialysis':
  637. this.form.symptom_after_dialysis = val.value.join(',')
  638. break
  639. case 'internal_fistula':
  640. this.form.internal_fistula = val.value.join(',')
  641. break
  642. case 'catheter':
  643. this.form.catheter = val.value.join(',')
  644. break
  645. case 'complication':
  646. this.form.complication = val.value.join(',')
  647. break
  648. case 'observation_content':
  649. this.form.observation_content = val.value.join(',')
  650. break
  651. case 'in_advance_reason':
  652. this.form.in_advance_reason = val.value.join(',')
  653. break
  654. case 'disequilibrium_syndrome_option':
  655. this.form.disequilibrium_syndrome_option = val.value.join(',')
  656. break
  657. default:
  658. break
  659. }
  660. console.log(val)
  661. },
  662. DialogCancle: function(val) {
  663. this.InnerDialogProps.visibility = false
  664. },
  665. show() {
  666. this.isVisibility = true
  667. },
  668. hide() {
  669. this.isVisibility = false
  670. }, isShow(name) {
  671. var filedList = store.getters.xt_user.fileds
  672. for (let i = 0; i < filedList.length; i++) {
  673. if (filedList[i].module == 5 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
  674. return true
  675. }
  676. }
  677. return false
  678. }, setRecords (records) {
  679. for (var index in records) {
  680. this.$set(this.assessment_after_dislysis, index, records[index])
  681. }
  682. this.actualTreatmentHourShow = new Date(2018, 1, 1, this.assessment_after_dislysis['actual_treatment_hour'], this.assessment_after_dislysis['actual_treatment_minute'])
  683. },
  684. },
  685. created() {
  686. console.log('this.form', this.form)
  687. this.cruorOptions = getDataConfig('hemodialysis', 'cruor')
  688. this.symptomsOptions = getDataConfig('hemodialysis', 'symptoms')
  689. this.internalFistulaOptions = getDataConfig('hemodialysis', 'internal_fistula')
  690. this.vascularAccessOptions = getDataConfig('hemodialysis', 'vascular_access')
  691. this.vascularAccessDescOptions = getDataConfig('hemodialysis', 'vascular_access_desc')
  692. this.catheterOptions = getDataConfig('hemodialysis', 'catheter')
  693. this.complicationOptions = getDataConfig('hemodialysis', 'complication')
  694. this.internalFistulaTremorAcOptions = this.$store.getters.internal_fistula_tremor_ac
  695. this.patientGoseOptions = this.$store.getters.patient_gose
  696. this.observationContentOptions = this.$store.getters.observation_content
  697. this.template_id = this.$store.getters.xt_user.template_info.template_id;
  698. var date = this.$route.query && this.$route.query.date
  699. this.record_date = uParseTime(date, '{y}-{m}-{d}')
  700. },
  701. components: {
  702. MultiSelectBox
  703. }
  704. }
  705. </script>
  706. <style scoped>
  707. </style>