Преглед на файлове

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

XMLWAN преди 4 години
родител
ревизия
4c56486d01

+ 13 - 0
src/api/his/his.js Целия файл

355
 
355
 
356
 
356
 
357
 
357
 
358
+export function getRecordList (params) {
359
+  return request({
360
+    url: '/api/record/list',
361
+    method: 'get',
362
+    params:params,
363
+  })
364
+}
365
+
366
+
367
+
368
+
369
+
370
+
358
 
371
 
359
 
372
 
360
 
373
 

+ 2 - 1
src/lang/zh.js Целия файл

216
     outpatientCharges:'门诊收费',
216
     outpatientCharges:'门诊收费',
217
     outpatientChargesManagement:'门诊收费管理',
217
     outpatientChargesManagement:'门诊收费管理',
218
     outpatientInvoice:'门诊发票',
218
     outpatientInvoice:'门诊发票',
219
+    outpatientRecord:'门诊备案',
219
     advancePayment:'预交金',
220
     advancePayment:'预交金',
220
     labelPrinting:'标签打印',
221
     labelPrinting:'标签打印',
221
     summary:'项目消费明细汇总',
222
     summary:'项目消费明细汇总',
236
     basicConfig:'基础配置',
237
     basicConfig:'基础配置',
237
 
238
 
238
     histemplate:'处方模版',
239
     histemplate:'处方模版',
239
-
240
+    outpatientSickRecord:"人员定点病种备案",
240
     airDisinfect:'空气消毒',
241
     airDisinfect:'空气消毒',
241
     objectTableDisinfect:'物表消毒'
242
     objectTableDisinfect:'物表消毒'
242
 
243
 

+ 3 - 1
src/router/index.js Целия файл

27
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
27
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
28
 import outpatientCharges from './modules/outpatientCharges'
28
 import outpatientCharges from './modules/outpatientCharges'
29
 import outpatientPharmacy from './modules/outpatientPharmacy'
29
 import outpatientPharmacy from './modules/outpatientPharmacy'
30
+import outpatientRecord from './modules/outpatientRecord'
30
 import kuyiShopping from './modules/kuyiShopping'
31
 import kuyiShopping from './modules/kuyiShopping'
31
 import createPatient from './modules/createPatient'
32
 import createPatient from './modules/createPatient'
32
 import dialysisRecord from './modules/dialysisRecord'
33
 import dialysisRecord from './modules/dialysisRecord'
151
   slow,
152
   slow,
152
   scrm,
153
   scrm,
153
   shop,
154
   shop,
154
-  
155
+
155
   systems,
156
   systems,
156
   DepartManage,
157
   DepartManage,
157
   roleManage,
158
   roleManage,
169
   outpatientDoctorStation,
170
   outpatientDoctorStation,
170
   outpatientCharges,
171
   outpatientCharges,
171
   outpatientPharmacy,
172
   outpatientPharmacy,
173
+  outpatientRecord,
172
   // kuyiShopping,
174
   // kuyiShopping,
173
   integration,
175
   integration,
174
   basicConfig
176
   basicConfig

+ 22 - 0
src/router/modules/outpatientRecord.js Целия файл

1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/outpatientRecord',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'outpatientRecord',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'outpatientRecord',
11
+    icon: 'outpatientRecord',
12
+    isChild: true
13
+  },
14
+  children: [
15
+    {
16
+        path: '/outpatientRecord/outpatientRecord',
17
+        component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
+        name: 'outpatientSickRecord',
19
+        meta: { title: 'outpatientSickRecord', noCache: true }
20
+    },
21
+  ]
22
+}

+ 1 - 1
src/views/layout/Layout.vue Целия файл

123
   },
123
   },
