Browse Source

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

XMLWAN 2 years ago
parent
commit
738af3b7a9

+ 4 - 4
src/xt_pages/dialysis/template/DialysisPrintOrderFortyEight.vue View File

173
                   prescription.target_ultrafiltration
173
                   prescription.target_ultrafiltration
174
                     ? prescription.target_ultrafiltration
174
                     ? prescription.target_ultrafiltration
175
                     : "/"
175
                     : "/"
176
-                }}L
176
+                }}ml
177
               </span>
177
               </span>
178
             </td>
178
             </td>
179
             <td style="text-align: left" colspan="1">
179
             <td style="text-align: left" colspan="1">
294
                   afterdialysis.actual_ultrafiltration
294
                   afterdialysis.actual_ultrafiltration
295
                     ? afterdialysis.actual_ultrafiltration
295
                     ? afterdialysis.actual_ultrafiltration
296
                     : "/"
296
                     : "/"
297
-                }}L
297
+                }}ml
298
               </span>
298
               </span>
299
             </td>
299
             </td>
300
             <td style="text-align: left" colspan="2">
300
             <td style="text-align: left" colspan="2">
808
               <span style="display: inline-block; margin-left: 15px"
808
               <span style="display: inline-block; margin-left: 15px"
809
                 >使用特殊药物:</span
809
                 >使用特殊药物:</span
810
               >
810
               >
811
-              <!-- <label-box :isChecked="prescription.special_medicine == 1 ? true : false" showValue="无"></label-box>
811
+              <label-box :isChecked="prescription.special_medicine == 1 ? true : false" showValue="无"></label-box>
812
               <label-box :isChecked="prescription.special_medicine == 2 ? true : false" showValue="有"></label-box>:
812
               <label-box :isChecked="prescription.special_medicine == 2 ? true : false" showValue="有"></label-box>:
813
               <label-box
813
               <label-box
814
                 :isChecked="prescription.special_medicine == 3 ? true : false"
814
                 :isChecked="prescription.special_medicine == 3 ? true : false"
817
               <label-box
817
               <label-box
818
                 :isChecked="prescription.special_medicine == 4 ? true : false"
818
                 :isChecked="prescription.special_medicine == 4 ? true : false"
819
                 showValue="抗凝药"
819
                 showValue="抗凝药"
820
-              ></label-box> -->
820
+              ></label-box>
821
               其他:{{ prescription.special_medicine_other }}
821
               其他:{{ prescription.special_medicine_other }}
822
             </td>
822
             </td>
823
           </tr>
823
           </tr>

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

2749
         let overlmt_amt = 0
2749
         let overlmt_amt = 0
2750
         let inscp_scp_amt = 0
2750
         let inscp_scp_amt = 0
2751
         let preselfpay_amt = 0
2751
         let preselfpay_amt = 0
2752
+        let day = 0
2752
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
2753
         for (let a = 0; a < drug_month_prescriptions.advices.length; a++) {
2753
           if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
2754
           if (drug_ids[i].price == drug_month_prescriptions.advices[a].price && drug_ids[i].id == drug_month_prescriptions.advices[a].drug_id) {
2754
 
2755
 
2756
             obj['single_dose'] = drug_month_prescriptions.advices[a].single_dose
2757
             obj['single_dose'] = drug_month_prescriptions.advices[a].single_dose
2757
             obj['delivery_way'] = drug_month_prescriptions.advices[a].delivery_way
2758
             obj['delivery_way'] = drug_month_prescriptions.advices[a].delivery_way
2758
             obj['execution_frequency'] = drug_month_prescriptions.advices[a].execution_frequency
2759
             obj['execution_frequency'] = drug_month_prescriptions.advices[a].execution_frequency
2759
-            obj['day'] = drug_month_prescriptions.advices[a].day
2760
             // obj['prescribing_number'] =  obj['prescribing_number']  + drug_month_prescriptions.advices[a].prescribing_number
2760
             // obj['prescribing_number'] =  obj['prescribing_number']  + drug_month_prescriptions.advices[a].prescribing_number
2761
             obj['prescribing_number_unit'] = drug_month_prescriptions.advices[a].prescribing_number_unit
2761
             obj['prescribing_number_unit'] = drug_month_prescriptions.advices[a].prescribing_number_unit
2762
             obj['medical_insurance_number'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2762
             obj['medical_insurance_number'] = drug_month_prescriptions.advices[a].drug.medical_insurance_number
2773
             overlmt_amt = overlmt_amt + drug_month_prescriptions.advices[a].order_info.overlmt_amt
2773
             overlmt_amt = overlmt_amt + drug_month_prescriptions.advices[a].order_info.overlmt_amt
2774
             inscp_scp_amt = inscp_scp_amt + drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2774
             inscp_scp_amt = inscp_scp_amt + drug_month_prescriptions.advices[a].order_info.inscp_scp_amt
2775
             preselfpay_amt = preselfpay_amt + drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2775
             preselfpay_amt = preselfpay_amt + drug_month_prescriptions.advices[a].order_info.preselfpay_amt
2776
+            // day =day + parseNumber(drug_month_prescriptions.advices[a].day)
2776
 
2777
 
2777
 
2778
 
2778
           }
2779
           }
2779
         }
2780
         }
2780
         obj['prescribing_number'] = count
2781
         obj['prescribing_number'] = count
2782
+        obj['day'] = day
2781
         obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2783
         obj['fulamt_ownpay_amt'] = fulamt_ownpay_amt.toFixed(2)
2782
         obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2784
         obj['overlmt_amt'] = overlmt_amt.toFixed(2)
2783
         obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)
2785
         obj['inscp_scp_amt'] = inscp_scp_amt.toFixed(2)

+ 69 - 67
src/xt_pages/hospitalStation/settlementTemplate/hospitalSettlePrint.vue View File

1
 <template>
1
 <template>
2
   <div id="prescription-print" class="print_page_main_content">
2
   <div id="prescription-print" class="print_page_main_content">
3
-    <div class="title">广东省社会医疗保障基金结算清单</div>
4
-    <div style="text-align:right;">清单流水号 <div style="width:120px;" class="under_line">{{ info.mdtrt_id }}</div></div>
3
+    <div class="title">赤峰社会医疗保障基金结算清单</div>
4
+    <div style="text-align:right;">清单流水号 <div style="width:200px;" class="under_line">{{ info.mdtrt_id }}</div></div>
5
     <div class="row">
5
     <div class="row">
6
-      <div>定点医疗机构名称<div style="width:120px;" class="under_line">{{info.fixmedins_name}}</div></div>
7
-      <div>定点医疗机构代码<div style="width:120px;" class="under_line">{{info.fixmedins_code}}</div></div>
6
+      <div>定点医疗机构名称<div style="width:200px;" class="under_line">{{info.fixmedins_name}}</div></div>
7
+      <div>定点医疗机构代码<div style="width:200px;" class="under_line">{{info.fixmedins_code}}</div></div>
8
       <div>医保结算等级
8
       <div>医保结算等级
9
         <div style="width:120px;" class="under_line">
9
         <div style="width:120px;" class="under_line">
10
           <span v-if="info.hosp_lv == '01'">三级特等</span>
10
           <span v-if="info.hosp_lv == '01'">三级特等</span>
23
       </div>
23
       </div>
24
     </div>
24
     </div>
25
     <div class="row">
25
     <div class="row">
26
-      <div>医保编号<div style="width:120px;" class="under_line">{{ info.psn_no }}</div></div>
27
-      <div>病案号<div style="width:120px;" class="under_line">{{ info.psn_no ? info.psn_no : '' }}</div></div>
26
+      <div>医保编号<div style="width:220px;" class="under_line">{{ info.psn_no }}</div></div>
27
+      <div>病案号<div style="width:220px;" class="under_line">{{ info.psn_no ? info.psn_no : '' }}</div></div>
28
       <div>申报时间
28
       <div>申报时间
29
         <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(0,4) : '' }}</div>年
29
         <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(0,4) : '' }}</div>年
30
         <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(5,7) : '' }}</div>月
30
         <div style="width:40px;" class="under_line">{{ info.setl_time ? info.setl_time.split(' ')[0].slice(5,7) : '' }}</div>月
63
             </div>
63
             </div>
64
             <div class="row">
64
             <div class="row">
65
               <div class="inline_block">(年龄不足1周岁)年龄
65
               <div class="inline_block">(年龄不足1周岁)年龄
66
-                <div style="width:80px;" class="under_line">{{info.age}}</div>天
66
+                <div style="width:80px;" class="under_line"></div>天
67
               </div>
67
               </div>
68
               <div class="inline_block">民族
68
               <div class="inline_block">民族
69
                 <div style="width:80px;" class="under_line">{{getNaty(info.naty)}}</div>
69
                 <div style="width:80px;" class="under_line">{{getNaty(info.naty)}}</div>
72
                 <div style="width:80px;" class="under_line">身份证</div>
72
                 <div style="width:80px;" class="under_line">身份证</div>
73
               </div>
73
               </div>
74
               <div class="inline_block">患者证件号码
74
               <div class="inline_block">患者证件号码
75
-                <div style="width:140px;" class="under_line">{{info.certno}}</div>
75
+                <div style="width:200px;" class="under_line">{{info.certno}}</div>
76
               </div>
76
               </div>
77
             </div>
77
             </div>
78
             <div>
78
             <div>
80
                 <div style="width:80px;" class="under_line"></div>
80
                 <div style="width:80px;" class="under_line"></div>
81
               </div>
81
               </div>
82
               <div class="inline_block" style="width:80px;"></div>
82
               <div class="inline_block" style="width:80px;"></div>
83
-              <div class="inline_block">现住址
83
+              <div class="inline_block" >现住址
84
 <!--                <div style="width:80px;" class="under_line"></div>省(区、市)-->
84
 <!--                <div style="width:80px;" class="under_line"></div>省(区、市)-->
85
 <!--                <div style="width:80px;" class="under_line"></div>市-->
85
 <!--                <div style="width:80px;" class="under_line"></div>市-->
86
 <!--                <div style="width:80px;" class="under_line"></div>县-->
86
 <!--                <div style="width:80px;" class="under_line"></div>县-->
87
-                <div style="width:140px;" class="under_line">{{info.patient.home_address}}</div>
87
+                <div style="width:400px;" class="under_line">{{info.patient.home_address}}</div>
88
               </div>
88
               </div>
89
             </div>
89
             </div>
90
             <div class="row">
90
             <div class="row">
91
               <div class="inline_block">工作单位名称
91
               <div class="inline_block">工作单位名称
92
-                <div style="width:80px;" class="under_line">{{info.emp_name}}</div>
92
+                <div style="width:300px;" class="under_line">{{info.emp_name}}</div>
93
               </div>
93
               </div>
94
               <div class="inline_block">工作单位地址
94
               <div class="inline_block">工作单位地址
95
-                <div style="width:160px;" class="under_line">{{info.patient.unit_address}}</div>
95
+                <div style="width:180px;" class="under_line">{{info.patient.unit_address}}</div>
96
               </div>
96
               </div>
97
               <div class="inline_block">单位电话
97
               <div class="inline_block">单位电话
98
                 <div style="width:120px;" class="under_line"></div>
98
                 <div style="width:120px;" class="under_line"></div>
115
                 <div style="width:140px;" class="under_line"></div>
115
                 <div style="width:140px;" class="under_line"></div>
116
               </div>
116
               </div>
117
               <div class="inline_block">电话
117
               <div class="inline_block">电话
118
-                <div style="width:80px;" class="under_line">{{info.patinet.phone}}</div>
118
+                <div style="width:150px;" class="under_line">{{info.patient.phone}}</div>
119
               </div>
119
               </div>
120
             </div>
120
             </div>
121
             <div class="row">
121
             <div class="row">
122
-              <div v-if="info.insutype == '310'" style="width:33%;">医保类型<div style="width:120px;" class="under_line">职工基本医疗保险</div></div>
123
-              <div v-if="info.insutype == '390'"  style="width:33%;">医保类型<div style="width:120px;" class="under_line">城乡居民基本医疗保险</div></div>
122
+              <div v-if="info.insutype == '310'" style="width:40%;">医保类型<div style="width:200px;" class="under_line">职工基本医疗保险</div></div>
123
+              <div v-if="info.insutype == '390'"  style="width:40%;">医保类型<div style="width:200px;" class="under_line">城乡居民基本医疗保险</div></div>
124
               <div  style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
124
               <div  style="width:33%;">特殊人员类型<div style="width:120px;" class="under_line"></div></div>
125
               <div style="width:33%;" v-if="info.his.insuplc_admdvs == '150499'">参保地<div style="width:120px;" class="under_line" >{{'赤峰市'}}</div></div>
125
               <div style="width:33%;" v-if="info.his.insuplc_admdvs == '150499'">参保地<div style="width:120px;" class="under_line" >{{'赤峰市'}}</div></div>
126
               <div style="width:33%;" v-else>参保地<div style="width:120px;" class="under_line" ></div></div>
126
               <div style="width:33%;" v-else>参保地<div style="width:120px;" class="under_line" ></div></div>
166
                 <td>&nbsp;</td>
166
                 <td>&nbsp;</td>
167
                 <td>&nbsp;</td>
167
                 <td>&nbsp;</td>
