See999 4 years ago
parent
commit
37f3bb2db2

+ 68 - 58
src/xt_pages/hospitalStation/invoiceTemplate/printOne.vue View File

1
 <template>
1
 <template>
2
     <div id='invoice-print'>
2
     <div id='invoice-print'>
3
         <div style="display:flex;">
3
         <div style="display:flex;">
4
-            <div style="position: absolute;top:50px;left:70px;">{{ list.order_number }}</div>
4
+            <div style="position: absolute;top:70px;left:70px;">{{ list.order_number }}</div>
5
             <!-- <div>{{ list.id_card_no }}</div> -->
5
             <!-- <div>{{ list.id_card_no }}</div> -->
6
         </div>
6
         </div>
7
         <div style="display:flex;justify-content: space-between;">
7
         <div style="display:flex;justify-content: space-between;">
8
             <!-- <div>{{ list.department_name }}</div> -->
8
             <!-- <div>{{ list.department_name }}</div> -->
9
-            <div  style="position: absolute;top:50px;left:300px">{{ list.number }}</div>
9
+            <div  style="position: absolute;top:70px;left:300px">住院号:{{ list.number }}</div>
10
             <div></div>
10
             <div></div>
11
-            <div  style="position: absolute;left:560px;top:50px;">
11
+            <div  style="position: absolute;left:560px;top:70px;">
12
                 <span>{{ printDate.slice(0,4) }}</span>
12
                 <span>{{ printDate.slice(0,4) }}</span>
13
                 <span>{{ printDate.slice(5,7) }}</span>
13
                 <span>{{ printDate.slice(5,7) }}</span>
14
                 <span>{{ printDate.slice(8,11) }}</span>
14
                 <span>{{ printDate.slice(8,11) }}</span>
15
             </div>
15
             </div>
16
         </div>
16
         </div>
17
         <div style="display:flex;justify-content: space-between;">
17
         <div style="display:flex;justify-content: space-between;">
18
-            <div style="position: absolute;top:70px;left:120px;"> {{ paramsObj.name }}</div>
18
+            <div style="position: absolute;top:90px;left:120px;"> {{ paramsObj.name }}</div>
19
+            <div style="position: absolute;top:90px;left:240px;">√</div>
19
             <!-- <div>{{ list.pay_way }}</div> -->
20
             <!-- <div>{{ list.pay_way }}</div> -->
20
-            <div style="position: absolute;top:70px;left:460px;">{{ paramsObj.setl_time.split(' ')[0] }}</div>
21
-            <div style="position: absolute;top:70px;left:560px;">{{ paramsObj.setl_time.split(' ')[0] }}</div>
21
+            <!-- <div style="position: absolute;top:70px;left:460px;">{{ paramsObj.setl_time.split(' ')[0] }}</div>
22
+            <div style="position: absolute;top:70px;left:560px;">{{ paramsObj.setl_time.split(' ')[0] }}</div> -->
22
         </div>
23
         </div>
23
         <div style="display:flex;justify-content: space-between;">
24
         <div style="display:flex;justify-content: space-between;">
24
             <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
25
             <!-- <div>{{ paramsObj.gend == 1 ? '男' : '女' }}</div> -->
25
-            <div style="position: absolute;top:90px;left:260px;">{{ totalPrice - list.psn_cash_money }}</div>
26
-            <div style="position: absolute;top:90px;left:440px;">{{ list.psn_cash_money }}</div>
27
-            <div style="position: absolute;top:90px;left:580px;">{{ list.pay_way }}</div>
26
+            <div style="position: absolute;top:110px;left:260px;">{{ totalPrice - list.psn_cash_money }}</div>
27
+            <div style="position: absolute;top:110px;left:440px;">{{ list.psn_cash_money }}</div>
28
+            <div style="position: absolute;top:110px;left:580px;">门特</div>
28
         </div>
29
         </div>
29
         <div style="display:flex;justify-content: space-between;">
30
         <div style="display:flex;justify-content: space-between;">