124
   created(){
124
   created(){
125
     console.log('permission_routers',this.permission_routers)
125
     console.log('permission_routers',this.permission_routers)
126
-    let menzhen = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
126
+    let menzhen = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord']
127
     let bingli = ['User','createPatient']
127
     let bingli = ['User','createPatient']
128
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
128
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
129
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement']
129
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement']

+ 1 - 1
src/views/layout/components/Sidebar/index.vue Целия файл

69
     navTitle:{
69
     navTitle:{
70
       handler(newVal,oldVal){
70
       handler(newVal,oldVal){
71
         if(newVal == '门诊管理'){
71
         if(newVal == '门诊管理'){
72
-          let nameArr = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy']
72
+          let nameArr = ['outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord']
73
           // console.log('permission_routers',this.permission_routers)
73
           // console.log('permission_routers',this.permission_routers)
74
           let routerArr = []
74
           let routerArr = []
75
           this.permission_routers.map(item => {
75
           this.permission_routers.map(item => {

+ 102 - 10
src/xt_pages/data/components/consumables.vue Целия файл

59
       </div>
59
       </div>
60
       <div>
60
       <div>
61
         <el-button type="primary" @click="openForm()">新增</el-button>
61
         <el-button type="primary" @click="openForm()">新增</el-button>
62
-        <el-button type="primary" @click="BatchDelete()">批量备案</el-button>
62
+        <!--<el-button type="primary" @click="BatchDelete()">批量备案</el-button>-->
63
+
64
+
65
+        <el-button type="primary" @click="BatchDelete()" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">批量备案</el-button>
66
+        <el-button type="primary" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028" @click="GDYBBatchPutOnRecord">批量备案</el-button>
67
+
63
       </div>
68
       </div>
64
     </div>
69
     </div>
65
 
70
 
74
           align="center"
79
           align="center"
75
           type="selection"
80
           type="selection"
76
           width="55">
81
           width="55">
77
-      </el-table-column>    
82
+      </el-table-column>
78
       <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
83
       <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
79
       <el-table-column label="耗材名称" align="center">
84
       <el-table-column label="耗材名称" align="center">
80
         <template slot-scope="scope">
85
         <template slot-scope="scope">
128
           <!--<el-button type="primary" size="small" @click="clickSelfPayment(scope.row.id)">自付比例</el-button>-->
133
           <!--<el-button type="primary" size="small" @click="clickSelfPayment(scope.row.id)">自付比例</el-button>-->
129
           <el-button type="danger" size="small" @click="handleGoodInfoDelete(scope.$index, scope.row)">删除</el-button>
134
           <el-button type="danger" size="small" @click="handleGoodInfoDelete(scope.$index, scope.row)">删除</el-button>
130
 
135
 
131
-          <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)">
136
+          <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">
132
              <span v-if="scope.row.is_mark == 0">备案</span>
137
              <span v-if="scope.row.is_mark == 0">备案</span>
133
              <span v-if="scope.row.is_mark == 1">撤销</span>
138
              <span v-if="scope.row.is_mark == 1">撤销</span>
134
           </el-button>
139
           </el-button>
140
+
141
+          <el-button type="primary" size="small" icon="el-icon-refresh-left" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028">
142
+            <span v-if="scope.row.is_mark == 0 || scope.row.is_mark == 2"  @click="putOnRecord(scope.row.id)" >目录对照</span>
143
+            <span v-if="scope.row.is_mark == 1"  @click="putOnUnRecord(scope.row.id)" >撤消对照</span>
144
+          </el-button>
135
         </template>
145
         </template>
136
       </el-table-column>
146
       </el-table-column>
137
     </el-table>
147
     </el-table>
279
       }
289
       }
280
     },
290
     },
281
     methods: {
291
     methods: {
292
+      putOnUnRecord(id){
293
+        var that = this
294
+        let params = {
295
+          ids:id.toString(),
296
+          record_type: 2,
297
+          admin_user_id:this.$store.getters.xt_user.user.id
298
+        }
299
+        axios.get('http://127.0.0.1:9532/api/uncheckcode/get',{params:params}).then(function(response) {
300
+          if (response.data.state == 0) {
301
+            that.$message.error(response.data.data.msg)
302
+            return false
303
+          } else {
304
+            if(response.data.data.failed_code == -10){
305
+              that.$message.error(response.data.data.msg)
306
+            }else{
307
+              // for (let i = 0; i < that.tableData.length; i++) {
308
+              //   if (that.tableData[i].id == that.currentObject.id) {
309
+              //     that.tableData[i].record.is_cancel == 1
310
+              //   }
311
+              // }
312
+            }
313
+
314
+          }
315
+        }).catch(function(error) {
316
+        })
317
+      },
318
+      putOnRecord(id){
319
+        var that = this
320
+
321
+        let params = {
322
+          ids:id.toString(),
323
+          record_type: 2,
324
+          admin_user_id:this.$store.getters.xt_user.user.id
325
+        }
326
+
327
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
328
+          if (response.data.state == 0) {
329
+            that.$message.error(response.data.data.msg)
330
+            return false
331
+          } else {
332
+            if(response.data.data.failed_code == -10){
333
+              that.$message.error(response.data.data.msg)
334
+            }else{
335
+
336
+
337
+            }
338
+
339
+
340
+
341
+          }
342
+        }).catch(function(error) {
343
+        })
344
+      },
345
+      GDYBBatchPutOnRecord(){
346
+        var that = this
347
+        var ids = [];
348
+        var idMap = {};
349
+        for (const index in this.selectDrug) {
350
+          ids.push(this.selectDrug[index].id);
351
+          idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
352
+        }
353
+        let params = {
354
+          ids:ids.join(','),
355
+          record_type: 2,
356
+          admin_user_id:this.$store.getters.xt_user.user.id
357
+        }
358
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
359
+          if (response.data.state == 0) {
360
+            that.$message.error(response.data.data.msg)
361
+            return false
362
+          } else {
363
+            if(response.data.data.failed_code == -10){
364
+              that.$message.error(response.data.data.msg)
365
+            }else{
366
+
367
+
368
+            }
369
+          }
370
+        }).catch(function(error) {
371
+        })
372
+      },
373
+
282
       changeKind(val){
374
       changeKind(val){
283
         this.getList()
375
         this.getList()
284
 
376
 
341
               this.goodInfo.goodInfoDialog.formValue.good_unit =
433
               this.goodInfo.goodInfoDialog.formValue.good_unit =
342
                 response.data.data.goodInfo.good_unit
434
                 response.data.data.goodInfo.good_unit
343
             }
435
             }
344
-           
436
+
345
             if (response.data.data.goodInfo.manufacturer <= 0) {
437
             if (response.data.data.goodInfo.manufacturer <= 0) {
346
               this.goodInfo.goodInfoDialog.formValue.manufacturer = ''
438
               this.goodInfo.goodInfoDialog.formValue.manufacturer = ''
347
             } else {
439
             } else {
348
               this.goodInfo.goodInfoDialog.formValue.manufacturer = response.data.data.goodInfo.manufacturer
440
               this.goodInfo.goodInfoDialog.formValue.manufacturer = response.data.data.goodInfo.manufacturer
349
-             
441
+
350
             }
442
             }
351
 
443
 
352
             if (response.data.data.goodInfo.dealer <= 0) {
444
             if (response.data.data.goodInfo.dealer <= 0) {
512
             this.goodInfo.goodInfoDialog.formValue.agent =response.data.data.goodInfo.agent
604
             this.goodInfo.goodInfoDialog.formValue.agent =response.data.data.goodInfo.agent
513
 
605
 
514
             this.goodInfo.goodInfoDialog.formValue.good_number = response.data.data.goodInfo.good_number
606
             this.goodInfo.goodInfoDialog.formValue.good_number = response.data.data.goodInfo.good_number
515
-            
607
+
516
             this.goodInfo.goodInfoDialog.formValue.social_security_directory_code = response.data.data.goodInfo.social_security_directory_code
608
             this.goodInfo.goodInfoDialog.formValue.social_security_directory_code = response.data.data.goodInfo.social_security_directory_code
517
-            
609
+
518
             if(response.data.data.production_type<=0){
610
             if(response.data.data.production_type<=0){
519
                this.goodInfo.goodInfoDialog.production_type = ''
611
                this.goodInfo.goodInfoDialog.production_type = ''
520
             }else{
612
             }else{
526
             }else{
618
             }else{
527
               this.goodInfo.goodInfoDialog.formValue.special_medical = response.data.data.goodInfo.special_medical.toString()
619
               this.goodInfo.goodInfoDialog.formValue.special_medical = response.data.data.goodInfo.special_medical.toString()
528
             }
620
             }
529
-        
621
+
530
             this.$refs.addConsumable.show(row.id, this.goodInfo.goodInfoDialog.formValue)
622
             this.$refs.addConsumable.show(row.id, this.goodInfo.goodInfoDialog.formValue)
531
           }
623
           }
532
         })
624
         })
868
               admin_user_id:this.$store.getters.xt_user.user.id
960
               admin_user_id:this.$store.getters.xt_user.user.id
869
             }
961
             }
870
             console.log("paramsw2",params)
962
             console.log("paramsw2",params)
871
-        
963
+
872
             var that = this
964
             var that = this
873
             axios.get('http://127.0.0.1:9532/sz/api/goods/get',{ params: params }).then(function(response) {
965
             axios.get('http://127.0.0.1:9532/sz/api/goods/get',{ params: params }).then(function(response) {
874
             if (response.data.state == 0) {
966
             if (response.data.state == 0) {
889
           });
981
           });
890
      },
982
      },
891
       toReturn(id,isMark){
983
       toReturn(id,isMark){
892
-        
984
+
893
          var that = this
985
          var that = this
894
          let params = {
986
          let params = {
895
              'id':id,
987
              'id':id,

+ 96 - 6
src/xt_pages/data/components/drugs.vue Целия файл

56
       </div>
56
       </div>
57
       <div>
57
       <div>
58
         <el-button type="primary" @click="openForm(0)">新增</el-button>
58
         <el-button type="primary" @click="openForm(0)">新增</el-button>
59
-        <el-button type="primary" @click="BatchDelete()">批量备案</el-button>
59
+        <el-button type="primary" @click="BatchDelete()" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028" >批量备案</el-button>
60
+        <el-button type="primary" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028" @click="GDYBBatchPutOnRecord()">批量备案</el-button>
60
       </div>
61
       </div>
61
     </div>
62
     </div>
62
     <el-table :data="list" border style="width: 100%" :row-style="{ color: '#303133' }"
63
     <el-table :data="list" border style="width: 100%" :row-style="{ color: '#303133' }"
138
         <template slot-scope="scope">
139
         <template slot-scope="scope">
139
           <el-button @click="openForm(scope.row.id)" type="primary" size="small">编辑</el-button>
140
           <el-button @click="openForm(scope.row.id)" type="primary" size="small">编辑</el-button>
140
           <el-button type="danger" size="small" @click="deleteDurg(scope.row.id,scope.$index)">删除</el-button>
141
           <el-button type="danger" size="small" @click="deleteDurg(scope.row.id,scope.$index)">删除</el-button>
141
-        <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)">
142
+
143
+        <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028" >
142
           <span v-if="scope.row.is_mark == 0">备案</span>
144
           <span v-if="scope.row.is_mark == 0">备案</span>
143
           <span v-if="scope.row.is_mark == 1">撤消</span>
145
           <span v-if="scope.row.is_mark == 1">撤消</span>
144
         </el-button>
146
         </el-button>
147
+
148
+
149
+          <el-button type="primary" size="small" icon="el-icon-refresh-left" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028">
150
+            <span v-if="scope.row.is_mark == 0 || scope.row.is_mark == 2"  @click="putOnRecord(scope.row.id)" >目录对照</span>
151
+            <span v-if="scope.row.is_mark == 1"  @click="putOnUnRecord(scope.row.id)" >撤消对照</span>
152
+          </el-button>
145
         </template>
153
         </template>
146
       </el-table-column>
154
       </el-table-column>
147
     </el-table>
155
     </el-table>
333
       }
341
       }
334
     },
