陈少旭 4 周前
父节点
当前提交
60069d57fe

+ 20 - 11
src/xt_pages/outpatientCharges/costComparison.vue 查看文件

@@ -166,7 +166,7 @@
166 166
           <el-button type="primary" @click="confirm">确 定</el-button>
167 167
         </div>
168 168
       </el-dialog>
169
-     
169
+
170 170
     </div>
171 171
 
172 172
 
@@ -252,14 +252,17 @@ export default {
252 252
           label: '其他'
253 253
         }, {
254 254
           value: '9903',
255
-          label: '异地'
255
+          label: '异地(9903)'
256
+        },{
257
+          value: '9901',
258
+          label: '异地(9901)'
256 259
         }
257 260
       ],
258 261
       insutypes: [
259 262
         {
260 263
           value: '310',
261 264
           label: '职工基本医疗保险'
262
-        }, 
265
+        },
263 266
         // {
264 267
         //   value: '320',
265 268
         //   label: '公务员医疗补助'
@@ -273,7 +276,7 @@ export default {
273 276
         {
274 277
           value: '390',
275 278
           label: '城乡居民基本医疗保险'
276
-        }, 
279
+        },
277 280
         // {
278 281
         //   value: '392',
279 282
         //   label: '城乡居民大病医疗保险'