30
-            <div style="position: absolute;top:140px;left:40px">西药</div>
31
-            <div style="position: absolute;top:140px;left:110px">{{ list.westernMedicineCostTotal }}</div>
32
-            <div style="position: absolute;top:140px;left:180px">检查费</div>
33
-            <div style="position: absolute;top:140px;left:260px">{{ list.checkCostTotal }}</div>
34
-            <div style="position: absolute;top:140px;left:340px">治疗费</div>
35
-            <div style="position: absolute;top:140px;left:420px">{{ list.treatCostTotal }}</div>
36
-            <div style="position: absolute;top:140px;left:500px">床位费</div>
37
-            <div style="position: absolute;top:140px;left:580px">{{ list.bedCostTotal }}</div>
31
+            <div style="position: absolute;top:160px;left:40px">西药</div>
32
+            <div style="position: absolute;top:160px;left:110px">{{ list.westernMedicineCostTotal }}</div>
33
+            <div style="position: absolute;top:160px;left:180px">检查费</div>
34
+            <div style="position: absolute;top:160px;left:260px">{{ list.checkCostTotal }}</div>
35
+            <div style="position: absolute;top:160px;left:340px">治疗费</div>
36
+            <div style="position: absolute;top:160px;left:420px">{{ list.treatCostTotal }}</div>
37
+            <div style="position: absolute;top:160px;left:500px">床位费</div>
38
+            <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>
38
         </div>
39
         </div>
39
         <div style="display:flex;justify-content: space-between;">
40
         <div style="display:flex;justify-content: space-between;">
40
-            <div style="position: absolute;top:170px;left:40px">中成药</div>
41
-            <div style="position: absolute;top:170px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>
42
-            <div style="position: absolute;top:170px;left:180px">化验费</div>
43
-            <div style="position: absolute;top:170px;left:260px">{{ list.laboratoryCostTotal }}</div>
44
-            <div style="position: absolute;top:170px;left:340px">手术费</div>
45
-            <div style="position: absolute;top:170px;left:420px">{{ list.operationCostTotal }}</div>
46
-            <div style="position: absolute;top:170px;left:500px">其他费</div>
47
-            <div style="position: absolute;top:170px;left:580px">{{ list.otherCostTotal }}</div>
41
+            <div style="position: absolute;top:190px;left:40px">中成药</div>
42
+            <div style="position: absolute;top:190px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>
43
+            <div style="position: absolute;top:190px;left:180px">化验费</div>
44
+            <div style="position: absolute;top:190px;left:260px">{{ list.laboratoryCostTotal }}</div>
45
+            <div style="position: absolute;top:190px;left:340px">手术费</div>
46
+            <div style="position: absolute;top:190px;left:420px">{{ list.operationCostTotal }}</div>
47
+            <div style="position: absolute;top:190px;left:500px">其他费</div>
48
+            <div style="position: absolute;top:190px;left:580px">{{ list.otherCostTotal }}</div>
48
         </div>
49
         </div>
49
         <div style="display:flex;justify-content: space-between;">
50
         <div style="display:flex;justify-content: space-between;">
50
-            <div style="position: absolute;top:190px;left:40px"></div>
51
-            <div style="position: absolute;top:190px;left:110px"></div>
52
-            <div style="position: absolute;top:190px;left:180px"></div>
53
-            <div style="position: absolute;top:190px;left:260px"></div>
54
-            <div style="position: absolute;top:190px;left:340px">材料费</div>
55
-            <div style="position: absolute;top:190px;left:420px">{{ list.materialCostTotal }}</div>
56
-            <div style="position: absolute;top:190px;left:500px"></div>
57
-            <div style="position: absolute;top:190px;left:580px"></div>
51
+            <div style="position: absolute;top:210px;left:40px"></div>
52
+            <div style="position: absolute;top:210px;left:110px"></div>
53
+            <div style="position: absolute;top:210px;left:180px"></div>
54
+            <div style="position: absolute;top:210px;left:260px"></div>
55
+            <div style="position: absolute;top:210px;left:340px">材料费</div>
56
+            <div style="position: absolute;top:210px;left:420px">{{ list.materialCostTotal }}</div>
57
+            <div style="position: absolute;top:210px;left:500px"></div>
58
+            <div style="position: absolute;top:210px;left:580px"></div>
58
         </div>
59
         </div>
59
         <div>
60
         <div>
60
             <span>
61
             <span>
61
-            <span  style="position: absolute;top:240px;left:180px">
62
+            <span  style="position: absolute;top:260px;left:180px">
62
                 <span v-if="zhongwen.indexOf('万') > -1 && zhongwen.indexOf('拾') > -1 && zhongwen.indexOf('拾') == 1">
63
                 <span v-if="zhongwen.indexOf('万') > -1 && zhongwen.indexOf('拾') > -1 && zhongwen.indexOf('拾') == 1">
63
                     {{ zhongwen.substring(0,1) }}
64
                     {{ zhongwen.substring(0,1) }}
64
                 </span>
65
                 </span>
65
                 <span v-else>零</span>
