Kaynağa Gözat

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

XMLWAN 3 yıl önce
ebeveyn
işleme
81d4a62670

+ 6 - 6
src/router/modules/outpatientRecord.js Dosyayı Görüntüle

@@ -12,12 +12,12 @@ export default {
12 12
     isChild: true
13 13
   },
14 14
   children: [
15
-    // {
16
-    //     path: '/outpatientRecord/outpatientRecord',
17
-    //     component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
-    //     name: 'outpatientSickRecord',
19
-    //     meta: { title: 'outpatientSickRecord', noCache: true }
20
-    // },
15
+    {
16
+        path: '/outpatientRecord/outpatientRecord',
17
+        component: () => import('@/xt_pages/outpatientRecord/outpatientRecord'),
18
+        name: 'outpatientSickRecord',
19
+        meta: { title: 'outpatientSickRecord', noCache: true }
20
+    },
21 21
     {
22 22
       path: '/outpatientRecord/index',
23 23
       component: () => import('@/xt_pages/hospitalStation/index'),

+ 148 - 0
src/xt_pages/hospitalStation/summary.vue Dosyayı Görüntüle

@@ -113,6 +113,17 @@
113 113
             </el-button>
114 114
             <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
115 115
 
116
+            <el-button size="mini" type="primary" @click="refundOne(scope.row)">
117
+              撤销出院
118
+            </el-button>
119
+
120
+            <el-button size="mini" type="primary" @click="refundTwo(scope.row)">
121
+              撤销明细
122
+            </el-button>
123
+
124
+            <el-button size="mini" type="primary" @click="refundThee(scope.row)">
125
+              撤销入院
126
+            </el-button>
116 127
           </template>
117 128
         </el-table-column>
118 129
       </el-table>
@@ -236,6 +247,143 @@
236 247
       }
237 248
     },
