Просмотр исходного кода

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

csx 3 лет назад
Родитель
Сommit
7e1e6dbcb7

+ 119 - 28
src/xt_pages/hospitalStation/chargeDetailManagement.vue Просмотреть файл

@@ -81,6 +81,14 @@
81 81
             </el-button>
82 82
 
83 83
 
84
+            <el-button
85
+                v-if="(this.radio == 1 && this.hisPatientInfo.balance_accounts_type == 2 && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0 )"
86
+                size="small"
87
+                @click="open(1)"
88
+                type="primary">上传费用明细
89
+            </el-button>
90
+
91
+
84 92
             <el-button
85 93
                 v-if="( this.radio == 2 &&this.hisPatientInfo.balance_accounts_type != 2  && this.hisPatientInfo.id > 0 && this.hisPatientInfo.in_hospital_status == 1 && this.hisPatientInfo.out_hospital_status == 0)"
86 94
                 size="small" @click="open(2)" type="primary"
@@ -150,7 +158,8 @@
150 158
                   </div>
151 159
                   <div class="costBox">
152 160
                     <span>当前处方总费用:<span style="color:red;">{{ total }}元</span></span>
153
-                    <span>处方总价:<span style="color:red;">{{ all_total }}元</span></span>
161
+                    <span v-if="this.radio == 2">处方总价:<span style="color:red;">{{all_total+'元' + ' = 全自费总金额:'+fulamt_ownpay_amt + '元+'  + '超限价总金额:' + overlmt_amt  + '元+' + '先行自付金额:' + preselfpay_amt + '元+' + '符合正常范围总金额:' +  inscp_scp_amt + '元'   }}</span></span>
162
+                    <span v-if="this.radio == 1">处方总价:<span style="color:red;">{{all_total }}元</span></span>
154 163
 
155 164
                     <!--                    <span v-if="this.curPrescriptions.order_status  == 1">待结算</span>-->
156 165
 <!--                    <span v-if="this.curPrescriptions.order_status  == 2">已结算</span>-->
@@ -454,8 +463,11 @@ export default {
454 463
 
455 464
       department: [],
456 465
       invoiceVisible: false,
457
-      invoiceParams: {}
458
-
466
+      invoiceParams: {},
467
+      fulamt_ownpay_amt:'',
468
+      overlmt_amt:'',
469
+      preselfpay_amt:'',
470
+      inscp_scp_amt:'',
459 471
     }
460 472
   },
461 473
   created() {
@@ -851,35 +863,38 @@ export default {
851 863
           params['settle_accounts_type'] = 2
852 864
 
853 865
         }
854
-        axios.get('http://127.0.0.1:9532/zh/api/uploadinfo/get', {
855
-          params: params
856
-        })
857
-            .then(function(response) {
858
-              if (response.data.state == 0) {
859
-                that.$message.error(response.data.msg)
860
-                return false
861
-              } else {
862
-                if (response.data.data.failed_code == -10) {
863
-                  // that.$message.error(response.data.data.msg)
864
-                  that.$confirm(response.data.data.msg, '医保错误信息', {
865
-                    confirmButtonText: '确 定',
866
-                    type: 'warning'
867
-                  }).then(() => {
868
-
869
-                  }).catch(() => {
870
-                  })
866
+        if (this.hisPatientInfo.balance_accounts_type != 2){
867
+          axios.get('http://127.0.0.1:9532/zh/api/uploadinfo/get', {
868
+            params: params
869
+          })
870
+              .then(function(response) {
871
+                if (response.data.state == 0) {
872
+                  that.$message.error(response.data.msg)
873
+                  return false
871 874
                 } else {
872
-                  that.$message.success('上传明细成功')
873
-                  that.radio = 2
874
-                  that.getPatientList()
875
-                }
875
+                  if (response.data.data.failed_code == -10) {
876
+                    // that.$message.error(response.data.data.msg)
877
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
878
+                      confirmButtonText: '确 定',
879
+                      type: 'warning'
880
+                    }).then(() => {
876 881
 
877
-              }
878
-            })
879
-            .catch(function(error) {
882
+                    }).catch(() => {
883
+                    })
884
+                  } else {
885
+                    that.$message.success('上传明细成功')
886
+                    that.radio = 2
887
+                    that.getPatientList()
888
+                  }
889
+
890
+                }
891
+              })
892
+              .catch(function(error) {
893
+              })
894
+        }else  if (this.hisPatientInfo.balance_accounts_type == 2){
880 895
 
881
-            })
882 896
 
897
+        }
883 898
       }
884 899
     },
885 900
     changeRadio(id) {
@@ -1257,10 +1272,86 @@ export default {
1257 1272
           this.month_total = this.getMonthTotalOne()
1258 1273
           this.all_total = this.getTotal()
1259 1274
           this.all_month_total = this.getTotalTwo()
1275
+          this.fulamt_ownpay_amt = this.getFulamtOwnpayAmtTotal()
1276
+          this.overlmt_amt = this.getOverlmtAmtTotal()
1277
+          this.preselfpay_amt = this.getPreselfpayAmtTotal()
1278
+          this.inscp_scp_amt = this.getInscpScpAmtTotal()
1260 1279
 
1261 1280
 
1262 1281
         }
1263 1282
       })