168
               </tr>
168
               </tr>
169
-              <tr v-for="item in 5">
170
-                <td>&nbsp;</td>
171
-                <td>&nbsp;</td>
169
+              <tr v-for="item in info.dia_config">
170
+                <td>&nbsp;{{item.class_name}}</td>
171
+                <td>&nbsp;{{item.country_code}}</td>
172
                 <td>&nbsp;</td>
172
                 <td>&nbsp;</td>
173
                 <td>&nbsp;</td>
173
                 <td>&nbsp;</td>
174
               </tr>
174
               </tr>
184
         <tr>
184
         <tr>
185
           <td>
185
           <td>
186
             <div class="inline_block">住院医疗类型
186
             <div class="inline_block">住院医疗类型
187
-              <label-box :isChecked="false" showValue="1.住院"></label-box>
187
+              <label-box :isChecked="true" showValue="1.住院"></label-box>
188
               <label-box :isChecked="false" showValue="2.日间手术"></label-box>
188
               <label-box :isChecked="false" showValue="2.日间手术"></label-box>
189
             </div>
189
             </div>
190
           </td>
190
           </td>
196
                 <label-box :isChecked="false" showValue="1.急诊"></label-box>
196
                 <label-box :isChecked="false" showValue="1.急诊"></label-box>
197
                 <label-box :isChecked="false" showValue="2.门诊"></label-box>
197
                 <label-box :isChecked="false" showValue="2.门诊"></label-box>
198
                 <label-box :isChecked="false" showValue="3.其他医疗机构转入"></label-box>
198
                 <label-box :isChecked="false" showValue="3.其他医疗机构转入"></label-box>
199
-                <label-box :isChecked="false" showValue="9.其他"></label-box>
199
+                <label-box :isChecked="true" showValue="9.其他"></label-box>
200
               </div>
200
               </div>
201
             </div>
201
             </div>
202
           </td>
202
           </td>
205
           <td>
205
           <td>
206
             <div>
206
             <div>
207
               <div class="inline_block">治疗类别
207
               <div class="inline_block">治疗类别
208
-                <label-box :isChecked="false" showValue="1.西医"></label-box>
208
+                <label-box :isChecked="true" showValue="1.西医"></label-box>
209
                 <label-box :isChecked="false" showValue="2.中医"></label-box>
209
                 <label-box :isChecked="false" showValue="2.中医"></label-box>
210
210
211
                 <label-box :isChecked="false" showValue="2.1 中医"></label-box>
211
                 <label-box :isChecked="false" showValue="2.1 中医"></label-box>
220
           <td>
220
           <td>
221
             <div class="row">
221
             <div class="row">
222
               <div style="width:40%" class="inline_block">入院时间
222
               <div style="width:40%" class="inline_block">入院时间
223
-                <div style="width:40px;" class="under_line">{{info.his.in_hosptial_time}}</div>
223
+                <div style="width:160px;" class="under_line">{{info.his.in_hosptial_time}}</div>
224
               </div>
224
               </div>
225
               <div style="width:30%" class="inline_block">入院科别
225
               <div style="width:30%" class="inline_block">入院科别
226
                 <div style="width:80px;" class="under_line">{{'血透科'}}</div>
226
                 <div style="width:80px;" class="under_line">{{'血透科'}}</div>
235
           <td>
235
           <td>
236
             <div class="row">
236
             <div class="row">
237
               <div style="width:40%" class="inline_block">出院时间
237
               <div style="width:40%" class="inline_block">出院时间
238
-                <div style="width:40px;" class="under_line">{{info.his.out_hosptial_time}}</div>
238
+                <div style="width:160px;" class="under_line">{{info.his.out_hosptial_time}}</div>
239
               </div>
239
               </div>
240
               <div style="width:30%" class="inline_block">出院科别
240
               <div style="width:30%" class="inline_block">出院科别
241
                 <div style="width:80px;" class="under_line">{{'血透科'}}</div>
241
                 <div style="width:80px;" class="under_line">{{'血透科'}}</div>
250
           <td>
250
           <td>
251
             <div class="row">
251
             <div class="row">
252
               <div style="width:40%" class="inline_block">门(急)诊诊断(西医诊断)
252
               <div style="width:40%" class="inline_block">门(急)诊诊断(西医诊断)
253
-                <div style="width:80px;" class="under_line">{{ info.dise_name }}</div>
253
+                <div style="width:80px;" class="under_line">{{ info.dia_config[0].class_name }}</div>
254
               </div>
254
               </div>
255
               <div style="width:30%" class="inline_block">疾病代码
255
               <div style="width:30%" class="inline_block">疾病代码
256
-                <div style="width:80px;" class="under_line">{{ info.dise_code }}</div>
256
+                <div style="width:80px;" class="under_line">{{ info.dia_config[0].country_code }}</div>
257
               </div>
257
               </div>
258
               <div style="width:30%" class="inline_block">
258
               <div style="width:30%" class="inline_block">
259
               </div>
259
               </div>
491
           <td>
491
           <td>
492
             <div class="inline_block" style="width:50%">
492
             <div class="inline_block" style="width:50%">
493
               主诊医师姓名*
493
               主诊医师姓名*
494
-              <div style="width:80px;" class="under_line"></div>
494
+              <div style="width:80px;" class="under_line">{{info.doctor_info.user_name}}</div>
495
             </div>
495
             </div>
496
             <div class="inline_block">
496
             <div class="inline_block">
497
               主诊医师代码*
497
               主诊医师代码*
498
-              <div style="width:80px;" class="under_line"></div>
498
+              <div style="width:80px;" class="under_line">{{info.doctor_info.doctor_number}}</div>
499
             </div>
499
             </div>
500
           </td>
500
           </td>
501
         </tr>
501
         </tr>
512
                 <td style="width:20%;text-align:left;">
512
                 <td style="width:20%;text-align:left;">
513
                   <div>
513
                   <div>
514
                     业务流水号:
514
                     业务流水号:
515
-                    <div style="width:80px;" class="under_line">{{ info.setl_id }}</div>
515
+                    <div style="width:160px;" class="under_line">{{ info.setl_id }}</div>
516
                   </div>
516
                   </div>
517
                   <div>
517
                   <div>
518
                     票据代码:
518
                     票据代码:
519
-                    <div style="width:80px;" class="under_line"></div>
519
+                    <div style="width:160px;" class="under_line"></div>
520
                   </div>
520
                   </div>
521
                   <div>
521
                   <div>
522
                     票据号码:
522
                     票据号码:
523
-                    <div style="width:80px;" class="under_line"></div>
523
+                    <div style="width:160px;" class="under_line"></div>
524
                   </div>
524
                   </div>
525
                 </td>
525
                 </td>
526
                 <td style="width:80%;">
526
                 <td style="width:80%;">
527
                   <div>
527
                   <div>
528
                     结算期间:
528
                     结算期间:
529
                     <div class="inline_block">
529
                     <div class="inline_block">
530
-                      <div style="width:40px;" class="under_line">{{ info.begndate ? info.begndate.slice(0,4) : '' }}</div>年
531
-                      <div style="width:40px;" class="under_line">{{ info.begndate ? info.begndate.slice(5,7) : '' }}</div>月
532
-                      <div style="width:40px;" class="under_line">{{ info.begndate ? info.begndate.slice(8,11) : '' }}</div>日
530
+                      <div style="width:100px;" class="under_line">{{  info.his.in_hosptial_time ? info.his.in_hosptial_time.split(' ')[0] : '' }}</div>
533
                     </div>——
531
                     </div>——
534
                     <div class="inline_block">
532
                     <div class="inline_block">
535
-                      <div style="width:40px;" class="under_line">{{ info.enddate ? info.enddate.slice(0,4) : '' }}</div>年
536
-                      <div style="width:40px;" class="under_line">{{ info.enddate ? info.enddate.slice(5,7) : '' }}</div>月
537
-                      <div style="width:40px;" class="under_line">{{ info.enddate ? info.enddate.slice(8,11) : '' }}</div>日
533
+                      <div style="width:100px;" class="under_line">{{  info.his.out_hosptial_time ? info.his.out_hosptial_time.split(' ')[0] : '' }}</div>
534
+
538
                     </div>
535
                     </div>
539
                   </div>
536
                   </div>
540
                 </td>
537
                 </td>
557
               </tr>
554
               </tr>
558
               <tr>
555
               <tr>
559
                 <td>床位费</td>
556
                 <td>床位费</td>
560
-                <td>&nbsp;{{info.bed_cost_total}}</td>
557
+                <td>&nbsp;{{info.bed_cost_total?info.bed_cost_total:''}}</td>
561
                 <td>&nbsp;</td>
558
                 <td>&nbsp;</td>
562
                 <td>&nbsp;</td>
559
                 <td>&nbsp;</td>
563
-                <td>&nbsp;{{info.bed_cost_self_total}}</td>
560
+                <td>&nbsp;{{info.bed_cost_self_total?info.bed_cost_self_total:''}}</td>
564
                 <td>&nbsp;</td>
561
                 <td>&nbsp;</td>
565
               </tr>
562
               </tr>
566
               <tr>
563
               <tr>
573
               </tr>
570
               </tr>
574
               <tr>
571
               <tr>
575
                 <td>检查费</td>
572
                 <td>检查费</td>
576
-                <td>&nbsp;{{info.check_cost_total}}</td>
573
+                <td>&nbsp;{{info.check_cost_total?info.check_cost_total:''}}</td>
577
                 <td>&nbsp;</td>
574
                 <td>&nbsp;</td>
578
                 <td>&nbsp;</td>
575
                 <td>&nbsp;</td>
579
-                <td>&nbsp;{{info.check_cost_self_total}}</td>
576
+                <td>&nbsp;{{info.check_cost_self_total?info.check_cost_self_total:""}}</td>
580
                 <td>&nbsp;</td>
577
                 <td>&nbsp;</td>
581
               </tr>
578
               </tr>
582
               <tr>
579
               <tr>
583
                 <td>化验费</td>
580
                 <td>化验费</td>
584
-                <td>&nbsp;{{info.laboratory_cost_total}}</td>
581
+                <td>&nbsp;{{info.laboratory_cost_total?info.laboratory_cost_total:''}}</td>
585
                 <td>&nbsp;</td>
582
                 <td>&nbsp;</td>
586
                 <td>&nbsp;</td>
583
                 <td>&nbsp;</td>
587
-                <td>&nbsp;{{info.laboratory_cost_self_total}}</td>
584
+                <td>&nbsp;{{info.laboratory_cost_self_total?info.laboratory_cost_self_total:''}}</td>
588
                 <td>&nbsp;</td>
585
                 <td>&nbsp;</td>
589
               </tr>
586
               </tr>
590
               <tr>
587
               <tr>
591
                 <td>治疗费</td>
588
                 <td>治疗费</td>
592
-                <td>&nbsp;{{info.treat_cost_total}}</td>
589
+                <td>&nbsp;{{info.treat_cost_total?info.treat_cost_total:''}}</td>
593
                 <td>&nbsp;</td>
590
                 <td>&nbsp;</td>
594
                 <td>&nbsp;</td>
591
                 <td>&nbsp;</td>
595
-                <td>&nbsp;{{info.treat_cost_self_total}}</td>
592
+                <td>&nbsp;{{info.treat_cost_self_total?info.treat_cost_self_total:''}}</td>
596
                 <td>&nbsp;</td>
593
                 <td>&nbsp;</td>
597
               </tr>
594
               </tr>
598
               <tr>
595
               <tr>
599
                 <td>手术费</td>
596
                 <td>手术费</td>
600
-                <td>&nbsp;{{info.operation_cost_total}}</td>
597
+                <td>&nbsp;{{info.operation_cost_total?info.operation_cost_total:''}}</td>
601
                 <td>&nbsp;</td>
598
                 <td>&nbsp;</td>
602
                 <td>&nbsp;</td>
599
                 <td>&nbsp;</td>
603
-                <td>&nbsp;{{info.operation_cost_self_total}}</td>
600
+                <td>&nbsp;{{info.operation_cost_self_total?info.operation_cost_self_total:""}}</td>
604
                 <td>&nbsp;</td>
601
                 <td>&nbsp;</td>
605
               </tr>
602
               </tr>
606
               <tr>
603
               <tr>
613
               </tr>
610
               </tr>
614
               <tr>
611
               <tr>
615
                 <td>卫生材料费</td>
612
                 <td>卫生材料费</td>
616
-                <td>&nbsp;{{info.material_cost_total}}</td>
613
+                <td>&nbsp;{{info.material_cost_total?info.material_cost_total:""}}</td>
617
                 <td>&nbsp;</td>
614
                 <td>&nbsp;</td>
618
                 <td>&nbsp;</td>
615
                 <td>&nbsp;</td>
619
-                <td>&nbsp;{{info.material_cost_self_total}}</td>
616
+                <td>&nbsp;{{info.material_cost_self_total?info.material_cost_self_total:""}}</td>
620
                 <td>&nbsp;</td>
617
                 <td>&nbsp;</td>
621
               </tr>
618
               </tr>
622
               <tr>
619
               <tr>
623
                 <td>西药费</td>
620
                 <td>西药费</td>