238 249
     methods: {
250
+      refundOne(row){
251
+        var that = this;
252
+        this.$confirm('是否撤销出院', '撤销出院', {
253
+          confirmButtonText: '确 定',
254
+          cancelButtonText: '取 消',
255
+          type: 'warning'
256
+        }).then(() => {
257
+          let params = {
258
+            'id': row.his_hospital_patient.id,
259
+            'admin_user_id': this.$store.getters.xt_user.user.id,
260
+
261
+          };
262
+          axios.get('http://127.0.0.1:9532/zh/api/outhopitaluncheck/get', {
263
+            params: params
264
+          })
265
+            .then(function(response) {
266
+              if (response.data.state == 0) {
267
+                that.$message.error(response.data.msg);
268
+                return false
269
+              } else {
270
+                if (response.data.data.failed_code == -10) {
271
+                  // that.$message.error(response.data.data.msg)
272
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
273
+                    confirmButtonText: '确 定',
274
+                    type: 'warning'
275
+                  }).then(() => {
276
+
277
+                  }).catch(() => {
278
+                  })
279
+                } else {
280
+                  that.$message({ message: '撤销出院成功', type: 'success', duration: 5000 })
281
+                }
282
+
283
+              }
284
+            })
285
+            .catch(function(error) {
286
+
287
+            })
288
+
289
+        }).catch(() => {
290
+
291
+        })
292
+
293
+
294
+
295
+      },refundThee(row){
296
+
297
+        var that = this;
298
+        this.$confirm('是否撤销入院', '撤销入院', {
299
+          confirmButtonText: '确 定',
300
+          cancelButtonText: '取 消',
301
+          type: 'warning'
302
+        }).then(() => {
303
+          let params = {
304
+            'id': row.his_hospital_patient.id,
305
+            'admin_user_id': this.$store.getters.xt_user.user.id,
306
+
307
+          };
308
+          axios.get('http://127.0.0.1:9532/zh/api/inthopitaluncheck/get', {
309
+            params: params
310
+          })
311
+            .then(function(response) {
312
+              if (response.data.state == 0) {
313
+                that.$message.error(response.data.msg);
314
+                return false
315
+              } else {
316
+                if (response.data.data.failed_code == -10) {
317
+                  // that.$message.error(response.data.data.msg)
318
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
319
+                    confirmButtonText: '确 定',
320
+                    type: 'warning'
321
+                  }).then(() => {
322
+
323
+                  }).catch(() => {
324
+                  })
325
+                } else {
326
+                  that.changeRadioAndPatient(1);
327
+
328
+                  that.$message({ message: '撤销入院成功', type: 'success', duration: 5000 })
329
+                }
330
+
331
+              }
332
+            })
333
+            .catch(function(error) {
334
+
335
+            })
336
+
337
+        }).catch(() => {
338
+
339
+        })
340
+
341
+
342
+      },refundTwo(row){
343
+        var that = this;
344
+        this.$confirm('是否撤销明细', '撤销明细', {
345
+          confirmButtonText: '确 定',
346
+          cancelButtonText: '取 消',
347
+          type: 'warning'
348
+        }).then(() => {
349
+          let params = {
350
+            'order_id': row.id,
351
+            'admin_user_id': this.$store.getters.xt_user.user.id,
352
+          };
353
+          axios.get('http://127.0.0.1:9532/zh/api/refunddetail', {
354
+            params: params
355
+          })
356
+            .then(function(response) {
357
+              if (response.data.state == 0) {
358
+                that.$message.error(response.data.msg);
359
+                that.loadingtwo = false;
360
+                return false
361
+              } else {
362
+                if (response.data.data.failed_code == -10) {
363
+                  // that.$message.error(response.data.data.msg)
364
+                  that.$confirm(response.data.data.msg, '医保错误信息', {
365
+                    confirmButtonText: '确 定',
366
+                    type: 'warning'
367
+                  }).then(() => {
368
+
369
+                  }).catch(() => {
370
+                  })
371
+                } else {
372
+                  that.$message.success("撤销明细成功");
373
+
374
+                  that.changeRadioAndPatient(1);
375
+                }
376
+
377
+              }
378
+            })
379
+            .catch(function(error) {
380
+            })
381
+
382
+        }).catch(() => {
383
+        })
384
+
385
+
386
+      },
239 387
       uploadInfo(row) {
240 388
         var that = this;
241 389
         axios.get('http://127.0.0.1:9532/api/settlelist/get', {

+ 13 - 10
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Dosyayı Görüntüle

@@ -794,7 +794,7 @@
794 794
                       for (let i = 0; i < that.patientTableData.length; i++) {
795 795
                         if (this.patientTableData[i].id == this.patientInfo.id) {
796 796
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
797
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
797
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
798 798
                         }
799 799
                       }
800 800
                       that.loadingone = false;
@@ -886,7 +886,7 @@
886 886
                       for (let i = 0; i < that.patientTableData.length; i++) {
887 887
                         if (this.patientTableData[i].id == this.patientInfo.id) {
888 888
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
889
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
889
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
890 890
                         }
891 891
                       }
892 892
                       that.$message({ message: '挂号成功', type: 'success' });
@@ -966,7 +966,7 @@
966 966
                       for (let i = 0; i < that.patientTableData.length; i++) {
967 967
                         if (this.patientTableData[i].id == this.patientInfo.id) {
968 968
                           that.$refs.tab.setCurrentRow(that.patientTableData[i]);
969
-                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number)
969
+                          that.getPatientInformation(that.patientTableData[i].id, that.patientTableData[i].order.number,that.patientTableData[i].his_patient.id)
970 970
                         }
971 971
                       }
972 972
                       var his_info = response.data.data.his_info;
@@ -1016,6 +1016,7 @@
1016 1016
           'patient_id': this.patientInfo.id,
1017 1017
           'type': this.radio,
1018 1018
           'p_type':2,
1019
+          'his_patient_id':this.hisPatientInfo.id
1019 1020
         };
1020 1021
         getChargeHisPatientInfo(params).then(response => {
1021 1022
           if (response.data.state == 0) {
@@ -1196,7 +1197,7 @@
1196 1197
               for (let i = 0; i < this.patientTableData.length; i++) {
1197 1198
                 if (this.patientTableData[i].id == this.patientInfo.id) {
1198 1199
                   this.$refs.tab.setCurrentRow(this.patientTableData[i]);
1199
-                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
1200
+                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[i].his_patient.id)
1200 1201
                 }
1201 1202
               }
1202 1203
             }
@@ -1281,7 +1282,7 @@
1281 1282
               for (let i = 0; i < this.patientTableData.length; i++) {
1282 1283
                 if (this.patientTableData[i].id == this.patientInfo.id) {
1283 1284
                   this.$refs.tab.setCurrentRow(this.patientTableData[i]);
1284
-                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
1285
+                  this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[i].his_patient.id)
1285 1286
                 }
1286 1287
               }
1287 1288
             }
@@ -2142,7 +2143,7 @@
2142 2143
             for (let i = 0; i < this.patientTableData.length; i++){
2143 2144
               if(this.patientInfo.id == this.patientTableData[i].id)
2144 2145
               this.$refs.tab.setCurrentRow(this.patientTableData[i]);
2145
-              this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number)
2146
+              this.getPatientInformation(this.patientTableData[i].id, this.patientTableData[i].order.number,this.patientTableData[0].his_patient.id)
2146 2147
             }
2147 2148
 
2148 2149
           }
@@ -2295,7 +2296,7 @@
2295 2296
 
2296 2297
             for (let i = 0; i < this.patientTableData.length; i++){
2297 2298
                 this.$refs.tab.setCurrentRow(this.patientTableData[0]);
2298
-                this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number)
2299
+                this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number,this.patientTableData[0].his_patient.id)
2299 2300
             }
2300 2301
 
2301 2302
           }