66
                 <span v-else>零</span>
66
             </span>
67
             </span>
67
-            <span  style="position: absolute;top:240px;left:220px">
68
+            <span  style="position: absolute;top:260px;left:220px">
68
                 <span v-if="zhongwen.indexOf('万') > -1">
69
                 <span v-if="zhongwen.indexOf('万') > -1">
69
                     {{ zhongwen.substring(zhongwen.indexOf('万') - 1,zhongwen.indexOf('万')) }}
70
                     {{ zhongwen.substring(zhongwen.indexOf('万') - 1,zhongwen.indexOf('万')) }}
70
                 </span>
71
                 </span>
71
                 <span v-else>零</span>
72
                 <span v-else>零</span>
72
             </span>
73
             </span>
73
-            <span  style="position: absolute;top:240px;left:260px">
74
+            <span  style="position: absolute;top:260px;left:260px">
74
                 <span v-if="zhongwen.indexOf('仟') > -1">
75
                 <span v-if="zhongwen.indexOf('仟') > -1">
75
                     {{ zhongwen.substring(zhongwen.indexOf('仟') - 1,zhongwen.indexOf('仟')) }}
76
                     {{ zhongwen.substring(zhongwen.indexOf('仟') - 1,zhongwen.indexOf('仟')) }}
76
                 </span>
77
                 </span>
77
                 <span v-else>零</span>
78
                 <span v-else>零</span>
78
             </span>
79
             </span>
79
-            <span  style="position: absolute;top:240px;left:300px">
80
+            <span  style="position: absolute;top:260px;left:300px">
80
                 <span v-if="zhongwen.indexOf('佰') > -1">
81
                 <span v-if="zhongwen.indexOf('佰') > -1">
81
                     {{ zhongwen.substring(zhongwen.indexOf('佰') - 1,zhongwen.indexOf('佰')) }}
82
                     {{ zhongwen.substring(zhongwen.indexOf('佰') - 1,zhongwen.indexOf('佰')) }}
82
                 </span>
83
                 </span>
83
                 <span v-else>零</span>
84
                 <span v-else>零</span>
84
             </span>
85
             </span>
85
-            <span style="position: absolute;top:240px;left:340px">
86
+            <span style="position: absolute;top:260px;left:340px">
86
                 <span v-if="zhongwen.indexOf('拾') > -1">
87
                 <span v-if="zhongwen.indexOf('拾') > -1">
87
                     {{ zhongwen.substring(zhongwen.indexOf('拾') - 1,zhongwen.indexOf('拾')) }}
88
                     {{ zhongwen.substring(zhongwen.indexOf('拾') - 1,zhongwen.indexOf('拾')) }}
88
                 </span>
89
                 </span>
89
                 <span v-else>零</span>
90
                 <span v-else>零</span>
90
             </span>
91
             </span>
91
-            <span  style="position: absolute;top:240px;left:380px">
92
+            <span  style="position: absolute;top:260px;left:380px">
92
                 <span v-if="zhongwen.indexOf('元') > -1 && zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) != '拾'">
93
                 <span v-if="zhongwen.indexOf('元') > -1 && zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) != '拾'">
93
                     {{ zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) }}
94
                     {{ zhongwen.substring(zhongwen.indexOf('元') - 1,zhongwen.indexOf('元')) }}
94
                 </span>
95
                 </span>
95
                 <span v-else>零</span>
96
                 <span v-else>零</span>
96
             </span>
97
             </span>
97
-            <span  style="position: absolute;top:240px;left:420px">
98
+            <span  style="position: absolute;top:260px;left:420px">
98
                 <span v-if="zhongwen.indexOf('角') > -1">
99
                 <span v-if="zhongwen.indexOf('角') > -1">
99
                     {{ zhongwen.substring(zhongwen.indexOf('角') - 1,zhongwen.indexOf('角')) }}
100
                     {{ zhongwen.substring(zhongwen.indexOf('角') - 1,zhongwen.indexOf('角')) }}
100
                 </span>
101
                 </span>
101
                 <span v-else>零</span>
102
                 <span v-else>零</span>
102
             </span>
103
             </span>
103
-            <span  style="position: absolute;top:240px;left:460px">
104
+            <span  style="position: absolute;top:260px;left:460px">
104
                 <span v-if="zhongwen.indexOf('分') > -1">
105
                 <span v-if="zhongwen.indexOf('分') > -1">
105
                     {{ zhongwen.substring(zhongwen.indexOf('分') - 1,zhongwen.indexOf('分')) }}