624
-                <td>&nbsp;{{info.western_medicine_cost_total}}</td>
621
+                <td>&nbsp;{{info.western_medicine_cost_total?info.western_medicine_cost_total:""}}</td>
625
                 <td>&nbsp;</td>
622
                 <td>&nbsp;</td>
626
                 <td>&nbsp;</td>
623
                 <td>&nbsp;</td>
627
-                <td>&nbsp;{{info.western_medicine_cost_self_total}}</td>
624
+                <td>&nbsp;{{info.western_medicine_cost_self_total?info.western_medicine_cost_self_total:""}}</td>
628
                 <td>&nbsp;</td>
625
                 <td>&nbsp;</td>
629
               </tr>
626
               </tr>
630
               <tr>
627
               <tr>
637
               </tr>
634
               </tr>
638
               <tr>
635
               <tr>
639
                 <td>中成药费</td>
636
                 <td>中成药费</td>
640
-                <td>&nbsp;{{info.chinese_traditional_medicine_cost_total}}</td>
637
+                <td>&nbsp;{{info.chinese_traditional_medicine_cost_total?info.chinese_traditional_medicine_cost_total:""}}</td>
641
                 <td>&nbsp;</td>
638
                 <td>&nbsp;</td>
642
                 <td>&nbsp;</td>
639
                 <td>&nbsp;</td>
643
-                <td>&nbsp;{{info.chinese_traditional_medicine_cost_self_total}}</td>
640
+                <td>&nbsp;{{info.chinese_traditional_medicine_cost_self_total?info.chinese_traditional_medicine_cost_self_total:""}}</td>
644
                 <td>&nbsp;</td>
641
                 <td>&nbsp;</td>
645
               </tr>
642
               </tr>
646
               <tr>
643
               <tr>
669
               </tr>
666
               </tr>
670
               <tr>
667
               <tr>
671
                 <td>金额合计</td>
668
                 <td>金额合计</td>
669
+                <td>{{(parseFloat(info.bed_cost_total) +
670
+                    parseFloat(info.operation_cost_total) + parseFloat(info.other_cost_total) +
671
+                    parseFloat(info.material_cost_total) + parseFloat(info.western_medicine_cost_total) +
672
+                    parseFloat(info.chinese_traditional_medicine_cost_total) + parseFloat(info.check_cost_total) +
673
+                    parseFloat(info.laboratory_cost_total) + parseFloat(info.treat_cost_total)).toFixed(2) }}</td>
672
                 <td>&nbsp;</td>
674
                 <td>&nbsp;</td>
673
                 <td>&nbsp;</td>
675
                 <td>&nbsp;</td>
674
-                <td>&nbsp;</td>
675
-                <td>&nbsp;</td>
676
+                <td>
677
+                </td>
676
                 <td>&nbsp;</td>
678
                 <td>&nbsp;</td>
677
               </tr>
679
               </tr>
678
               </tbody>
680
               </tbody>
692
                   </tr>
694
                   </tr>
693
                   <tr>
695
                   <tr>
694
                     <td>医保统筹基金支付</td>
696
                     <td>医保统筹基金支付</td>
695
-                    <td>&nbsp;{{info.hifp_pay}}</td>
697
+                    <td>&nbsp;{{info.hifp_pay?info.hifp_pay:info.order.hifp_pay}}</td>
696
                   </tr>
698
                   </tr>
697
                   <tr>
699
                   <tr>
698
                     <td>其他支付:</td>
700
                     <td>其他支付:</td>
699
-                    <td>&nbsp;{{info.oth_pay}}</td>
701
+                    <td>&nbsp;{{info.oth_pay?info.oth_pay:info.order.oth_pay}}</td>
700
                   </tr>
702
                   </tr>
701
                   <tr>
703
                   <tr>
702
                     <td>大病保险</td>
704
                     <td>大病保险</td>
703
-                    <td>&nbsp;{{info.hifes_pay}}</td>
705
+                    <td>&nbsp;{{info.hifmi_pay?info.hifmi_pay:info.order.hifmi_pay}}</td>
704
                   </tr>
706
                   </tr>
705
                   <tr>
707
                   <tr>
706
                     <td>医疗救助</td>
708
                     <td>医疗救助</td>
707
-                    <td>&nbsp;{{info.maf_pay}}</td>
709
+                    <td>&nbsp;{{info.maf_pay?info.maf_pay:info.order.maf_pay}}</td>
708
                   </tr>
710
                   </tr>
709
                   <tr>
711
                   <tr>
710
                     <td>公务员医疗补助</td>
712
                     <td>公务员医疗补助</td>
711
-                    <td>&nbsp;{{info.cvlserv_pay}}</td>
713
+                    <td>&nbsp;{{info.cvlserv_pay?info.cvlserv_pay:info.order.cvlserv_pay}}</td>
712
                   </tr>
714
                   </tr>
713
                   <tr>
715
                   <tr>
714
                     <td>大额补充</td>
716
                     <td>大额补充</td>
715
-                    <td>&nbsp;{{info.hifob_pay}}</td>
717
+                    <td>&nbsp;{{info.hifob_pay?info.hifob_pay:info.order.hifob_pay}}</td>
716
                   </tr>
718
                   </tr>
717
                   <tr>
719
                   <tr>
718
                     <td>企业补充</td>
720
                     <td>企业补充</td>
719
-                    <td>&nbsp;{{info.hifes_pay}}</td>
721
+                    <td>&nbsp;{{info.hifes_pay?info.hifes_pay:info.order.hifes_pay}}</td>
720
                   </tr>
722
                   </tr>
721
                   <tr>
723
                   <tr>
722
                     <td>......</td>
724
                     <td>......</td>
736
                   <tr>
738
                   <tr>
737
                     <td rowspan="4" style="width:4%;">个人支付</td>
739
                     <td rowspan="4" style="width:4%;">个人支付</td>
738
                     <td style="width:36%">个人自付</td>
740
                     <td style="width:36%">个人自付</td>
739
-                    <td>{{info.psn_part_amt}}</td>
741
+                    <td>{{info.psn_part_amt?info.psn_part_amt:info.order.psn_part_amt}}</td>
740
                   </tr>
742
                   </tr>
741
                   <tr>
743
                   <tr>
742
                     <td style="width:36%">个人自费</td>
744
                     <td style="width:36%">个人自费</td>
743
-                    <td>{{info.psn_cash_pay}}</td>
745
+                    <td>{{info.psn_cash_pay?info.psn_cash_pay:info.order.psn_cash_pay}}</td>
744
                   </tr>
746
                   </tr>
745
                   <tr>
747
                   <tr>
746
                     <td style="width:36%">个人账户支付</td>
748
                     <td style="width:36%">个人账户支付</td>
747
-                    <td>{{info.acct_pay}}</td>
749
+                    <td>{{info.acct_pay?info.acct_pay:info.order.acct_pay}}</td>
748
                   </tr>
750
                   </tr>
749
                   <tr>
751
                   <tr>
750
                     <td style="width:36%">个人现金支付</td>
752
                     <td style="width:36%">个人现金支付</td>
751
-                    <td>{{info.psn_cash_pay}}</td>
753
+                    <td>{{info.psn_cash_pay?info.psn_cash_pay:info.order.psn_cash_pay}}</td>
752
                   </tr>
754
                   </tr>
753
 
755
 
754
                   </tbody>
756
                   </tbody>
775
       <div class="row">
777
       <div class="row">
776
         <div style="width:50%">
778
         <div style="width:50%">
777
           医疗机构填报部门
779
           医疗机构填报部门
778
-          <div style="width:80px;" class="under_line">{{ info.fixmedins_name }}</div>
780
+          <div style="width:160px;" class="under_line">{{ info.fixmedins_name }}</div>
779
         </div>
781
         </div>
780
         <div style="width:50%">
782
         <div style="width:50%">
781
           医疗机构接收部门
783
           医疗机构接收部门
782
-          <div style="width:80px;" class="under_line"></div>
784
+          <div style="width:160px;" class="under_line"></div>
783
         </div>
785
         </div>
784
       </div>
786
       </div>
785
       <div class="row">
787
       <div class="row">

+ 36 - 9
src/xt_pages/hospitalStation/statementPrint.vue View File

84
       var ptime = Math.round(new Date().getTime() / 1000)
84
       var ptime = Math.round(new Date().getTime() / 1000)
85
       this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
85
       this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
86
 
86
 
87
-      const style =
88
-          '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
89
-      printJS({
90
-        printable: 'statement-print',
91
-        type: 'html',
92
-        style: style,
93
-        scanStyles: false
94
-      })
87
+      if(this.org_id == 10265){
88
+
89
+        const style =
90
+            '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
91
+        const style1 = "@media print{#prescription-print{font-size:14px;}.title{text-align: center;font-size: 22px;font-weight: bold;}.row{display: flex;justify-content: space-between;}.under_line{border-bottom: 1px solid #999;width: 95%;text-align: center;margin-left: 2px;display: inline-block;}.inline_block{display: inline-block;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 14px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; /* 解决边框冲突 */border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid;text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}}";
92
+        printJS({
93
+          printable: "prescription-print",
94
+          type: "html",
95
+          style: style1,
96
+          scanStyles: false
97
+        });
98
+
99
+      }else{
100
+
101
+        const style =
102
+            '@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}'
103
+        printJS({
104
+          printable: 'statement-print',
105
+          type: 'html',
106
+          style: style,
107
+          scanStyles: false
108
+        })
109
+
110
+      }
111
+
112
+
95
 
113
 
96
       // if (this.org_template_info.template_id == 1) {
114
       // if (this.org_template_info.template_id == 1) {
97
       //   printJS({
115
       //   printJS({
294
                 that.p_admin = response.data.data.printor_admin
312
                 that.p_admin = response.data.data.printor_admin
295
                 that.charge_admin = response.data.data.charge_admin
313
                 that.charge_admin = response.data.data.charge_admin
296
                 that.order_infos = response.data.data
314
                 that.order_infos = response.data.data
297
-
315
+                that.info['patient'] = response.data.data.patient
316
+                that.info['diagnosis'] = response.data.data.diagnosis
298
                 that.info['p_admin'] = that.p_admin
317
                 that.info['p_admin'] = that.p_admin
299
                 that.info['charge_admin'] = that.charge_admin
318
                 that.info['charge_admin'] = that.charge_admin
319
+                that.info['fixmedins_name'] = response.data.data.org_name
320
+                that.info['fixmedins_code'] = response.data.data.org_code
321
+                that.info['order'] = response.data.data.order
300
 
322
 
301
                 that.info['date'] = response.data.data.date
323
                 that.info['date'] = response.data.data.date
302
                 that.info['number'] = response.data.data.number
324
                 that.info['number'] = response.data.data.number
303
                 that.info['order_infos'] = response.data.data.order_infos
325
                 that.info['order_infos'] = response.data.data.order_infos
304
                 that.info['diagnosis'] = response.data.data.diagnosis
326
                 that.info['diagnosis'] = response.data.data.diagnosis
327
+                that.info['dia_config'] = response.data.data.dia_config
328
+                that.info['doctor_info'] = response.data.data.doctor_info
329
+
305
 
330
 
306
                 that.info['bed_cost_total'] = response.data.data.bedCostTotal
331
                 that.info['bed_cost_total'] = response.data.data.bedCostTotal
307
                 that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
332
                 that.info['bed_cost_self_total'] = response.data.data.bedCostSelfTotal
342
                 that.info['number'] = response.data.data.number
367
                 that.info['number'] = response.data.data.number
343
                 that.info['order_infos'] = response.data.data.order_infos
368
                 that.info['order_infos'] = response.data.data.order_infos
344
                 that.info['diagnosis'] = response.data.data.diagnosis
369
                 that.info['diagnosis'] = response.data.data.diagnosis
370
+                that.info['his'] = response.data.data.his_hospital
371
+
345
               }
372
               }
346
             })
373
             })