@@ -2389,7 +2390,7 @@
2389 2390
             this.cal_three = three_count;
2390 2391
             this.current_index = 0;
2391 2392
             this.$refs.tab.setCurrentRow(this.patientTableData[0]);
2392
-            this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number)
2393
+            this.getPatientInformation(this.patientTableData[0].id, this.patientTableData[0].order.number,this.patientTableData[0].his_patient.id)
2393 2394
 
2394 2395
           }
2395 2396
         })
@@ -2574,7 +2575,7 @@
2574 2575
         this.prescriptions = [];
2575 2576
         this.month_prescriptions = [];
2576 2577
 
2577
-        this.getPatientInformation(val.id, val.order.number);
2578
+        this.getPatientInformation(val.id, val.order.number,val.his_patient.id);
2578 2579
         this.patient_id = val.id;
2579 2580
 
2580 2581
         for (let i = 0; i < this.patientTableData.length; i++) {
@@ -2587,7 +2588,7 @@
2587 2588
       },
2588 2589
 
2589 2590
       //获取患者的基本信息
2590
-      getPatientInformation(id, batch_number) {
2591
+      getPatientInformation(id, batch_number,his_patient_id) {
2591 2592
 
2592 2593
         let params = {
2593 2594
           'record_date': this.record_date,
@@ -2597,6 +2598,8 @@
2597 2598
           'end_time': this.other_end_time,
2598 2599
           'type': this.radio,
2599 2600
           'p_type':2,
2601
+          'his_patient_id':his_patient_id
2602
+
2600 2603
 
2601 2604
 
2602 2605
         };

+ 2 - 1
src/xt_pages/outpatientCharges/statementPrint.vue Dosyayı Görüntüle

@@ -175,7 +175,8 @@ export default {
175 175
               console.log(response.data.data.info);
176 176
               that.info = response.data.data.info;
177 177
               console.log(that.info);
178
-
178
+              that.p_admin = response.data.data.printor_admin;
179
+              that.charge_admin = response.data.data.charge_admin;
179 180
 
180 181
               that.info['p_admin'] =  that.p_admin;
181 182
               that.info['charge_admin'] =  that.charge_admin;

+ 239 - 202
src/xt_pages/outpatientCharges/summary.vue Dosyayı Görüntüle

@@ -1,191 +1,195 @@
1 1
 <template>
2
-    <div class="main-contain outpatientChargesManagement">
3
-        <div class="position">
4
-            <bread-crumb :crumbs='crumbs'></bread-crumb>
2
+  <div class="main-contain outpatientChargesManagement">
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
+          <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
+                     style="width:150px;margin-left:10px;" @change="changeDoctor">
17
+            <el-option
18
+              label="全部"
19
+              value="0">
20
+            </el-option>
21
+            <el-option
22
+              v-for="item,index in doctors"
23
+              :key="index"
24
+              :label="item.user_name"
25
+              :value="item.admin_user_id">
26
+            </el-option>
27
+          </el-select>
28
+          <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
+                          @change="handleStartTimeChange" :editable="false" :clearable="false"
30
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
+                          format="yyyy-MM-dd"
32
+                          value-format="yyyy-MM-dd"
33
+                          align="right"></el-date-picker>
34
+
35
+          <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
+                          @change="handleEndTimeChange" :editable="false" :clearable="false"
37
+                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
+                          format="yyyy-MM-dd"
39
+                          value-format="yyyy-MM-dd"
40
+                          align="right"></el-date-picker>
41
+          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
+          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
5 43
         </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
-                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
-                               style="width:150px;margin-left:10px;" @change="changeDoctor">
17
-                        <el-option
18
-                                label="全部"
19
-                                value="0">
20
-                        </el-option>
21
-                        <el-option
22
-                                v-for="item,index in doctors"
23
-                                :key="index"
24
-                                :label="item.user_name"
25
-                                :value="item.admin_user_id">
26
-                        </el-option>
27
-                    </el-select>
28
-                    <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
-                                    @change="handleStartTimeChange" :editable="false" :clearable="false"
30
-                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
-                                    format="yyyy-MM-dd"
32
-                                    value-format="yyyy-MM-dd"
33
-                                    align="right"></el-date-picker>
34
-
35
-                    <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
-                                    @change="handleEndTimeChange" :editable="false" :clearable="false"
37
-                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
-                                    format="yyyy-MM-dd"
39
-                                    value-format="yyyy-MM-dd"
40
-                                    align="right"></el-date-picker>
41
-                    <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
-                    <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
43
-                </div>
44
-                <div>
45
-                    <!-- <el-popover
46
-                      placement="bottom"
47
-                      width="210"
48
-                      trigger="click">
49
-                      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
-                      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
-                      <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
-
53
-                    </el-popover> -->
54
-                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
55
-                </div>
56
-            </div>
57
-            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
-                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
-                      highlight-current-row>
60
-                <el-table-column
61
-                        prop="date"
62
-                        label="序号"
63
-                        width="60"
64
-                        align="center"
65
-                        type="index"
66
-                >
67
-                </el-table-column>
68
-                <el-table-column align="center" prop="name" label="就诊号">
69
-                    <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
70
-                </el-table-column>
71
-                <el-table-column align="center" prop="name" label="患者名字">
72
-                    <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
-                </el-table-column>
74
-                <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
-                <!--<template slot-scope="scope"></template>-->
76
-                <!--</el-table-column>-->
77
-                <el-table-column align="center" prop="name" label="应收金额">
78
-                    <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
79
-                </el-table-column>
80
-                <el-table-column align="center" prop="name" label="实收金额">
81
-                    <template slot-scope="scope">{{scope.row.reality_price}}</template>
82
-                </el-table-column>
83
-                <el-table-column align="center" prop="name" label="科室">
84
-                    <template slot-scope="scope">{{scope.row.department_name}}</template>
85
-                </el-table-column>
86
-                <el-table-column align="center" prop="name" label="收费日期">
87
-                    <template slot-scope="scope"> {{scope.row.setl_time}}</template>
88
-                </el-table-column>
89
-                <el-table-column align="center" prop="name" label="收费员">
90
-                    <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
91
-                </el-table-column>
92
-                <el-table-column align="center" prop="name" label="状态">
93
-                    <template slot-scope="scope">
94
-                        <div v-if="scope.row.order_status == 1">待结算</div>
95
-                        <div v-if="scope.row.order_status == 2">已结算</div>
96
-                        <div v-if="scope.row.order_status == 3">已退费</div>
97
-                    </template>
98
-                </el-table-column>
99
-                <el-table-column align="center" prop="name" label="操作">
100
-                    <template slot-scope="scope">
101
-                        <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
102
-                        <el-button size="mini" type="primary" @click="toPrint(scope.row)"
103
-                                   v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
104
-                            结算单
105
-                        </el-button>
106
-                        <el-button size="mini" type="primary" v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106" @click="settlementPrint(scope.row)">结算单</el-button>
107
-                        <el-button size="mini" type="primary" @click="toRefund(scope.row)" v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106)">
108
-                            退费
109
-                        </el-button>
110
-                        <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
111
-                    </template>
112
-                </el-table-column>
113
-            </el-table>
114
-            <el-pagination
115
-                    @size-change="handleSizeChange"
116
-                    @current-change="handleCurrentChange"
117
-                    :page-sizes="[10, 50, 100]"
118
-                    :page-size="10"
119
-                    background
120
-                    style="margin-top:20px;float: right"
121
-                    layout="total, sizes, prev, pager, next, jumper"
122
-                    :total="total"
123
-
124
-            >
125
-            </el-pagination>
44
+        <div>
45
+          <!-- <el-popover
46
+            placement="bottom"
47
+            width="210"
48
+            trigger="click">
49
+            <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
+            <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
+            <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
+
53
+          </el-popover> -->
54
+          <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
126 55
         </div>
127
-
128
-        <el-dialog
129
-                class="centerDialog"
130
-                width="1200px"
131
-                title="打印"
132
-                :visible.sync="statementVisible">
133
-            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
134
-            <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
135
-        </el-dialog>
136
-        <el-dialog
137
-                class="centerDialog"
138
-                width="900px"
139
-                title="打印"
140
-                :visible.sync="listVisible">
141
-            <listPrint></listPrint>
142
-        </el-dialog>
143
-        <el-dialog
144
-                class="centerDialog"
145
-                width="900px"
146
-                title="打印"
147
-                :visible.sync="allListVisible">
148
-            <allListPrint :paramsObj='paramsObj'></allListPrint>
149
-        </el-dialog>
150
-
151
-        <el-dialog
152
-                class="centerDialog"
153
-                width="1200px"
154
-                title="打印"
155
-                :visible.sync="statementVisible9504">
156
-            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
157
-            <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
158
-            <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
159
-        </el-dialog>
160
-
161
-        <el-dialog
162
-                class="centerDialog"
163
-                width="1200px"
164
-                title="打印"
165
-                :visible.sync="invoiceVisible">
166
-            <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
167
-        </el-dialog>
168
-        <el-dialog
169
-                class="centerDialog"
170
-                width="1200px"
171
-                title="打印"
172
-                :visible.sync="settlementVisible">
173
-            <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
174
-        </el-dialog>
175
-
56
+      </div>
57
+      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
+                highlight-current-row>
60
+        <el-table-column
61
+          prop="date"
62
+          label="序号"
63
+          width="60"
64
+          align="center"
65
+          type="index"
66
+        >
67
+        </el-table-column>
68
+        <el-table-column align="center" prop="name" label="就诊号">
69
+          <template slot-scope="scope">{{ scope.row.his_patient.number }}</template>
70
+        </el-table-column>
71
+        <el-table-column align="center" prop="name" label="患者名字">
72
+          <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
+        </el-table-column>
74
+        <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
+        <!--<template slot-scope="scope"></template>-->
76
+        <!--</el-table-column>-->
77
+
78
+        <el-table-column align="center" prop="name" label="应收金额">
79
+          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
80
+        </el-table-column>
81
+        <el-table-column align="center" prop="name" label="实收金额">
82
+          <template slot-scope="scope">{{scope.row.reality_price}}</template>
83
+        </el-table-column>
84
+        <el-table-column align="center" prop="name" label="科室">
85
+          <template slot-scope="scope">{{scope.row.department_name}}</template>
86
+        </el-table-column>
87
+        <el-table-column align="center" prop="name" label="收费日期">
88
+          <template slot-scope="scope"> {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}</template>
89
+        </el-table-column>
90
+        <el-table-column align="center" prop="name" label="收费员">
91
+          <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
92
+        </el-table-column>
93
+        <el-table-column align="center" prop="name" label="状态">
94
+          <template slot-scope="scope">
95
+            <div v-if="scope.row.order_status == 1">待结算</div>
96
+            <div v-if="scope.row.order_status == 2">已结算</div>
97
+            <div v-if="scope.row.order_status == 3">已退费</div>
98
+          </template>
99
+        </el-table-column>
100
+        <el-table-column align="center" prop="name" label="操作">
101
+          <template slot-scope="scope">
102
+            <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
103
+            <el-button size="mini" type="primary" @click="toPrint(scope.row)"
104
+                       v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
105
+              结算单
106
+            </el-button>
107
+            <el-button size="mini" type="primary"
108
+                       v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106"
109
+                       @click="settlementPrint(scope.row)">结算单
110
+            </el-button>
111
+            <el-button size="mini" type="primary" @click="toRefund(scope.row)">
112
+              退费
113
+            </el-button>
114
+            <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
115
+          </template>
116
+        </el-table-column>
117
+      </el-table>
118
+      <el-pagination
119
+        @size-change="handleSizeChange"
120
+        @current-change="handleCurrentChange"
121
+        :page-sizes="[10, 50, 100]"
122
+        :page-size="10"
123
+        background
124
+        style="margin-top:20px;float: right"
125
+        layout="total, sizes, prev, pager, next, jumper"
126
+        :total="total"
127
+
128
+      >
129
+      </el-pagination>
176 130
     </div>
131
+
132
+    <el-dialog
133
+      class="centerDialog"
134
+      width="1200px"
135
+      title="打印"
136
+      :visible.sync="statementVisible">
137
+      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
138
+      <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
139
+    </el-dialog>
140
+    <el-dialog
141
+      class="centerDialog"
142
+      width="900px"
143
+      title="打印"
144
+      :visible.sync="listVisible">
145
+      <listPrint></listPrint>
146
+    </el-dialog>
147
+    <el-dialog
148
+      class="centerDialog"
149
+      width="900px"
150
+      title="打印"
151
+      :visible.sync="allListVisible">
152
+      <allListPrint :paramsObj='paramsObj'></allListPrint>
153
+    </el-dialog>
154
+
155
+    <el-dialog
156
+      class="centerDialog"
157
+      width="1200px"
158
+      title="打印"
159
+      :visible.sync="statementVisible9504">
160
+      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
161
+      <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
162
+      <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
163
+    </el-dialog>
164
+
165
+    <el-dialog
166
+      class="centerDialog"
167
+      width="1200px"
168
+      title="打印"
169
+      :visible.sync="invoiceVisible">
170
+      <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
171
+    </el-dialog>
172
+    <el-dialog
173
+      class="centerDialog"
174
+      width="1200px"
175
+      title="打印"
176
+      :visible.sync="settlementVisible">
177
+      <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
178
+    </el-dialog>
179
+
180
+  </div>
177 181
 </template>
178 182
 
179 183
 
180 184
 <script>
181 185
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
182
-  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
183
-  import { uParseTime } from '@/utils/tools'
186
+  import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
187
+  import {uParseTime} from '@/utils/tools'
184 188
   import NewStatementPrint from './newStatementPrint'
185 189
   import listPrint from './listPrint'
186 190
   import allListPrint from './allListPrint'
187 191
   import NewStatementPrintTwo from './newStatementPrintTwo'
188
-  import { fetchAllAdminUsers } from '@/api/doctor'
192
+  import {fetchAllAdminUsers} from '@/api/doctor'
189 193
   import axios from 'axios'
190 194
   import invoicePrint from './invoicePrint'
191 195
   import settlementPrint from './settlementPrint'
@@ -207,8 +211,8 @@
207 211
         statementVisible9504: false,
208 212
         orderObj9504: {},
209 213
         crumbs: [
210
-          { path: false, name: '门诊收费' },
211
-          { path: false, name: '项目消费明细汇总' }
214
+          {path: false, name: '门诊收费'},
215
+          {path: false, name: '项目消费明细汇总'}
212 216
         ],
213 217
         tableData: [],
214 218
         limit: 10,
@@ -221,12 +225,12 @@
221 225
         admin_user_id: '',
222 226
         listVisible: false,
223 227
         allListVisible: false,
224
-        adminUserOptions:[],
225
-        invoiceVisible:false,
226
-        paramsObj:{},
227
-        invoiceParams:{},
228
-        settlementVisible:false,
229
-        settlementObj:{}
228
+        adminUserOptions: [],
229
+        invoiceVisible: false,
230
+        paramsObj: {},
231
+        invoiceParams: {},
232
+        settlementVisible: false,
233
+        settlementObj: {}
230 234
 
231 235
       }
232 236
     },