342
     },
335
     methods: {
343
     methods: {
344
+      GDYBBatchPutOnRecord(){
345
+        var that = this
346
+        var ids = [];
347
+        var idMap = {};
348
+        for (const index in this.selectDrug) {
349
+          ids.push(this.selectDrug[index].id);
350
+          idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
351
+        }
352
+        let params = {
353
+          ids:ids.join(','),
354
+          record_type: 1,
355
+          admin_user_id:this.$store.getters.xt_user.user.id
356
+        }
357
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
358
+          if (response.data.state == 0) {
359
+            that.$message.error(response.data.data.msg)
360
+            return false
361
+          } else {
362
+            if(response.data.data.failed_code == -10){
363
+              that.$message.error(response.data.data.msg)
364
+            }else{
365
+
366
+
367
+            }
368
+          }
369
+        }).catch(function(error) {
370
+        })
371
+
372
+      },
336
       handleSizeChange(val) {
373
       handleSizeChange(val) {
337
         this.limit = val
374
         this.limit = val
338
         this.getList()
375
         this.getList()
628
      getDataConfig(module, filed_name){
665
      getDataConfig(module, filed_name){
629
         return getDataConfig(module, filed_name)
666
         return getDataConfig(module, filed_name)
630
       },
667
       },
668
+      putOnUnRecord(id){
669
+        var that = this
670
+        let params = {
671
+          ids:id.toString(),
672
+          record_type: 1,
673
+          admin_user_id:this.$store.getters.xt_user.user.id
674
+        }
675
+        axios.get('http://127.0.0.1:9532/api/uncheckcode/get',{params:params}).then(function(response) {
676
+          if (response.data.state == 0) {
677
+            that.$message.error(response.data.data.msg)
678
+            return false
679
+          } else {
680
+            if(response.data.data.failed_code == -10){
681
+              that.$message.error(response.data.data.msg)
682
+            }else{
683
+              // for (let i = 0; i < that.tableData.length; i++) {
684
+              //   if (that.tableData[i].id == that.currentObject.id) {
685
+              //     that.tableData[i].record.is_cancel == 1
686
+              //   }
687
+              // }
688
+            }
689
+
690
+          }
691
+        }).catch(function(error) {
692
+        })
693
+      },
694
+      putOnRecord(id){
695
+        var that = this
696
+
697
+        let params = {
698
+          ids:id.toString(),
699
+          record_type: 1,
700
+          admin_user_id:this.$store.getters.xt_user.user.id
701
+        }
702
+
703
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
704
+          if (response.data.state == 0) {
705
+            that.$message.error(response.data.data.msg)
706
+            return false
707
+          } else {
708
+            if(response.data.data.failed_code == -10){
709
+              that.$message.error(response.data.data.msg)
710
+            }else{
711
+
712
+
713
+            }
714
+
715
+
716
+
717
+          }
718
+        }).catch(function(error) {
719
+        })
720
+      },
631
       // toRecord(){
721
       // toRecord(){
632
       //    var that = this
722
       //    var that = this
633
       //    axios.get('http://127.0.0.1:9532/sz/api/drug/get').then(function(response) {
723
       //    axios.get('http://127.0.0.1:9532/sz/api/drug/get').then(function(response) {
663
                   that.$message.error(response.data.data.msg)
753
                   that.$message.error(response.data.data.msg)
664
                   that.getList()
754
                   that.getList()
665
                }
755
                }
666
-              
756
+
667
              }
757
              }
668
            }).catch(function(error) {
758
            }).catch(function(error) {
669
         })
759
         })
675
           return false;
765
           return false;
676
         } else {
766
         } else {
677
           this.dealer = response.data.data.dealer;
767
           this.dealer = response.data.data.dealer;
678
-  
768
+
679
         }
769
         }
680
        });
770
        });
681
       },
771
       },
709
           type: "warning"
799
           type: "warning"
710
         }
800
         }