347
             .catch(function(error) {
374
             .catch(function(error) {

+ 5 - 5
src/xt_pages/hospitalStation/statementTemplate/printOne.vue View File

77
         <td>单位名称</td>
77
         <td>单位名称</td>
78
         <td colspan="5">{{info.emp_name}}</td>
78
         <td colspan="5">{{info.emp_name}}</td>
79
         <td width="80">联系电话</td>
79
         <td width="80">联系电话</td>
80
-        <td width="110">{{patient.phone}}</td>
80
+        <td width="110">{{info.patient.phone}}</td>
81
         <td width="80">身份证号</td>
81
         <td width="80">身份证号</td>
82
         <td colspan="3">{{info.certno}}</td>
82
         <td colspan="3">{{info.certno}}</td>
83
       </tr>
83
       </tr>
105
         <td colspan="2" v-if="info.insutype == '390'">城乡居民基本医疗保险</td>
105
         <td colspan="2" v-if="info.insutype == '390'">城乡居民基本医疗保险</td>
106
         <td colspan="2" v-if="info.insutype == '392'">城乡居民大病医疗保险</td>
106
         <td colspan="2" v-if="info.insutype == '392'">城乡居民大病医疗保险</td>
107
         <td colspan="2" v-if="info.insutype == '510'">生育保险</td>
107
         <td colspan="2" v-if="info.insutype == '510'">生育保险</td>
108
-
109
-
110
         <td>入院第一诊断</td>
108
         <td>入院第一诊断</td>
111
-        <td colspan="3"></td>
109
+        <td colspan="3">{{info.diagnosis}}</td>
112
         <td>出院第一诊断</td>
110
         <td>出院第一诊断</td>
113
-        <td colspan="4"></td>
111
+        <td colspan="4">{{info.diagnosis}}</td>
112
+
113
+
114
       </tr>
114
       </tr>
115
       <tr>
115
       <tr>
116
         <td>业务类别</td>
116
         <td>业务类别</td>

+ 122 - 41
src/xt_pages/outpatientCharges/allListPrint.vue View File

14
     </template>
14
     </template>
15
 
15
 
16
     <div class='dialysisPage' style="padding-top:40px;">
16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
17
+      <printOne  v-if="org_id != 10215 && org_id != 0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
18
+      <summary-print v-if="org_id == 10215|| org_id == 0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></summary-print>
19
+
18
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
20
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
19
     </div>
21
     </div>
20
   </div>
22
   </div>
25
   import { uParseTime } from '@/utils/tools'
27
   import { uParseTime } from '@/utils/tools'
26
   import printOne from './allListTemplate/printOne'
28
   import printOne from './allListTemplate/printOne'
27
   import ListPrintTwo from './listTemplate/listPrintTwo'
29
   import ListPrintTwo from './listTemplate/listPrintTwo'
30
+  import SummaryPrint from './allListTemplate/summaryPrint'
28
 
31
 
29
   export default {
32
   export default {
30
     name: 'allListPrint',
33
     name: 'allListPrint',
31
     components: {
34
     components: {
35
+      SummaryPrint,
32
       ListPrintTwo,
36
       ListPrintTwo,
33
       printOne
37
       printOne
34
     },
38
     },
42
         order: {},
46
         order: {},
43
         admin: {},
47
         admin: {},
44
         his_hospital:{},
48
         his_hospital:{},
49
+        org_id:0,
45
       }
50
       }
46
     },
51
     },
47
 
52
 
48
     created() {
53
     created() {
49
       this.getInfo(this.paramsObj.id)
54
       this.getInfo(this.paramsObj.id)
50
-
55
+      this.org_id = this.$store.getters.xt_user.org_id
51
     },
56
     },
52
     methods: {
57
     methods: {
53
       getTimes(time) {
58
       getTimes(time) {
62
             return false
67
             return false
63
           } else {
68
           } else {
64
             this.order = response.data.data.order
69
             this.order = response.data.data.order
70
+            this.order['bedCostTotal'] = response.data.data.bedCostTotal
71
+            this.order['operationCostTotal'] = response.data.data.operationCostTotal
72
+            this.order['otherCostTotal'] = response.data.data.otherCostTotal
73
+            this.order['materialCostTotal'] = response.data.data.materialCostTotal
74
+            this.order['westernMedicineCostTotal'] = response.data.data.westernMedicineCostTotal
75
+            this.order['chineseTraditionalMedicineCostTotal'] = response.data.data.chineseTraditionalMedicineCostTotal
76
+            this.order['checkCostTotal'] = response.data.data.checkCostTotal
77
+            this.order['zhenChaCostTotal'] = response.data.data.zhenChaCostTotal
78
+            this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
79
+            this.order['treatCostTotal'] = response.data.data.treatCostTotal
80
+
81
+
65
             this.patient = response.data.data.patient
82
             this.patient = response.data.data.patient
66
             this.admin = response.data.data.admin_info
83
             this.admin = response.data.data.admin_info
67
             this.his_hospital = response.data.data.his_hospital
84
             this.his_hospital = response.data.data.his_hospital
68
             var order_info = response.data.data.order_info
85
             var order_info = response.data.data.order_info
69
 
86
 
70
-            //获取所有项目类型进行去重
71
-            let med_chrgitm_types = []
72
-            for (let i = 0; i < order_info.length; i++) {
73
-              med_chrgitm_types.push(order_info[i].med_chrgitm_type)
74
-            }
75
-            const obj = {}
76
-            med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
77
-              obj[next] ? '' : obj[next] = true && cur.push(next)
78
-              return cur
79
-            }, []) // 设置cur默认类型为数组,并且初始值为空的数组
80
-
81
-            let tempOrderInfo = []
82
-
83
-            for (let i = 0; i < med_chrgitm_types.length; i++) {
84
-              let obj = {
85
-                total: 0,
86
-                details: []
87
+            if(this.$store.getters.xt_user.org_id == 10215 || this.$store.getters.xt_user.org_id == 0){
88
+              //获取所有项目类型进行去重
89
+              let med_chrgitm_types = []
90
+              for (let i = 0; i < order_info.length; i++) {
91
+                med_chrgitm_types.push(order_info[i].med_chrgitm_type)
87
               }
92
               }
88
-              let tempDetails = []
89
-              for (let b = 0; b < order_info.length; b++) {
90
-                if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
91
-                  tempDetails.push(order_info[b])
93
+              const obj = {}
94
+              med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
95
+                obj[next] ? '' : obj[next] = true && cur.push(next)
96
+                return cur
97
+              }, []) // 设置cur默认类型为数组,并且初始值为空的数组
98
+
99
+              let tempOrderInfo = []
100
+
101
+              for (let i = 0; i < med_chrgitm_types.length; i++) {
102
+                let obj = {
103
+                  total: 0,
104
+                  details: []
105
+                }
106
+                let tempDetails = []
107
+                for (let b = 0; b < order_info.length; b++) {
108
+                  if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
109
+                    tempDetails.push(order_info[b])
110
+                  }
92
                 }
111
                 }
93
-              }
94
 
112
 
95
-              obj.details = this.setNewData(tempDetails)
96
-              obj.total = this.getTotal(obj.details)
113
+                obj.details = this.setNewData(tempDetails)
114
+                // obj.total = this.getTotal(obj.details)
115
+                //
116
+                // obj.details.push({
117
+                //   total: obj.total,
118
+                //   is_total: 1,
119
+                // })
120
+                this.list =  this.list.concat(obj.details)
121
+              }
97
 
122
 
98
-              obj.details.push({
99
-                total: obj.total,
100
-                is_total: 1,
101
-              })
102
-              this.list =  this.list.concat(obj.details)
103
-            }
104
 
123
 
124
+            }else{
105
 
125
 
126
+              //获取所有项目类型进行去重
127
+              let med_chrgitm_types = []
128
+              for (let i = 0; i < order_info.length; i++) {
129
+                med_chrgitm_types.push(order_info[i].med_chrgitm_type)
130
+              }
131
+              const obj = {}
132
+              med_chrgitm_types = med_chrgitm_types.reduce((cur, next) => {
133
+                obj[next] ? '' : obj[next] = true && cur.push(next)
134
+                return cur
135
+              }, []) // 设置cur默认类型为数组,并且初始值为空的数组
136
+
137
+              let tempOrderInfo = []
138
+
139
+              for (let i = 0; i < med_chrgitm_types.length; i++) {
140
+                let obj = {
141
+                  total: 0,
142
+                  details: []
143
+                }
144
+                let tempDetails = []
145
+                for (let b = 0; b < order_info.length; b++) {
146
+                  if (med_chrgitm_types[i] == order_info[b].med_chrgitm_type) {
147
+                    tempDetails.push(order_info[b])
148
+                  }
149
+                }
106
 
150
 
151
+                obj.details = this.setNewData(tempDetails)
152
+                obj.total = this.getTotal(obj.details)
107
 
153
 
154
+                obj.details.push({
155
+                  total: obj.total,
156
+                  is_total: 1,
157
+                })
158
+                this.list =  this.list.concat(obj.details)
159
+              }
160
+            }
108
           }
161
           }
109
         })
162
         })
110
       }, getTotal:function(items){
163
       }, getTotal:function(items){
158
               if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
211
               if (new_drug_ids[i].id == details[a].advice.drug_id && new_drug_ids[i].price == details[a].advice.price) {
159
                 obj['name'] = details[a].advice.advice_name
212
                 obj['name'] = details[a].advice.advice_name
160
                 obj['spec'] = details[a].advice.drug.drug_spec
213
                 obj['spec'] = details[a].advice.drug.drug_spec
161
-                obj['unit'] = details[a].advice.drug.max_unit
162
-
214
+                obj['unit'] = details[a].advice.drug.min_unit
215
+                obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
163
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
216
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
164
                 obj['price'] = parseFloat(details[a].pric)
217
                 obj['price'] = parseFloat(details[a].pric)
165
                 obj['is_total'] = 2
218
                 obj['is_total'] = 2
179
               if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
232
               if (new_project_ids[i].id == details[a].project.project_id && new_project_ids[i].price == details[a].project.price) {
180
                if( details[a].project.type == 2){
233
                if( details[a].project.type == 2){
181
                  obj['name'] = details[a].project.project.project_name
234
                  obj['name'] = details[a].project.project.project_name
235
+                 obj['spec'] = '次'
236
+                 obj['unit'] = details[a].project.project.unit
237
+
238
+
182
                }else if(details[a].project.type == 3){
239
                }else if(details[a].project.type == 3){
183
                  obj['name'] = details[a].project.good_info.good_name
240
                  obj['name'] = details[a].project.good_info.good_name
184
-               }
185
-                obj['unit'] = details[a].project.unit
241
+                 obj['spec'] = details[a].project.good_info.specification_name
242
+                 obj['unit'] = this.getGoodUnit( details[a].project.good_info.good_unit)
186
 
243
 
187
-                obj['spec'] = '1'
244
+               }
245
+                obj['medicine_insurance_kind'] = this.getMedicineInsuranceType(details[a].chrgitm_lv)
188
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
246
                 obj['med_chrgitm_type'] = this.getType(details[a].med_chrgitm_type)
189
                 obj['price'] = parseFloat(details[a].pric)
247
                 obj['price'] = parseFloat(details[a].pric)
190
                 obj['is_total'] = 2
248
                 obj['is_total'] = 2
199
 
257
 
200
         return list
258
         return list
201
 
259
 
202
-      }, unique(array) {
260
+      }, getGoodUnit(id) {
261
+        var goodUnit = this.$store.getters.good_unit
262
+        for (let i = 0; i < goodUnit.length; i++) {
263
+          if (goodUnit[i].id == id) {
264
+            return goodUnit[i].name
265
+          }
266
+        }
267
+      },unique(array) {
203
         // res用来存储结果
268
         // res用来存储结果
204
         var res = []
269
         var res = []
205
         for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
270
         for (var i = 0, arrayLen = array.length; i < arrayLen; i++) {
214
           }
279
           }
215
         }
280
         }
216
         return res
281
         return res
217
-      },
218
-
219
-      getType(med_chrgitm_type) {
282
+      },getType(med_chrgitm_type){
220
         switch (med_chrgitm_type) {
283
         switch (med_chrgitm_type) {
221
           case '01':
284
           case '01':
222
             return '床位费'
285
             return '床位费'
275
 
338
 
276
         }
339
         }
277
 
340
 
341
+
342
+      },
343
+
344
+      getMedicineInsuranceType(type) {
345
+        switch (type) {
346
+          case "01":
347
+            return '甲类'
348
+            break
349
+          case "02":
350
+            return '乙类'
351
+
352
+            break
353
+          case "03":
354
+            return '自费'
355
+            break
356
+
357
+        }
358
+
278
       },
359
       },