@@ -722,7 +725,7 @@ export default {
722 725
             const table_list = response.data.data.result
723 726
             let tableData = [
724 727
               ['序号', '医疗区划', '证件号码', '姓名','性别', '职业','医疗类别', '入院时间', '出院时间', '结算时间',
725
-              '出院诊断','住院天数', '医疗费总额','统筹支付金额','起付线', '职工大额基金支付', '居民大病基金支出', 
728
+              '出院诊断','住院天数', '医疗费总额','统筹支付金额','起付线', '职工大额基金支付', '居民大病基金支出',
726 729
               '企业补充','公务员补助', '医疗救助','其他支付','医院负担', '个账支付', '共济支付','基金支付金额','现金支付']//导出表头
727 730
             ]
728 731
             table_list.forEach((item,index) =>{
@@ -827,7 +830,7 @@ export default {
827 830
           ins:this.query_insutype,
828 831
         }
829 832
         summary2(params).then(response =>{
830
-          
833
+
831 834
           console.log('summary2',response);
832 835
           if(response.data.state==1){
833 836
             const table=response.data.data.result
@@ -851,6 +854,9 @@ export default {
851 854
             const Enter=0
852 855
             const Major=0
853 856
             const Other2=0
857
+            const zhenca=0
858
+
859
+            var obj2 = {}
854 860
             for(let i in table){
855 861
               let obj={
856 862
                 '序号': i + 1,
@@ -864,6 +870,7 @@ export default {
864 870
                 '手术':0,
865 871
                 '化验':table[i].LaboratoryFee,
866 872
                 '材料':table[i].HealthMaterialsFee,
873
+                '诊查':zhenca + table[i].ConsultationFee,
867 874
                 '其它':table[i].OtherFee,
868 875
                 '医疗费总额':table[i].TotalMedicalFee,
869 876
                 '个人自付金额':table[i].SelfPay,
@@ -877,7 +884,7 @@ export default {
877 884
                 '重大疾病补充':table[i].MajorDiseaseSupplement,
878 885
                 '其它支付':table[i].OtherPayment,
879 886
               }
880
-              var obj2={
887
+              obj2={
881 888
                 '序号': '合计',
882 889
                 "医疗保险号":'',
883 890
                 '姓名':'',
@@ -889,6 +896,8 @@ export default {
889 896
                 '手术':0,
890 897
                 '化验':Labor + table[i].LaboratoryFee,
891 898
                 '材料':Heal + table[i].HealthMaterialsFee,
899
+                '诊查':zhenca + table[i].ConsultationFee,
900
+
892 901
                 '其它':Other + table[i].OtherFee,
893 902
                 '医疗费总额':Total + table[i].TotalMedicalFee,
894 903
                 '个人自付金额':Self + table[i].SelfPay,
@@ -908,9 +917,9 @@ export default {
908 917
           }
909 918
           import('@/vendor/Export2Excel').then(excel => {
910 919
             const multiHeader =[['序号','医疗保险号','姓名','医疗费项目','','','','','','','','','医疗费总额','个人自付金额','基本账户支付','共济账户支付','公务员补助','统筹支付金额','医疗救助','大病支付','企业补充支付','重大疾病补充','其它支付']]
911
-            const tHeader = ['','','','床位','西药','中药','检查','治疗','手术','化验',	'材料',	'其它','','','','','','','','','','','']
912
-            const filterVal = ['序号','医疗保险号','姓名', '床位','西药','中药','检查','治疗','手术','化验',	'材料',	'其它','医疗费总额','个人自付金额','基本账户支付','共济账户支付','公务员补助','统筹支付金额','医疗救助','大病支付','企业补充支付','重大疾病补充','其它支付']
913
-            const merges = ['A1:A2', 'B1:B2', 'C1:C2', 'D1:L1', 'M1:M2', 'N1:N2', 'O1:O2', 'P1:P2', 'Q1:Q2', 'R1:R2', 'S1:S2', 'T1:T2', 'U1:U2', 'V1:V2', 'W1:W2']
920
+            const tHeader = ['','','','床位','西药','中药','检查','治疗','手术','化验',	'材料','诊查',	'其它','','','','','','','','','','','']
921
+            const filterVal = ['序号','医疗保险号','姓名', '床位','西药','中药','检查','治疗','手术','化验',	'材料','诊查',	'其它','医疗费总额','个人自付金额','基本账户支付','共济账户支付','公务员补助','统筹支付金额','医疗救助','大病支付','企业补充支付','重大疾病补充','其它支付']
922
+            const merges = ['A1:A2', 'B1:B2', 'C1:C2', 'D1:L1', 'M1:M2', 'N1:N2', 'O1:O2', 'P1:P2', 'Q1:Q2', 'R1:R2', 'S1:S2', 'T1:T2', 'U1:U2', 'V1:V2', 'W1:W2','X1:X2']
914 923
 
915 924
             const data = this.formatJson(filterVal, list)
916 925
             excel.export_json_to_excel({
@@ -939,7 +948,7 @@ export default {
939 948
           }
940 949
         }
941 950
       }
942
-      
951
+
943 952
     },
944 953
   },
945 954
   created() {

+ 0 - 30
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue 查看文件

@@ -3865,27 +3865,7 @@ export default {
3865 3865
 
3866 3866
     comfirm() {
3867 3867
 
3868
-      if (this.curDrugs.length > 0) {
3869
-        for (let i = 0; i < this.curDrugs.length; i++) {
3870
-          if (this.org_id != 10206 && this.org_id != 0) {
3871
-            if (this.curPrescriptions.med_type == 14 && this.curDrugs[i].is_special_diseases != 1) {
3872
-              this.$message.error('该处方属于特病类型处方,开非特病类型的药')
3873
-              return
3874
-            }
3875
-          }
3876
-
3877
-        }
3878
-      }
3879 3868
       if (this.teamList.length > 0) {
3880
-        if (this.org_id != 10206 && this.org_id != 0) {
3881
-          for (let i = 0; i < this.teamList.length; i++) {
3882
-            if (this.curPrescriptions.med_type == 14 && this.teamList[i].is_special_diseases != 1) {
3883
-              this.$message.error('该处方属于特病类型处方,请开特病类型的项目')
3884
-              // return
3885
-            }
3886
-
3887
-          }
3888
-        }
3889 3869
 
3890 3870
         let arr = this.teamList
3891 3871
         let newArr = []
@@ -3900,16 +3880,6 @@ export default {
3900 3880
         this.teamList = newArr
3901 3881
       }
3902 3882
 
3903
-      if (this.curDrugs.length == 0) {
3904
-        for (let i = 0; i < this.curDrugs.length; i++) {
3905
-          if (this.org_id != 10206 && this.org_id != 0) {
3906
-            if (this.curPrescriptions.med_type == 14 && this.curDrugs[i].is_special_diseases != 1) {
3907
-              this.$message.error('该处方属于特病类型处方,开非特病类型的药')
3908
-              return
3909
-            }
3910
-          }
3911
-        }
3912
-      }
3913 3883
 
3914 3884
 
3915 3885
       if (this.curStatus == 1 && this.rightTab == 2) {

+ 24 - 33
src/xt_pages/outpatientTool/components/detail.vue 查看文件

@@ -92,7 +92,7 @@
92 92
               <template slot-scope="scope">{{scope.row.count}}</template>
93 93
           </el-table-column>
94 94
           <el-table-column align="center" prop="name" label="单价">
95
-              <template slot-scope="scope">{{scope.row.price.toFixed(2)}}</template>
95
+              <template slot-scope="scope">{{scope.row.price}}</template>
96 96
           </el-table-column>
97 97
           <el-table-column align="center" prop="name" label="费用">
98 98
               <template slot-scope="scope">
@@ -447,8 +447,6 @@ export default {
447 447
             }
448 448
             tempPatients.push(obj)
449 449
           }
450
-          console.log(tempPatients)
451
-          //
452 450
           for (let i = 0; i < tempPatients.length; i++) {
453 451
             let obj = {
454 452
               patient_id: tempPatients[i].patient_id,
@@ -456,25 +454,21 @@ export default {
456 454
               order_info: []
457 455
             }
458 456
             let orders = tempPatients[i].orders
459
-
460 457
             for (let c = 0; c < orders.length; c++) {
461 458
                 let newObj = {}
462 459
                 newObj['count'] = orders[c].cnt
463 460
                 newObj['price'] = orders[c].pric
464
-                newObj['item_total'] = orders[c].det_item_fee_sumamt
461
+                newObj['item_total'] = parseFloat(orders[c].det_item_fee_sumamt).toFixed(2)
465 462
 
466 463
                 if (orders[c].advice_id > 0 && orders[c].project_id == 0) {
467 464
                   newObj['type'] = 1
468 465
                   newObj['item_name'] = orders[c].item_name
469 466
                   newObj['item_id'] = orders[c].item_id
470
-
471 467
                   if (orders[c].min_unit != orders[c].dose_unit) {
472 468
                     newObj['item_spec'] =  orders[c].dose + orders[c].dose_unit + '*' + orders[c].min_number + orders[c].min_unit + '/' + orders[c].max_unit
473 469
                   } else {
474
-
475 470
                     newObj['item_spec'] = ''
476 471
                   }
477
-
478 472
                 }
479 473
                 if (orders[c].advice_id == 0 && orders[c].project_id > 0) {
480 474
                   newObj['type'] = 2
@@ -497,7 +491,7 @@ export default {
497 491
               }
498 492
             tempPatientsTwo.push(obj)
499 493
           }
500
-          console.log(tempPatientsTwo)
494
+
501 495
 
502 496
           //
503 497
           for (let d = 0; d < tempPatientsTwo.length; d++) {
@@ -517,9 +511,12 @@ export default {
517 511
             for (let i = 0; i < project.length; i++) {
518 512
               let obj = {}
519 513
               let count = 0
514
+              let det_item_fee_sumamt = 0
520 515
               for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
521 516
                 if (project[i].item_id == tempPatientsTwo[d].order_info[a].item_id && project[i].price == tempPatientsTwo[d].order_info[a].price) {
522 517
                   count = count + tempPatientsTwo[d].order_info[a].count
518
+                  det_item_fee_sumamt = det_item_fee_sumamt + parseFloat(tempPatientsTwo[d].order_info[a].item_total)
519
+                  // det_item_fee_sumamt = det_item_fee_sumamt +
523 520
                 }
524 521
               }
525 522
 
@@ -529,21 +526,26 @@ export default {
529 526
               obj['type'] = project[i].type
530 527
               obj['item_name'] = project[i].item_name
531 528
               obj['item_spec'] = project[i].item_spec
532
-              obj['item_total'] = project[i].item_total
533
-
529
+              obj['item_total'] = det_item_fee_sumamt
534 530
               obj['item_id'] = project[i].item_id
535 531
               obj['name'] = tempPatientsTwo[d].name
536 532
               obj['patient_id'] = tempPatientsTwo[d].patient_id
537 533
               obj['count'] = count
534
+
535
+
538 536
               tempPatientsTwo[d].new_order_info.push(obj)
539 537
             }
540 538
 
541 539
             for (let i = 0; i < advice.length; i++) {
542 540
               let obj = {}
543 541
               let count = 0
542
+              let det_item_fee_sumamt = 0
543
+
544 544
               for (let a = 0; a < tempPatientsTwo[d].order_info.length; a++) {
545 545
                 if (advice[i].item_id == tempPatientsTwo[d].order_info[a].item_id && advice[i].price == tempPatientsTwo[d].order_info[a].price) {
546 546
                   count = count + tempPatientsTwo[d].order_info[a].count
547
+                  det_item_fee_sumamt = det_item_fee_sumamt + parseFloat(tempPatientsTwo[d].order_info[a].item_total)
548
+
547 549
                 }
548 550
               }
549 551
 
@@ -553,42 +555,35 @@ export default {
553 555
               obj['item_spec'] = advice[i].item_spec
554 556
               obj['item_id'] = advice[i].item_id
555 557
               obj['name'] = tempPatientsTwo[d].name
556
-              obj['item_total'] = advice[i].item_total
558
+              obj['item_total'] = det_item_fee_sumamt
557 559
               obj['patient_id'] = tempPatientsTwo[d].patient_id
558 560
               obj['count'] = count
559 561
               tempPatientsTwo[d].new_order_info.push(obj)
560 562
             }
561 563
 
562 564
           }
563
-          for (let i = 0; i < tempPatientsTwo.length; i++) {
564
-            let total = 0
565
-            for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
566
-              let new_name = tempPatientsTwo[i].new_order_info[b].item_name
567
-              if (new_name != undefined){
568
-                if (new_name.length != 0) {
569
-                  console.log(parseFloat(tempPatientsTwo[i].new_order_info[b].count) * parseFloat(tempPatientsTwo[i].new_order_info[b].price))
570
-                  total = parseFloat(total) + parseFloat((parseFloat(tempPatientsTwo[i].new_order_info[b].count) * parseFloat(tempPatientsTwo[i].new_order_info[b].price)).toFixed(2))
571
-                }
572
-
573
-
565
+          console.log("tempPatientsTwo")
566
+          console.log(tempPatientsTwo)
567
+          console.log("tempPatientsTwo")
574 568
 
575
-              }
576 569
 
577 570
 
571
+          for (let i = 0; i < tempPatientsTwo.length; i++) {
572
+            let total = 0
573
+            for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
574
+                  total = total + parseFloat(tempPatientsTwo[i].new_order_info[b].item_total)
578 575
             }
579 576
             tempPatientsTwo[i]['total'] = total
580 577
           }
581 578
           for (let i = 0; i < tempPatientsTwo.length; i++) {
582 579
             // console.log(111,tempPatientsTwo[i].total)
583 580
             if (tempPatientsTwo[i].new_order_info.length > 0) {
584
-
585 581
               for (let b = 0; b < tempPatientsTwo[i].new_order_info.length; b++) {
586 582
                 // let new_name = tempPatientsTwo[i].new_order_info[b].item_name
587 583
                 // console.log('2 ' + new_name)
588 584
                 //
589 585
                 // new_name = new_name.replace('( ', '')
590 586
                 // new_name = new_name.replace(' )', '')
591
-
592 587
                   let obj = {
593 588
                     name: tempPatientsTwo[i].name,
594 589
                     patient_id: tempPatientsTwo[i].patient_id,
@@ -599,18 +594,12 @@ export default {
599 594
                     count: tempPatientsTwo[i].new_order_info[b].count,
600 595
                     item_spec: tempPatientsTwo[i].new_order_info[b].item_spec
601 596
                   }
602
-
603
-
604 597
                   // if(b == 0){
605 598
                   obj['total'] = tempPatientsTwo[i].total
606 599
                   // }else{
607 600
                   //   obj['total'] = 0
608 601
                   // }
609 602
                   this.tableData.push(obj)
610
-
611
-
612
-
613
-
614 603
               }
615 604
             }
616 605
           }
@@ -828,7 +817,9 @@ export default {
828 817
           // sums[index] = sums[index].toFixed(2)
829 818
           let num = 0
830 819
           data.map(item => {
831
-            num += item.price * item.count
820
+            console.log(item)
821
+
822
+            num += item.total
832 823
           })
833 824
           sums[index] = num.toFixed(2)
834 825
         } else {

+ 3 - 3
src/xt_pages/outpatientTool/components/gather.vue 查看文件

@@ -250,6 +250,8 @@ export default {
250 250
 
251 251
                 newObj['count'] = orders[c].cnt
252 252
                 newObj['price'] = orders[c].pric
253
+                newObj['det_item_fee_sumamt'] = orders[c].det_item_fee_sumamt
254
+
253 255
                 if (orders[c].advice_id > 0 && orders[c].project_id == 0) {
254 256
                   newObj['type'] = 1
255 257
                   newObj['item_name'] = orders[c].item_name
@@ -289,7 +291,7 @@ export default {
289 291
               let price = 0
290 292
               for(let f = 0; f < tempPatientsTwo[d].order_info.length; f++){
291 293
                 if (tempPatientsTwo[d].order_info[f].cost_classify == infos[e].cost_classify){
292
-                  price = parseFloat(price.toString()) + parseFloat((parseFloat(tempPatientsTwo[d].order_info[f].count.toString()) * parseFloat(tempPatientsTwo[d].order_info[f].price.toString()).toFixed(2)).toString())
294
+                  price = parseFloat(price.toString()) + parseFloat((parseFloat(tempPatientsTwo[d].order_info[f].det_item_fee_sumamt.toString())).toString())
293 295
                 }
294 296
               }
295 297
               let obj = {
@@ -305,9 +307,7 @@ export default {
305 307
             tempPatientsThree.push(new_obj)
306 308
           }
307 309
 
308
-          console.log("tempPatientsThree")
309 310
 
310
-          console.log(tempPatientsThree)
311 311
 
312 312
           for(let i = 0; i < tempPatientsThree.length;i++){
313 313
             let sum = 0