@@ -246,8 +250,8 @@
246 250
           }
247 251
         }
248 252
 
249
-      },toRefund(row){
250
-        if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106) {
253
+      }, toRefund(row) {
254
+        if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990) {
251 255
           var that = this;
252 256
           this.$confirm('是否退费', '退费', {
253 257
             confirmButtonText: '确 定',
@@ -263,7 +267,7 @@
263 267
             axios.get('http://127.0.0.1:9532/api/refund/post', {
264 268
               params: params
265 269
             })
266
-              .then(function(response) {
270
+              .then(function (response) {
267 271
                 if (response.data.state == 0) {
268 272
                   that.$message.error(response.data.msg);
269 273
                   return false
@@ -278,13 +282,13 @@
278 282
                     }).catch(() => {
279 283
                     })
280 284
                   } else {
281
-                    that.$message({ message: '退费成功', type: 'success', duration: 5000 });
285
+                    that.$message({message: '退费成功', type: 'success', duration: 5000});
282 286
                     that.getHisOrderList()
283 287
 
284 288
                   }
285 289
                 }
286 290
               })
287
-              .catch(function(error) {
291
+              .catch(function (error) {
288 292
               })
289 293
           }).catch(() => {
290 294
           })
@@ -306,7 +310,7 @@
306 310
                 this.$message.error(response.data.msg);
307 311
                 return false
308 312
               } else {
309
-                this.$message({ message: '退费成功', type: 'success' });
313
+                this.$message({message: '退费成功', type: 'success'});
310 314
                 this.getHisOrderList()
311 315
               }
312 316
             })