279
       printThisPage() {
360
       printThisPage() {
280
 
361
 

+ 0 - 13
src/xt_pages/outpatientCharges/allListTemplate/summary.vue View File

1
-<template>
2
-
3
-</template>
4
-
5
-<script>
6
-export default {
7
-  name: 'summary'
8
-}
9
-</script>
10
-
11
-<style scoped>
12
-
13
-</style>

+ 241 - 0
src/xt_pages/outpatientCharges/allListTemplate/summaryPrint.vue View File

1
+<template>
2
+  <div id="allList-print" class="allList-print">
3
+    <div class="allListTitle">{{ $store.getters.xt_user.org.org_name }}汇总清单</div>
4
+    <div class="allListInfo">
5
+      <div>科别:门诊</div>
6
+      <div>床号:</div>
7
+      <div>门诊号:{{ order.mdtrt_id }}</div>
8
+      <div>患者姓名:{{ patient.name }}</div>
9
+    </div>
10
+
11
+    <div class="allListInfo">
12
+      <div>预交款:</div>
13
+      <div>门诊日期:</div>
14
+      <div>总费用:{{ order.medfee_sumamt }}</div>
15
+    </div>
16
+
17
+    <div class="allListInfo">
18
+      <div>西药:{{order.westernMedicineCostTotal?order.westernMedicineCostTotal:''}}</div>
19
+      <div >中成药:{{order.chineseTraditionalMedicineCostTotal?order.chineseTraditionalMedicineCostTotal:''}}</div>
20
+      <div >中草药:</div>
21
+      <div >检查费:{{order.checkCostTotal?order.checkCostTotal:''}}</div>
22
+    </div>
23
+
24
+
25
+    <div class="allListInfo">
26
+      <div >输氧费:</div>
27
+      <div>手术费:{{order.operationCostTotal?order.operationCostTotal:''}}</div>
28
+      <div >化验费:{{order.laboratoryCostTotal?order.laboratoryCostTotal:''}}</div>
29
+      <div>输血费:</div>
30
+    </div>
31
+
32
+
33
+    <div class="allListInfo">
34
+      <div >诊察费:{{order.zhenChaCostTotal?order.zhenChaCostTotal:''}}</div>
35
+      <div >治疗费:{{order.treatCostTotal?order.treatCostTotal:''}}</div>
36
+      <div >护理费:</div>
37
+      <div >床位费:{{order.bedCostTotal?order.bedCostTotal:''}}</div>
38
+    </div>
39
+
40
+
41
+    <div class="allListInfo">
42
+      <div >麻醉费:</div>
43
+      <div >材料费:{{order.materialCostTotal?order.materialCostTotal:''}}</div>
44
+      <div >其他费:{{order.otherCostTotal?order.otherCostTotal:''}}</div>
45
+    </div>
46
+    <!--    <div style="display:flex;justify-content: space-between;">-->
47
+<!--          <div style="position: absolute;top:160px;left:40px">西药</div>-->
48
+<!--          <div style="position: absolute;top:160px;left:110px">{{ list.westernMedicineCostTotal }}</div>-->
49
+<!--          <div style="position: absolute;top:160px;left:180px">检查费</div>-->
50
+<!--          <div style="position: absolute;top:160px;left:260px">{{ list.checkCostTotal }}</div>-->
51
+<!--          <div style="position: absolute;top:160px;left:340px">化验费</div>-->
52
+<!--          <div style="position: absolute;top:160px;left:420px">{{ list.treatCostTotal }}</div>-->
53
+<!--          <div style="position: absolute;top:160px;left:500px">治疗费</div>-->
54
+<!--          <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
55
+<!--          <div style="position: absolute;top:160px;left:500px">麻醉费</div>-->
56
+<!--          <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
57
+    <!--    </div>-->
58
+    <!--    <div style="display:flex;justify-content: space-between;">-->
59
+    <!--      <div style="position: absolute;top:190px;left:40px">中成药</div>-->
60
+    <!--      <div style="position: absolute;top:190px;left:110px">{{ list.chineseTraditionalMedicineCostTotal }}</div>-->
61
+    <!--      <div style="position: absolute;top:190px;left:180px">输氧费</div>-->
62
+    <!--      <div style="position: absolute;top:190px;left:260px">{{ list.laboratoryCostTotal }}</div>-->
63
+    <!--      <div style="position: absolute;top:190px;left:340px">输血费</div>-->
64
+    <!--      <div style="position: absolute;top:190px;left:420px">{{ list.operationCostTotal }}</div>-->
65
+    <!--      <div style="position: absolute;top:190px;left:500px">护理费</div>-->
66
+    <!--      <div style="position: absolute;top:190px;left:580px">{{ list.otherCostTotal }}</div>-->
67
+
68
+    <!--      <div style="position: absolute;top:160px;left:500px">材料费</div>-->
69
+    <!--      <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
70
+    <!--    </div>-->
71
+    <!--    <div style="display:flex;justify-content: space-between;">-->
72
+    <!--      <div style="position: absolute;top:210px;left:40px">中草药</div>-->
73
+    <!--      <div style="position: absolute;top:210px;left:110px"></div>-->
74
+    <!--      <div style="position: absolute;top:210px;left:180px">手术费</div>-->
75
+    <!--      <div style="position: absolute;top:210px;left:260px"></div>-->
76
+    <!--      <div style="position: absolute;top:210px;left:340px">诊察费</div>-->
77
+    <!--      <div style="position: absolute;top:210px;left:420px">{{ list.materialCostTotal }}</div>-->
78
+    <!--      <div style="position: absolute;top:210px;left:500px">床位费</div>-->
79
+    <!--      <div style="position: absolute;top:210px;left:580px"></div>-->
80
+    <!--      <div style="position: absolute;top:160px;left:500px">其他</div>-->
81
+    <!--      <div style="position: absolute;top:160px;left:580px">{{ list.bedCostTotal }}</div>-->
82
+    <!--    </div>-->
83
+
84
+
85
+    <table class="allListTable" border="1">
86
+      <tr>
87
+        <td style="width:10%">费用类别</td>
88
+        <td style="width:35%">项目名称</td>
89
+        <td style="width:15%">规格</td>
90
+        <td style="width:5%">单位</td>
91
+        <td style="width:10%">数量</td>
92
+        <td style="width:10%">单价</td>
93
+        <td style="width:10%">金额</td>
94
+        <td style="width:10%">医保类型</td>
95
+
96
+      </tr>
97
+      <template v-for='(item,index) in list'>
98
+        <tr>
99
+          <td style="width:10%">{{ item.med_chrgitm_type }}</td>
100
+          <td style="width:35%">{{ item.name }}</td>
101
+          <td style="width:15%">{{ item.spec }}</td>
102
+          <td style="width:5%">{{ item.unit }}</td>
103
+          <td style="width:10%">{{ item.count }}</td>
104
+          <td style="width:10%">{{ item.price }}</td>
105
+          <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
106
+          <td style="width:10%">{{ item.medicine_insurance_kind }}</td>
107
+
108
+        </tr>
109
+      </template>
110
+    </table>
111
+
112
+  </div>
113
+</template>
114
+
115
+<script>
116
+import { uParseTime } from '@/utils/tools'
117
+
118
+export default {
119
+  props: {
120
+    list: {
121
+      type: Array,
122
+      default: function() {
123
+        return []
124
+      }
125
+    }, patient: {
126
+      type: Object,
127
+      default: function() {
128
+        return {}
129
+      }
130
+    }, order: {
131
+      type: Object,
132
+      default: function() {
133
+        return {}
134
+      }
135
+    }, admin: {
136
+      type: Object,
137
+      default: function() {
138
+        return {}
139
+      }
140
+    }, hospital: {
141
+      type: Object,
142
+      default: function() {
143
+        return {}
144
+      }
145
+
146
+    }
147
+  },
148
+  data() {
149
+    return {
150
+      page: 1,
151
+      pageArr: []
152
+    }
153
+  },
154
+  methods: {
155
+    getNowTime: function() {
156
+      let dateTime
157
+      let yy = new Date().getFullYear()
158
+      let mm = new Date().getMonth() + 1
159
+      let dd = new Date().getDate()
160
+      let hh = new Date().getHours()
161
+      let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
162
+          :
163
+          new Date().getMinutes()
164
+      let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
165
+          :
166
+          new Date().getSeconds()
167
+      dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
168
+      return dateTime
169
+    },
170
+    getTimes(time) {
171
+      return uParseTime(time, '{y}-{m}-{d}')
172
+    }, getTotal: function(items) {
173
+      let total = 0
174
+      for (let i = 0; i < items.length; i++) {
175
+        total = total + (items[i].count * items[i].price).toFixed(2)
176
+      }
177
+      return total
178
+
179
+    }
180
+
181
+  },
182
+  watch: {
183
+    list: {
184
+      handler(newVal) {
185
+        this.getPage()
186
+      },
187
+      deep: true
188
+    }
189
+  }
190
+}
191
+
192
+
193
+</script>
194
+
195
+<style lang="scss" scoped>
196
+.allList-print {
197
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
198
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
199
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
200
+  margin-bottom: 20px;
201
+  padding: 20px 10px;
202
+}
203
+
204
+.allListTitle {
205
+  font-size: 24px;
206
+  text-align: center;
207
+  font-weight: bold;
208
+  margin-bottom: 10px;
209
+}
210
+
211
+.allListInfo {
212
+  display: flex;
213
+  font-size: 16px;
214
+  justify-content: space-between;
215
+  margin: 10px 0;
216
+}
217
+
218
+.allListTable {
219
+  width: 100%;
220
+  text-align: center;
221
+  border-collapse: collapse;
222
+  line-height: 20px;
223
+  font-size: 14px;
224
+  border-color: #000;
225
+  text-align: left;
226
+}
227
+
228
+.allListTable tr td {
229
+  padding: 0 5px;
230
+}
231
+
232
+.tableBottom {
233
+  font-size: 16px;
234
+  display: flex;
235
+  margin-top: 20px;
236
+}
237
+
238
+.tableBottomOne {
239
+  margin-right: 40px;
240
+}
241
+</style>

+ 13 - 13
src/xt_pages/outpatientCharges/invoiceTemplate/printSix.vue View File

1
 <template>
1
 <template>
2
     <div id='invoice-print'>
2
     <div id='invoice-print'>
3
         <div v-for='(i,index) in pageArr.length' :key="index" >
3
         <div v-for='(i,index) in pageArr.length' :key="index" >
4
-            <div :style="{position: 'absolute',top:(20 + (index * 570))  + 'px',left:200+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
-            <div :style="{position: 'absolute',top:(80 + (index * 570))  + 'px',left:150+ 'px',}">{{ list.order_number }}</div>
4
+            <div :style="{position: 'absolute',top:(20 + (index * 660))  + 'px',left:200+ 'px',}">盐城大丰悦达金骆驼血液透析中心</div>
5
+            <div :style="{position: 'absolute',top:(70 + (index * 660))  + 'px',left:150+ 'px',}">{{ list.order_number }}</div>
6
             <div style="display:flex;justify-content: space-between;">
6
             <div style="display:flex;justify-content: space-between;">
7
-                <div :style="{position: 'absolute',top:(130 + (index * 570))  + 'px',left:80+ 'px',}">{{ paramsObj.name }}</div>
7
+                <div :style="{position: 'absolute',top:(100 + (index * 660))  + 'px',left:100+ 'px',}">{{ paramsObj.name }}</div>
8
             </div>
8
             </div>
9
-            <div :style="{position: 'absolute',top:(190 + (index * 570))  + 'px',left:80+ 'px',}">
9
+            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:120+ 'px',}">
10
                 <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
10
                 <div v-if="list.westernMedicineCostTotal">西药 {{ list.westernMedicineCostTotal }}</div>
11
                 <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
11
                 <div v-if="list.treatCostTotal">治疗费 {{ list.treatCostTotal }}</div>
12
                 <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
12
                 <div v-if="list.bedCostTotal">床位费 {{ list.bedCostTotal }}</div>
16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
16
                 <div v-if="list.otherCostTotal">其他费 {{ list.otherCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
17
                 <div v-if="list.materialCostTotal">材料费 {{ list.materialCostTotal }}</div>
18
             </div>
18
             </div>
19
-            <div :style="{position: 'absolute',top:(190 + (index * 570))  + 'px',left:260+ 'px'}">
19
+            <div :style="{position: 'absolute',top:(190 + (index * 660))  + 'px',left:300+ 'px'}">
20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
20
                 <div v-for="item in list.order_info.slice(index * 10,(index * 10) + pageArr[index])">
21
                     <span style="display:inline-block;width:200px;">
21
                     <span style="display:inline-block;width:200px;">
22
                         <span v-if="item.advice.id == 0">
22
                         <span v-if="item.advice.id == 0">
41
                     </span>
41
                     </span>
42
                 </div>
42
                 </div>
43
             </div>
43
             </div>
44
-            <div :style="{position: 'absolute',top:(390 + (index * 570))  + 'px',left:110+ 'px'}">{{ zhongwen }}</div>
45
-            <div :style="{position: 'absolute',top:(390 + (index * 570))  + 'px',left:460+ 'px'}">{{ list.medfee_sumamt }}</div>
46
-            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(420 + (index * 570))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
44
+            <div :style="{position: 'absolute',top:(390 + (index * 660))  + 'px',left:130+ 'px'}">{{ zhongwen }}</div>
45
+            <div :style="{position: 'absolute',top:(390 + (index * 660))  + 'px',left:480+ 'px'}">{{ list.medfee_sumamt }}</div>
46
+            <div v-if="index == pageArr.length - 1" :style="{position: 'absolute',top:(420 + (index * 660))  + 'px',left:110+ 'px',width:100 + '%',fontSize:12+'px'}">
47
                 <div style="display:flex;">
47
                 <div style="display:flex;">
48
                   <div style="width:140px">医疗总费用:{{ list.order.medfee_sumamt }}</div>
48
                   <div style="width:140px">医疗总费用:{{ list.order.medfee_sumamt }}</div>
49
                   <div style="width:140px">基金支付总额:{{ list.order.fund_pay_sumamt }}</div>
49
                   <div style="width:140px">基金支付总额:{{ list.order.fund_pay_sumamt }}</div>
70
 
70
 
71
             </div>
71
             </div>
72
             <div>
72
             <div>
73
-                <div :style="{position: 'absolute',top:(500 + (index * 570))  + 'px',left:100+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
-                <div :style="{position: 'absolute',top:(500 + (index * 570))  + 'px',left:360+ 'px'}">{{ paramsObj.chargeName }}</div>
75
-                <div :style="{position: 'absolute',top:(500 + (index * 570))  + 'px',left:520+ 'px'}">
73
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:140+ 'px'}">盐城大丰悦达金骆驼血液透析中心</div>
74
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:410+ 'px'}">{{ paramsObj.chargeName }}</div>
75
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:550+ 'px'}">
76
                     <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
76
                     <span>{{  paramsObj.setl_time ? paramsObj.setl_time.split(' ')[0].slice(0,4) : getTime(list.date, '{y}-{m}-{d}').slice(0,4) }}</span>
77
                 </div>
77
                 </div>
