yq1 před 1 rokem
rodič
revize
e024de3b84

+ 3 - 3
src/xt_pages/hospitalStation/invoiceTemplate/printfour.vue Zobrazit soubor

@@ -24,7 +24,7 @@
24 24
           <div style="width: 300px;"></div>
25 25
       </div>
26 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 28
         <div style="width: 150px;margin:0 30px;">治疗费 {{ list.treatCostTotal ? list.treatCostTotal :'0'}}</div>
29 29
         <div style="width: 150px;margin:0 30px;">西药费 {{ list.westernMedicineCostTotal }}</div>
30 30
         <div style="width: 150px;margin:0 30px;">
@@ -55,7 +55,7 @@
55 55
           </div>
56 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 59
           </div>
60 60
           <div style="width: 230px;margin-left: 20px;">医院优惠: 0</div>
61 61
         </div>
@@ -180,7 +180,7 @@ export default {
180 180
         }
181 181
         return "";
182 182
       },
183
-      
183
+
184 184
       getDay(dateString1,dateString2){
185 185
         var  startDate = Date.parse(dateString1);
186 186
         var  endDate = Date.parse(dateString2);

+ 103 - 11
src/xt_pages/outpatientCharges/allListPrint.vue Zobrazit soubor

@@ -13,7 +13,7 @@
13 13
     </template>
14 14
 
15 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 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 18
       <printTwo v-if="org_id==10515 || org_id==0" :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></printTwo>
19 19
 <!--      <list-print-two :list="list" :patient="patient" :order="order" :admin="admin" :hospital="his_hospital"></list-print-two>-->
@@ -58,7 +58,8 @@
58 58
     methods: {
59 59
       getTimes(time) {
60 60
         return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
61
-      }, getInfo(order_id) {
61
+      }, 
62
+      getInfo(order_id) {
62 63
         let params = {
63 64
           id: order_id
64 65
         }
@@ -79,13 +80,13 @@
79 80
             this.order['laboratoryCostTotal'] = response.data.data.laboratoryCostTotal
80 81
             this.order['treatCostTotal'] = response.data.data.treatCostTotal
81 82
 
82
-            console.log("~~~~~")
83
+            console.log("~~~~~",response.data.data)
83 84
             this.patient = response.data.data.patient
84 85
             this.admin = response.data.data.admin_info
85 86
             this.his_hospital = response.data.data.his_hospital
86 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 91
               let med_chrgitm_types = []
91 92
               for (let i = 0; i < order_info.length; i++) {
@@ -111,14 +112,14 @@
111 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 119
                 obj.details = this.setNewData(tempDetails)
119
-                console.log("22222="+obj.details)
120
+                // console.log("22222="+obj.details)
120 121
                 this.list =  this.list.concat(obj.details)
121
-                console.log("222233332="+ this.list)
122
+                console.log("222233332=",this.list)
122 123
               }
123 124
               let newobj = {}
124 125
               newobj['total'] = this.order.medfee_sumamt
@@ -127,7 +128,43 @@
127 128
             }else{
128 129
               //获取所有项目类型进行去重
129 130
               let med_chrgitm_types = []
131
+              let chrgitm_lvs = []
132
+              let advice = []
133
+              let good = []
134
+              let project = []
130 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 168
                 med_chrgitm_types.push(order_info[i].med_chrgitm_type)
132 169
               }
133 170
               const obj = {}
@@ -153,13 +190,68 @@
153 190
                   total: obj.total,
154 191
                   is_total: 1,
155 192
                 })
156
-                console.log("23323223323232332323322332",obj.details)
193
+                // console.log("23323223323232332323322332",obj.details)
157 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 255
         let total = 0
164 256
         for(let i = 0; i < items.length; i++){
165 257
           total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))

+ 27 - 4
src/xt_pages/outpatientCharges/allListTemplate/printOne.vue Zobrazit soubor

@@ -16,8 +16,9 @@
16 16
       <table class="allListTable" border="1">
17 17
         <tr>
18 18
           <td style="width:10%">类别</td>
19
-          <td style="width:50%">项目名称</td>
19
+          <td style="width:40%">项目名称</td>
20 20
           <td style="width:10%">规格</td>
21
+          <td style="width:10%" v-if="org_id==10489">报销等级</td>
21 22
           <td style="width:10%">单价(元)</td>
22 23
           <td style="width:10%">数量</td>
23 24
           <td style="width:10%">金额(元)</td>
@@ -25,8 +26,9 @@
25 26
         <template v-for='item in list.slice(index * 13,(index * 13) + pageArr[index])'>
26 27
           <tr v-if="item.is_total == 2">
27 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 30
             <td style="width:10%">{{ item.spec }}</td>
31
+            <td style="width:10%" v-if="org_id==10489">{{ getMedicineInsuranceType(item.chrgitm_lv) }}</td>
30 32
             <td style="width:10%">{{ (item.price).toFixed(2) }}</td>
31 33
             <td style="width:10%">{{ item.count }}{{ item.unit }}</td>
32 34
             <td style="width:10%">{{ (item.price * item.count).toFixed(2) }}</td>
@@ -81,7 +83,8 @@ export default {
81 83
   data() {
82 84
     return {
83 85
       page: 1,
84
-      pageArr: []
86
+      pageArr: [],
87
+      org_id:'',
85 88
     }
86 89
   },
87 90
   methods: {
@@ -111,6 +114,7 @@ export default {
111 114
 
112 115
     },
113 116
     getPage() {
117
+      console.log('kkkkkk',this.list);
114 118
       if (this.list.length <= 13) {
115 119
         this.page = 1
116 120
         this.pageArr.push(this.list.length)
@@ -124,9 +128,28 @@ export default {
124 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 153
   watch: {
131 154
     list: {
132 155
       handler(newVal) {

+ 1 - 1
src/xt_pages/outpatientCharges/listPrint.vue Zobrazit soubor

@@ -577,7 +577,7 @@
577 577
 
578 578
       printThisPage() {
579 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 581
             const style =
582 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 583
             printJS({

+ 5 - 3
src/xt_pages/outpatientCharges/listTemplate/printOne.vue Zobrazit soubor

@@ -1,6 +1,6 @@
1 1
 <template>
2 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 4
         <div class="listTitle">{{$store.getters.xt_user.org.org_name}}费用清单</div>
5 5
         <div class="listInfo">
6 6
 
@@ -29,7 +29,7 @@
29 29
 
30 30
 
31 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 33
                 <td style="width:15%">{{item.p_time}}</td>
34 34
                 <td style="width:10%">{{item.med_chrgitm_type}}</td>
35 35
                 <td style="width:10%">{{item.code}}</td>
@@ -39,7 +39,6 @@
39 39
                 <td style="width:6%">{{item.count}}{{item.unit}}</td>
40 40
                 <td style="width:10%">{{(item.price * item.count).toFixed(2)}}</td>
41 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 42
             </tr>
44 43
         </table>
45 44
         <div class="tableBottom">
@@ -125,6 +124,7 @@
125 124
         return uParseTime(time, '{y}-{m}-{d}')
126 125
       },
127 126
       getPage(){
127
+
128 128
         if(this.list.length <= 16){
129 129
             this.page = 1
130 130
             this.pageArr.push(this.list.length)
@@ -138,6 +138,8 @@
138 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
     },