711
       ).then(() => {
801
       ).then(() => {
712
-        var ids = [];
802
+               var ids = [];
713
         var idMap = {};
803
         var idMap = {};
714
         for (const index in this.selectDrug) {
804
         for (const index in this.selectDrug) {
715
           ids.push(this.selectDrug[index].id);
805
           ids.push(this.selectDrug[index].id);
725
         var that = this
815
         var that = this
726
         axios.get('http://127.0.0.1:9532/sz/api/drug/get',{ params: params }).then(function(response) {
816
         axios.get('http://127.0.0.1:9532/sz/api/drug/get',{ params: params }).then(function(response) {
727
          if (response.data.state == 0) {
817
          if (response.data.state == 0) {
728
-              
818
+
729
                that.$message.error(response.data.data.msg)
819
                that.$message.error(response.data.data.msg)
730
                return false
820
                return false
731
             } else {
821
             } else {

+ 101 - 12
src/xt_pages/data/components/project.vue Целия файл

34
             </div>
34
             </div>
35
             <div>
35
             <div>
36
              <el-button type="primary" @click="openForm(0)">新增</el-button>
36
              <el-button type="primary" @click="openForm(0)">新增</el-button>
37
-             <el-button type="primary" @click="BatchDelete()">批量备案</el-button>
37
+             <el-button type="primary" @click="BatchDelete()" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">批量备案</el-button>
38
+                <el-button type="primary" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028" @click="GDYBBatchPutOnRecord">批量备案</el-button>
39
+
38
             </div>
40
             </div>
39
         </div>
41
         </div>
40
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}"  @selection-change="handleSelectionChange">
42
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}"  @selection-change="handleSelectionChange">
42
               align="center"
44
               align="center"
43
               type="selection"
45
               type="selection"
44
               width="55">
46
               width="55">
45
-            </el-table-column>  
47
+            </el-table-column>
46
             <el-table-column prop="date" label="序号" width="80" align="center">
48
             <el-table-column prop="date" label="序号" width="80" align="center">
47
                  <template  slot-scope="scope">
49
                  <template  slot-scope="scope">
48
                       {{scope.$index+1}}
50
                       {{scope.$index+1}}
89
                 <template slot-scope="scope">
91
                 <template slot-scope="scope">
90
                     <el-button @click="editHisProject(scope.row.id)" type="primary" size="small">编辑</el-button>
92
                     <el-button @click="editHisProject(scope.row.id)" type="primary" size="small">编辑</el-button>
91
                     <el-button type="danger" size="small" @click="deleteProject(scope.row.id,scope.$index)">删除</el-button>
93
                     <el-button type="danger" size="small" @click="deleteProject(scope.row.id,scope.$index)">删除</el-button>
92
-                    <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)">
94
+                    <el-button type="primary" size="small" icon="el-icon-refresh-left" @click="toReturn(scope.row.id,scope.row.is_mark)" v-if="$store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10028">
93
                       <span v-if="scope.row.is_mark ==0">备案</span>
95
                       <span v-if="scope.row.is_mark ==0">备案</span>
94
                       <span v-if="scope.row.is_mark ==1">撤销</span>
96
                       <span v-if="scope.row.is_mark ==1">撤销</span>
95
                     </el-button>
97
                     </el-button>
98
+
99
+                    <el-button type="primary" size="small" icon="el-icon-refresh-left" v-if="$store.getters.xt_user.org_id != 9504 && $store.getters.xt_user.org_id != 10028">
100
+                        <span v-if="scope.row.is_mark == 0 || scope.row.is_mark == 2"  @click="putOnRecord(scope.row.id)" >目录对照</span>
101
+                        <span v-if="scope.row.is_mark == 1"  @click="putOnUnRecord(scope.row.id)" >撤消对照</span>
102
+                    </el-button>
96
                 </template>
103
                 </template>
97
             </el-table-column>
104
             </el-table-column>
98
         </el-table>
105
         </el-table>
164
         }
171
         }
165
     },
172
     },
166
     methods:{
173
     methods:{
167
-        changeStart(){
174
+      putOnUnRecord(id){
175
+        var that = this
176
+        let params = {
177
+          ids:id.toString(),
178
+          record_type: 3,
179
+          admin_user_id:this.$store.getters.xt_user.user.id
180
+        }
181
+        axios.get('http://127.0.0.1:9532/api/uncheckcode/get',{params:params}).then(function(response) {
182
+          if (response.data.state == 0) {
183
+            that.$message.error(response.data.data.msg)
184
+            return false
185
+          } else {
186
+            if(response.data.data.failed_code == -10){
187
+              that.$message.error(response.data.data.msg)
188
+            }else{
189
+              // for (let i = 0; i < that.tableData.length; i++) {
190
+              //   if (that.tableData[i].id == that.currentObject.id) {
191
+              //     that.tableData[i].record.is_cancel == 1
192
+              //   }
193
+              // }
194
+            }
195
+
196
+          }
197
+        }).catch(function(error) {
198
+        })
199
+      },
200
+      putOnRecord(id){
201
+        var that = this
202
+
203
+        let params = {
204
+          ids:id.toString(),
205
+          record_type: 3,
206
+          admin_user_id:this.$store.getters.xt_user.user.id
207
+        }
208
+
209
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
210
+          if (response.data.state == 0) {
211
+            that.$message.error(response.data.data.msg)
212
+            return false
213
+          } else {
214
+            if(response.data.data.failed_code == -10){
215
+              that.$message.error(response.data.data.msg)
216
+            }else{
217
+
218
+
219
+            }
220
+
221
+
222
+
223
+          }
224
+        }).catch(function(error) {
225
+        })
226
+      },
227
+      GDYBBatchPutOnRecord(){
228
+        var that = this
229
+        var ids = [];
230
+        var idMap = {};
231
+        for (const index in this.selectDrug) {
232
+          ids.push(this.selectDrug[index].id);
233
+          idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
234
+        }
235
+        let params = {
236
+          ids:ids.join(','),
237
+          record_type: 3,
238
+          admin_user_id:this.$store.getters.xt_user.user.id
239
+        }
240
+        axios.get('http://127.0.0.1:9532/api/checkcode/get',{params:params}).then(function(response) {
241
+          if (response.data.state == 0) {
242
+            that.$message.error(response.data.data.msg)
243
+            return false
244
+          } else {
245
+            if(response.data.data.failed_code == -10){
246
+              that.$message.error(response.data.data.msg)
247
+            }else{
248
+
249
+
250
+            }
251
+          }
252
+        }).catch(function(error) {
253
+        })
254
+      },
255
+
256
+      changeStart(){
168
          this.getlist()
257
          this.getlist()
169
         },
258
         },
170
         handleSizeChange(val) {
259
         handleSizeChange(val) {
176
             this.getlist()
265
             this.getlist()
177
         },
266
         },
178
         searchAction(){
267
         searchAction(){
179
-           this.getlist()   
268
+           this.getlist()
180
         },
269
         },
181
         clickSelfPayment(){
270
         clickSelfPayment(){
182
             this.$refs.selfPayment.show();
271
             this.$refs.selfPayment.show();
209
           }
298
           }
210
           return name
299
           return name
211
         },
300
         },
212
-      
301
+
213
         getlist(){
302
         getlist(){
214
             var params = {
303
             var params = {
215
                keyword:this.search_input,
304
                keyword:this.search_input,
229
                console.log("total",total)
318
                console.log("total",total)
230
                this.total = total
319
                this.total = total
231
              }
320
              }
232
-          })  
321
+          })
233
         },
322
         },