@@ -333,7 +337,7 @@
333 337
         }
334 338
 
335 339
       },
336
-      settlementPrint(row){
340
+      settlementPrint(row) {
337 341
         this.settlementVisible = true;
338 342
         let obj = {
339 343
           order_id: row.id
@@ -360,14 +364,18 @@
360 364
               let department = '';
361 365
               let doctor_name = '';
362 366
               let balance_accounts = '';
363
-
364 367
               let order_status = '';
368
+              let charge_name = '';
365 369
 
370
+              let insutypeName = "";
371
+
372
+              let time = "";
366 373
               if (order.his_patient != null && order.his_patient.number.length > 0) {
367 374
                 number = order.his_patient.number
368 375
 
369 376
               }
370 377
 
378
+
371 379
               if (order.his_patient != null) {
372 380
                 if (order.his_patient.balance_accounts_type == 1) {
373 381
                   balance_accounts = '自费'
@@ -392,6 +400,19 @@
392 400
                 doctor_name = order.p_info.doctor
393 401
               }
394 402
 
403
+              if (order.creator != null) {
404
+                charge_name = this.getName(order.creator)
405
+              }
406
+              if (order.insutype == '390') {
407
+
408
+                insutypeName = "城乡居民基本医疗保险"
409
+              } else if (order.insutype == '310') {
410
+                insutypeName = "职工基本医疗保险"
411
+
412
+
413
+              }
414
+
415
+
395 416
               if (order.order_status == 1) {
396 417
                 order_status = '待结算'
397 418
               }
@@ -404,30 +425,47 @@
404 425
                 order_status = '已退费'
405 426
               }
406 427
 
428
+              if (order.settle_type == 2) {
429
+                time = this.getTimes(order.settle_start_time)
430
+              } else {
431
+                time = this.getTimes(order.settle_accounts_date)
432
+              }
433
+
434
+
407 435
               let obj = {
408
-                '就诊号': number,
436
+                '就诊号': order.mdtrt_id,
409 437
                 '患者姓名': name,
438
+                '开处时间': time,
439
+                '险种类型': insutypeName,
410 440
                 '应收金额': order.medfee_sumamt,
411 441
                 '实收金额': order.medfee_sumamt,
442
+                '医保统筹金额': order.fund_pay_sumamt,
443
+                '大额基金金额': order.hifob_pay,
444
+                '大病基金金额': order.hifmi_pay,
445
+                '补充保险基金金额': order.hifes_pay,
446
+                '医疗救助基金金额': order.maf_pay,
447
+                '公务员基金': order.cvlserv_pay,
448
+                '个人支付基金': order.psn_cash_pay,
449
+                '个人账户支付金额': order.acct_pay,
412 450
                 '科室': department,
413 451
                 '医生姓名': doctor_name,
414 452
                 '收费类别': balance_accounts,
415
-                '收费者姓名': doctor_name,
453
+                '收费者姓名': charge_name,
416 454
                 '总金额': order.medfee_sumamt,
417 455
                 '现金支付': '',
418 456
                 '账户支付': '',
419 457
                 '支付宝支付': '',
420 458
                 '微信支付': '',
421 459
                 '其他支付': '',
422
-                '收费日期': '',
460
+                '收费时间': order.setl_time,
423 461
                 '收费状态': order_status,
424 462
                 '退费日期': ''
425 463
               };
426 464
               list.push(obj)
427 465
             }
428 466
             import('@/vendor/Export2Excel').then(excel => {
429
-              const tHeader = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费日期', '收费状态', '退费日期'];
430
-              const filterVal = ['就诊号', '患者姓名', '应收金额', '实收金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费日期', '收费状态', '退费日期'];
467
+              const tHeader = ['就诊号', '患者姓名', '开处时间','险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
468
+              const filterVal = ['就诊号', '患者姓名','开处时间','险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
431 469
               const data = this.formatJson(filterVal, list);
432 470
               excel.export_json_to_excel({
433 471
                 header: tHeader,
@@ -517,15 +555,15 @@
517 555
           this.allListVisible = true
518 556
         }
519 557
       },
520
-      invoicePrint(obj){
558
+      invoicePrint(obj) {
521 559
         console.log(obj);
522 560
         let paramsObj = {
523 561
           order_id: obj.id,
524 562
           patient_id: obj.patient_id,
525
-          name:obj.patient.name,
526
-          age:obj.age,
527
-          gend:obj.gend,
528
-          setl_time:obj.setl_time
563
+          name: obj.patient.name,
564
+          age: obj.age,
565
+          gend: obj.gend,
566
+          setl_time: obj.setl_time
529 567
         };
530 568
         this.invoiceParams = paramsObj;
531 569
         this.invoiceVisible = true
@@ -538,7 +576,6 @@
538 576
       this.getHisOrderList()
539 577
 
540 578
 
541
-
542 579
     }
543 580
   }
544 581
 </script>

+ 18 - 4
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Dosyayı Görüntüle

@@ -515,7 +515,6 @@
515 515
         departmentOptions: [],
516 516
         departmentValue: '',
517 517
         total: 0,
518
-        state1: 1,
519 518
         request_record_date: '',
520 519
         state2: '',
521 520
         customTabIndex: 1,
@@ -551,6 +550,7 @@
551 550
         sick: [],
552 551
         diagnoses: [],
553 552
         diagnose: 1,
553
+        state1: 1,
554 554
         curTotal: 0,
555 555
         prescription_id: 0,
556 556
         tempDrugs: [],
@@ -1711,6 +1711,11 @@
1711 1711
 
1712 1712
       },
1713 1713
       setData(data, info, admin_info, doctors, department, hisPatientInfo, month_data) {
1714
+
1715
+
1716
+
1717
+
1718
+
1714 1719
         for (let i = 0; i < doctors.length; i++){
1715 1720
           if(doctors[i].user_type == 1){
1716 1721
             doctors.splice(i,1)
@@ -1745,7 +1750,10 @@
1745 1750
 
1746 1751
         this.diagnose = info.diagnosis;
1747 1752
         if (this.diagnose == 0) {
1748
-          this.diagnose = ''
1753
+          for(let i = 0; i < this.diagnoses.length;i++){
1754
+            this.diagnose = this.diagnoses[0].id
1755
+          }
1756
+
1749 1757
         }
1750 1758
         if (this.curPrescriptions.advices.length > 0 && this.curPrescriptions.project.length == 0) {
1751 1759
           this.curStatus = 1;
@@ -1765,7 +1773,11 @@
1765 1773
 
1766 1774
         this.state1 = info.sick_type;
1767 1775
         if (this.state1 == 0) {
1768
-          this.state1 = ''
1776
+          this.state1 = '';
1777
+          for(let i = 0; i < this.sick.length;i++){
1778
+            this.state1 = this.sick[0].id
1779
+          }
1780
+
1769 1781
         }
1770 1782
         this.state2 = info.sick_history;
1771 1783
         if (this.state2 == 0) {
@@ -1822,7 +1834,9 @@
1822 1834
           }
1823 1835
         }
1824 1836
         if (info.register_type == 0) {
1825
-          this.register_type = ''
1837
+          for(let i = 0; i < this.register.length;i++){
1838
+            this.register_type = this.register[0].value
1839
+          }
1826 1840
         } else {
1827 1841
           this.register_type = info.register_type
1828 1842
         }

+ 52 - 3
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Dosyayı Görüntüle

@@ -9,6 +9,14 @@
9 9
           <p style="font-size:14px;">未就诊:<span>{{cal_one}}</span>人</p>
10 10
           <p style="font-size:14px;">已就诊:<span>{{cal_two}}</span>人</p>
11 11
         </div>
12
+        <div class="mainCell">
13
+          <el-radio-group v-model="schedule_type" @change="changeScheduleType">
14
+            <el-radio :label="1">上午</el-radio>
15
+            <el-radio :label="2">下午</el-radio>
16
+            <el-radio :label="3">晚上</el-radio>
17
+            <el-radio :label="0">全部</el-radio>
18
+          </el-radio-group>
19
+        </div>
12 20
         <div class="mainCell">
13 21
           <el-radio-group v-model="radio" @change="change">
14 22
             <el-radio :label="1">未就诊</el-radio>
@@ -195,6 +203,7 @@
195 203
         cal_one: 0,
196 204
         cal_two: 0,
197 205
         radio: 1,
206
+        schedule_type:0,
198 207
         record_date: '',
199 208
         crumbs: [
200 209
           {path: false, name: '门诊医生站'},
@@ -236,7 +245,9 @@
236 245
         this.radio = 2;
237 246
         let params = {
238 247
           'record_date': this.record_date,
239
-          'type': this.radio
248
+          'type': this.radio,
249
+          'sch_type':this.schedule_type,
250
+
240 251
         };
241 252
         this.patientTableData = [];
242 253
 
@@ -325,10 +336,46 @@
325 336
       //   })
326 337
       //
327 338
       // },
339
+      changeScheduleType() {
340
+        let params = {
341
+          'record_date': this.record_date,
342
+          'type': this.radio,
343
+          'sch_type':this.schedule_type,
344
+        };
345
+        this.patientTableData = [];
346
+
347
+        getSchedulePatientList(params).then(response => {
348
+          if (response.data.state == 0) {
349
+            this.$message.error(response.data.msg);
350
+            return false
351
+          } else {
352
+            this.patientTableData = response.data.data.list;
353
+            this.patientTableDataTwo = response.data.data.list;
354
+            this.cal_one = response.data.data.total_one;
355
+            this.cal_two = response.data.data.total_two;
356
+            this.admin_info = response.data.data.info;
357
+
358
+            if (this.patientTableData.length > 0) {
359
+              this.$refs.tab.setCurrentRow(this.patientTableData[0]);
360
+              this.oldCurrentRow = this.patientTableData[0];
361
+
362
+              this.getPatientInfo(this.patientTableData[0])
363
+            }
364
+
365
+            this.prescriptionList = response.data.data.list.prescription
366
+
367
+            // this.patientid = this.patientTableData[0].patient_id
368
+
369
+          }
370
+        })
371
+      },
372
+
328 373
       change() {
329 374
         let params = {
330 375
           'record_date': this.record_date,
331
-          'type': this.radio
376
+          'type': this.radio,
377
+          'sch_type':this.schedule_type,
378
+
332 379
         };
333 380
         this.patientTableData = [];
334 381
 
@@ -703,7 +750,9 @@
703 750
       getList() {
704 751
         let params = {
705 752
           'record_date': this.record_date,
706
-          'type': this.radio
753
+          'type': this.radio,
754
+          'sch_type':this.schedule_type,
755
+
707 756
         };
708 757
         this.patientTableData = [];
709 758
         getSchedulePatientList(params).then(response => {

+ 4 - 2
src/xt_pages/outpatientRegistration/index.vue Dosyayı Görüntüle

@@ -642,7 +642,6 @@
642 642
     },
643 643
     methods: {
644 644
       changeReg() {
645
-        console.log(this.form.register);
646 645
         if (this.form.register != 4) {
647 646
           this.form.registrationFee = 10
648 647
         } else {
@@ -1444,6 +1443,9 @@
1444 1443
             this.sick = response.data.data.sick;
1445 1444
             this.diagnoses = response.data.data.diagnose;
1446 1445
 
1446
+            for(let i = 0; i < this.department.length;i++){
1447
+              this.form.department = this.department[0].id
1448
+            }
1447 1449
             this.form.p_type = 14;
1448 1450
             this.form.sick_type = this.sick[0].id;
1449 1451
             this.form.diagnosis = this.diagnoses[0].id
@@ -1455,11 +1457,11 @@
1455 1457
 
1456 1458
     },
1457 1459
     created() {
1458
-
1459 1460
       if(this.$store.getters.xt_user.org_id == 9504 ||  this.$store.getters.xt_user.org_id == 10028){
1460 1461
         this.form.certificates = 2;
1461 1462
         this.form.id_card_type = 1
1462 1463
       }else{
1464
+        this.form.registrationFee = 0;
1463 1465
         this.form.certificates = 1;
1464 1466
         this.form.id_card_type = 2
1465 1467
       }