78
-                <div :style="{position: 'absolute',top:(500 + (index * 570))  + 'px',left:560+ 'px'}">
78
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:610+ 'px'}">
79
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
79
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(5,7)) : getTime(list.date, '{y}-{m}-{d}').slice(5,7) }}</span>
80
                 </div>
80
                 </div>
81
-                <div :style="{position: 'absolute',top:(500 + (index * 570))  + 'px',left:600+ 'px'}">
81
+                <div :style="{position: 'absolute',top:(480 + (index * 660))  + 'px',left:650+ 'px'}">
82
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
82
                     <span>{{ paramsObj.setl_time ? parseInt(paramsObj.setl_time.split(' ')[0].slice(8,11)) : getTime(list.date, '{y}-{m}-{d}').slice(8,11) }}</span>
83
                 </div>
83
                 </div>
84
             </div>
84
             </div>

+ 44 - 14
src/xt_pages/outpatientCharges/listPrint.vue View File

14
     </template>
14
     </template>
15
 
15
 
16
     <div class='dialysisPage' style="padding-top:40px;">
16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne v-if="org_id != 10106" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
17
+      <printOne v-if="org_id != 10106 && org_id != 10215 && org_id != 0" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
18
       <printTwo v-if="org_id == 10106 && this.paramsObj.balance_accounts_type != 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
18
       <printTwo v-if="org_id == 10106 && this.paramsObj.balance_accounts_type != 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
19
       <print-three v-if="org_id == 10106 && this.paramsObj.balance_accounts_type == 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></print-three>
19
       <print-three v-if="org_id == 10106 && this.paramsObj.balance_accounts_type == 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></print-three>
20
+      <list-print-two v-if="org_id == 10215 || org_id == 0" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-two>
20
 <!--      <list-print-two></list-print-two>-->
21
 <!--      <list-print-two></list-print-two>-->
21
     </div>
22
     </div>
22
   </div>
23
   </div>
26
   import printOne from './listTemplate/printOne'
27
   import printOne from './listTemplate/printOne'
27
   import printTwo from './listTemplate/printTwo'
28
   import printTwo from './listTemplate/printTwo'
28
   // import printThree from './listTemplate/printThree'
29
   // import printThree from './listTemplate/printThree'
30
+  import print from "print-js";
29
 
31
 
30
   import { getHisOrderDetail,getPrivateExpensesOrder } from '@/api/his/his'
32
   import { getHisOrderDetail,getPrivateExpensesOrder } from '@/api/his/his'
31
   import { uParseTime } from '@/utils/tools'
33
   import { uParseTime } from '@/utils/tools'
77
 
79
 
78
     methods: {
80
     methods: {
79
       getTimes(time) {
81
       getTimes(time) {
80
-        return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
82
+        return uParseTime(time, '{y}-{m}-{d}')
81
       },
83
       },
82
       getInfo(order_id) {
84
       getInfo(order_id) {
83
         let params = {
85
         let params = {
104
               console.log(infos)
106
               console.log(infos)
105
               if (infos.advice && infos.advice.id == 0 && infos.project && infos.project.id > 0) {
107
               if (infos.advice && infos.advice.id == 0 && infos.project && infos.project.id > 0) {
106
                 obj['p_time'] = this.getTimes(infos.project.prescription.ctime)
108
                 obj['p_time'] = this.getTimes(infos.project.prescription.ctime)
109
+                obj['feedetl_sn'] = infos.feedetl_sn
110
+
107
                 if(infos.project.type == 2){
111
                 if(infos.project.type == 2){
108
                   obj['name'] = infos.project.project.project_name
112
                   obj['name'] = infos.project.project.project_name
113
+                  obj['spec'] = ''
114
+                  obj['unit'] =  infos.project.project.unit
115
+
116
+
109
                 }else if (infos.project.type == 3){
117
                 }else if (infos.project.type == 3){
110
                   obj['name'] = infos.project.good_info.good_name
118
                   obj['name'] = infos.project.good_info.good_name
119
+                  obj['spec'] = infos.project.good_info.specification_name
120
+                  obj['unit'] = this.getGoodUnit(infos.project.good_info.good_unit)
121
+
111
                 }
122
                 }
112
-                obj['spec'] = 1
113
-                obj['unit'] = infos.project.unit
114
 
123
 
115
               }
124
               }
116
 
125
 
117
               if (infos.advice && infos.advice.id > 0 && infos.project && infos.project.id == 0) {
126
               if (infos.advice && infos.advice.id > 0 && infos.project && infos.project.id == 0) {
118
                 obj['p_time'] = this.getTimes(infos.advice.prescription.ctime)
127
                 obj['p_time'] = this.getTimes(infos.advice.prescription.ctime)
119
                 obj['name'] = infos.advice.advice_name
128
                 obj['name'] = infos.advice.advice_name
120
-                obj['spec'] = infos.advice.drug.drug_spec
121
-                obj['unit'] = infos.advice.drug.max_unit
129
+                obj['unit'] = infos.advice.drug.min_unit
130
+                obj['feedetl_sn'] =  infos.feedetl_sn
131
+
122
 
132
 
123
               }
133
               }
124
               this.list.push(obj)
134
               this.list.push(obj)
192
       },
202
       },
193
       printThisPage() {
203
       printThisPage() {
194
         if(this.org_id != 10106){
204
         if(this.org_id != 10106){
195
-          const style =
196
-          '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;}}'
197
-          printJS({
198
-            printable: 'list-print',
199
-            type: 'html',
200
-            style: style,
201
-            scanStyles: false
202
-          })
205
+          if(this.org_id == 10215 || this.org_id == 0){
206
+            const style =
207
+                '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .allListTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.allListTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
208
+            printJS({
209
+              printable: 'allList-print',
210
+              type: 'html',
211
+              style: style,
212
+              scanStyles: false
213
+            })
214
+
215
+
216
+          }else {
217
+            const style =
218
+                '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;}}'
219
+            printJS({
220
+              printable: 'list-print',
221
+              type: 'html',
222
+              style: style,
223
+              scanStyles: false
224
+            })
225
+          }
203
         }else{
226
         }else{
204
           const style =
227
           const style =
205
           '@media print {#statement-print{font-size:12px;width:800px;margin:0 auto;}.statementTitle{font-size: 22px;text-align: center;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
228
           '@media print {#statement-print{font-size:12px;width:800px;margin:0 auto;}.statementTitle{font-size: 22px;text-align: center;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}';
242
           }
265
           }
243
         })
266
         })
244
 
267
 
268
+      }, getGoodUnit(id) {
269
+        var goodUnit = this.$store.getters.good_unit
270
+        for (let i = 0; i < goodUnit.length; i++) {
271
+          if (goodUnit[i].id == id) {
272
+            return goodUnit[i].name
273
+          }
274
+        }
245
       },
275
       },
246
       getInfo10106(order_id) {
276
       getInfo10106(order_id) {
247
         if (this.$store.getters.xt_user.org_id == 3877 || 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 == 9674 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {
277
         if (this.$store.getters.xt_user.org_id == 3877 || 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 == 9674 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990 ) {

+ 25 - 18
src/xt_pages/outpatientCharges/listTemplate/listPrintTwo.vue View File

4
       <div class="allListInfo">
4
       <div class="allListInfo">
5
         <div>患者姓名:{{ patient.name }}</div>
5
         <div>患者姓名:{{ patient.name }}</div>
6
         <div>性别:{{ patient.gender == 1 ? '男' : '女' }}</div>
6
         <div>性别:{{ patient.gender == 1 ? '男' : '女' }}</div>
7
-        <div>结算类型:{{balance_accounts_type == 1 ?'医保':'自费'}}</div>
7
+        <div>结算类型:{{order.is_medicine_insurance == 1 ?'医保':'自费'}}</div>
8
         <div>发票号码:</div>
8
         <div>发票号码:</div>
9
+      </div>
10
+
11
+    <div class="allListInfo">
9
         <div>住院/门诊号:{{order.mdtrt_id}}</div>
12
         <div>住院/门诊号:{{order.mdtrt_id}}</div>
10
-        <div>科室:</div>
11
-        <div>就诊流水号:</div>
13
+        <div>科室:血透</div>
14
+        <div>就诊流水号:{{order.mdtrt_id}}</div>
12
         <div>总费用:{{order.medfee_sumamt}}</div>
15
         <div>总费用:{{order.medfee_sumamt}}</div>
13
-        <div>个人支付:{{order.psn_part_amt}}</div>
16
+    </div>
17
+
18
+      <div class="allListInfo">
19
+
20
+      <div>个人支付:{{order.psn_part_amt}}</div>
14
         <div>基金支付记账:{{order.fund_pay_sumamt}}</div>
21
         <div>基金支付记账:{{order.fund_pay_sumamt}}</div>
15
         <div>补充医疗支付记账:0.00</div>
22
         <div>补充医疗支付记账:0.00</div>
16
         <div>救助支付金额:{{order.maf_pay}}</div>
23
         <div>救助支付金额:{{order.maf_pay}}</div>
17
       </div>
24
       </div>
18
       <table class="allListTable" border="1">
25
       <table class="allListTable" border="1">
19
         <tr>
26
         <tr>
20
-          <td style="width:10%">序号</td>
21
-          <td style="width:10%">处方日期</td>
27
+          <td style="width:5%">序号</td>
28
+          <td style="width:15%">处方日期</td>
22
           <td style="width:10%">费用编号</td>
29
           <td style="width:10%">费用编号</td>
23
-          <td style="width:10%">费用名称/规格</td>
24
-          <td style="width:10%">单位</td>
25
-          <td style="width:10%">数量</td>
30
+          <td style="width:40%">费用名称/规格</td>
31
+          <td style="width:5%">单位</td>
32
+          <td style="width:5%">数量</td>
26
           <td style="width:10%">单价</td>
33
           <td style="width:10%">单价</td>
27
           <td style="width:10%">金额</td>
34
           <td style="width:10%">金额</td>
28
         </tr>
35
         </tr>
29
         <template v-for='(item,index) in list'>
36
         <template v-for='(item,index) in list'>
30
           <tr>
37
           <tr>
31
-            <td style="width:10%">{{index + 1}}</td>
32
-            <td style="width:10%">{{}}</td>
33
-            <td style="width:10%">{{ item.feedetl_sn }}</td>
34
-            <td style="width:50%">{{ }}</td>
35
-            <td style="width:10%">{{ }}</td>
36
-            <td style="width:10%">{{ item.cnt }}</td>
37
-            <td style="width:10%">{{ item.pric }}</td>
38
-            <td style="width:10%">{{ (item.pric * item.cnt).toFixed(2) }}</td>
38
+            <td style="width:5%">{{index + 1}}</td>
39
+            <td style="width:15%">{{item.p_time}}</td>
40
+            <td style="width:10%">{{item.feedetl_sn.split("-")[2]}}</td>
41
+            <td style="width:40%">{{item.name}}/{{item.spec}}</td>
42
+            <td style="width:5%">{{item.unit}}</td>
43
+            <td style="width:5%">{{ item.count }}</td>
44
+            <td style="width:10%">{{ item.price }}</td>
45
+            <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
39
           </tr>
46
           </tr>
40
         </template>
47
         </template>
41
       </table>
48
       </table>
114
   watch: {
121
   watch: {
115
     list: {
122
     list: {
116
       handler(newVal) {
123
       handler(newVal) {
117
-        this.getPage()
124
+        // this.getPage()
118
       },
125
       },
119
       deep: true
126
       deep: true
120
     }
127
     }

+ 4 - 4
src/xt_pages/outpatientDoctorStation/batch_print_checkTemplate/printOne.vue View File

14
           id="prescription-print"
14
           id="prescription-print"
15
           class="prescription-print"
15
           class="prescription-print"
16
           style="page-break-after: always"
16
           style="page-break-after: always"
17
-          v-for="(item, index) in i.prescriptions"
18
-          v-if="item.project.length > 0 && getTeam(i.prescriptions).length > 0"
17
+          v-for="(item, index) in i.new_prescriptions"
18
+          v-if="item.project.length > 0 && getTeam(i.new_prescriptions).length > 0"
19
           :key="index"
19
           :key="index"
20
       >
20
       >
21
         <div class="printTitle">检验申请单</div>
21
         <div class="printTitle">检验申请单</div>
41
               }}
41
               }}
42
             </div>
42
             </div>
43
             <div
43
             <div
44
-                v-for="item in getSingleTeam(i.prescriptions)"
44
+                v-for="item in getSingleTeam(i.new_prescriptions)"
45
                 :key="item"
45
                 :key="item"
46
                 style="margin-bottom: 10px"
46
                 style="margin-bottom: 10px"
47
             >
47
             >
87
             <div>检验项目:</div>
87
             <div>检验项目:</div>
88
             <div>
88
             <div>
89
               <div
89
               <div
90
-                  v-for="item in getTeam(i.prescriptions)"
90
+                  v-for="item in getTeam(i.new_prescriptions)"
91
                   :key="item.id"
91
                   :key="item.id"
92
                   style="margin-bottom: 10px"
92
                   style="margin-bottom: 10px"
93
               >
93
               >

+ 2 - 2
src/xt_pages/outpatientDoctorStation/batch_print_template/batchPrintTwo.vue View File

7
           <div class="infoTitle">
7
           <div class="infoTitle">
8
             <p>姓名:{{i.his_patient.id != 0 ? i.his_patient.name : i.name}}</p>
8
             <p>姓名:{{i.his_patient.id != 0 ? i.his_patient.name : i.name}}</p>
9
             <p>性别:
9
             <p>性别:
10
-              <span v-if="item.gender == 1">男</span>
11
-              <span v-if="item.gender == 2">女</span>
10
+              <span v-if="i.gender == 1">男</span>
11
+              <span v-if="i.gender == 2">女</span>
12
             </p>
12
             </p>
13
             <p>年龄:{{ i.his_patient.id != 0 ? getAge(i.his_patient) : i.age}}岁</p>
13
             <p>年龄:{{ i.his_patient.id != 0 ? getAge(i.his_patient) : i.age}}岁</p>
14
           </div>
14
           </div>

+ 2 - 2
src/xt_pages/outpatientDoctorStation/batch_print_template/index.vue View File

14
 
14
 
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
       <div v-if="org_id != 10138 && org_id != 10278">
16
       <div v-if="org_id != 10138 && org_id != 10278">
17
-        <printOne v-if="org_id != 10088 && org_id != 10215  && org_id != 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
18
-        <batch-print-two v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></batch-print-two>
17
+        <printOne v-if="org_id != 10215" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
18
+<!--        <batch-print-two v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></batch-print-two>-->
19
 <!--        <print-six v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></print-six>-->
19
 <!--        <print-six v-if="org_id == 10088 || org_id == 0" :printData="printData"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></print-six>-->
20
 <!--        <printFour v-if="org_id == 10088 || org_id == 0"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>-->
20
 <!--        <printFour v-if="org_id == 10088 || org_id == 0"  :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>-->
21
 <!--        <printFive v-if="org_id == 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>-->
21
 <!--        <printFive v-if="org_id == 10215" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>-->

+ 2 - 3
src/xt_pages/outpatientDoctorStation/pastInquiries.vue View File

385
               }
385
               }
386
             })