106
                     {{ zhongwen.substring(zhongwen.indexOf('分') - 1,zhongwen.indexOf('分')) }}
106
                 </span>
107
                 </span>
107
                 <span v-else>零</span>
108
                 <span v-else>零</span>
108
             </span>
109
             </span>
109
             </span>
110
             </span>
110
-            <span style="position: absolute;top:240px;left:540px">{{ totalPrice }}</span>
111
+            <span style="position: absolute;top:260px;left:540px">{{ totalPrice }}</span>
111
         </div>
112
         </div>
113
+        <div style="position: absolute;top:300px;left:340px">银联:0</div>
114
+        <div style="position: absolute;top:300px;left:400px">现金:{{ list.psn_cash_money }}</div>
115
+        <div style="position: absolute;top:300px;left:480px">记账:0</div>
116
+        <div style="position: absolute;top:300px;left:540px">社保卡:0</div>
112
         <div>
117
         <div>
113
-            <div style="position: absolute;top:320px;left:70px">{{ org_name }}</div>
114
-            <div v-if="org_id == 9990" style="position: absolute;top:320px;left:300px">钱玉玲</div>
115
-            <div v-if="org_id == 9990" style="position: absolute;top:320px;left:420px">陈国杰</div>
118
+            <div style="position: absolute;top:340px;left:120px">{{ org_name }}</div>
119
+            <div v-if="org_id == 9990" style="position: absolute;top:340px;left:300px">钱玉玲</div>
120
+            <div v-if="org_id == 9990" style="position: absolute;top:340px;left:420px">陈国杰</div>
116
         </div>
121
         </div>
117
     </div>
122
     </div>
118
 </template>
123
 </template>
135
         }
140
         }
136
     },
141
     },
137
     created(){
142
     created(){
138
-        console.log('paramsObj',this.paramsObj);
143
+        console.log('paramsObj',this.paramsObj)
139
         let params = {
144
         let params = {
140
             order_id: this.paramsObj.order_id,
145
             order_id: this.paramsObj.order_id,
141
             patient_id: this.paramsObj.patient_id,
146
             patient_id: this.paramsObj.patient_id,
142
-        };
143
-        this.getInvoice(params);
144
-        var data = new Date();
145
-        var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
146
-        var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
147
-        this.printDate = data.getFullYear() + "-" + month + "-" + date;
147
+        }
148
+        this.getInvoice(params)
149
+        // var data = new Date();
150
+        // var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
151
+        // var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
152
+        // this.printDate = data.getFullYear() + "-" + month + "-" + date;
148
         // this.smalltoBIG(982732.21)
153
         // this.smalltoBIG(982732.21)
149
-        this.org_id = this.$store.getters.xt_user.org_id;
154
+        this.org_id = this.$store.getters.xt_user.org_id
150
         this.org_name = this.$store.getters.xt_user.org.org_name
155
         this.org_name = this.$store.getters.xt_user.org.org_name
151
     },
156
     },
152
     methods:{
157
     methods:{
153
         getInvoice(params){
158
         getInvoice(params){
154
             getInvoice(params).then((res) => {
159
             getInvoice(params).then((res) => {
155
-                console.log('res',res);
156
-                this.list = res.data.data;
160
+                console.log('res',res)
161
+                this.list = res.data.data
157
                 this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
162
                 this.totalPrice = this.list.westernMedicineCostTotal + this.list.checkCostTotal + this.list.treatCostTotal + this.list.bedCostTotal + this.list.chineseTraditionalMedicineCostTotal +
158
-                                    this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal;
163
+                                    this.list.laboratoryCostTotal + this.list.operationCostTotal + this.list.otherCostTotal + this.list.materialCostTotal
159
                 this.smalltoBIG(this.totalPrice)
164
                 this.smalltoBIG(this.totalPrice)
165
+                // var data = new Date(res.data.data.date * 1000);
166
+                var data = new Date(this.paramsObj.setl_time);
167
+                var month =data.getMonth() < 9 ? "0" + (data.getMonth() + 1) : data.getMonth() + 1;
168
+                var date = data.getDate() <= 9 ? "0" + data.getDate() : data.getDate();
169
+                this.printDate = data.getFullYear() + "-" + month + "-" + date;
160
             })
170
             })
161
         },
171
         },
162
         smalltoBIG(n) {
172
         smalltoBIG(n) {
186
             }
196
             }
187
 
197
 
188
             var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
198
             var unit = "仟佰拾亿仟佰拾万仟佰拾元角分", str = "";
189
-            n += "00";
199
+            n += "00";  
190
 
200
 
191
             var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
201
             var indexpoint = n.indexOf('.');  // 如果是小数,截取小数点前面的位数
192
 
202
 
211
                 let params = {
221
                 let params = {
212
                     order_id: val.order_id,
222
                     order_id: val.order_id,
213
                     patient_id: val.patient_id,
223
                     patient_id: val.patient_id,
214
-                };
224
+                }
215
                 this.getInvoice(params)
225
                 this.getInvoice(params)
216
 
226
 
217
             },
227
             },

