yq1 1 年之前
父節點
當前提交
e024de3b84

+ 3 - 3
src/xt_pages/hospitalStation/invoiceTemplate/printfour.vue 查看文件

24
           <div style="width: 300px;"></div>
24
           <div style="width: 300px;"></div>
25
       </div>
25
       </div>
26
       <div style="display:flex;margin-top: 30px;">
26
       <div style="display:flex;margin-top: 30px;">
27
-        <div style="width: 150px;">床位费 {{ list.bedCostTotal ? list.bedCostTotal :'0' }}</div>
27
+        <div style="width: 150px;">床位费 {{ list.bedCostTotal}}</div>
28
         <div style="width: 150px;margin:0 30px;">治疗费 {{ list.treatCostTotal ? list.treatCostTotal :'0'}}</div>
28
         <div style="width: 150px;margin:0 30px;">治疗费 {{ list.treatCostTotal ? list.treatCostTotal :'0'}}</div>
29
         <div style="width: 150px;margin:0 30px;">西药费 {{ list.westernMedicineCostTotal }}</div>
29
         <div style="width: 150px;margin:0 30px;">西药费 {{ list.westernMedicineCostTotal }}</div>
30
         <div style="width: 150px;margin:0 30px;">
30
         <div style="width: 150px;margin:0 30px;">
55
           </div>
55
           </div>
56
           <div style="width: 230px;margin-left: 20px;">
56
           <div style="width: 230px;margin-left: 20px;">
57
             自费费用:
57
             自费费用:
58
-            {{ list.order.psn_cash_pay?list.order.psn_cash_pay:'0' }}
58
+            {{ list.order.fulamt_ownpay_amt?list.order.fulamt_ownpay_amt:'0' }}
59
           </div>
59
           </div>
60
           <div style="width: 230px;margin-left: 20px;">医院优惠: 0</div>
60
           <div style="width: 230px;margin-left: 20px;">医院优惠: 0</div>
61
         </div>
61
         </div>
180
         }
180
         }
181
         return "";
181
         return "";
182
       },
182
       },