386
             })
387
           } else {
387
           } else {
388
-            // 过滤检查单数据出来,筛选出有检查项目的单子,不显示没有检查项目的单子
389
             Arr.forEach((el) => {
388
             Arr.forEach((el) => {
390
-              el.prescriptions.forEach((o) => {
389
+              el.new_prescriptions.forEach((o) => {
391
                 o.project.forEach((i) => {
390
                 o.project.forEach((i) => {
392
                   if (i.team.project_team != '') {
391
                   if (i.team.project_team != '') {
393
                     new_patients.push(el)
392
                     new_patients.push(el)
397
             })
396
             })
398
             let projectPrint = []
397
             let projectPrint = []
399
             new_patients.forEach((el) => {
398
             new_patients.forEach((el) => {
400
-              el.prescriptions.map((item) => {
399
+              el.new_prescriptions.map((item) => {
401
                 if (item.project.length > 0) {
400
                 if (item.project.length > 0) {
402
                   item.project.map((it) => {
401
                   item.project.map((it) => {
403
                     projectPrint.push(it)
402
                     projectPrint.push(it)

+ 1 - 1
src/xt_pages/outpatientDoctorStation/template/printThree.vue View File

98
             </div>
98
             </div>
99
             <div style="margin-bottom: 10px; display: flex">
99
             <div style="margin-bottom: 10px; display: flex">
100
               临床诊断:{{
100
               临床诊断:{{
101
-                hisPatient.diagnosis ? getDiagnosis(hisPatient.diagnosis) : ""
101
+                item.info ? getDiagnosis(item.info.diagnosis) : ""
102
               }}
102
               }}
103
             </div>
103
             </div>
104
             <div style="margin-bottom: 10px; display: flex">
104
             <div style="margin-bottom: 10px; display: flex">

+ 26 - 274
src/xt_pages/outpatientTool/components/detailStatistics.vue View File

1
 <template>
1
 <template>
2
-  <!-- <div class="main-contain outpatientChargesManagement">
3
-      <div class="position">
4
-          <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-      </div> -->
6
   <div>
2
   <div>
7
     <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
3
     <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
       <div>
4
       <div>
9
-
10
         <el-select size="small" v-model="item_type" placeholder="请选择"
5
         <el-select size="small" v-model="item_type" placeholder="请选择"
11
                    style="width:150px;margin-left:10px;" @change="changeItem">
6
                    style="width:150px;margin-left:10px;" @change="changeItem">
12
           <el-option
7
           <el-option
21
           </el-option>
16
           </el-option>
22
         </el-select>
17
         </el-select>
23
 
18
 
24
-        <div class="mainCell" style="margin-bottom:10px;">
25
-          <el-input size="small"  v-model.trim="search_input"
26
-                    class="filter-item"/>
27
-          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
28
-                     @click="searchAction">
29
-            搜索
30
-          </el-button>
31
-        </div>
32
-
19
+        <el-input
20
+            size="small"
21
+            style="width: 150px"
22
+            v-model="keywords"
23
+            class="filter-item"
24
+        />
25
+        <el-button
26
+            size="small"
27
+            style="margin: 0 10px"
28
+            class="filter-item"
29
+            type="primary"
30
+            @click="searchAction"
31
+        >搜索
32
+        </el-button>
33
         <el-date-picker
33
         <el-date-picker
34
             v-model="chargeDate"
34
             v-model="chargeDate"
35
             type="daterange"
35
             type="daterange"
40
             end-placeholder="结束日期">
40
             end-placeholder="结束日期">
41
         </el-date-picker>
41
         </el-date-picker>
42
       </div>
42
       </div>
43
+      <div>
44
+      </div>
43
     </div>
45
     </div>
44
     <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
46
     <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
45
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
47
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
81
 
83
 
82
 <script>
84
 <script>
83
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
85
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
84
-import { GetSummaryDetail } from '@/api/his/his'
85
-import { uParseTime } from '@/utils/tools'
86
-import axios from 'axios'
86
+import {  } from '@/api/his/his'
87
 const moment = require('moment')
87
 const moment = require('moment')
88
 export default {
88
 export default {
89
   components: {
89
   components: {
90
     BreadCrumb
90
     BreadCrumb
91
 
91
 
92
   },
92
   },
93
+  props: {
94
+    patient_id: {
95
+      type: Number,
96
+      default: 0
97
+    }
98
+  },
99
+
93
   data() {
100
   data() {
101
+
94
     return {
102
     return {
95
       detail_loading: false,
103
       detail_loading: false,
96
       tempArr: [],
104
       tempArr: [],
123
       this.getSummaryDetailList()
131
       this.getSummaryDetailList()
124
     },
132
     },
125
     getSummaryDetailList() {
133
     getSummaryDetailList() {
126
-      this.detail_loading = true
127
       let start_time = this.chargeDate[0]
134
       let start_time = this.chargeDate[0]
128
       let end_time = this.chargeDate[1]
135
       let end_time = this.chargeDate[1]
129
       let params = {
136
       let params = {
137
+        patient_id:this.patient_id,
130
         start_time: start_time,
138
         start_time: start_time,
131
         end_time: end_time,
139
         end_time: end_time,
132
         type: this.item_type,
140
         type: this.item_type,
133
         keyword: this.keywords
141
         keyword: this.keywords
134
       }
142
       }
135
-      GetSummaryDetail(params).then(response => {
136
-        if (response.data.state == 0) {
137
-          this.detail_loading = false
138
-
139
-          this.$message.error(response.data.msg)
140
-          return false
141
-        } else {
142
-          this.detail_loading = false
143
-
144
-          this.tableData = []
145
-          let tempPatients = []
146
-          let tempPatientsTwo = []
147
-
148
-          let tempData = response.data.data.patients
149
-          let data = response.data.data.patients
150
-          let orders = this.unique(tempData)
151
-          for (let i = 0; i < orders.length; i++) {
152
-            let obj = {
153
-              patient_id: orders[i].id,
154
-              name: orders[i].name,
155
-              orders: []
156
-            }
157
-            for (let b = 0; b < data.length; b++) {
158
-              if (orders[i].id == data[b].id) {
159
-                obj.orders = obj.orders.concat(data[b].orders)
160
-              }
161
-            }
162
-            tempPatients.push(obj)
163
-          }
164
-
165
-          for (let i = 0; i < tempPatients.length; i++) {
166
-            let obj = {
167
-              patient_id: tempPatients[i].patient_id,
168
-              name: tempPatients[i].name,
169
-              order_info: []
170
-            }
171
-            let orders = tempPatients[i].orders
172
-            for (let b = 0; b < orders.length; b++) {
173
-              for (let c = 0; c < orders[b].order_info.length; c++) {
174
-                let newObj = {}
175
-
176
-                newObj['count'] = orders[b].order_info[c].cnt
177
-                newObj['price'] = orders[b].order_info[c].pric
178
-                if (orders[b].order_info[c].advice_id > 0 && orders[b].order_info[c].project_id == 0) {
179
-                  newObj['type'] = 1
180
-                  newObj['item_name'] = orders[b].order_info[c].advice.advice_name
181
-                  newObj['item_id'] = orders[b].order_info[c].advice.drug_id
182
-
183
-                  if (orders[b].order_info[c].advice.drug.min_unit != orders[b].order_info[c].advice.drug.dose_unit) {
184
-                    newObj['item_spec'] =  orders[b].order_info[c].advice.drug.dose + orders[b].order_info[c].advice.drug.dose_unit + '*' + orders[b].order_info[c].advice.drug.min_number + orders[b].order_info[c].advice.drug.min_unit + '/' + orders[b].order_info[c].advice.drug.max_unit
185
-                  } else {
186
-
187
-                    newObj['item_spec'] = ''
188
-                  }
189
-
190
-                }
191
-                if (orders[b].order_info[c].advice_id == 0 && orders[b].order_info[c].project_id > 0) {
192
-                  newObj['type'] = 2
193
-                  newObj['item_id'] = orders[b].order_info[c].project.project_id
194
-
195
-                  if (orders[b].order_info[c].project.type == 2) {
196
-                    newObj['item_spec'] =""
197
-                    newObj['item_name'] = orders[b].order_info[c].project.project.project_name
198
-
199
-
200
-                  } else if (orders[b].order_info[c].project.type == 3) {
201
-                    newObj['item_spec'] =    orders[b].order_info[c].project.good_info.specification_name
202
-                    newObj['item_name'] = orders[b].order_info[c].project.good_info.good_name
203
-
204
-
205
-                  }
206
-                }
207
-                obj.order_info.push(newObj)
208
-              }
209
-            }
210
-            tempPatientsTwo.push(obj)
211
-          }
212
-
213
-          for (let d = 0; d < tempPatientsTwo.length; d++) {
214
-            tempPatientsTwo[d]['new_order_info'] = []
215
-            let project = []
216
-            let advice = []
217
-            for (let b = 0; b < tempPatientsTwo[d].order_info.length; b++) {
218
-              if (tempPatientsTwo[d].order_info[b].type == 1) {
219
-                advice.push(tempPatientsTwo[d].order_info[b])
220
-              } else {
221
-                project.push(tempPatientsTwo[d].order_info[b])
222
-              }
223
-            }
224
-            project = this.uniqueProjectAndAdvice(project)
225
-            advice = this.uniqueProjectAndAdvice(advice)
226
-
227
-            for (let i = 0; i < project.length; i++) {
228
-              let obj = {}
229
-              let count = 0
230
-              for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
231
-                if (project[i].item_id == tempPatientsTwo[d].order_info[a].item_id && project[i].price == tempPatientsTwo[d].order_info[a].price) {
232
-                  count = count + tempPatientsTwo[d].order_info[a].count
233
-                }
234
-              }
235
-
236
-
237
-
238
-              obj['price'] = project[i].price
239
-              obj['type'] = project[i].type
240
-              obj['item_name'] = project[i].item_name
241
-              obj['item_spec'] = project[i].item_spec
242
-
243
-              obj['item_id'] = project[i].item_id
244
-              obj['name'] = tempPatientsTwo[d].name
245
-              obj['patient_id'] = tempPatientsTwo[d].patient_id
246
-              obj['count'] = count
247
-              tempPatientsTwo[d].new_order_info.push(obj)
248
-            }
249
-
250
-            for (let i = 0; i < advice.length; i++) {
251
-              let obj = {}
252
-              let count = 0
253
-              for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
254
-                if (advice[i].item_id == tempPatientsTwo[d].order_info[a].item_id && advice[i].price == tempPatientsTwo[d].order_info[a].price) {
255
-                  count = count + tempPatientsTwo[d].order_info[a].count
256
-                }
257
-              }
258
-
259
-              obj['price'] = advice[i].price
260
-              obj['type'] = advice[i].type
261
-              obj['item_name'] = advice[i].item_name
262
-              obj['item_spec'] = advice[i].item_spec
263
-              obj['item_id'] = advice[i].item_id
264
-              obj['name'] = tempPatientsTwo[d].name
265
-              obj['patient_id'] = tempPatientsTwo[d].patient_id
266
-              obj['count'] = count
267
-              tempPatientsTwo[d].new_order_info.push(obj)
268
-            }
269
-
270
-          }
271
-
272
-          for (let i = 0; i < tempPatientsTwo.length; i++) {
273
-            let total = 0
274
-            for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
275
-              let new_name = tempPatientsTwo[i].new_order_info[b].item_name
276
-              // console.log('3 ' + new_name)
277
-              if (new_name != undefined){
278
-                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].patient_id)
279
-                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].price)
280
-                // console.log('3 ' + tempPatientsTwo[i].new_order_info[b].count)
281
-                //
282
-                // new_name = new_name.replace('( ', '')
283
-                // new_name = new_name.replace(' )', '')
284
-                if (new_name.length != 0) {
285
-                  total = parseFloat(total) + parseFloat((parseFloat(tempPatientsTwo[i].new_order_info[b].count.toString()) * parseFloat(tempPatientsTwo[i].new_order_info[b].price.toString().toString())).toFixed(2))
286
-                }
287
-
288
-
289
-
290
-              }
291
-
292
-
293
-            }
294
-            tempPatientsTwo[i]['total'] = total
295
-          }
296
-          console.log('tempPatientsTwo', tempPatientsTwo)
297
-          for (let i = 0; i < tempPatientsTwo.length; i++) {
298
-            // console.log(111,tempPatientsTwo[i].total)
299
-            if (tempPatientsTwo[i].new_order_info.length > 0) {
300
-
301
-              for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
302
-                // let new_name = tempPatientsTwo[i].new_order_info[b].item_name
303
-                // console.log('2 ' + new_name)
304
-                //
305
-                // new_name = new_name.replace('( ', '')
306
-                // new_name = new_name.replace(' )', '')
307
-
308
-                let obj = {
309
-                  name: tempPatientsTwo[i].name,
310
-                  patient_id: tempPatientsTwo[i].patient_id,
311
-                  price: tempPatientsTwo[i].new_order_info[b].price,
312
-                  type: tempPatientsTwo[i].new_order_info[b].type,
313
-                  item_name: tempPatientsTwo[i].new_order_info[b].item_name,
314
-                  item_id: tempPatientsTwo[i].new_order_info[b].item_id,
315
-                  count: tempPatientsTwo[i].new_order_info[b].count,
316
-                  item_spec: tempPatientsTwo[i].new_order_info[b].item_spec
317
-                }
318
-
319
-
320
-                // if(b == 0){
321
-                obj['total'] = tempPatientsTwo[i].total
322
-                // }else{
323
-                //   obj['total'] = 0
324
-                // }
325
-                this.tableData.push(obj)
326
-
327
-
328
-              }
329
-            }
330
-          }
331
-          this.handleSpanTempArr()
332
-          // this.tableData = tempPatientsTwo
333
-
334
-          // console.log(tempPatientsTwo.length)
335
-          //
336
 
143
 
337
-        }
338
-        //
339
-        // console.log('去重前')
340
-        // console.log(advice)
341
-        // console.log(project)
342
-        // //
343
-        // //
344
 
144
 
345
-        // //
346
-        // console.log('去重后')
347
-        //
348
-        // console.log(advice.length)
349
-        // console.log(project.length)
350
-        //
351
-        // for (let i = 0; i < project.length; i++) {
352
-        //   let obj = {}
353
-        //   let count = 0
354
-        //   for (let a = 0; a < tempPatientsTwo.length; a++) {
355
-        //     if (project[i].patient_id == tempPatientsTwo[a].patient_id && project[i].item_id == tempPatientsTwo[a].item_id && project[i].price == tempPatientsTwo[a].price) {
356
-        //       count = count + tempPatientsTwo[a].count
357
-        //       obj['count'] = count
358
-        //
359
-        //     }
360
-        //     obj['price'] = project[i].price
361
-        //     obj['type'] = project[i].type
362
-        //     obj['item_name'] = project[i].item_name
363
-        //     obj['item_id'] = project[i].item_id
364
-        //     obj['name'] = project[i].name
365
-        //     obj['patient_id'] = project[i].patient_id
366
-        //     obj['count'] = count
367
-        //     this.tableData.push(obj)
368
-        //   }
369
-        // }
370
-        //
371
-        //
372
-        // for (let i = 0; i < advice.length; i++) {
373
-        //   let obj = {}
374
-        //   let count = 0
375
-        //   for (let a = 0; a < tempPatientsTwo.length; a++) {
376
-        //     if (advice[i].patient_id == tempPatientsTwo[a].patient_id && advice[i].item_id == tempPatientsTwo[a].item_id && advice[i].price == tempPatientsTwo[a].price) {
377
-        //       count = count + tempPatientsTwo[a].count
378
-        //       obj['count'] = count
379
-        //
380
-        //     }
381
-        //     obj['price'] = advice[i].price
382
-        //     obj['type'] = advice[i].type
383
-        //     obj['item_name'] = advice[i].item_name
384
-        //     obj['item_id'] = advice[i].item_id
385
-        //     obj['name'] = advice[i].name
386
-        //     obj['patient_id'] = advice[i].patient_id
387
-        //     this.tableData.push(obj)
388
-        //   }
389
-        // }
390
-        // console.log(this.tableData.length)
391
-        // this.tableData = this.sort(this.tableData)
392
 
145
 
393
-      })
394
     },
146
     },
395
   },
147
   },
396
   created() {
148
   created() {

+ 148 - 5
src/xt_pages/outpatientTool/components/gatherStatistics.vue View File

1
 <template>
1
 <template>
2
+  <div>
3
+    <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+      <div>
5
+        <el-select size="small" v-model="item_type" placeholder="请选择"
6
+                   style="width:150px;margin-left:10px;" @change="changeItem">
7
+          <el-option
8
+              label="全部"
9
+              value="0">
10
+          </el-option>
11
+          <el-option
12
+              v-for="(item,index) in items"
13
+              :key="index"
14
+              :label="item.name"
15
+              :value="item.id">
16
+          </el-option>
17
+        </el-select>
2
 
18
 
19
+        <el-input
20
+            size="small"
21
+            style="width: 150px"
22
+            v-model="keywords"
23
+            class="filter-item"
24
+        />
25
+        <el-button
26
+            size="small"
27
+            style="margin: 0 10px"
28
+            class="filter-item"
29
+            type="primary"
30
+            @click="searchAction"
31
+        >搜索
32
+        </el-button>
33
+        <el-date-picker
34
+            v-model="chargeDate"
35
+            type="daterange"
36
+            value-format="yyyy-MM-dd"
37
+            range-separator="至"
38
+            start-placeholder="开始日期"
39
+            @change="changeDate"
40
+            end-placeholder="结束日期">
41
+        </el-date-picker>
42
+      </div>
43
+      <div>
44
+      </div>
45
+    </div>
46
+    <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
47
+              :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
48
+              show-summary
49
+              max-height="600"
50
+              v-loading="detail_loading"
51
+              highlight-current-row>
52
+      <el-table-column type="index" label="序号" width="60px" align="center"></el-table-column>
53
+      <el-table-column align="center" prop="name" label="处方日期">
54
+        <template slot-scope="scope">{{  }}</template>
55
+      </el-table-column>
56
+      <el-table-column align="center" prop="name" label="费用分类">
57
+        <template slot-scope="scope">{{scope.row.code}}</template>
58
+      </el-table-column>
59
+      <el-table-column align="center" prop="name" label="项目名称">
60
+        <template slot-scope="scope">{{scope.row.item_name}}</template>
61
+      </el-table-column>
62
+      <el-table-column align="center" prop="name" label="规格型号">
63
+        <template slot-scope="scope">{{scope.row.item_spec}}</template>
64
+      </el-table-column>
65
+      <el-table-column align="center" prop="name" label="数量">
66
+        <template slot-scope="scope">{{scope.row.count}}</template>
67
+      </el-table-column>
68
+      <el-table-column align="center" prop="name" label="单价">
69
+        <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
70
+      </el-table-column>
71
+      <el-table-column align="center" prop="name" label="金额">
72
+        <template slot-scope="scope">
73
+          <div>{{(scope.row.price.toFixed(2)*scope.row.count).toFixed(2)}}</div>
74
+        </template>
75
+      </el-table-column>
76
+      <el-table-column align="center" prop="name" label="医保类别">
77
+        <template slot-scope="scope"></template>
78
+      </el-table-column>
79
+
80
+    </el-table>
81
+  </div>
82
+
83
+  <!-- </div> -->
3
 </template>
84
 </template>
4
 
85
 
86
+
5
 <script>
87
 <script>
88
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
89
+import {  } from '@/api/his/his'
90
+const moment = require('moment')
6
 export default {
91
 export default {
7
-  name: 'gatherStatistics'
8
-}
9
-</script>
92
+  components: {
93
+    BreadCrumb
94
+
95
+  },
96
+  props: {
97
+    patient_id: {
98
+      type: Number,
99
+      default: 0
100
+    }
101
+  },
102
+
103
+  data() {
104
+
105
+    return {
106
+      detail_loading: false,
107
+      tempArr: [],
108
+      pos: 0,
109
+      search_input: '',
110
+
111
+      sameRowArr: [],
112
+      keywords: '',
113
+      tableData: [],
114
+      chargeDate: [moment(new Date()).add('year', 0).format('YYYY-MM-DD'), moment(new Date()).add('year', 0).format('YYYY-MM-DD')],
115
+      item_type: '0',
116
+      items: [
117
+        { id: 1, name: '药品' },
118
+        { id: 3, name: '耗材' },
119
+        { id: 2, name: '项目' }
10
 
120
 
11
-<style scoped>
121
+      ]
12
 
122
 
13
-</style>
123
+    }
124
+  },
125
+  methods: {
126
+    searchAction(){
127
+
128
+
129
+    },
130
+    changeDate() {
131
+      this.getSummaryDetailList()
132
+    },
133
+    changeItem() {
134
+      this.getSummaryDetailList()
135
+    },
136
+    getSummaryDetailList() {
137
+      let start_time = this.chargeDate[0]
138
+      let end_time = this.chargeDate[1]
139
+      let params = {
140
+        patient_id:this.patient_id,
141
+        start_time: start_time,
142
+        end_time: end_time,
143
+        type: this.item_type,
144
+        keyword: this.keywords
145
+      }
146
+
147
+
148
+
149
+    },
150
+  },
151
+  created() {
152
+    this.getSummaryDetailList()
153
+
154
+  }
155
+}
156
+</script>

+ 11 - 5
src/xt_pages/outpatientTool/statistics.vue View File

1
 <template>
1
 <template>
2
   <div class="main-contain new-main-contain">
2
   <div class="main-contain new-main-contain">
3
     <div class="position">
3
     <div class="position">
4
+<!--      <bread-crumb :crumbs='crumbs'></bread-crumb>-->
4
       <bread-crumb :crumbs='crumbs'></bread-crumb>
5
       <bread-crumb :crumbs='crumbs'></bread-crumb>
5
     </div>
6
     </div>
6
     <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
     <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
22
           <el-tab-pane label="明细" name="明细"></el-tab-pane>
23
           <el-tab-pane label="明细" name="明细"></el-tab-pane>
23
           <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
24
           <el-tab-pane label="汇总" name="汇总"></el-tab-pane>
24
         </el-tabs>
25
         </el-tabs>
25
-        <detail-statistics v-if="titleType == '明细'"></detail-statistics>
26
-        <gather-statistics v-if="titleType == '汇总'"></gather-statistics>
26
+        <detail-statistics v-if="titleType == '明细'" :patient_id="patient_id"></detail-statistics>
27
+        <gather-statistics v-if="titleType == '汇总'" :patient_id="patient_id"></gather-statistics>
27
       </div>
28
       </div>
28
     </div>
29
     </div>
29
   </div>
30
   </div>
34
   GetAllPatients,
35
   GetAllPatients,
35
 } from '@/api/his/his_tools'
36
 } from '@/api/his/his_tools'
36
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
37
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
38
+
37
 import DetailStatistics from './components/detailStatistics'
39
 import DetailStatistics from './components/detailStatistics'
38
 import GatherStatistics from './components/gatherStatistics'
40
 import GatherStatistics from './components/gatherStatistics'
39
 export default {
41
 export default {
40
   components: {
42
   components: {
41
     GatherStatistics,
43
     GatherStatistics,
42
     DetailStatistics,
44
     DetailStatistics,
45
+    BreadCrumb,
43
 
46
 
44
 
47
 
45
   },
48
   },
47
 
50
 
48
     return {
51
     return {
49
       patientTableData:[],
52
       patientTableData:[],
50
-      tableHeight: '',
53
+      tableHeight: 400,
51
       crumbs: [
54
       crumbs: [
52
         { path: false, name: 'His工具' },
55
         { path: false, name: 'His工具' },
53
         { path: false, name: '明细汇总统计' }
56
         { path: false, name: '明细汇总统计' }
54
       ],
57
       ],
55
-      titleType: '明细'
58
+      titleType: '明细',
59
+      patient_id:0
56
     }
60
     }
57
   },
61
   },
58
   methods: {
62
   methods: {
63
           return false
67
           return false
64
         } else {
68
         } else {
65
           this.patientTableData = response.data.data.list
69
           this.patientTableData = response.data.data.list
70
+          this.patient_id =  this.patientTableData[0].id
66
         }
71
         }
67
       })
72
       })
68
     },
73
     },
69
-    handleCurrentChange(){
74
+    handleCurrentChange(row){
75
+      this.patient_id =  row.id
70
 
76
 
71
     },
77
     },
72
 
78