1283
+    },getFulamtOwnpayAmtTotal(){
1284
+      var total = 0
1285
+      for (let i = 0; i < this.prescriptions.length; i++) {
1286
+        if (this.prescriptions[i].advices != null) {
1287
+          for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
1288
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].advices[a].fulamt_ownpay_amt)
1289
+          }
1290
+        }
1291
+        if (this.prescriptions[i].project != null) {
1292
+          for (let b = 0; b < this.prescriptions[i].project.length; b++) {
1293
+
1294
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].fulamt_ownpay_amt)
1295
+          }
1296
+        }
1297
+
1298
+      }
1299
+      return total.toFixed(2)
1300
+
1301
+    },getOverlmtAmtTotal(){
1302
+      var total = 0
1303
+      for (let i = 0; i < this.prescriptions.length; i++) {
1304
+        if (this.prescriptions[i].advices != null) {
1305
+          for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
1306
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].advices[a].overlmt_amt)
1307
+          }
1308
+        }
1309
+        if (this.prescriptions[i].project != null) {
1310
+          for (let b = 0; b < this.prescriptions[i].project.length; b++) {
1311
+
1312
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].overlmt_amt)
1313
+          }
1314
+        }
1315
+
1316
+      }
1317
+      return total.toFixed(2)
1318
+
1319
+    },getPreselfpayAmtTotal(){
1320
+      var total = 0
1321
+      for (let i = 0; i < this.prescriptions.length; i++) {
1322
+        if (this.prescriptions[i].advices != null) {
1323
+          for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
1324
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].advices[a].preselfpay_amt)
1325
+          }
1326
+        }
1327
+        if (this.prescriptions[i].project != null) {
1328
+          for (let b = 0; b < this.prescriptions[i].project.length; b++) {
1329
+
1330
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].preselfpay_amt)
1331
+          }
1332
+        }
1333
+
1334
+      }
1335
+      return total.toFixed(2)
1336
+
1337
+    },getInscpScpAmtTotal(){
1338
+      var total = 0
1339
+      for (let i = 0; i < this.prescriptions.length; i++) {
1340
+        if (this.prescriptions[i].advices != null) {
1341
+          for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
1342
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].advices[a].inscp_scp_amt)
1343
+          }
1344
+        }
1345
+        if (this.prescriptions[i].project != null) {
1346
+          for (let b = 0; b < this.prescriptions[i].project.length; b++) {
1347
+
1348
+            total = parseFloat(total) + parseFloat(this.prescriptions[i].project[b].inscp_scp_amt)
1349
+          }
1350
+        }
1351
+
1352
+      }
1353
+      return total.toFixed(2)
1354
+
1264 1355
     },
1265 1356
     sz_open(index) {
1266 1357
       switch (index) {

+ 7 - 5
src/xt_pages/outpatientCharges/costComparison.vue Просмотреть файл

@@ -606,7 +606,9 @@ c<template>
606 606
         let params = {
607 607
           'start_time': this.getTimes(this.selection[0].start_time),
608 608
           'end_time': this.getTimes(this.selection[0].end_time),
609
-          'insutype': this.selection[0].insutype
609
+          'insutype': this.selection[0].insutype,
610
+          'clr_type': this.selection[0].clr_type,
611
+
610 612
         }
611 613
         getCheckAccountFormData(params).then(response => {
612 614
           if (response.data.state == 0) {
@@ -731,8 +733,8 @@ c<template>
731 733
                   '门诊费用': this.fromData[i].medfee_sumamt,
732 734
                   '医保支付': this.fromData[i].fund_pay_sumamt,
733 735
                   '自费': this.fromData[i].psn_cash_pay,
734
-                  '起付线I': this.fromData[i].act_pay_dedc,
735
-                  '按比例自付II': this.fromData[i].psn_cash_pay,
736
+                  '起付线I': this.fromData[i].act_pay_dedc?this.fromData[i].act_pay_dedc:"0.00",
737
+                  '按比例自付II': this.fromData[i].psn_cash_pay?this.fromData[i].psn_cash_pay:"0.00",
736 738
                   "超封顶线费用": "0.00",
737 739
                   "合计": parseFloat(this.fromData[i].act_pay_dedc)  + parseFloat(this.fromData[i].psn_cash_pay),
738 740
                   '基本统筹基金': this.fromData[i].hifp_pay,
@@ -759,8 +761,8 @@ c<template>
759 761
               }
760 762
 
761 763
               import('@/vendor/Export2Excel').then(excel => {
762
-                const tHeader = ['序号', '姓名','个人编te号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
763
-                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
764
+                const tHeader = ['序号', '姓名','个人编te号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
765
+                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','医保支付','自费', '起付线I', '起付线II','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
764 766
                 // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
765 767
                 const merges = ['A1:A2', 'B1:B2', 'C1:E1', 'F1:H1', 'I1:K1', 'L1:N1', 'O1:Q1', 'R1:T1', 'U1:W1', 'X1:Z1', 'AA1:AC1', 'AD1:AF1', 'AG1:AI1', 'AJ1:AL1', 'AM1:AO1', 'AP1:AR1', 'AS1:AU1', 'AV1:AX1', 'AY1:BA1', 'BB1:BD1', 'BE1:BG1', 'BH1:BJ1', 'BK1:BM1']
766 768