183
-      
183
+
184
       getDay(dateString1,dateString2){
184
       getDay(dateString1,dateString2){
185
         var  startDate = Date.parse(dateString1);
185
         var  startDate = Date.parse(dateString1);
186
         var  endDate = Date.parse(dateString2);
186
         var  endDate = Date.parse(dateString2);

+ 103 - 11
src/xt_pages/outpatientCharges/allListPrint.vue 查看文件

13
     </template>
13
     </template>
14
 
14
 
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
-      <printOne  v-if="org_id != 10215 && org_id !=0 && org_id !=9671&&org_id !=9675&& org_id !=10515" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
16
+      <printOne  v-if="org_id != 10215  && org_id !=9671&&org_id !=9675&& org_id !=10515" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printOne>
17
       <summary-print v-if="org_id == 10215|| org_id ==9671 ||org_id ==9675" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></summary-print>
17
       <summary-print v-if="org_id == 10215|| org_id ==9671 ||org_id ==9675" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></summary-print>
18
       <printTwo v-if="org_id==10515 || org_id==0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printTwo>
18
       <printTwo v-if="org_id==10515 || org_id==0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printTwo>
19
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
19
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
58
     methods: {
58
     methods: {
59
       getTimes(time) {
59
       getTimes(time) {
60
         return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
60
         return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
61
-      }, getInfo(order_id) {
61
+      }, 
62
+      getInfo(order_id) {
62
         let params = {
63
         let params = {
63
           id: order_id
64
           id: order_id
64
         }
65
         }
79
             this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
80
             this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
80
             this.order['treatCostTotal'] = response.data.data.treatCostTotal
81
             this.order['treatCostTotal'] = response.data.data.treatCostTotal
81
 
82
 
82
-            console.log("~~~~~")
83
+            console.log("~~~~~",response.data.data)
83
             this.patient = response.data.data.patient
84
             this.patient = response.data.data.patient
84
             this.admin = response.data.data.admin_info
85
             this.admin = response.data.data.admin_info
85
             this.his_hospital = response.data.data.his_hospital
86
             this.his_hospital = response.data.data.his_hospital
86
             var order_info = response.data.data.order_info
87
             var order_info = response.data.data.order_info
87
 
88
 
88
-            if(this.$store.getters.xt_user.org_id == 10215 || this.$store.getters.xt_user.org_id == 0){
89
+            if(this.$store.getters.xt_user.org_id == 10215){
89
               //获取所有项目类型进行去重
90
               //获取所有项目类型进行去重
90
               let med_chrgitm_types = []
91
               let med_chrgitm_types = []
91
               for (let i = 0; i < order_info.length; i++) {
92
               for (let i = 0; i < order_info.length; i++) {
111
                     tempDetails.push(order_info[b])
112
                     tempDetails.push(order_info[b])
112
                   }
113
                   }
113
                 }
114
                 }
114
-                console.log("~~~~~~~~")
115
-                console.log(tempDetails)
115
+                // console.log("~~~~~~~~")
116
+                // console.log(tempDetails)
116
 
117
 
117
-                console.log("1111="+tempDetails)
118
+                // console.log("1111="+tempDetails)
118
                 obj.details = this.setNewData(tempDetails)
119
                 obj.details = this.setNewData(tempDetails)
119
-                console.log("22222="+obj.details)
120
+                // console.log("22222="+obj.details)
120
                 this.list =  this.list.concat(obj.details)
121
                 this.list =  this.list.concat(obj.details)
121
-                console.log("222233332="+ this.list)
122
+                console.log("222233332=",this.list)
122
               }
123
               }
123
               let newobj = {}
124
               let newobj = {}
124
               newobj['total'] = this.order.medfee_sumamt
125
               newobj['total'] = this.order.medfee_sumamt
127
             }else{
128
             }else{
128
               //获取所有项目类型进行去重
129
               //获取所有项目类型进行去重
129
               let med_chrgitm_types = []
130
               let med_chrgitm_types = []
131
+              let chrgitm_lvs = []
132
+              let advice = []
133
+              let good = []
134
+              let project = []
130
               for (let i = 0; i < order_info.length; i++) {
135
               for (let i = 0; i < order_info.length; i++) {
136
+                if(order_info[i].advice.advice_name !=''){
137
+                  const adv={
138
+                    advice_name:order_info[i].advice.advice_name,
139
+                    // good_name:order_info[i].project.good_info.good_name,
140
+                    // project_name:order_info[i].project.project.project_name,
141
+                    chrgitm_lv:order_info[i].chrgitm_lv,
142
+                  }
143
+                  advice.push(adv)
144
+                }
145
+               
146
+                if(order_info[i].project.good_info.good_name !=''){
147
+                  const god={
148
+                    // advice_name:order_info[i].advice.advice_name,
149
+                    good_name:order_info[i].project.good_info.good_name,
150
+                    // project_name:order_info[i].project.project.project_name,
151
+                    chrgitm_lv:order_info[i].chrgitm_lv,
152
+                  }
153
+                  good.push(god)
154
+                }
155
+
156
+                if(order_info[i].project.project.project_name !=''){
157
+                  const pro={
158
+                    // advice_name:order_info[i].advice.advice_name,
159
+                    // good_name:order_info[i].project.good_info.good_name,
160
+                    project_name:order_info[i].project.project.project_name,
161
+                    chrgitm_lv:order_info[i].chrgitm_lv,
162
+                  }
163
+                  project.push(pro)
164
+                }
165
+
166
+                // chrgitm_lvs.push(arr)
167
+                // chrgitm_lvs.push(order_info[i].chrgitm_lv)
131
                 med_chrgitm_types.push(order_info[i].med_chrgitm_type)
168
                 med_chrgitm_types.push(order_info[i].med_chrgitm_type)
132
               }
169
               }
133
               const obj = {}
170
               const obj = {}
153
                   total: obj.total,
190
                   total: obj.total,
154
                   is_total: 1,
191
                   is_total: 1,
155
                 })
192
                 })
156
-                console.log("23323223323232332323322332",obj.details)
193
+                // console.log("23323223323232332323322332",obj.details)
157
                 this.list =  this.list.concat(obj.details)
194
                 this.list =  this.list.concat(obj.details)
195
+                // console.log("23323223323232332323322332",this.list)
196
+              }
197
+              for(let i=0;i<advice.length;i++){
198
+                for(let j=i+1;j<advice.length;j++){
199
+                  if(advice[i].advice_name == advice[j].advice_name){
200
+                    advice.splice(j,1)
201
+                    j--
202
+                  }
203
+                }
158
               }
204
               }