234
         deleteProject(id,index){
323
         deleteProject(id,index){
235
             this.$confirm("确认删除此项目吗?", "删除", {
324
             this.$confirm("确认删除此项目吗?", "删除", {
275
              'admin_user_id':this.$store.getters.xt_user.user.id,
364
              'admin_user_id':this.$store.getters.xt_user.user.id,
276
           }
365
           }
277
           console.log("params22222222",params)
366
           console.log("params22222222",params)
278
-         
367
+
279
          axios.get('http://127.0.0.1:9532/sz/api/revocation/get',{params:params}).then(function(response) {
368
          axios.get('http://127.0.0.1:9532/sz/api/revocation/get',{params:params}).then(function(response) {
280
           if (response.data.state == 0) {
369
           if (response.data.state == 0) {
281
                that.$message.error(response.data.data.msg)
370
                that.$message.error(response.data.data.msg)
295
       },
384
       },
296
       handleSelectionChange(val) {
385
       handleSelectionChange(val) {
297
         this.selectDrug = val;
386
         this.selectDrug = val;
298
-      }, 
387
+      },
299
     changeRecord(){
388
     changeRecord(){
300
       this.getlist()
389
       this.getlist()
301
     },
390
     },
302
-      
391
+
303
     BatchDelete() {
392
     BatchDelete() {
304
       if (this.selectDrug.length == 0) {
393
       if (this.selectDrug.length == 0) {
305
         this.$message.error("请选择要备案的信息");
394
         this.$message.error("请选择要备案的信息");
321
           ids.push(this.selectDrug[index].id);
410
           ids.push(this.selectDrug[index].id);
322
           idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
411
           idMap[this.selectDrug[index].id] = this.selectDrug[index].id;
323
         }
412
         }
324
-       
413
+
325
         var idss = ids.join(',')
414
         var idss = ids.join(',')
326
         let params = {
415
         let params = {
327
           ids:idss,
416
           ids:idss,
365
     created(){
454
     created(){
366
       this.getlist()
455
       this.getlist()
367
       this.getDartmentList()
456
       this.getDartmentList()
368
-     
457
+
369
     }
458
     }
370
 }
459
 }
371
 </script>
460
 </script>

+ 18 - 7
src/xt_pages/dialysis/batch_print/batch_print_order_twentyEight.vue Целия файл

153
                         <tbody>
153
                         <tbody>
154
                         <tr>
154
                         <tr>
155
                             <td width="100">导管穿刺口:</td>
155
                             <td width="100">导管穿刺口:</td>
156
-                            <td width="280">
156
+                            <td width="380">
157
                             <div style="display:flex;justify-content:space-between;">
157
                             <div style="display:flex;justify-content:space-between;">
158
+                                <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
159
+                                &nbsp;
158
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
160
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
159
                                 &nbsp;
161
                                 &nbsp;
160
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
162
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
164
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
166
                                 <label-box :isChecked="record.assessment_before_dislysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
165
                             </div>
167
                             </div>
166
                             </td>
168
                             </td>
167
-                            <td width="40"></td>
169
+                            <td width=""></td>
168
                             
170
                             
169
-                            <td width="50">体位:</td>
170
-                            <td style="text-align:left;">
171
-                              <label-box v-for="(item, index) in posture_arr" :key="index" :isChecked="record.receive_assessment.posture == item.id ? true : false" :showValue="item.name"></label-box>
172
-                            </td>
173
                         </tr>
171
                         </tr>
174
                         </tbody>
172
                         </tbody>
175
                         </table>
173
                         </table>
174
+                        <table class="table-box">
175
+                          <tbody>
176
+                            <tr>
177
+                              <td width="50">体位:</td>
178
+                              <td style="text-align:left;">
179
+                                <label-box style="margin-right:10px;" v-for="(item, index) in posture_arr" :key="index" :isChecked="record.receive_assessment.posture == item.id ? true : false" :showValue="item.name"></label-box>
180
+                              </td>
181
+                              <td></td>
182
+                            </tr>
183
+                          </tbody>
184
+                        </table>
185
+                          
176
 
186
 
177
                         <table class="table-box">
187
                         <table class="table-box">
178
                         <tbody>
188
                         <tbody>
214
                         <tbody>
224
                         <tbody>
215
                         <tr>
225
                         <tr>
216
                             <td width="50">皮肤:</td>
226
                             <td width="50">皮肤:</td>
217
-                            <td width="660">
227
+                            <td width="760">
218
                             <div>
228
                             <div>
219
                                 <label-box showValue="完整" :isChecked="record.assessment_before_dislysis.skin.indexOf('完整')>-1 ? true : false"></label-box>
229
                                 <label-box showValue="完整" :isChecked="record.assessment_before_dislysis.skin.indexOf('完整')>-1 ? true : false"></label-box>
220
                                 <label-box showValue="干燥" :isChecked="record.assessment_before_dislysis.skin.indexOf('干燥')>-1? true : false"></label-box>
230
                                 <label-box showValue="干燥" :isChecked="record.assessment_before_dislysis.skin.indexOf('干燥')>-1? true : false"></label-box>
225
                                 <label-box showValue="出血点" :isChecked="record.assessment_before_dislysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
235
                                 <label-box showValue="出血点" :isChecked="record.assessment_before_dislysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
226
                                 <label-box showValue="压疮" :isChecked="record.assessment_before_dislysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
236
                                 <label-box showValue="压疮" :isChecked="record.assessment_before_dislysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
227
                                 <label-box showValue="皮下淤血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
237
                                 <label-box showValue="皮下淤血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
238
+                                <label-box showValue="皮下出血" :isChecked="record.assessment_before_dislysis.skin.indexOf('皮下出血')>-1 ? true : false"></label-box>
228
                             </div>
239
                             </div>
229
                             </td>
240
                             </td>
230
                            
241
                            

+ 11 - 7
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyEight.vue Целия файл

158
               <tbody>
158
               <tbody>
159
               <tr>
159
               <tr>
160
                 <td width="100">导管穿刺口:</td>
160
                 <td width="100">导管穿刺口:</td>
161
-                <td width="280">
161
+                <td width="330">
162
                   <div style="display:flex;justify-content:space-between;">
162
                   <div style="display:flex;justify-content:space-between;">
163
+                    <label-box :isChecked="predialysis.catheter.indexOf('正常') > -1 ? true : false" showValue="正常"></label-box>
163
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
164
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-干洁') > -1 ? true : false" showValue="干洁"></label-box>
164
-                    &nbsp;
165
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
165
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-红肿') > -1 ? true : false" showValue="红肿"></label-box>
166
-                    &nbsp;
167
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-分泌物') > -1 ? true : false" showValue="分泌物"></label-box>
166
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-分泌物') > -1 ? true : false" showValue="分泌物"></label-box>
168
-                    &nbsp;
169
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
167
                     <label-box :isChecked="predialysis.catheter.indexOf('穿刺口-渗血') > -1 ? true : false" showValue="渗血"></label-box>
170
                   </div>
168
                   </div>
171
                 </td>
169
                 </td>
172
-                <td width="40"></td>
173
                 <!-- <td width="65">导管打折</td>
170
                 <!-- <td width="65">导管打折</td>
174
                 <td width="10">(</td>
171
                 <td width="10">(</td>
175
                 <td width="80">
172
                 <td width="80">
193
                 <td></td> -->
190
                 <td></td> -->
194
 
191
 
195
                 <!-- 体位 -->
192
                 <!-- 体位 -->
193
+                <td></td>
194
+              </tr>
195
+              </tbody>
196
+            </table>
197
+            <table class="table-box">
198
+              <tbody>
199
+              <tr>
196
                 <td width="50">体位:</td>
200
                 <td width="50">体位:</td>
197
                 <td width="440">
201
                 <td width="440">
198
                   <div style="display:flex;justify-content:space-between;">
202
                   <div style="display:flex;justify-content:space-between;">
219
               </tr>
223
               </tr>
220
               </tbody>
224
               </tbody>
221
             </table>
225
             </table>
222
-
223
             <table class="table-box">
226
             <table class="table-box">
224
               <tbody>
227
               <tbody>
225
               <tr>
228
               <tr>
256
               <tbody>
259
               <tbody>
257
                 <tr>
260
                 <tr>
258
                   <td width="50">皮肤:</td>
261
                   <td width="50">皮肤:</td>
259
-                  <td width="700">
262
+                  <td width="780">
260
                     <div style="display:flex;justify-content:space-between;">
263
                     <div style="display:flex;justify-content:space-between;">
261
                       <!-- <label-box showValue="完整" :isChecked="predialysis.skin == 1 ? true : false"></label-box>
264
                       <!-- <label-box showValue="完整" :isChecked="predialysis.skin == 1 ? true : false"></label-box>
262
                       <label-box showValue="干燥" :isChecked="predialysis.skin == 2 ? true : false"></label-box>
265
                       <label-box showValue="干燥" :isChecked="predialysis.skin == 2 ? true : false"></label-box>
276
                       <label-box showValue="出血点" :isChecked="predialysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
279
                       <label-box showValue="出血点" :isChecked="predialysis.skin.indexOf('出血点')>-1 ? true : false"></label-box>
277
                       <label-box showValue="压疮" :isChecked="predialysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
280
                       <label-box showValue="压疮" :isChecked="predialysis.skin.indexOf('压疮')>-1 ? true : false"></label-box>
278
                       <label-box showValue="皮下淤血" :isChecked="predialysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
281
                       <label-box showValue="皮下淤血" :isChecked="predialysis.skin.indexOf('皮下淤血')>-1 ? true : false"></label-box>
282
+                      <label-box showValue="皮下出血" :isChecked="predialysis.skin.indexOf('皮下出血')>-1 ? true : false"></label-box>
279
                       &ensp;
283
                       &ensp;
280
                     </div>
284
                     </div>
281
                   </td>
285
                   </td>

+ 20 - 5
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Целия файл

649
 
649
 
650
           var that = this
650
           var that = this
651
           axios.get('http://127.0.0.1:9532/api/upload/get', {
651
           axios.get('http://127.0.0.1:9532/api/upload/get', {
652
-            params: form
652
+            params: form,
653
+            headers: {
654
+              'Permission': 5
655
+            }
653
           })
656
           })
654
             .then(function(response) {
657
             .then(function(response) {
655
               if (response.data.state == 0) {
658
               if (response.data.state == 0) {
710
         var that = this
713
         var that = this
711
         if ( this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
714
         if ( this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
712
           axios.get('http://127.0.0.1:9532/sz/api/register/get', {
715
           axios.get('http://127.0.0.1:9532/sz/api/register/get', {
713
-            params: forms
716
+            params: forms,
717
+            headers: {
718
+              'Permission': 5
719
+            }
714
           })
720
           })
715
             .then(function(response) {
721
             .then(function(response) {
716
               if (response.data.state == 0) {
722
               if (response.data.state == 0) {
792
         if ( this.$store.getters.xt_user.org_id == 10028 ||  this.$store.getters.xt_user.org_id == 9504 ) {
798
         if ( this.$store.getters.xt_user.org_id == 10028 ||  this.$store.getters.xt_user.org_id == 9504 ) {
793
          
799
          
794
           axios.get('http://127.0.0.1:9532/sz/api/register/get', {
800
           axios.get('http://127.0.0.1:9532/sz/api/register/get', {
795
-            params: forms
801
+            params: forms,
802
+            headers: {
803
+              'Permission': 5
804
+            }
796
           })
805
           })
797
             .then(function(response) {
806
             .then(function(response) {
798
               if (response.data.state == 0) {
807
               if (response.data.state == 0) {
862
         } else if (this.$store.getters.xt_user.org_id == 9919  ||  this.$store.getters.xt_user.org_id == 9671   ) {
871
         } else if (this.$store.getters.xt_user.org_id == 9919  ||  this.$store.getters.xt_user.org_id == 9671   ) {
863
 
872
 
864
           axios.get('http://127.0.0.1:9532/api/register/get', {
873
           axios.get('http://127.0.0.1:9532/api/register/get', {
865
-            params: forms
874
+            params: forms,
875
+            headers: {
876
+              'Permission': 5
877
+            }
866
           })
878
           })
867
             .then(function(response) {
879
             .then(function(response) {
868
               if (response.data.state == 0) {
880
               if (response.data.state == 0) {
2515
               'admin_user_id': this.$store.getters.xt_user.user.id
2527
               'admin_user_id': this.$store.getters.xt_user.user.id
2516
             }
2528
             }
2517
             axios.get('http://127.0.0.1:9532/sz/api/upload/get', {
2529
             axios.get('http://127.0.0.1:9532/sz/api/upload/get', {
2518
-              params: params
2530
+              params: params,
2531
+              headers: {
2532
+                'Permission': 5,
2533
+              }
2519
             })
2534
             })
2520
               .then(function(response) {
2535
               .then(function(response) {
2521
                 if (response.data.state == 0) {
2536
                 if (response.data.state == 0) {

+ 409 - 0
src/xt_pages/outpatientRecord/outpatientRecord.vue Целия файл

1
+<template>
2
+    <div class="main-contain incomeStatistics">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+                <div>
9
+                    <el-input size="small" style="width:150px;" v-model="keywords"
10
+                              class="filter-item"/>
11
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
+                               @click="searchAction">
13
+                        搜索
14
+                    </el-button>
15
+                </div>
16
+                <el-button size="small" type="primary" @click="dialogFormVisible = true">医保对账</el-button>
17
+            </div>
18
+            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
19
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
20
+                      v-loading="patientLoading"
21
+                      highlight-current-row>
22
+                <el-table-column
23
+                        prop="date"
24
+                        label="序号"
25
+                        width="60"
26
+                        align="center"
27
+                        type="index"
28
+                >
29
+                </el-table-column>
30
+                <el-table-column align="center" prop="name" label="流水号">
31
+                    <template slot-scope="scope">{{scope.row.trt_dcla_detl_sn}}</template>
32
+                </el-table-column>
33
+                <el-table-column align="center" prop="name" label="时间">
34
+                    <template slot-scope="scope" v-if="scope.row.ctime > 0">{{getTimes(scope.row.ctime)}}</template>
35
+                </el-table-column>
36
+                <el-table-column align="center" prop="name" label="姓名">
37
+                    <template slot-scope="scope">{{scope.row.name}}</template>
38
+                </el-table-column>
39
+                <el-table-column align="center" prop="name" label="人员编号">
40
+                    <template slot-scope="scope">
41
+                        <div>{{scope.row.psn_no}}</div>
42
+                    </template>
43
+                </el-table-column>
44
+                <el-table-column align="center" prop="name" label="联系电话">
45
+                    <template slot-scope="scope">{{scope.row.phone}}</template>
46
+                </el-table-column>
47
+                <el-table-column align="center" prop="name" label="地址">
48
+                    <template slot-scope="scope">
49
+                        {{scope.row.home_address}}
50
+                    </template>
51
+                </el-table-column>
52
+                <el-table-column align="center" prop="name" width="160" label="鉴定定点医药机构">
53
+                    <template slot-scope="scope">
54
+                        {{$store.getters.xt_user.org.org_name}}
55
+                    </template>
56
+                </el-table-column>
57
+                <el-table-column align="center" prop="name" label="医生">
58
+                    <template slot-scope="scope">
59
+                        <el-select v-model="scope.row.record.doctor_id" placeholder="请选择"
60
+                                   @change="changeDoctor(scope.row,scope.row.record.doctor_id)">
61
+                            <el-option
62
+                                    v-for="(item,index) in doctorList"
63
+                                    :key="index"
64
+                                    :label="item.user_name"
65
+                                    :value="item.admin_user_id">
66
+                            </el-option>
67
+                        </el-select>
68
+                    </template>
69
+                </el-table-column>
70
+                <el-table-column align="center" prop="name" label="科室">
71
+                    <template slot-scope="scope">
72
+                        <el-select style="margin-right:5px;width:140px;" v-model="scope.row.record.department_id"
73
+                                   placeholder="请选择">
74
+                            <el-option
75
+                                    v-for="(item,index) in department"
76
+                                    :key="index"
77
+                                    :label="item.name"
78
+                                    :value="item.id">
79
+                            </el-option>
80
+                        </el-select>
81
+                    </template>
82
+                </el-table-column>
83
+
84
+
85
+                <el-table-column align="center" prop="name" label="险种类型">
86
+                    <template slot-scope="scope">
87
+                        <div v-if="scope.row.insutype == '310'">职工基本医疗保险</div>
88
+                        <div v-if="scope.row.insutype == '320'">公务员医疗补助</div>
89
+                        <div v-if="scope.row.insutype == '330'">大额医疗费用补助</div>
90
+                        <div v-if="scope.row.insutype == '340'">离休人员医疗保障</div>
91
+                        <div v-if="scope.row.insutype == '390'">城乡居民基本医疗保险</div>
92
+                        <div v-if="scope.row.insutype == '392'">城乡居民大病医疗保险</div>
93
+                        <div v-if="scope.row.insutype == '510'">生育保险</div>
94
+                    </template>
95
+                </el-table-column>
96
+
97
+                <el-table-column align="center" prop="name" label="疾病类型">
98
+                    <template slot-scope="scope">
99
+                        <el-select style="width:100%;" v-model="scope.row.sick_type" placeholder="请选择">
100
+                            <el-option
101
+                                    v-for="(item,index) in sick"
102
+                                    :key="index"
103
+                                    :label="item.class_name"
104
+                                    :value="item.id">
105
+                            </el-option>
106
+                        </el-select>
107
+                    </template>
108
+                </el-table-column>
109
+
110
+                <el-table-column prop="date" label="操作" width="80" align="center" fixed="right">
111
+                    <template slot-scope="scope">
112
+                        <el-button type="primary" size="small" icon="el-icon-refresh-left">
113
+                            <span v-if="scope.row.record.is_cancel == 0 ||scope.row.record.is_cancel == 2" @click="putOnRecord(1,scope.row)">备案</span>
114
+                            <span v-if="scope.row.record.is_cancel == 1" @click="putOnRecord(2,scope.row)">撤消</span>
115
+                        </el-button>
116
+                    </template>
117
+                </el-table-column>
118
+            </el-table>
119
+
120
+            <el-dialog title="备案" :visible.sync="dialogFormVisible">
121
+                <el-form :model="form" label-width="100px">
122
+                    <el-form-item label="险种类型" :label-width="formLabelWidth">
123
+                        <el-select v-model="insutype" placeholder="请选择" style="width: 200px;">
124
+                            <el-option
125
+                                    v-for="item in insutypes"
126
+                                    :key="item.value"
127
+                                    :label="item.label"
128
+                                    :value="item.value">
129
+                            </el-option>
130
+                        </el-select>
131
+                    </el-form-item>
132
+                </el-form>
133
+                <div slot="footer" class="dialog-footer">
134
+                    <el-button @click="dialogFormVisible = false">取 消</el-button>
135
+                    <el-button type="primary" @click="confirm">确 定</el-button>
136
+                </div>
137
+            </el-dialog>
138
+        </div>
139
+
140
+        <el-pagination
141
+                @size-change="handleSizeChange"
142
+                @current-change="handleCurrentChange"
143
+                :page-sizes="[10, 50, 100]"
144
+                :page-size="10"
145
+                background
146
+                style="margin-top:20px;float: right"
147
+                layout="total, sizes, prev, pager, next, jumper"
148
+                :total="total"
149
+
150
+        >
151
+        </el-pagination>
152
+    </div>
153
+</template>
154
+
155
+
156
+<script>
157
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
158
+  import { getAllDoctorList, getInitData, getRecordList } from '@/api/his/his'
159
+  import { uParseTime } from '@/utils/tools'
160
+  import { fetchAllAdminUsers } from '@/api/doctor'
161
+  import axios from 'axios'
162
+
163
+  export default {
164
+    components: {
165
+      BreadCrumb
166
+    },
167
+    data() {
168
+      return {
169
+        currentObject: null,
170
+        crumbs: [
171
+          { path: false, name: '门诊收费' },
172
+          { path: false, name: '医保费用对照' }
173
+        ],
174
+        tableData: [],
175
+        doctorList: [],
176
+        department: [],
177
+        patientLoading: false,
178
+        sick: [],
179
+        limit: 10,
180
+        page: 1,
181
+        dialogFormVisible: false,
182
+        total: 0,
183
+        adminUserOptions: [],
184
+        start_time: '',
185
+        end_time: '',
186
+        insutype: '',
187
+        check_type: '',
188
+        keywords: '',
189
+        options: [
190
+          {
191
+            value: 1,
192
+            label: '总账'
193
+          }, {
194
+            value: 2,
195
+            label: '明细'
196
+          }
197
+        ],
198
+
199
+        insutypes: [
200
+          {
201
+            value: '310',
202
+            label: '职工基本医疗保险'
203
+          }, {
204
+            value: '320',
205
+            label: '公务员医疗补助'
206
+          }, {
207
+            value: '330',
208
+            label: '大额医疗费用补助'
209
+          }, {
210
+            value: '340',
211
+            label: '离休人员医疗保障'
212
+          },
213
+          {
214
+            value: '390',
215
+            label: '城乡居民基本医疗保险'
216
+          }, {
217
+            value: '392',
218
+            label: '城乡居民大病医疗保险'
219
+          }, {
220
+            value: '510',
221
+            label: '生育保险'
222
+          }
223
+
224
+        ]
225
+
226
+      }
227
+    },
228
+    methods: {
229
+      putOnRecord(type, row) {
230
+        if (type == 1) {
231
+          this.dialogFormVisible = true
232
+          this.currentObject = row
233
+        } else {
234
+          this.$confirm('是否撤销备案', '撤销备案', {
235
+            confirmButtonText: '确 定',
236
+            cancelButtonText: '取 消',
237
+            type: 'warning'
238
+          }).then(() => {
239
+            let params = {
240
+              'id': row.id,
241
+              'admin_user_id': this.$store.getters.xt_user.user.id
242
+
243
+            }
244
+            var that = this
245
+            axios.get('http://127.0.0.1:9532/api/psn/ncds/unputonrecord', {
246
+              params: params
247
+            })
248
+              .then(function(response) {
249
+                if (response.data.state == 0) {
250
+                  that.$message.error(response.data.msg)
251
+                  return false
252
+                } else {
253
+
254
+                  if(response.data.data.failed_code == -10){
255
+                    that.$message.error(response.data.data.msg)
256
+                  }else{
257
+                    row.record.is_cancel = 2
258
+                    that.$message({ message: '撤销成功', type: 'success' })
259
+                  }
260
+                }
261
+              })
262
+              .catch(function(error) {
263
+
264
+              })
265
+
266
+          }).catch(() => {
267
+
268
+          })
269
+
270
+        }
271
+
272
+      },
273
+      changeDoctor(row, id) {
274
+        for (let i = 0; i < this.doctorList.length; i++) {
275
+          if (id == this.doctorList[i].admin_user_id) {
276
+            if (this.doctorList[i].department_id == 0) {
277
+              row.record.department_id = ''
278
+            } else {
279
+              row.record.department_id = this.doctorList[i].department_id
280
+            }
281
+          }
282
+        }
283
+      },
284
+      getInitData() {
285
+        getInitData().then(response => {
286
+          if (response.data.state == 0) {
287
+            this.$message.error(response.data.msg)
288
+            return false
289
+          } else {
290
+            this.doctorList = response.data.data.doctors
291
+            this.department = response.data.data.department
292
+            this.sick = response.data.data.sick
293
+
294
+          }
295
+        })
296
+
297
+      },
298
+      getSickName(id) {
299
+
300
+      },
301
+      confirm() {
302
+        let params = {
303
+          record_type: 0,
304
+          patient_id: this.currentObject.id,
305
+          admin_user_id: this.$store.getters.xt_user.user.id
306
+        }
307
+
308
+        var that = this
309
+        axios.get('http://127.0.0.1:9532/api/psn/ncds/putonrecord', {
310
+          params: params
311
+        })
312
+          .then(function(response) {
313
+            if (response.data.state == 0) {
314
+              that.$message.error(response.data.msg)
315
+              return false
316
+            } else {
317
+              if(response.data.data.failed_code == -10){
318
+                that.$message.error(response.data.data.msg)
319
+              }else{
320
+                for (let i = 0; i < that.tableData.length; i++) {
321
+                  if (that.tableData[i].id == that.currentObject.id) {
322
+                    that.tableData[i].record.is_cancel == 1
323
+                  }
324
+                }
325
+              }
326
+
327
+            }
328
+          })
329
+          .catch(function(error) {
330
+
331
+          })
332
+      },
333
+      getInsutype(type) {
334
+
335
+      },
336
+      fetchAllAdminUsers() {
337
+        fetchAllAdminUsers().then(response => {
338
+          if (response.data.state == 1) {
339
+            this.adminUserOptions = response.data.data.users
340
+
341
+          }
342
+        })
343
+      },
344
+      getName(admin_user_id) {
345
+        for (let i = 0; i < this.adminUserOptions.length; i++) {
346
+          if (this.adminUserOptions[i].id == admin_user_id) {
347
+            return this.adminUserOptions[i].name
348
+          }
349
+        }
350
+
351
+      },
352
+      getTimes(time) {
353
+        return uParseTime(time, '{y}-{m}-{d}')
354
+      },
355
+      getList() {
356
+        let params = {
357
+          'page': this.page,
358
+          'limit': this.limit,
359
+          'keywords': this.keywords
360
+        }
361
+        this.tableData = []
362
+        this.patientLoading = true
363
+        getRecordList(params).then(response => {
364
+          if (response.data.state == 0) {
365
+            this.patientLoading = false
366
+
367
+            this.$message.error(response.data.msg)
368
+            return false
369
+          } else {
370
+            this.patientLoading = false
371
+            this.tableData = response.data.data.list
372
+            this.total = response.data.data.total
373
+
374
+            for (let i = 0; i < this.tableData.length; i++) {
375
+
376
+              if (this.tableData[i].record.doctor_id == 0) {
377
+                this.tableData[i].record.doctor_id = ''
378
+
379
+              }
380
+              if (this.tableData[i].record.department_id == 0) {
381
+                this.tableData[i].record.department_id = ''
382
+              }
383
+
384
+            }
385
+
386
+          }
387
+        })
388
+
389
+      },
390
+      handleSizeChange(limit) {
391
+        this.limit = limit
392
+        this.getList()
393
+      },
394
+      handleCurrentChange(page) {
395
+        this.page = page
396
+        this.getList()
397
+
398
+      }, searchAction() {
399
+        this.getList()
400
+      }
401
+    },
402
+    created() {
403
+      this.getList()
404
+      this.getInitData()
405
+      this.fetchAllAdminUsers()
406
+
407
+    }
408
+  }
409
+</script>

+ 16 - 4
src/xt_pages/outpatientRegistration/index.vue Целия файл

941
             if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
941
             if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
942
               var that = this
942
               var that = this
943
               axios.get('http://127.0.0.1:9532/sz/api/register/get', {
943
               axios.get('http://127.0.0.1:9532/sz/api/register/get', {
944
-                params: params
944
+                params: params,
945
+                headers: {
946
+                  'Permission': 5
947
+                }
945
               })
948
               })
946
                 .then(function(response) {
949
                 .then(function(response) {
947
                   if (response.data.state == 0) {
950
                   if (response.data.state == 0) {
966
               var that = this
969
               var that = this
967
 
970
 
968
               axios.get('http://127.0.0.1:9532/api/register/get', {
971
               axios.get('http://127.0.0.1:9532/api/register/get', {
969
-                params: params
972
+                params: params,
973
+                headers: {
974
+                  'Permission': 5
975
+                }
970
               })
976
               })
971
                 .then(function(response) {
977
                 .then(function(response) {
972
                   if (response.data.state == 0) {
978
                   if (response.data.state == 0) {
1137
               var that = this
1143
               var that = this
1138
 
1144
 
1139
               axios.get('http://127.0.0.1:9532/sz/api/register/get', {
1145
               axios.get('http://127.0.0.1:9532/sz/api/register/get', {
1140
-                params: params
1146
+                params: params,
1147
+                headers: {
1148
+                  'Permission': 5
1149
+                }
1141
               })
1150
               })
1142
                 .then(function(response) {
1151
                 .then(function(response) {
1143
                   if (response.data.state == 0) {
1152
                   if (response.data.state == 0) {
1167
               var that = this
1176
               var that = this
1168
 
1177
 
1169
               axios.get('http://127.0.0.1:9532/api/register/get', {
1178
               axios.get('http://127.0.0.1:9532/api/register/get', {
1170
-                params: params
1179
+                params: params,
1180
+                headers: {
1181
+                  'Permission': 5
1182
+                }
1171
               })
1183
               })
1172
                 .then(function(response) {
1184
                 .then(function(response) {
1173
                   if (response.data.state == 0) {
1185
                   if (response.data.state == 0) {

+ 7 - 1
src/xt_pages/user/patient.vue Целия файл

4
       <el-input   style="width: 400px;" v-model="searchKey" class="filter-item" />
4
       <el-input   style="width: 400px;" v-model="searchKey" class="filter-item" />
5
       <el-button  class="filter-item" type="primary" icon="el-icon-search" @click="search" >搜索</el-button>
5
       <el-button  class="filter-item" type="primary" icon="el-icon-search" @click="search" >搜索</el-button>
6
       <!-- <el-button  class="filter-item" type="primary" style="float:right;" icon="el-icon-download" >批量导入</el-button> -->
6
       <!-- <el-button  class="filter-item" type="primary" style="float:right;" icon="el-icon-download" >批量导入</el-button> -->
7
-      <!-- <el-button  type="primary" plain style="float:right;" icon="el-icon-download" >批量导入</el-button>       -->
8
       <el-button @click="$router.push({path:'/patients/create'})" class="filter-item" style="float:right;" type="primary" icon="el-icon-edit" >新增病人</el-button>
7
       <el-button @click="$router.push({path:'/patients/create'})" class="filter-item" style="float:right;" type="primary" icon="el-icon-edit" >新增病人</el-button>
8
+
9
+
9
     </div>
10
     </div>
10
   	<!-- <div class="search-component clearfix">
11
   	<!-- <div class="search-component clearfix">
11
       <input type="text" class="searchBox" placeholder="姓名/首拼/透析号" v-model="searchVal">
12
       <input type="text" class="searchBox" placeholder="姓名/首拼/透析号" v-model="searchVal">
286
     this.reimbursement_ways = this.$store.getters.reimbursement_ways;
287
     this.reimbursement_ways = this.$store.getters.reimbursement_ways;
287
   },
288
   },
288
   methods: {
289
   methods: {
290
+    putOnRecord(){
291
+
292
+
293
+
294
+    },
289
     getCount(row){
295
     getCount(row){
290
       console.log(row)
296
       console.log(row)
291
       return row.total_dialysis + row.user_sys_before_count
297
       return row.total_dialysis + row.user_sys_before_count

+ 31 - 3
src/xt_pages/user/patients.vue Целия файл

134
         </el-button>
134
         </el-button>
135
       </div>
135
       </div>
136
 
136
 
137
+      <el-button  type="primary" plain style="float:right;" icon="el-icon-download" @click="putOnRecord(2,{})" >备案</el-button>
137
 
138
 
138
     </div>
139
     </div>
139
     <div class="app-container">
140
     <div class="app-container">
451
                 "
452
                 "
452
               ></el-button>
453
               ></el-button>
453
             </el-tooltip>
454
             </el-tooltip>
455
+
456
+            <el-tooltip
457
+                    class="item"
458
+                    effect="dark"
459
+                    content="备案"
460
+                    placement="top"
461
+            >
462
+              <el-button
463
+                      type="danger"
464
+                      icon="el-icon-tickets"
465
+                      size="small"
466
+                      @click="
467
+                  putOnRecord(1,scope.row)
468
+                "
469
+              ></el-button>
470
+            </el-tooltip>
454
           </template>
471
           </template>
455
         </el-table-column>
472
         </el-table-column>
456
       </el-table>
473
       </el-table>
506
           <!-- <el-form-item label="治疗状态(转归):" prop="lapseto_type" required>
523
           <!-- <el-form-item label="治疗状态(转归):" prop="lapseto_type" required>
507
               <el-radio v-model="lapsetoForm.lapseto_type" :label="lapsetoForm.lapseto_type">转出</el-radio>
524
               <el-radio v-model="lapsetoForm.lapseto_type" :label="lapsetoForm.lapseto_type">转出</el-radio>
508
               <el-radio v-model="lapsetoForm.lapseto_type" :label="lapsetoForm.lapseto_type">死亡</el-radio>
525
               <el-radio v-model="lapsetoForm.lapseto_type" :label="lapsetoForm.lapseto_type">死亡</el-radio>
509
-              
526
+
510
           </el-form-item> -->
527
           </el-form-item> -->
511
           <el-form-item label="转归(死亡)时间 :" prop="lapseto_time" required>
528
           <el-form-item label="转归(死亡)时间 :" prop="lapseto_time" required>
512
             <el-date-picker
529
             <el-date-picker
765
     },
782
     },
766
     created() {
783
     created() {
767
       if(sessionStorage.getItem('patientPageSize')){
784
       if(sessionStorage.getItem('patientPageSize')){
768
-        this.listQuery.limit = parseInt(sessionStorage.getItem('patientPageSize')) 
785
+        this.listQuery.limit = parseInt(sessionStorage.getItem('patientPageSize'))
769
       }
786
       }
770
       this.getList()
787
       this.getList()
771
       this.contagionList = this.$store.getters.contagions
788
       this.contagionList = this.$store.getters.contagions
781
     },
798
     },
782
 
799
 
783
     methods: {
800
     methods: {
801
+      putOnRecord:function(type,row){
802
+        if(type == 1){
803
+
804
+
805
+        }else{
806
+
807
+
808
+
809
+
810
+        }
811
+      },
784
       generateTxt: function(log) {
812
       generateTxt: function(log) {
785
         var content = ''
813
         var content = ''
786
         var errlog = log.err_logs
814
         var errlog = log.err_logs
1499
         }else {
1527
         }else {
1500
           return uParseTime(val, '{y}-{m}-{d}')
1528
           return uParseTime(val, '{y}-{m}-{d}')
1501
         }
1529
         }
1502
-       
1530
+
1503
       },
1531
       },
1504
     }
1532
     }
1505
   }
1533
   }