陈少旭 4 veckor sedan
förälder
incheckning
60069d57fe

+ 20 - 11
src/xt_pages/outpatientCharges/costComparison.vue Visa fil

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

+ 0 - 30
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Visa fil

3865
 
3865
 
3866
     comfirm() {
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
       if (this.teamList.length > 0) {
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
         let arr = this.teamList
3870
         let arr = this.teamList
3891
         let newArr = []
3871
         let newArr = []
3900
         this.teamList = newArr
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
       if (this.curStatus == 1 && this.rightTab == 2) {
3885
       if (this.curStatus == 1 && this.rightTab == 2) {

+ 24 - 33
src/xt_pages/outpatientTool/components/detail.vue Visa fil

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

+ 3 - 3
src/xt_pages/outpatientTool/components/gather.vue Visa fil

250
 
250
 
251
                 newObj['count'] = orders[c].cnt
251
                 newObj['count'] = orders[c].cnt
252
                 newObj['price'] = orders[c].pric
252
                 newObj['price'] = orders[c].pric
253
+                newObj['det_item_fee_sumamt'] = orders[c].det_item_fee_sumamt
254
+
253
                 if (orders[c].advice_id > 0 && orders[c].project_id == 0) {
255
                 if (orders[c].advice_id > 0 && orders[c].project_id == 0) {
254
                   newObj['type'] = 1
256
                   newObj['type'] = 1
255
                   newObj['item_name'] = orders[c].item_name
257
                   newObj['item_name'] = orders[c].item_name
289
               let price = 0
291
               let price = 0
290
               for(let f = 0; f < tempPatientsTwo[d].order_info.length; f++){
292
               for(let f = 0; f < tempPatientsTwo[d].order_info.length; f++){
291
                 if (tempPatientsTwo[d].order_info[f].cost_classify == infos[e].cost_classify){
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
               let obj = {
297
               let obj = {
305
             tempPatientsThree.push(new_obj)
307
             tempPatientsThree.push(new_obj)
306
           }
308
           }
307
 
309
 
308
-          console.log("tempPatientsThree")
309
 
310
 
310
-          console.log(tempPatientsThree)
311
 
311
 
312
           for(let i = 0; i < tempPatientsThree.length;i++){
312
           for(let i = 0; i < tempPatientsThree.length;i++){
313
             let sum = 0
313
             let sum = 0