205
+              for(let i=0;i<good.length;i++){
206
+                for(let j=i+1;j<good.length;j++){
207
+                  if(good[i].good_name == good[j].good_name){
208
+                    good.splice(j,1)
209
+                    j--
210
+                  }
211
+                }
212
+              }
213
+              for(let i=0;i<project.length;i++){
214
+                for(let j=i+1;j<project.length;j++){
215
+                  if(project[i].project_name == project[j].project_name){
216
+                    project.splice(j,1)
217
+                    j--
218
+                  }
219
+                }
220
+              }
221
+
222
+              chrgitm_lvs = [...advice,...good,...project]
223
+              
224
+              console.log('yyyyyyyyyyyy',chrgitm_lvs);
225
+              for(let i in this.list){
226
+                for(let j in chrgitm_lvs){
227
+                  if(this.list[i].is_total ==2){
228
+                    if(this.list[i].name == chrgitm_lvs[j].advice_name ||
229
+                        this.list[i].name == chrgitm_lvs[j].good_name ||
230
+                        this.list[i].name == chrgitm_lvs[j].project_name
231
+                    ){
232
+                      this.list[i]['chrgitm_lv'] = chrgitm_lvs[j].chrgitm_lv
233
+                    }
234
+                  }
235
+                }
236
+              }
237
+              console.log('tttttttttttt',this.list);
159
             }
238
             }
160
           }
239
           }
161
         })
240
         })
162
-      }, getTotal:function(items){
241
+        
242
+      }, 
243
+      getquchong(arr){
244
+        for(let i=0;i<arr.length;i++){
245
+          for(let j=i+1;j<arr.length;j++){
246
+            if(arr[i] == arr[j]){
247
+              arr.splice(j,1)
248
+              j--
249
+            }
250
+          }
251
+        }
252
+        return arr
253
+      },
254
+      getTotal:function(items){
163
         let total = 0
255
         let total = 0
164
         for(let i = 0; i < items.length; i++){
256
         for(let i = 0; i < items.length; i++){
165
           total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
257
           total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))

+ 27 - 4
src/xt_pages/outpatientCharges/allListTemplate/printOne.vue 查看文件

16
       <table class="allListTable" border="1">
16
       <table class="allListTable" border="1">
17
         <tr>
17
         <tr>
18
           <td style="width:10%">类别</td>
18
           <td style="width:10%">类别</td>
19
-          <td style="width:50%">项目名称</td>
19
+          <td style="width:40%">项目名称</td>
20
           <td style="width:10%">规格</td>
20
           <td style="width:10%">规格</td>
21
+          <td style="width:10%" v-if="org_id==10489">报销等级</td>
21
           <td style="width:10%">单价(元)</td>
22
           <td style="width:10%">单价(元)</td>
22
           <td style="width:10%">数量</td>
23
           <td style="width:10%">数量</td>
23
           <td style="width:10%">金额(元)</td>
24
           <td style="width:10%">金额(元)</td>
25
         <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
26
         <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
26
           <tr v-if="item.is_total == 2">
27
           <tr v-if="item.is_total == 2">
27
             <td style="width:10%">{{ item.med_chrgitm_type }}</td>
28
             <td style="width:10%">{{ item.med_chrgitm_type }}</td>
28
-            <td style="width:50%">{{ item.name }}</td>
29
+            <td style="width:40%">{{ item.name }}</td>
29
             <td style="width:10%">{{ item.spec }}</td>
30
             <td style="width:10%">{{ item.spec }}</td>
31
+            <td style="width:10%" v-if="org_id==10489">{{ getMedicineInsuranceType(item.chrgitm_lv) }}</td>
30
             <td style="width:10%">{{ (item.price).toFixed(2) }}</td>
32
             <td style="width:10%">{{ (item.price).toFixed(2) }}</td>
31
             <td style="width:10%">{{ item.count }}{{ item.unit }}</td>
33
             <td style="width:10%">{{ item.count }}{{ item.unit }}</td>
32
             <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
34
             <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
81
   data() {
83
   data() {
82
     return {
84
     return {
83
       page: 1,
85
       page: 1,
84
-      pageArr: []
86
+      pageArr: [],
87
+      org_id:'',
85
     }
88
     }
86
   },
89
   },
87
   methods: {
90
   methods: {
111
 
114
 
112
     },
115
     },
113
     getPage() {
116
     getPage() {
117
+      console.log('kkkkkk',this.list);
114
       if (this.list.length <= 13) {
118
       if (this.list.length <= 13) {
115
         this.page = 1
119
         this.page = 1
116
         this.pageArr.push(this.list.length)
120
         this.pageArr.push(this.list.length)
124
           this.pageArr.push(num)
128
           this.pageArr.push(num)
125
         }
129
         }
126
       }
130
       }
127
-    }
131
+    },
132
+    getMedicineInsuranceType(type) {
133
+      switch (type) {
134
+        case "01":
135
+          return '甲类'
136
+          break
137
+        case "02":
138
+          return '乙类'
139
+
140
+          break
141
+        case "03":
142
+          return '自费'
143
+          break
144
+
145
+      }
146
+
147
+    },
128
 
