Browse Source

新分支

28169 7 months ago
parent
commit
757b4194aa
1 changed files with 445 additions and 0 deletions
  1. 445 0
      src/xt_pages/user/lapsoSummary.vue

+ 445 - 0
src/xt_pages/user/lapsoSummary.vue View File

@@ -0,0 +1,445 @@
1
+<template>
2
+    <div class="patient-container">
3
+      <patient-sidebar :id="patientID" defaultActive="1-6" v-on:tran-patient="onTranPatient"></patient-sidebar>
4
+      <div class="patient-app-container advice-container app-container">
5
+        <div style="display:flex;justify-content: space-between;align-items: center;margin-bottom: 12px;">
6
+           <span style="font-weight:bold;">转归记录列表</span>
7
+           <el-button size="medium" type="primary" @click="dialogVisible =true">新增</el-button>
8
+        </div>
9
+        <el-table class="oictable" :data="tableData" border style="width:100%">
10
+        <el-table-column prop="start_time" label="建立日期" width="100" align="center">
11
+            <template slot-scope="scope">
12
+              <span>{{ getTime(scope.row.start_time)}}</span>
13
+            </template>
14
+       </el-table-column>
15
+        <el-table-column prop="blood_access_part_opera_id" label="血管通路" align="center" width="120">
16
+          <template slot-scope="scope">
17
+             <router-link
18
+                :to="'/patients/patient/' + scope.row.patient_id+'/vascularAccessDetail/'+scope.row.id"
19
+                style="color:#409eff;width:100%;display:block;"
20
+              >{{ scope.row.blood_access_part_opera_id }}
21
+              </router-link
22
+              >
23
+          </template>
24
+       </el-table-column>
25
+       <el-table-column prop="blood_access_part_id" label="血管通路部位" width="200" align="center">
26
+          <template slot-scope="scope">
27
+             <span>{{scope.row.blood_access_part_id}}</span>  
28
+          </template>
29
+       </el-table-column>
30
+        <el-table-column prop="inflow_pass" label="血管通路部位(其他)" width="100" align="center">
31
+           <template slot-scope="scope">
32
+              <span>{{scope.row.other_vascular}}</span>
33
+           </template>
34
+        </el-table-column>
35
+        <el-table-column prop="date" label="首次启用日期" width="120" align="center">
36
+            <template slot-scope="scope">
37
+              <span>{{ getTime(scope.row.first_start_time)}}</span>
38
+            </template>
39
+        </el-table-column>
40
+       
41
+         <el-table-column prop="date" label="停用日期" align="center" width="100">
42
+            <template slot-scope="scope">
43
+              <span v-if="scope.row.stop_time>0">{{ getTime(scope.row.stop_time)}}</span>
44
+               <span v-if="scope.row.stop_time<0"></span>
45
+            </template>
46
+        </el-table-column>
47
+         <el-table-column prop="date" label="停用原因" align="center" width="120">
48
+            <template slot-scope="scope">
49
+               <span>{{scope.row.stop_reason}}</span>
50
+            </template>
51
+        </el-table-column>
52
+         <el-table-column prop="date" label="使用寿命(天)" align="center" width="120">
53
+            <template slot-scope="scope">
54
+             <span v-if="scope.row.stop_time>0&&(scope.row.stop_time - scope.row.start_time)/86400 == 0"></span> 
55
+             <span v-if="scope.row.stop_time>0&&(scope.row.stop_time - scope.row.start_time)/86400 != 0">{{(scope.row.stop_time - scope.row.start_time)/86400}}</span>
56
+            </template>
57
+        </el-table-column>
58
+         
59
+        <el-table-column prop="date" label="导管感染转归" align="center" width="120">
60
+            <template slot-scope="scope">
61
+               <span v-if="scope.row.ci_type == 1">拔管</span>
62
+               <span v-if="scope.row.ci_type == 2">治愈</span>
63
+               <span v-if="scope.row.ci_type == 3">死亡</span>
64
+               <span v-if="scope.row.ci_type == 4">放弃</span>
65
+               <span v-if="scope.row.ci_type == 9">其它</span>
66
+            </template>
67
+        </el-table-column>
68
+         
69
+         <el-table-column prop="date" label="血培养检查结果" align="center" width="120">
70
+            <template slot-scope="scope">
71
+               <span v-if="scope.row.blood_cultupe == 0">阴性</span>
72
+               <span v-if="scope.row.blood_cultupe == 1">阳性</span>
73
+               <span v-if="scope.row.blood_cultupe == 9">未查</span>
74
+            </template>
75
+        </el-table-column>
76
+        
77
+       <el-table-column prop="date" label="患者导管转归类型" align="center" width="120">
78
+            <template slot-scope="scope">
79
+               <span v-if="scope.row.sequelae_type == 1">局部感染</span>
80
+               <span v-if="scope.row.sequelae_type == 2">静脉炎</span>
81
+               <span v-if="scope.row.sequelae_type == 3">导管细菌定植</span>
82
+               <span v-if="scope.row.sequelae_type == 4">导管相关血型感染</span>
83
+            </template>
84
+        </el-table-column>
85
+         <el-table-column prop="date" label="备注" align="center" width="180">
86
+            <template slot-scope="scope">
87
+               <span>{{scope.row.remark}}</span>
88
+            </template>
89
+        </el-table-column>
90
+        <el-table-column prop="date" label="创始人" align="center" width="100">
91
+            <template slot-scope="scope">
92
+              <span>{{getDoctor(scope.row.creator)}}</span>
93
+            </template>
94
+        </el-table-column>
95
+         <el-table-column prop="date" fixed="right" label="操作" width="140" align="center">
96
+            <template slot-scope="scope">
97
+               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
98
+                 <el-button
99
+                    type="primary"
100
+                    size="small"
101
+                    icon="el-icon-edit-outline"
102
+                   
103
+                    @click="handleUpdateAdviceTemplate(scope.row.id)"
104
+                    >
105
+                 </el-button>
106
+               </el-tooltip>
107
+                <el-tooltip class="item" effect="dark" content="删除" placement="top">
108
+                   <el-button
109
+                    size="small"
110
+                    type="danger"
111
+                    icon="el-icon-delete"
112
+                    @click="handleDeleteAdviceTemplate(scope.row.id, scope.$index)"
113
+                    >
114
+                   </el-button>
115
+                </el-tooltip>
116
+             </template>
117
+        </el-table-column>
118
+        </el-table>
119
+        <el-pagination
120
+          @size-change="handleSizeChange"
121
+          @current-change="handleCurrentChange"
122
+          :page-sizes="[10,20,50,100]"
123
+          :page-size="10"
124
+          background
125
+          style="margin-top:20px;"
126
+          align="right"
127
+          layout="total, sizes, prev, pager, next, jumper"
128
+          :total="total"></el-pagination>
129
+  
130
+        <el-dialog
131
+            title="新增"
132
+            :visible.sync="dialogVisible"
133
+            width="65%"
134
+            center>
135
+          <el-form label-width="150px" :model="form" ref="form" :rules="rules" >
136
+            <el-row  :gutter="24">
137
+              <el-col :span="24">
138
+                <el-form-item label="透析号:" >
139
+                    <el-input style="width:200px" v-model="dialysis_no"></el-input>
140
+                </el-form-item>
141
+                
142
+              </el-col>
143
+            </el-row>
144
+            <el-row  :gutter="24" >
145
+              <el-col :span="24">
146
+                 <el-form-item  label="姓名:">
147
+                    <el-input style="width:200px" v-model="name"></el-input>
148
+                 </el-form-item>
149
+              </el-col>
150
+            </el-row>
151
+            <el-row :gutter="24">
152
+                <el-col :span="24">
153
+                    <el-form-item label="转归类型:"  prop="access_project"  > 
154
+                        <el-radio-group style="padding: 10px;" v-model="lapse_type">
155
+                            <el-radio  label="1">转出</el-radio>
156
+                            <el-radio  label="2">院内转诊</el-radio>
157
+                      </el-radio-group>
158
+                    </el-form-item>
159
+                </el-col>
160
+            </el-row>
161
+
162
+            <el-row :gutter="24">
163
+                <el-col :span="24">
164
+                    <el-form-item label="转归分类:"  prop="access_project"  > 
165
+                        <el-radio-group style="padding: 10px;" v-model="lapse_class">
166
+                            <el-radio  label="1">终止透析</el-radio>
167
+                            <el-radio  label="2">转出院外</el-radio>
168
+                            <el-radio  label="3">回居住地透析</el-radio>
169
+                            <el-radio  label="4">临时透析</el-radio>
170
+                            <el-radio  label="5">转腹膜透析</el-radio>
171
+                            <el-radio  label="6">其他</el-radio>
172
+                            <el-radio  label="7">变更透析医院</el-radio>
173
+                      </el-radio-group>
174
+                    </el-form-item>
175
+                </el-col>
176
+            </el-row>
177
+
178
+            <el-row :gutter="24">
179
+                <el-col :span="24">
180
+                    <el-form-item label="转出原因:"  prop="access_project"> 
181
+                        <el-input style="width: 300px;height: 50px;"  type="textarea" v-model="lapse_reason"></el-input>
182
+                    </el-form-item>
183
+                </el-col>
184
+            </el-row>
185
+
186
+            <el-row :gutter="24">
187
+                <el-col :span="24">
188
+                    <el-form-item label="转出日期:"  prop="access_project"  > 
189
+                        <el-date-picker
190
+                            v-model="record_date"
191
+                            type="date"
192
+                            placeholder="选择日期">
193
+                         </el-date-picker>
194
+                    </el-form-item>
195
+                </el-col>
196
+            </el-row>
197
+
198
+            <el-row :gutter="24">
199
+                <el-col :span="24">
200
+                    <el-form-item label="操作人:"  prop="access_project"  > 
201
+                        <el-select v-model="admin_user_id" placeholder="请选择">
202
+                            <el-option
203
+                            v-for="item in options"
204
+                            :key="item.value"
205
+                            :label="item.label"
206
+                            :value="item.value">
207
+                            </el-option>
208
+                         </el-select>
209
+                    </el-form-item>
210
+                </el-col>
211
+            </el-row>
212
+
213
+            <el-row :gutter="24">
214
+                <el-col :span="24">
215
+                    <el-form-item label="备注:"  prop="access_project"  > 
216
+                        <el-input style="width: 300px;height: 50px;" type="textarea" v-model="remark"></el-input>
217
+                    </el-form-item>
218
+                </el-col>
219
+            </el-row>
220
+           
221
+          </el-form>
222
+  
223
+        <span slot="footer" class="dialog-footer">
224
+            <el-button @click="dialogVisible = false">取 消</el-button>
225
+            <el-button type="primary" @click="saveVasularAccess('form')">保存</el-button>
226
+        </span>
227
+        </el-dialog>
228
+  
229
+      </div>
230
+  
231
+       <!-- <multi-select-box
232
+          :propsForm="InnerDialogProps"
233
+          v-on:dialog-comfirm="innerDialogComfirm"
234
+          v-on:dialog-cancle="innerDialogCancle"
235
+        ></multi-select-box> -->
236
+        
237
+    </div>
238
+  </template>
239
+  <script>
240
+    const moment = require('moment')
241
+    import PatientSidebar from './components/PatientSidebar'
242
+    import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
243
+    import { saveVasularAccess,getAllVascularAccessList,getVascularAccessByDetail,updatedVasularAccess,DeleteVascularAccess,getAccessList } from '@/api/patient'
244
+  
245
+    import { jsGetAge, uParseTime } from '@/utils/tools'
246
+    import { getDataConfig } from '@/utils/data'
247
+    import multiSelectBox from '../dialysis/details/dialog/MultiSelectBox'
248
+    import sitemap from './Sitemap'
249
+    export default {
250
+      name: 'doctorAdvice',
251
+      components: {
252
+        PatientSidebar,
253
+        multiSelectBox,
254
+        sitemap
255
+      },
256
+      data() {
257
+        return {
258
+          tableData: [],
259
+          nowtime: moment(new Date()).format('YYYY-MM-DD'),
260
+          page: 1,
261
+          limit: 10,
262
+          total: 0,
263
+          rules: {
264
+            start_time: [{ required: true, message: '请输入建立日期' }],
265
+            access_project: [{ required: true, message: '请选择通路项目' }],
266
+            blood_access_part_opera_id:[{required:true,message:'请选择血管通路类型'}],
267
+            blood_access_part_id:[{required:true,message:"请选择血管通路"}],
268
+           //  first_start_time:[{required:true,message:"请选择首次启用日期"}],
269
+            user_status:[{required:true,message:"请选择使用状态"}]
270
+          },
271
+          dialogVisible:false,
272
+          editDialogVisible:false,
273
+          form:{
274
+           id:0,
275
+           access_project:"1",
276
+           blood_access_part_id:"",
277
+           blood_access_part_opera_id:"",
278
+           inflow_pass:"",
279
+           start_time:moment(new Date()).format('YYYY-MM-DD'),
280
+           first_start_time:moment(new Date()).format('YYYY-MM-DD'),
281
+           stop_reason:"",
282
+           user_status:1,
283
+           remark:"",
284
+           stop_time:"",
285
+           other_vascular:"",
286
+           ci_type:"",//导管感染转归
287
+           blood_cultupe:"", //血培养检查结果
288
+           sequelae_type:"",//患者导管转归类型
289
+          },
290
+          options:[
291
+           {id:1,name:"启用"},
292
+           {id:2,name:"停用"},
293
+           {id:3,name:"备用"}
294
+          ],
295
+          optionsPass:[
296
+            {id:1,name:"流入-动脉"},
297
+            {id:2,name:"流出-静脉"},
298
+          ],
299
+  
300
+          blood_access_part_opera:[],
301
+          blood_access_part:[],
302
+          show:false,
303
+          doctorList:[],
304
+          InnerDialogProps: {
305
+            values: [],
306
+            visibility: false,
307
+            isShowTextArea: true,
308
+            customContent: '',
309
+            titles: '',
310
+            type: '' // 不同弹框类型,用来匹配数据
311
+          },
312
+          new_blood_access_part_opera:[],
313
+          new_blood_access_part:[],
314
+         // 导管感染类型
315
+          optionsOne:[
316
+             {id:1,name:"局部感染"},
317
+             {id:2,name:"静脉炎"},
318
+             {id:3,name:"导管细菌定植"},
319
+             {id:4,name:"导管相关血型感染"},
320
+          ],
321
+        //   导管转归类型
322
+          optionsTwo:[
323
+             {id:1,name:"拔管"},
324
+             {id:2,name:"治愈"},
325
+             {id:3,name:"死亡"},
326
+             {id:4,name:"放弃"},
327
+             {id:9,name:"其它"},
328
+          ],
329
+        //  血培养检查结果
330
+          optionsThree:[
331
+             {id:0,name:"阴性"},
332
+             {id:1,name:"阳性"},
333
+             {id:9,name:"未查"}
334
+          ],
335
+          showOne:false,
336
+          name:"",
337
+          dialysis_no:"",
338
+          lapse_type:"",
339
+          lapse_class:"",
340
+          lapse_reason:"",
341
+          record_date:"",
342
+          admin_user_id:"",
343
+          remark:""
344
+        }
345
+      },
346
+      methods: {
347
+        clickuseradvicecell(row, column, cell, event) {
348
+        },
349
+        onTranPatient: function(tranPatient) {
350
+          this.currentPatient = tranPatient
351
+        },
352
+        CreateTime(time) {
353
+          return uParseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')
354
+        },
355
+     
356
+       
357
+      
358
+       
359
+        handleSizeChange(limit) {
360
+          this.limit = limit
361
+          this.getlist()
362
+        },
363
+        handleCurrentChange(page) {
364
+          this.page = page
365
+        
366
+          this.getlist()
367
+        },
368
+        changeStatus(val){
369
+          if(val == 1 ){
370
+            this.show = false
371
+          }
372
+          if(val == 2){
373
+            this.show = true
374
+          }
375
+        },
376
+       getTime(val) {
377
+           if(val < 0){
378
+             return ""
379
+           }
380
+           if(val == ""){
381
+            return ""
382
+           }else {
383
+            return uParseTime(val, '{y}-{m}-{d}')
384
+           }
385
+        },
386
+     
387
+       getDoctor(id){
388
+         var name = ""
389
+         for(let i=0;i<this.doctorList.length;i++){
390
+            if(id == this.doctorList[i].admin_user_id){
391
+               name = this.doctorList[i].user_name
392
+            }
393
+         }
394
+         return name
395
+       },
396
+       handleDeleteAdviceTemplate(id,index){
397
+         this.$confirm("确认删除吗?", "删除", {
398
+          confirmButtonText: "确 定",
399
+          cancelButtonText: "取 消",
400
+          type: "warning"
401
+        })
402
+          .then(() => {
403
+            DeleteVascularAccess(id).then(response => {
404
+              if(response.data.state == 1){
405
+                var msg = response.data.data.msg
406
+                this.tableData.splice(index, 1);
407
+                this.$message.success("删除成功!")
408
+              }
409
+               
410
+              
411
+            });
412
+          })
413
+          .catch(() => {});
414
+       },
415
+       getlist(){
416
+            
417
+       }
418
+     
419
+  
420
+     
421
+      },
422
+      created() {
423
+        const id = this.$route.params && this.$route.params.id
424
+        this.patientID = parseInt(id)
425
+        this.getAllPatient()
426
+        this.getlist()
427
+      },
428
+     
429
+    }
430
+  </script>
431
+  
432
+  <style>
433
+    .oictable ::-webkit-scrollbar {
434
+      height: 15px;
435
+    }
436
+  </style>
437
+  
438
+  <style rel="stylesheet/scss" lang="scss">
439
+     ::-webkit-scrollbar{
440
+        height:15px;
441
+     }
442
+  
443
+  </style>
444
+  
445
+