+ 30 - 3
src/xt_pages/hospitalStation/outpatientChargesManagement.vue View File

108
                         size="small" @click="open(7)" type="primary"
108
                         size="small" @click="open(7)" type="primary"
109
                       >撤销入院
109
                       >撤销入院
110
                       </el-button>
110
                       </el-button>
111
+                      <el-button
112
+                        size="small" @click="invoicePrint" type="primary"
113
+                      >发票打印
114
+                      </el-button>
111
                     </div>
115
                     </div>
112
-
116
+                    
113
 
117
 
114
 
118
 
115
                 </div>
119
                 </div>
329
             <new-statement-print-two :params-obj="newOrderObj"></new-statement-print-two>
333
             <new-statement-print-two :params-obj="newOrderObj"></new-statement-print-two>
330
             <!--<newStatementPrint ref="print" :paramsObj='newOrderObj'></newStatementPrint>-->
334
             <!--<newStatementPrint ref="print" :paramsObj='newOrderObj'></newStatementPrint>-->
331
         </el-dialog>
335
         </el-dialog>
336
+        <el-dialog
337
+                class="centerDialog"
338
+                width="1200px"
339
+                title="打印"
340
+                :visible.sync="invoiceVisible">
341
+            <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
342
+        </el-dialog>
332
     </div>
343
     </div>
333
 
344
 
334
 </template>
345
 </template>
364
   import NewStatementPrintTwo from './newStatementPrintTwo'
375
   import NewStatementPrintTwo from './newStatementPrintTwo'
365
   import RegisterDialog9504 from './components/registerDialog9504'
376
   import RegisterDialog9504 from './components/registerDialog9504'
366
   import ChargePrescriptionTable from "./components/ChargePrescriptionTable";
377
   import ChargePrescriptionTable from "./components/ChargePrescriptionTable";
378
+  import invoicePrint from './invoicePrint'
367
 
379
 
368
   const moment = require('moment');
380
   const moment = require('moment');
369
   export default {
381
   export default {
381
       medicalInsuranceRefund,
393
       medicalInsuranceRefund,
382
       additionalCharges,
394
       additionalCharges,
383
       treatPrint,
395
       treatPrint,
384
-      statementPrint
396
+      statementPrint,
397
+      invoicePrint
385
 
398
 
386
     },
399
     },
387
     data() {
400
     data() {
467
         sick: [],
480
         sick: [],
468
         diagnoses: [],
481
         diagnoses: [],
469
 
482
 
470
-        department: []
483
+        department: [],
484
+        invoiceVisible:false,
485
+        invoiceParams:{},
471
 
486
 
472
       }
487
       }
473
     },
488
     },
2797
 
2812
 
2798
         }
2813
         }
2799
 
2814
 
2815
+      },
2816
+      invoicePrint(obj){
2817
+        console.log(this.hisPatientInfo)
2818
+        let paramsObj = {
2819
+          order_id: this.hisPatientInfo.id,
2820
+          patient_id: this.hisPatientInfo.patient_id,
2821
+          name:this.hisPatientInfo.name,
2822
+          gend:this.hisPatientInfo.gend,
2823
+          setl_time:this.hisPatientInfo.out_hosptial_time
2824
+        }
2825
+        this.invoiceParams = paramsObj
2826
+        this.invoiceVisible = true
2800
       }
2827
       }
2801
     },
2828
     },
2802
     mounted() {
2829
     mounted() {

+ 1 - 1
src/xt_pages/outpatientCharges/summary.vue View File

511
       invoicePrint(obj){
511
       invoicePrint(obj){
512
         console.log(obj)
512
         console.log(obj)
513
         let paramsObj = {
513
         let paramsObj = {
514
-          order_id: obj.order_info.order_id,
514
+          order_id: obj.id,
515
           patient_id: obj.patient_id,
515
           patient_id: obj.patient_id,
516
           name:obj.patient.name,
516
           name:obj.patient.name,
517
           age:obj.age,
517
           age:obj.age,