148
 
129
   },
149
   },
150
+  created(){
151
+    this.org_id = this.$store.getters.xt_user.org_id
152
+  },
130
   watch: {
153
   watch: {
131
     list: {
154
     list: {
132
       handler(newVal) {
155
       handler(newVal) {

+ 1 - 1
src/xt_pages/outpatientCharges/listPrint.vue 查看文件

577
 
577
 
578
       printThisPage() {
578
       printThisPage() {
579
         if(this.org_id != 10106){
579
         if(this.org_id != 10106){
580
-          if(this.org_id == 10215 || this.org_id == 9675 || this.org_id == 0 || this.org_id == 10485){
580
+          if(this.org_id == 10215 || this.org_id == 9675  || this.org_id == 10485){
581
             const style =
581
             const style =
582
               '@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;} .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;} .allListTable{border: none;width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;} .allListTable tr{page-break-inside:avoid;} .allListTable tr td {padding: 0 5px;border: 1px solid #000;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
582
               '@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;} .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;} .allListTable{border: none;width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;} .allListTable tr{page-break-inside:avoid;} .allListTable tr td {padding: 0 5px;border: 1px solid #000;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
583
             printJS({
583
             printJS({

+ 5 - 3
src/xt_pages/outpatientCharges/listTemplate/printOne.vue 查看文件

1
 <template>
1
 <template>
2
     <div id="list-print" class="list-print">
2
     <div id="list-print" class="list-print">
3
-        <div v-for='(i,index) in pageArr.length' :key="index">
3
+        <div v-for='(i,index) in pageArr.length' :key="index" style="page-break-after: always;">
4
         <div class="listTitle">{{$store.getters.xt_user.org.org_name}}费用清单</div>
4
         <div class="listTitle">{{$store.getters.xt_user.org.org_name}}费用清单</div>
5
         <div class="listInfo">
5
         <div class="listInfo">
6
 
6
 
29
 
29
 
30
 
30
 
31
             </tr>
31
             </tr>
32
-            <tr v-for="item in list.slice(index * 15,(index * 15) + pageArr[index])">
32
+            <tr v-for="item in list.slice(index * 16,(index * 16) + pageArr[index])">
33
                 <td style="width:15%">{{item.p_time}}</td>
33
                 <td style="width:15%">{{item.p_time}}</td>
34
                 <td style="width:10%">{{item.med_chrgitm_type}}</td>
34
                 <td style="width:10%">{{item.med_chrgitm_type}}</td>
35
                 <td style="width:10%">{{item.code}}</td>
35
                 <td style="width:10%">{{item.code}}</td>
39
                 <td style="width:6%">{{item.count}}{{item.unit}}</td>
39
                 <td style="width:6%">{{item.count}}{{item.unit}}</td>
40
                 <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
40
                 <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
41
               <td v-if="$store.getters.xt_user.org_id == 10318 || $store.getters.xt_user.org_id == 0 " style="width:10%">{{getMedicineInsuranceKind(item.type)}}</td>
41
               <td v-if="$store.getters.xt_user.org_id == 10318 || $store.getters.xt_user.org_id == 0 " style="width:10%">{{getMedicineInsuranceKind(item.type)}}</td>
42
-
43
             </tr>
42
             </tr>
44
         </table>
43
         </table>
45
         <div class="tableBottom">
44
         <div class="tableBottom">
125
         return uParseTime(time, '{y}-{m}-{d}')
124
         return uParseTime(time, '{y}-{m}-{d}')
126
       },
125
       },
127
       getPage(){
126
       getPage(){
127
+
128
         if(this.list.length <= 16){
128
         if(this.list.length <= 16){
129
             this.page = 1
129
             this.page = 1
130
             this.pageArr.push(this.list.length)
130
             this.pageArr.push(this.list.length)
138
                 this.pageArr.push(num)
138
                 this.pageArr.push(num)
139
             }
139
             }
140
         }
140
         }
141
+        console.log('this.list',this.list);
142
+        console.log('this.pageArr',this.pageArr);
141
       }
143
       }
142
 
144
 
143
     },
145
     },