Procházet zdrojové kódy

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

XMLWAN před 3 roky
rodič
revize
6b533b7289
26 změnil soubory, kde provedl 4049 přidání a 1773 odebrání
  1. 23 0
      src/api/his/his.js
  2. 3 0
      src/lang/zh.js
  3. 27 1
      src/router/modules/stock.js
  4. 2 0
      src/xt_pages/data/components/addDrugs.vue
  5. 1 1
      src/xt_pages/dialysis/batch_print/batch_print_order_forty.vue
  6. 1 0
      src/xt_pages/hospitalStation/outpatientChargesManagement.vue
  7. 2 2
      src/xt_pages/outpatientCharges/components/registerDialog.vue
  8. 35 1
      src/xt_pages/outpatientCharges/components/registerDialog9504.vue
  9. 160 49
      src/xt_pages/outpatientCharges/costComparison.vue
  10. 144 85
      src/xt_pages/outpatientCharges/newStatementPrintTwo.vue
  11. 118 3
      src/xt_pages/outpatientCharges/newTreatTemplate/printTwo.vue
  12. 964 723
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  13. 307 266
      src/xt_pages/outpatientCharges/summary.vue
  14. 34 0
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  15. 15 6
      src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue
  16. 99 23
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  17. 99 5
      src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue
  18. 7 10
      src/xt_pages/outpatientDoctorStation/print.vue
  19. 85 8
      src/xt_pages/outpatientDoctorStation/template/printThree.vue
  20. 84 8
      src/xt_pages/outpatientDoctorStation/treatTemplate/printTwo.vue
  21. 671 550
      src/xt_pages/outpatientRegistration/index.vue
  22. 63 32
      src/xt_pages/outpatientRegistration/registrationHistory.vue
  23. 305 0
      src/xt_pages/stock/stockDamaged.vue
  24. 376 0
      src/xt_pages/stock/stockModifyPrice.vue
  25. 119 0
      src/xt_pages/stock/stockModifyPricePrint.vue
  26. 305 0
      src/xt_pages/stock/stockWarning.vue

+ 23 - 0
src/api/his/his.js Zobrazit soubor

482
 
482
 
483
 
483
 
484
 
484
 
485
+export function getPrivateExpenses(params) {
486
+  return request({
487
+    url: "/api/privateexpenses/get",
488
+    method: "get",
489
+    params:params,
490
+  });
491
+}
492
+
493
+export function refundNumber(params) {
494
+  return request({
495
+    url: "/api/refundnumber/post",
496
+    method: "post",
497
+    params:params,
498
+  });
499
+}
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+

+ 3 - 0
src/lang/zh.js Zobrazit soubor

185
     stockOutDetail: '出库单详情',
185
     stockOutDetail: '出库单详情',
186
     cancelStockDetail: '退库单详情',
186
     cancelStockDetail: '退库单详情',
187
     stockDetail: '明细查询',
187
     stockDetail: '明细查询',
188
+    stockModifyPrice:'耗材调价',
189
+    stockDamaged:'耗材报损',
190
+    stockWarning:'耗材预警',
188
 
191
 
189
     showconfig: '显示配置',
192
     showconfig: '显示配置',
190
     user_detail: '使用明细',
193
     user_detail: '使用明细',

+ 27 - 1
src/router/modules/stock.js Zobrazit soubor

42
       name: 'cancelStockOrder',
42
       name: 'cancelStockOrder',
43
       meta: { title: 'cancelStockOrder', noCache: true }
43
       meta: { title: 'cancelStockOrder', noCache: true }
44
     },
44
     },
45
-
45
+    {
46
+      path: '/stock/stockModifyPrice',
47
+      component: () => import('@/xt_pages/stock/stockModifyPrice'),
48
+      name: 'stockModifyPrice',
49
+      meta: { title: 'stockModifyPrice', noCache: true }
50
+    },
51
+    {
52
+      path: '/stock/stockModifyPricePrint',
53
+      component: () => import('@/xt_pages/stock/stockModifyPricePrint'),
54
+      name: 'stockModifyPricePrint',
55
+      hidden: true,
56
+      is_menu: false,
57
+      meta: { title: 'stockModifyPricePrint', noCache: true }
58
+    },
59
+    {
60
+      path: '/stock/stockDamaged',
61
+      component: () => import('@/xt_pages/stock/stockDamaged'),
62
+      name: 'stockDamaged',
63
+      meta: { title: 'stockDamaged', noCache: true }
64
+    },
65
+    {
66
+      path: '/stock/stockWarning',
67
+      component: () => import('@/xt_pages/stock/stockWarning'),
68
+      name: 'stockWarning',
69
+      meta: { title: 'stockWarning', noCache: true }
70
+    },
71
+    
46
     // {
72
     // {
47
     //   path: "/stock/",
73
     //   path: "/stock/",
48
     //   component: Layout,
74
     //   component: Layout,

+ 2 - 0
src/xt_pages/data/components/addDrugs.vue Zobrazit soubor

963
           // this.form.dose = 1
963
           // this.form.dose = 1
964
           this.form.min_number = 1
964
           this.form.min_number = 1
965
           this.dosageShow = true
965
           this.dosageShow = true
966
+        }else{
967
+          this.dosageShow = false
966
         }
968
         }
967
         // if(val != this.form.max_unit){
969
         // if(val != this.form.max_unit){
968
         //   this.dosageShow = false
970
         //   this.dosageShow = false

+ 1 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_forty.vue Zobrazit soubor

928
                         <table class="table-box">
928
                         <table class="table-box">
929
                             <tbody>
929
                             <tbody>
930
                             <tr>
930
                             <tr>
931
-                                <td style="text-align:left;padding-left:5px;">治疗小结:{{  record.summary? record.summary.dialysis_summary : "" }}</td>
931
+                                <td style="text-align:left;padding-left:5px;">治疗小结:{{  record.summer? record.summer.dialysis_summary : "" }}</td>
932
                             </tr>
932
                             </tr>
933
                             </tbody>
933
                             </tbody>
934
                         </table>
934
                         </table>

+ 1 - 0
src/xt_pages/hospitalStation/outpatientChargesManagement.vue Zobrazit soubor

3139
         let paramsObj = {
3139
         let paramsObj = {
3140
           order_id: this.hisPatientInfo.id,
3140
           order_id: this.hisPatientInfo.id,
3141
           patient_id: this.hisPatientInfo.patient_id,
3141
           patient_id: this.hisPatientInfo.patient_id,
3142
+          record_time:this.record_date,
3142
           name:this.hisPatientInfo.name,
3143
           name:this.hisPatientInfo.name,
3143
           gend:this.hisPatientInfo.gend,
3144
           gend:this.hisPatientInfo.gend,
3144
           setl_time:this.hisPatientInfo.out_hosptial_time
3145
           setl_time:this.hisPatientInfo.out_hosptial_time

+ 2 - 2
src/xt_pages/outpatientCharges/components/registerDialog.vue Zobrazit soubor

219
 
219
 
220
         form: {
220
         form: {
221
           id: '',
221
           id: '',
222
-          settlement_value: '',
222
+          settlement_value: 1,
223
           medical_insurance_card: '',
223
           medical_insurance_card: '',
224
           name: '',
224
           name: '',
225
           gender: '',
225
           gender: '',
478
         this.visibility = true
478
         this.visibility = true
479
         // this.form = Object.assign({}, this.resetForm)
479
         // this.form = Object.assign({}, this.resetForm)
480
         this.form.id = 0
480
         this.form.id = 0
481
-        this.form.settlement_value = ''
481
+        this.form.settlement_value = 1
482
         this.form.medical_insurance_card = ''
482
         this.form.medical_insurance_card = ''
483
         this.form.name = ''
483
         this.form.name = ''
484
         this.form.gender = ''
484
         this.form.gender = ''

+ 35 - 1
src/xt_pages/outpatientCharges/components/registerDialog9504.vue Zobrazit soubor

173
 </template>
173
 </template>
174
 
174
 
175
 <script>
175
 <script>
176
-  import {uParseTime} from "@/utils/tools";
176
+  import {uParseTime,jsGetAge} from "@/utils/tools";
177
   import axios from 'axios'
177
   import axios from 'axios'
178
   import {PostSearch} from '@/api/patient'
178
   import {PostSearch} from '@/api/patient'
179
   import {getDictionaryDataConfig} from '@/utils/data'
179
   import {getDictionaryDataConfig} from '@/utils/data'
180
+
180
   export default {
181
   export default {
181
     name: 'registerDialog9504',
182
     name: 'registerDialog9504',
182
 
183
 
454
                 that.form.phone = patient.phone
455
                 that.form.phone = patient.phone
455
                 that.form.id_card = patient.id_card_no
456
                 that.form.id_card = patient.id_card_no
456
                 that.form.medical_insurance_card = response.data.data.health_card_no
457
                 that.form.medical_insurance_card = response.data.data.health_card_no
458
+
459
+                var thisLen = that.form.id_card.length
460
+                var birth = ''
461
+                if (thisLen == 15) {
462
+                  birth = '19' + that.form.id_card.substr(6, 6)
463
+                } else {
464
+                  birth = that.form.id_card.substr(6, 8)
465
+                }
466
+                var births =
467
+                  birth.substr(0, 4) +
468
+                  '-' +
469
+                  birth.substr(4, 2) +
470
+                  '-' +
471
+                  birth.substr(6, 2)
472
+                that.form.age = jsGetAge(births, '-')
473
+
474
+
457
               } else if (that.form.id_card_type == 2) {
475
               } else if (that.form.id_card_type == 2) {
458
                 this.form.id = patient.id
476
                 this.form.id = patient.id
459
                 that.form.name = patient.name
477
                 that.form.name = patient.name
462
                 that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
480
                 that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}')
463
                 that.form.phone = patient.phone
481
                 that.form.phone = patient.phone
464
                 that.form.id_card = patient.id_card_no
482
                 that.form.id_card = patient.id_card_no
483
+
484
+                var thisLen = that.form.id_card.length
485
+                var birth = ''
486
+                if (thisLen == 15) {
487
+                  birth = '19' + that.form.id_card.substr(6, 6)
488
+                } else {
489
+                  birth = that.form.id_card.substr(6, 8)
490
+                }
491
+                var births =
492
+                  birth.substr(0, 4) +
493
+                  '-' +
494
+                  birth.substr(4, 2) +
495
+                  '-' +
496
+                  birth.substr(6, 2)
497
+                that.form.age = jsGetAge(births, '-')
465
               }
498
               }
466
               that.$message({message: '读卡成功', type: 'success'})
499
               that.$message({message: '读卡成功', type: 'success'})
467
 
500
 
489
         this.form.id_card_type = 1
522
         this.form.id_card_type = 1
490
         this.form.certificates = 1
523
         this.form.certificates = 1
491
         this.form.medical_care = 11
524
         this.form.medical_care = 11
525
+        this.form.settlement_value = 1
492
 
526
 
493
         // if( this.form.social_type == 0){
527
         // if( this.form.social_type == 0){
494
         //   this.form.social_type = ""
528
         //   this.form.social_type = ""

+ 160 - 49
src/xt_pages/outpatientCharges/costComparison.vue Zobrazit soubor

574
             return false
574
             return false
575
           } else {
575
           } else {
576
             this.fromData = response.data.data.list
576
             this.fromData = response.data.data.list
577
-            var list = []
578
-
579
-            for (let i = 0; i < this.fromData.length; i++) {
580
-              let obj = {
581
-                '序号': i+1,
582
-                '姓名': this.fromData[i].psn_name,
583
-                '单位名称': this.fromData[i].psn_name,
584
-                '个人编号': this.fromData[i].psn_no,
585
-                '门诊号': this.fromData[i].mdtrt_id,
586
-                '挂号日期': this.getTimes(this.fromData[i].settle_accounts_date),
587
-                '挂号科室': "",
588
-                '门诊费用': this.fromData[i].medfee_sumamt,
589
-                '自费': this.fromData[i].psn_cash_pay,
590
-                '起付线I': this.fromData[i].act_pay_dedc,
591
-                '按比例自付II': this.fromData[i].psn_cash_pay,
592
-                '小计I+II': this.fromData[i].act_pay_dedc + this.fromData[i].psn_cash_pay,
593
-                '统筹基金': this.fromData[i].fund_pay_sumamt,
594
-                '公务员补助': this.fromData[i].cvlserv_pay,
595
-                '单位补充保险': this.fromData[i].hifes_pay,
596
-                '煤矿补充保险': "0.00",
597
-                "超封顶线费用": "0.00",
598
-                '大额医疗保险应付': this.fromData[i].hifob_pay,
599
-                '透析补助': "0.00",
600
-                '大额合计':  "0.00",
601
-                '实账支付额': "0.00",
602
-                '诊断': this.GetDiagnosisName(this.fromData[i].diagnosis_id),
603
-                "血透次数":this.fromData[i].DialysisCount,
604
-                "置留管数量":0,
605
-                "备注":"",
606
 
577
 
578
+            if(this.selection[0].insutype == "310"){
579
+
580
+              var list = []
581
+              for (let i = 0; i < this.fromData.length; i++) {
582
+                // var hifmi_pay = 0.00;
583
+                //
584
+                // if(this.fromData[i].setl_detail.length > 0){
585
+                //   var jsonObj = JSON.parse(this.fromData[i].setl_detail);
586
+                //   for (let i = 0; i < jsonObj.length; i++) {
587
+                //     if (order.fund_pay_type == '310300') {
588
+                //       hifmi_pay = jsonObj[i].fund_payamt
589
+                //     }
590
+                //   }
591
+                // }
592
+
593
+                var hifes_pays = [];
594
+
595
+                if(this.fromData[i].setl_detail.length > 0){
596
+                  var jsonObj = JSON.parse(this.fromData[i].setl_detail);
597
+                  console.log(jsonObj)
598
+                  for (let i = 0; i < jsonObj.length; i++) {
599
+                    if (jsonObj[i].fund_pay_type == '310100') {
600
+                      hifes_pays.push(jsonObj[i].fund_payamt)
601
+                    }
602
+                  }
603
+                }
604
+
605
+                let hifes_pay = 0.00
606
+                if(hifes_pays.length == 2){
607
+                  hifes_pay = hifes_pays[1]
608
+                }
609
+
610
+                let obj = {
611
+                  '序号': i+1,
612
+                  '姓名': this.fromData[i].psn_name,
613
+                  '单位名称': this.fromData[i].psn_name,
614
+                  '个人编号': this.fromData[i].psn_no,
615
+                  '门诊号': this.fromData[i].mdtrt_id,
616
+                  '挂号日期': this.getTimes(this.fromData[i].settle_accounts_date),
617
+                  '挂号科室':  "血透室",
618
+                  '门诊费用': this.fromData[i].medfee_sumamt,
619
+                  '自费': this.fromData[i].psn_cash_pay,
620
+                  '起付线I': this.fromData[i].act_pay_dedc,
621
+                  '按比例自付II': this.fromData[i].psn_cash_pay,
622
+                  '小计I+II': this.fromData[i].act_pay_dedc + this.fromData[i].psn_cash_pay,
623
+                  '统筹基金': this.fromData[i].fund_pay_sumamt,
624
+                  '公务员补助': this.fromData[i].cvlserv_pay,
625
+                  '单位补充保险': hifes_pay,
626
+                  '煤矿补充保险': "0.00",
627
+                  "超封顶线费用": "0.00",
628
+                  '大额医疗保险应付': this.fromData[i].hifob_pay,
629
+                  '透析补助': "0.00",
630
+                  '大额合计':  "0.00",
631
+                  '实账支付额': "0.00",
632
+                  '诊断': this.GetDiagnosisName(this.fromData[i].diagnosis_id),
633
+                  "血透次数":this.fromData[i].DialysisCount,
634
+                  "置留管数量":0,
635
+                  "备注":"",
636
+
637
+                }
638
+                list.push(obj)
639
+              }
640
+              var insutype_name = ''
641
+              if (this.query_insutype == '310') {
642
+                insutype_name = '职工基本医疗保险'
643
+              } else if (this.query_insutype == '390') {
644
+                insutype_name = '城乡居民基本医疗保险'
607
               }
645
               }
608
-              list.push(obj)
609
-            }
610
-            var insutype_name = ''
611
-            if (this.query_insutype == '310') {
612
-              insutype_name = '职工基本医疗保险'
613
-            } else if (this.query_insutype == '390') {
614
-              insutype_name = '城乡居民基本医疗保险'
615
-            }
616
 
646
 
617
-            import('@/vendor/Export2Excel').then(excel => {
618
-              const tHeader = ['序号', '姓名', '单位名称','个人编号', '门诊号', '挂号日期','挂号科室','门诊费用','自费', '起付线I','按比例自付II','小计I+II','统筹基金','公务员补助','单位补充保险','煤矿补充保险','超封顶线费用','大额医疗保险应付', '透析补助', '大额合计', '实账支付额', '诊断', '血透次数', '置留管数量','备注']
619
-              const filterVal = ['序号', '姓名', '单位名称','个人编号', '门诊号', '挂号日期','挂号科室','门诊费用','自费', '起付线I','按比例自付II','小计I+II','统筹基金','公务员补助','单位补充保险','煤矿补充保险','超封顶线费用','大额医疗保险应付', '透析补助', '大额合计', '实账支付额', '诊断', '血透次数', '置留管数量','备注']
620
-              // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
621
-              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']
622
-
623
-              const data = this.formatJson(filterVal, list)
624
-              excel.export_json_to_excel({
625
-                header: tHeader,
626
-                data,
627
-                filename:this.getTimes(this.selection[0].start_time)+ '~' + this.getTimes(this.selection[0].end_time)+ insutype_name + '对账报表'
647
+              import('@/vendor/Export2Excel').then(excel => {
648
+                const tHeader = ['序号', '姓名', '单位名称','个人编号', '门诊号', '挂号日期','挂号科室','门诊费用','自费', '起付线I','按比例自付II','小计I+II','统筹基金','公务员补助','单位补充保险','煤矿补充保险','超封顶线费用','大额医疗保险应付', '透析补助', '大额合计', '实账支付额', '诊断', '血透次数', '置留管数量','备注']
649
+                const filterVal = ['序号', '姓名', '单位名称','个人编号', '门诊号', '挂号日期','挂号科室','门诊费用','自费', '起付线I','按比例自付II','小计I+II','统筹基金','公务员补助','单位补充保险','煤矿补充保险','超封顶线费用','大额医疗保险应付', '透析补助', '大额合计', '实账支付额', '诊断', '血透次数', '置留管数量','备注']
650
+                // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
651
+                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']
652
+
653
+                const data = this.formatJson(filterVal, list)
654
+                excel.export_json_to_excel({
655
+                  header: tHeader,
656
+                  data,
657
+                  filename:this.getTimes(this.selection[0].start_time)+ '~' + this.getTimes(this.selection[0].end_time)+ insutype_name + '对账报表'
658
+                })
628
               })
659
               })
629
-            })
660
+
661
+
662
+            }else{
663
+
664
+              var list = []
665
+              for (let i = 0; i < this.fromData.length; i++) {
666
+
667
+                var hifmi_pay = 0.00;
668
+
669
+                if(this.fromData[i].setl_detail.length > 0){
670
+                  var jsonObj = JSON.parse(this.fromData[i].setl_detail);
671
+                  console.log(jsonObj)
672
+                  for (let i = 0; i < jsonObj.length; i++) {
673
+                      if (jsonObj[i].fund_pay_type == '390200') {
674
+                        hifmi_pay = jsonObj[i].fund_payamt
675
+                      }
676
+                  }
677
+                }
678
+
679
+
680
+
681
+
682
+                let obj = {
683
+                  '序号': i+1,
684
+                  '姓名': this.fromData[i].psn_name,
685
+                  '个人编号': this.fromData[i].psn_no,
686
+                  '门诊号': this.fromData[i].mdtrt_id,
687
+                  '挂号日期': this.getTimes(this.fromData[i].settle_accounts_date),
688
+                  '诊断': this.GetDiagnosisName(this.fromData[i].diagnosis_id),
689
+                  '挂号科室': "血透室",
690
+                  '门诊费用': this.fromData[i].medfee_sumamt,
691
+                  '自费': this.fromData[i].psn_cash_pay,
692
+                  '起付线': this.fromData[i].act_pay_dedc,
693
+                  '按比例自付': this.fromData[i].psn_cash_pay,
694
+                  "超封顶线费用": "0.00",
695
+                  "合计": parseFloat(this.fromData[i].act_pay_dedc) + parseFloat(this.fromData[i].psn_cash_pay),
696
+                  '统筹基金': this.fromData[i].fund_pay_sumamt,
697
+                  '大病保险': hifmi_pay,
698
+                  '医疗救助': this.fromData[i].maf_pay,
699
+                  '实账支付额': "0.00",
700
+                  "血透次数":this.fromData[i].DialysisCount,
701
+                  "置留管数量":0,
702
+                  "备注":"",
703
+
704
+                }
705
+
706
+
707
+
708
+
709
+
710
+                list.push(obj)
711
+              }
712
+              var insutype_name = ''
713
+              if (this.query_insutype == '310') {
714
+                insutype_name = '职工基本医疗保险'
715
+              } else if (this.query_insutype == '390') {
716
+                insutype_name = '城乡居民基本医疗保险'
717
+              }
718
+
719
+              import('@/vendor/Export2Excel').then(excel => {
720
+                const tHeader = ['序号', '姓名','个人编号', '门诊号', '挂号日期', '诊断','挂号科室','门诊费用','自费', '起付线','按比例自付','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
721
+                const filterVal = ['序号', '姓名','个人编号', '门诊号', '挂号日期','诊断','挂号科室','门诊费用','自费', '起付线','按比例自付','超封顶线费用','合计','统筹基金','大病保险','医疗救助', '实账支付额', '血透次数', '置留管数量','备注']
722
+                // const filterVal = [ '姓名', '身份证', '个人编号', '门诊流水号', '挂号日期', '起付线', '统筹基金', '个人支付', '个账支付', '现金支付', '总费用', '冲销标志']
723
+                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']
724
+
725
+                const data = this.formatJson(filterVal, list)
726
+                excel.export_json_to_excel({
727
+                  header: tHeader,
728
+                  data,
729
+                  filename:this.getTimes(this.selection[0].start_time)+ '~' + this.getTimes(this.selection[0].end_time)+ insutype_name + '对账报表'
730
+                })
731
+              })
732
+
733
+
734
+
735
+
736
+
737
+
738
+            }
739
+
740
+
630
           }
741
           }
631
         })
742
         })
632
 
743
 

+ 144 - 85
src/xt_pages/outpatientCharges/newStatementPrintTwo.vue Zobrazit soubor

16
             <!--<printOne :info="info"></printOne>-->
16
             <!--<printOne :info="info"></printOne>-->
17
 
17
 
18
             <print-one v-if="org_id != 10138" :info="info"></print-one>
18
             <print-one v-if="org_id != 10138" :info="info"></print-one>
19
-            <print-two v-else  :info="info" :paramsObj="paramsObj"></print-two>
19
+            <print-two v-else :info="info" :paramsObj="paramsObj" :balanceAccounts="balanceAccounts"></print-two>
20
         </div>
20
         </div>
21
     </div>
21
     </div>
22
 </template>
22
 </template>
28
   import { getDialysisRecord } from '@/api/dialysis'
28
   import { getDialysisRecord } from '@/api/dialysis'
29
   import { getDataConfig } from '@/utils/data'
29
   import { getDataConfig } from '@/utils/data'
30
   import { jsGetAge, uParseTime } from '@/utils/tools'
30
   import { jsGetAge, uParseTime } from '@/utils/tools'
31
+  import { getPrivateExpenses } from '@/api/his/his'
32
+
33
+
31
   import axios from 'axios'
34
   import axios from 'axios'
32
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
35
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
33
   import printOne from './newTreatTemplate/printOne'
36
   import printOne from './newTreatTemplate/printOne'
60
         prescription_id:0,
63
         prescription_id:0,
61
         ids:'',
64
         ids:'',
62
         info:null,
65
         info:null,
63
-        org_id:''
66
+        org_id:'',
67
+        balanceAccounts:{}
64
       };
68
       };
65
     },
69
     },
66
     methods:{
70
     methods:{
79
 
83
 
80
         if(this.org_id == 10138){
84
         if(this.org_id == 10138){
81
           const style =
85
           const style =
82
-          '@media print {#prescription-print{font-size:12px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;}}';
86
+          '@media print {#prescription-print{font-size:12px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;}@media print {html {zoom: 50%;}}}';
83
           printJS({
87
           printJS({
84
               printable: "prescription-print",
88
               printable: "prescription-print",
85
               type: "html",
89
               type: "html",
110
 
114
 
111
       },
115
       },
112
       getInfo(obj) {
116
       getInfo(obj) {
113
-        if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
114
-          var that = this;
115
-          axios.get('http://127.0.0.1:9532/sz/api/settle/query', {
116
-            params: obj
117
-          })
118
-            .then(function (response) {
119
-              if (response.data.state == 0) {
120
-                this.$message.error(response.data.msg);
121
-                return false
122
-              } else {
123
-                if (response.data.data.failed_code == -10) {
124
-                  // that.$message.error(response.data.data.msg)
125
-                  that.$confirm(response.data.data.msg, '医保错误信息', {
126
-                    confirmButtonText: '确 定',
127
-                    type: 'warning'
128
-                  }).then(() => {
129
-
130
-                  }).catch(() => {
131
-                  })
117
+        if (obj.balance_accounts_type == 2){
118
+          let params = {
119
+            his_patient_id: obj.his_patient_id,
120
+            id: obj.order_id,
132
 
121
 
133
-                } else {
134
-
135
-                  console.log("~~~~");
136
-                  that.info = response.data.data.result;
137
-                  console.log(that.info);
138
-
139
-                  that.info['patient_info']= response.data.data.patient_info
140
-                  that.info['dialysis_no'] = response.data.data.dialysis_no
141
-                  that.info['org_code'] = response.data.data.org_code;
142
-                  that.info['patient_name'] = response.data.data.patient_name;
143
-                  that.info['doctor_code'] = response.data.data.doctor_code;
144
-                  that.info['doctor_name'] = response.data.data.doctor_name;
145
-                  if(response.data.data.health_card_no_two.length == 0){
146
-                    that.info['health_card_no'] = response.data.data.health_card_no
122
+          }
123
+          getPrivateExpenses(params).then(response => {
124
+            if (response.data.state == 0) {
125
+              this.$message.error(response.data.msg)
126
+
127
+              return false
128
+            } else {
129
+              
130
+              this.balanceAccounts = response.data.data
131
+              let arr = []
132
+              let obj = {
133
+                type:1,
134
+                details: [],
135
+                total: 0
136
+              }
137
+              let obj2 = {
138
+                type:2,
139
+                details: [],
140
+                total: 0
141
+              }
142
+              let obj3 = {
143
+                type:3,
144
+                details: [],
145
+                total: 0
146
+              }
147
+              this.balanceAccounts.order_info.map(item => {
148
+                
149
+                if(item.advice_id > 0){
150
+                  obj.details.push(item)
151
+                  obj.total += (item.pric * item.advice.prescribing_number)
152
+                }else{
153
+                  if(item.project.type == 2){
154
+                    obj2.details.push(item)
155
+                    obj2.total += (item.pric * item.project.count)
147
                   }else{
156
                   }else{
148
-                    that.info['health_card_no'] = response.data.data.health_card_no_two
157
+                    obj3.details.push(item)
158
+                    obj3.total += (item.pric * item.project.count)
149
                   }
159
                   }
160
+                }
161
+              })
162
+              this.balanceAccounts.new_detail_list = []
163
+              this.balanceAccounts.new_detail_list.push(obj)
164
+              this.balanceAccounts.new_detail_list.push(obj2)
165
+              this.balanceAccounts.new_detail_list.push(obj3)
166
+              console.log(111,this.balanceAccounts)
167
+            }
168
+          })
150
 
169
 
151
-                  that.info['order_number'] = response.data.data.order_number;
152
 
170
 
153
-                  that.info['department'] =  response.data.data.department;
154
-                  that.info['yiliao_leibie'] =  response.data.data.yiliao_leibie;
171
+        }else {
155
 
172
 
156
-                  that.info['before_money'] =  response.data.data.before_money;
157
-                  that.info['after_money'] =   response.data.data.after_money;
173
+          if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
174
+            var that = this;
175
+            axios.get('http://127.0.0.1:9532/sz/api/settle/query', {
176
+              params: obj
177
+            })
178
+              .then(function(response) {
179
+                if (response.data.state == 0) {
180
+                  this.$message.error(response.data.msg);
181
+                  return false
182
+                } else {
183
+                  if (response.data.data.failed_code == -10) {
184
+                    // that.$message.error(response.data.data.msg)
185
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
186
+                      confirmButtonText: '确 定',
187
+                      type: 'warning'
188
+                    }).then(() => {
189
+
190
+                    }).catch(() => {
191
+                    })
192
+
193
+                  } else {
194
+
195
+                    console.log("~~~~");
196
+                    that.info = response.data.data.result;
197
+                    console.log(that.info);
198
+
199
+                    that.info['patient_info'] = response.data.data.patient_info
200
+                    that.info['dialysis_no'] = response.data.data.dialysis_no
201
+                    that.info['org_code'] = response.data.data.org_code;
202
+                    that.info['patient_name'] = response.data.data.patient_name;
203
+                    that.info['doctor_code'] = response.data.data.doctor_code;
204
+                    that.info['doctor_name'] = response.data.data.doctor_name;
205
+                    if (response.data.data.health_card_no_two.length == 0) {
206
+                      that.info['health_card_no'] = response.data.data.health_card_no
207
+                    } else {
208
+                      that.info['health_card_no'] = response.data.data.health_card_no_two
209
+                    }
158
 
210
 
159
-                  that.info['org_name'] = that.$store.getters.xt_user.org.org_name;
160
-                  console.log("~~~~" + that.info);
211
+                    that.info['order_number'] = response.data.data.order_number;
161
 
212
 
162
-                  var name_arr = [];
163
-                  var spec_arr = [];
164
-                  var count_arr = [];
165
-                  var price_arr = [];
166
-                  var total_arr = [];
167
-                  for (let i = 0; i < that.info.transBody.outputlist1.length; i++) {
168
-                    name_arr.push(that.info.transBody.outputlist1[i].ake006);
169
-                    spec_arr.push(that.info.transBody.outputlist1[i].aka074);
170
-                    count_arr.push(that.info.transBody.outputlist1[i].akc226);
171
-                    price_arr.push(that.info.transBody.outputlist1[i].akc225);
172
-                    total_arr.push(that.info.transBody.outputlist1[i].akc264)
173
-                  }
213
+                    that.info['department'] = response.data.data.department;
214
+                    that.info['yiliao_leibie'] = response.data.data.yiliao_leibie;
174
 
215
 
175
-                  console.log("~~~" + that.info);
216
+                    that.info['before_money'] = response.data.data.before_money;
217
+                    that.info['after_money'] = response.data.data.after_money;
176
 
218
 
177
-                  that.info['name_arr'] = name_arr;
178
-                  that.info['spec_arr'] = spec_arr;
179
-                  that.info['count_arr'] = count_arr;
180
-                  that.info['price_arr'] = price_arr;
181
-                  that.info['total_arr'] = total_arr;
182
-                  that.info['record_date'] = obj.record_time;
219
+                    that.info['org_name'] = that.$store.getters.xt_user.org.org_name;
220
+                    console.log("~~~~" + that.info);
183
 
221
 
184
-                  console.log("~~" + that.info)
222
+                    var name_arr = [];
223
+                    var spec_arr = [];
224
+                    var count_arr = [];
225
+                    var price_arr = [];
226
+                    var total_arr = [];
227
+                    for (let i = 0; i < that.info.transBody.outputlist1.length; i++) {
228
+                      name_arr.push(that.info.transBody.outputlist1[i].ake006);
229
+                      spec_arr.push(that.info.transBody.outputlist1[i].aka074);
230
+                      count_arr.push(that.info.transBody.outputlist1[i].akc226);
231
+                      price_arr.push(that.info.transBody.outputlist1[i].akc225);
232
+                      total_arr.push(that.info.transBody.outputlist1[i].akc264)
233
+                    }
185
 
234
 
235
+                    console.log("~~~" + that.info);
186
 
236
 
187
-                  let type_arr = []
188
-                  for (let i = 0; i < that.info.transBody.outputlist1.length; i++) {
189
-                    type_arr.push(that.info.transBody.outputlist1[i].aka111)
190
-                  }
237
+                    that.info['name_arr'] = name_arr;
238
+                    that.info['spec_arr'] = spec_arr;
239
+                    that.info['count_arr'] = count_arr;
240
+                    that.info['price_arr'] = price_arr;
241
+                    that.info['total_arr'] = total_arr;
242
+                    that.info['record_date'] = obj.record_time;
191
 
243
 
244
+                    console.log("~~" + that.info)
192
 
245
 
193
-                  let  typeArr =  that.unique(type_arr)
246
+                    let type_arr = []
247
+                    for (let i = 0; i < that.info.transBody.outputlist1.length; i++) {
248
+                      type_arr.push(that.info.transBody.outputlist1[i].aka111)
249
+                    }
194
 
250
 
195
-                  that.info['new_detail_list'] = []
251
+                    let typeArr = that.unique(type_arr)
196
 
252
 
197
-                  for(let i = 0; i <  typeArr.length; i++){
198
-                    let obj = {
199
-                      aka111:typeArr[i],
200
-                      details:[],
201
-                      total:0
202
-                    }
253
+                    that.info['new_detail_list'] = []
254
+
255
+                    for (let i = 0; i < typeArr.length; i++) {
256
+                      let obj = {
257
+                        aka111: typeArr[i],
258
+                        details: [],
259
+                        total: 0
260
+                      }
203
 
261
 
204
-                    for(let b = 0; b < that.info.transBody.outputlist1.length;b++){
205
-                        if(typeArr[i] == that.info.transBody.outputlist1[b].aka111){
262
+                      for (let b = 0; b < that.info.transBody.outputlist1.length; b++) {
263
+                        if (typeArr[i] == that.info.transBody.outputlist1[b].aka111) {
206
                           obj.details.push(that.info.transBody.outputlist1[b])
264
                           obj.details.push(that.info.transBody.outputlist1[b])
207
                           obj.total += that.info.transBody.outputlist1[b].akc264
265
                           obj.total += that.info.transBody.outputlist1[b].akc264
208
                         }
266
                         }
267
+                      }
268
+                      that.info.new_detail_list.push(obj)
209
                     }
269
                     }
210
-                    that.info.new_detail_list.push(obj)
211
-                  }
212
-
213
 
270
 
271
+                  }
214
                 }
272
                 }
215
-              }
216
-            })
217
-            .catch(function (error) {
273
+              })
274
+              .catch(function(error) {
218
 
275
 
219
-            });
276
+              });
277
+          }
220
         }
278
         }
221
       }, unique(array) {
279
       }, unique(array) {
222
 
280
 
240
 
298
 
241
     created() {
299
     created() {
242
       this.org_id = this.$store.getters.xt_user.org_id
300
       this.org_id = this.$store.getters.xt_user.org_id
301
+      
243
       this.getInfo(this.paramsObj)
302
       this.getInfo(this.paramsObj)
244
     },
303
     },
245
     watch:{
304
     watch:{

+ 118 - 3
src/xt_pages/outpatientCharges/newTreatTemplate/printTwo.vue Zobrazit soubor

1
 <template>
1
 <template>
2
     <div>
2
     <div>
3
-        <div id='prescription-print' class="prescription-print" style="position: relative;">
3
+        <div v-if="paramsObj.balance_accounts_type != 2" id='prescription-print' class="prescription-print" style="position: relative;">
4
             <img style="width:100%;height:80px" src="../../../assets/img/bailinTop.jpg" alt="">
4
             <img style="width:100%;height:80px" src="../../../assets/img/bailinTop.jpg" alt="">
5
             <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
5
             <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
6
             <div style="display:flex;">
6
             <div style="display:flex;">
76
             </div>
76
             </div>
77
             <img style="width:100%;" src="../../../assets/img/bailinBottom.jpg" alt="">
77
             <img style="width:100%;" src="../../../assets/img/bailinBottom.jpg" alt="">
78
         </div>
78
         </div>
79
+        <div v-else id='prescription-print' class="prescription-print" style="position: relative;">
80
+          <img style="width:100%;height:80px" src="../../../assets/img/bailinTop.jpg" alt="">
81
+            <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
82
+            <div style="display:flex;">
83
+                <div>单据号:<span style="display:inline-block;width:200px;">{{balanceAccounts.his.number ? balanceAccounts.his.number : ''}}</span></div>
84
+                <div>透析号:<span style="display:inline-block;width:200px;">{{balanceAccounts.patient ? balanceAccounts.patient.dialysis_no : ''}}</span></div>
85
+            </div>
86
+            <div style="display:flex;justify-content: space-between;">
87
+                <div style="display:flex;">
88
+                  <div>姓名:<span style="display:inline-block;width:50px;">{{balanceAccounts.patient ? balanceAccounts.patient.name : ''}}</span></div>
89
+                  <div>性别:<span style="display:inline-block;width:30px;">{{balanceAccounts.patient == '1' ? '男' : '女'}}</span></div>
90
+                  <div>年龄:<span style="display:inline-block;width:50px;">{{balanceAccounts.patient ? balanceAccounts.patient.age : ''}}岁</span></div>
91
+                  <div>费别:<span style="display:inline-block;width:80px;">自费</span>
92
+                  </div>
93
+                  <div>电脑号:<span style="display:inline-block;width:80px;"></span></div>
94
+                  <div>收费日期:<span style="display:inline-block;width:80px;">{{getTime(new Date(),"{y}-{m}-{d}")?getTime(new Date(),"{y}-{m}-{d}"):""}}</span></div>
95
+                </div>
96
+                <div style="float:right">金额单位:元</div>
97
+            </div>
98
+            <div style="min-height: 300px;">
99
+              <table border='1' style="width:100%;" cellspacing="0">
100
+                  <tr>
101
+                      <td width="70">类别</td>
102
+                      <td>项目</td>
103
+                      <td width="80">规格</td>
104
+                      <td width="50">单位</td>
105
+                      <td width="50">数量</td>
106
+                      <td width="60">单价</td>
107
+                      <td width="70">总额</td>
108
+                      <td width="100">小计</td>
109
+                  </tr>
110
+                  <div v-for="(item,i) in balanceAccounts.new_detail_list" :key="i" style="width:100%;display: table-row-group;">
111
+                      <tr v-for="(subItem,index) in item.details" :key="index">
112
+                        <td>
113
+                          <span v-if="item.type == 1">药品费</span>
114
+                          <span v-if="item.type == 2">治疗费</span>
115
+                          <span v-if="item.type == 3">耗材费</span>
116
+                        </td>
117
+                        <td>
118
+                          <span v-if="item.type == 1">{{ subItem.advice.advice_name }}</span>
119
+                          <span v-if="item.type == 2">{{ subItem.project.project.project_name }}</span>
120
+                          <span v-if="item.type == 3">{{ subItem.project.good_info.good_name }}</span>
121
+                        </td>
122
+                        <td>
123
+                          <span v-if="item.type == 1"><span v-if="subItem.advice.drug.min_unit != subItem.advice.drug.dose_unit">{{subItem.advice.drug.dose}}{{subItem.advice.drug.dose_unit}}&nbsp;* &nbsp;</span>{{subItem.advice.drug.min_number}}{{subItem.advice.drug.min_unit}}/{{subItem.advice.drug.max_unit}}</span>
124
+                          <span v-if="item.type == 2"></span>
125
+                          <span v-if="item.type == 3">{{ subItem.project.good_info.specification_name }}</span>
126
+                        </td>
127
+                        <td>
128
+                          <span v-if="item.type == 1">{{ subItem.advice.drug.max_unit }}</span>
129
+                          <span v-if="item.type == 2">{{ subItem.project.unit }}</span>
130
+                          <span v-if="item.type == 3">{{ subItem.project.unit }}</span>
131
+                        </td>
132
+                        <td>
133
+                          <span v-if="item.type == 1">{{ subItem.advice.prescribing_number }}</span>
134
+                          <span v-if="item.type == 2">{{ subItem.project.count }}</span>
135
+                          <span v-if="item.type == 3">{{ subItem.project.count }}</span>
136
+                        </td>
137
+                        <td>
138
+                          <span v-if="item.type == 1">{{ subItem.pric }}</span>
139
+                          <span v-if="item.type == 2">{{ subItem.pric }}</span>
140
+                          <span v-if="item.type == 3">{{ subItem.pric }}</span>
141
+                        </td>
142
+                        <td>
143
+                          <span v-if="item.type == 1">{{ subItem.advice.prescribing_number * subItem.pric }}</span>
144
+                          <span v-if="item.type == 2">{{ subItem.project.count * subItem.pric }}</span>
145
+                          <span v-if="item.type == 3">{{ subItem.project.count * subItem.pric }}</span>
146
+                        </td>
147
+                        <td :rowspan="item.details.length" v-if="index == 0" style="vertical-align: middle;text-align: center;">{{ item.total.toFixed(2) }}</td>
148
+                      </tr>
149
+                  </div>
150
+                  <tr>
151
+                    <td colspan="7">
152
+                      <div style="display:flex;flez-wrap:wrap;">
153
+                        <div style="width:33%;" v-for="(item,index) in balanceAccounts.new_detail_list" :key="index">
154
+                          <span v-if="item.type == 1">药品费: {{ item.total.toFixed(2) }}</span>
155
+                          <span v-if="item.type == 2">治疗费: {{ item.total.toFixed(2) }}</span>
156
+                          <span v-if="item.type == 3">耗材费: {{ item.total.toFixed(2) }}</span>
157
+                        </div>
158
+                      </div>
159
+                    </td>
160
+                    <td>合计: {{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元</td>
161
+                  </tr>
162
+                  <tr>
163
+                      <td colspan="7">
164
+                          <div style="display:flex;flez-wrap:wrap;">
165
+                              <div style="width:33%;">医疗费总额:{{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元</div>
166
+                              <div style="width:33%;">基金支付金额:0元</div>
167
+                              <div style="width:33%;">个人账户支付金额:0元</div>
168
+
169
+                          </div>
170
+                          <div style="display:flex;flez-wrap:wrap;">
171
+                              <div style="width:33%;">个人支付金额:{{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元</div>
172
+                              <div style="width:33%;">个人账户金额:0元</div>
173
+                          </div>
174
+                      </td>
175
+                      <td>合计:{{balanceAccounts.order.medfee_sumamt?balanceAccounts.order.medfee_sumamt:0}}元</td>
176
+                  </tr>
177
+
178
+              </table>
179
+            </div>
180
+            <div style="float:right;margin:10px 0;display:flex;">
181
+                <div>操作人:<span style="width:100px;display:inline-block;">{{balanceAccounts.current_admin.user_name}}</span></div>
182
+                <div>操作日期:<span style="width:100px;display:inline-block;">{{getTime(new Date(),"{y}-{m}-{d}")?getTime(new Date(),"{y}-{m}-{d}"):""}}</span></div>
183
+            </div>
184
+            <img style="width:100%;" src="../../../assets/img/bailinBottom.jpg" alt="">
185
+        </div>
79
     </div>
186
     </div>
80
 
187
 
81
 </template>
188
 </template>
82
 <script>
189
 <script>
83
   import axios from 'axios'
190
   import axios from 'axios'
84
   import { getChargePrint } from '@/api/project/project'
191
   import { getChargePrint } from '@/api/project/project'
192
+  import { uParseTime } from '@/utils/tools'
85
 
193
 
86
   export default {
194
   export default {
87
     data() {
195
     data() {
107
     },
215
     },
108
     props: {
216
     props: {
109
       paramsObj: Object,
217
       paramsObj: Object,
110
-      info: Object
218
+      info: Object,
219
+      balanceAccounts:Object
111
     },
220
     },
112
     methods: {
221
     methods: {
113
       getName(list) {
222
       getName(list) {
315
             console.log('hispatient', histpatient)
424
             console.log('hispatient', histpatient)
316
           }
425
           }
317
         })
426
         })
318
-      }
427
+      },
428
+      getTime(value, temp) {
429
+        if (value != undefined) {
430
+            return uParseTime(value, temp)
431
+        }
432
+        return ''
433
+      },
319
     },
434
     },
320
     mounted() {
435
     mounted() {
321
       this.org_id = this.$store.getters.xt_user.org_id
436
       this.org_id = this.$store.getters.xt_user.org_id

Diff nebyl zobrazen, protože je příliš veliký
+ 964 - 723
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue


+ 307 - 266
src/xt_pages/outpatientCharges/summary.vue Zobrazit soubor

1
 <template>
1
 <template>
2
-  <div class="main-contain outpatientChargesManagement">
3
-    <div class="position">
4
-      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
-    </div>
6
-    <div class="app-container">
7
-      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
-        <div>
9
-          <el-input size="small" style="width:150px;" v-model="keywords"
10
-                    class="filter-item"/>
11
-          <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
-                     @click="searchAction">
13
-            搜索
14
-          </el-button>
15
-          <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
-                     style="width:150px;margin-left:10px;" @change="changeDoctor">
17
-            <el-option
18
-              label="全部"
19
-              value="0">
20
-            </el-option>
21
-            <el-option
22
-              v-for="item,index in doctors"
23
-              :key="index"
24
-              :label="item.user_name"
25
-              :value="item.admin_user_id">
26
-            </el-option>
27
-          </el-select>
28
-          <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
-                          @change="handleStartTimeChange" :editable="false" :clearable="false"
30
-                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
-                          format="yyyy-MM-dd"
32
-                          value-format="yyyy-MM-dd"
33
-                          align="right"></el-date-picker>
34
-
35
-          <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
-                          @change="handleEndTimeChange" :editable="false" :clearable="false"
37
-                          style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
-                          format="yyyy-MM-dd"
39
-                          value-format="yyyy-MM-dd"
40
-                          align="right"></el-date-picker>
41
-          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
-          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
2
+    <div class="main-contain outpatientChargesManagement">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
43
         </div>
5
         </div>
44
-        <div>
45
-          <!-- <el-popover
46
-            placement="bottom"
47
-            width="210"
48
-            trigger="click">
49
-            <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
-            <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
-            <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
-
53
-          </el-popover> -->
54
-          <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
6
+        <div class="app-container">
7
+            <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8
+                <div>
9
+                    <el-input size="small" style="width:150px;" v-model="keywords"
10
+                              class="filter-item"/>
11
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary"
12
+                               @click="searchAction">
13
+                        搜索
14
+                    </el-button>
15
+                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"
16
+                               style="width:150px;margin-left:10px;" @change="changeDoctor">
17
+                        <el-option
18
+                                label="全部"
19
+                                value="0">
20
+                        </el-option>
21
+                        <el-option
22
+                                v-for="item,index in doctors"
23
+                                :key="index"
24
+                                :label="item.user_name"
25
+                                :value="item.admin_user_id">
26
+                        </el-option>
27
+                    </el-select>
28
+                    <el-date-picker size="small" v-model="start_time" prefix-icon="el-icon-date"
29
+                                    @change="handleStartTimeChange" :editable="false" :clearable="false"
30
+                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择开始日期"
31
+                                    format="yyyy-MM-dd"
32
+                                    value-format="yyyy-MM-dd"
33
+                                    align="right"></el-date-picker>
34
+
35
+                    <el-date-picker size="small" v-model="end_time" prefix-icon="el-icon-date"
36
+                                    @change="handleEndTimeChange" :editable="false" :clearable="false"
37
+                                    style="width: 196px;margin-right:10px;" type="date" placeholder="选择结束日期"
38
+                                    format="yyyy-MM-dd"
39
+                                    value-format="yyyy-MM-dd"
40
+                                    align="right"></el-date-picker>
41
+                    <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
42
+                    <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
43
+                </div>
44
+                <div>
45
+                    <!-- <el-popover
46
+                      placement="bottom"
47
+                      width="210"
48
+                      trigger="click">
49
+                      <el-button size="small" ref="button_two" @click="open(1)">打印清单</el-button>
50
+                      <el-button size="small" ref="button_six" @click="open(2)">打印汇总</el-button>
51
+                      <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
52
+
53
+                    </el-popover> -->
54
+                    <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
55
+                </div>
56
+            </div>
57
+            <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
+                      :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
+                      highlight-current-row>
60
+                <el-table-column
61
+                        prop="date"
62
+                        label="序号"
63
+                        width="60"
64
+                        align="center"
65
+                        type="index"
66
+                >
67
+                </el-table-column>
68
+                <el-table-column align="center" width="100" prop="name" label="就诊号">
69
+                    <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
70
+                </el-table-column>
71
+                <el-table-column align="center" width="90" prop="name" label="患者名字">
72
+                    <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
+                </el-table-column>
74
+                <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
+                <!--<template slot-scope="scope"></template>-->
76
+                <!--</el-table-column>-->
77
+
78
+                <el-table-column align="center" width="90" prop="name" label="应收金额">
79
+                    <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
80
+                </el-table-column>
81
+                <el-table-column align="center" width="90" prop="name" label="实收金额">
82
+                    <template slot-scope="scope">{{scope.row.reality_price}}</template>
83
+                </el-table-column>
84
+                <el-table-column align="center" width="90" prop="name" label="科室">
85
+                    <template slot-scope="scope">{{scope.row.department_name}}</template>
86
+                </el-table-column>
87
+                <el-table-column align="center" width="100" prop="name" label="收费日期">
88
+                    <template slot-scope="scope">
89
+                        {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
90
+                    </template>
91
+                </el-table-column>
92
+                <el-table-column align="center" width="90" prop="name" label="收费员">
93
+                    <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
94
+                </el-table-column>
95
+                <el-table-column align="center" width="80" prop="name" label="状态">
96
+                    <template slot-scope="scope">
97
+                        <div v-if="scope.row.order_status == 1">待结算</div>
98
+                        <div v-if="scope.row.order_status == 2">已结算</div>
99
+                        <div v-if="scope.row.order_status == 3">已退费</div>
100
+                    </template>
101
+                </el-table-column>
102
+                <el-table-column align="center" prop="name" label="操作">
103
+                    <template slot-scope="scope">
104
+                        <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
105
+                        <el-button size="mini" type="primary" @click="toPrint(scope.row)"
106
+                                   v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10138)  || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
107
+                            结算单
108
+                        </el-button>
109
+                        <el-button size="mini" type="primary" @click="uploadInfo(scope.row)"
110
+                                   v-if="scope.row.order_status == 2&& scope.row.result.id == 0">
111
+                            上传结算清单
112
+                        </el-button>
113
+                        <el-button size="mini" type="primary"
114
+                                   v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106"
115
+                                   @click="settlementPrint(scope.row)">结算单
116
+                        </el-button>
117
+                        <el-button size="mini" type="primary" @click="toRefund(scope.row)">
118
+                            退费
119
+                        </el-button>
120
+                        <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
121
+                    </template>
122
+                </el-table-column>
123
+            </el-table>
124
+            <el-pagination
125
+                    @size-change="handleSizeChange"
126
+                    @current-change="handleCurrentChange"
127
+                    :page-sizes="[10, 50, 100]"
128
+                    :page-size="10"
129
+                    background
130
+                    style="margin-top:20px;float: right"
131
+                    layout="total, sizes, prev, pager, next, jumper"
132
+                    :total="total"
133
+
134
+            >
135
+            </el-pagination>
55
         </div>
136
         </div>
56
-      </div>
57
-      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
58
-                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
59
-                highlight-current-row>
60
-        <el-table-column
61
-          prop="date"
62
-          label="序号"
63
-          width="60"
64
-          align="center"
65
-          type="index"
66
-        >
67
-        </el-table-column>
68
-        <el-table-column align="center" width="100" prop="name" label="就诊号">
69
-          <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
70
-        </el-table-column>
71
-        <el-table-column align="center" width="90" prop="name" label="患者名字">
72
-          <template slot-scope="scope">{{ scope.row.patient.name }}</template>
73
-        </el-table-column>
74
-        <!--<el-table-column align="center" prop="name" label="患者类型">-->
75
-        <!--<template slot-scope="scope"></template>-->
76
-        <!--</el-table-column>-->
77
-
78
-        <el-table-column align="center" width="90" prop="name" label="应收金额">
79
-          <template slot-scope="scope">{{scope.row.medfee_sumamt}}</template>
80
-        </el-table-column>
81
-        <el-table-column align="center" width="90" prop="name" label="实收金额">
82
-          <template slot-scope="scope">{{scope.row.reality_price}}</template>
83
-        </el-table-column>
84
-        <el-table-column align="center" width="90" prop="name" label="科室">
85
-          <template slot-scope="scope">{{scope.row.department_name}}</template>
86
-        </el-table-column>
87
-        <el-table-column align="center" width="100" prop="name" label="收费日期">
88
-          <template slot-scope="scope">
89
-            {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
90
-          </template>
91
-        </el-table-column>
92
-        <el-table-column align="center" width="90" prop="name" label="收费员">
93
-          <template slot-scope="scope">{{ getName(scope.row.creator) }}</template>
94
-        </el-table-column>
95
-        <el-table-column align="center" width="80" prop="name" label="状态">
96
-          <template slot-scope="scope">
97
-            <div v-if="scope.row.order_status == 1">待结算</div>
98
-            <div v-if="scope.row.order_status == 2">已结算</div>
99
-            <div v-if="scope.row.order_status == 3">已退费</div>
100
-          </template>
101
-        </el-table-column>
102
-        <el-table-column align="center" prop="name" label="操作">
103
-          <template slot-scope="scope">
104
-            <el-button size="mini" type="primary" @click="toDetail(scope.row)">详情</el-button>
105
-            <el-button size="mini" type="primary" @click="toPrint(scope.row)"
106
-                       v-if="(scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10138)  || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9504) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9919) ||  ($store.getters.xt_user.org_id == 10106) ||  (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 4) || (scope.row.order_status == 2 && $store.getters.xt_user.org_id == 9990)">
107
-              结算单
108
-            </el-button>
109
-            <el-button size="mini" type="primary" @click="uploadInfo(scope.row)"
110
-                       v-if="scope.row.order_status == 2&& scope.row.result.id == 0">
111
-              上传结算清单
112
-            </el-button>
113
-            <el-button size="mini" type="primary"
114
-                       v-if="scope.row.order_status == 2 && $store.getters.xt_user.org_id == 10106"
115
-                       @click="settlementPrint(scope.row)">结算单
116
-            </el-button>
117
-            <el-button size="mini" type="primary" @click="toRefund(scope.row)">
118
-              退费
119
-            </el-button>
120
-            <el-button size="mini" type="primary" @click="invoicePrint(scope.row)">打印发票</el-button>
121
-          </template>
122
-        </el-table-column>
123
-      </el-table>
124
-      <el-pagination
125
-        @size-change="handleSizeChange"
126
-        @current-change="handleCurrentChange"
127
-        :page-sizes="[10, 50, 100]"
128
-        :page-size="10"
129
-        background
130
-        style="margin-top:20px;float: right"
131
-        layout="total, sizes, prev, pager, next, jumper"
132
-        :total="total"
133
-
134
-      >
135
-      </el-pagination>
136
-    </div>
137
 
137
 
138
-    <el-dialog
139
-      class="centerDialog"
140
-      width="1200px"
141
-      title="打印"
142
-      :visible.sync="statementVisible">
143
-      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
144
-      <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
145
-    </el-dialog>
146
-    <el-dialog
147
-      class="centerDialog"
148
-      width="900px"
149
-      title="打印"
150
-      :visible.sync="listVisible">
151
-      <listPrint></listPrint>
152
-    </el-dialog>
153
-    <el-dialog
154
-      class="centerDialog"
155
-      width="900px"
156
-      title="打印"
157
-      :visible.sync="allListVisible">
158
-      <allListPrint :paramsObj='paramsObj'></allListPrint>
159
-    </el-dialog>
160
-
161
-    <el-dialog
162
-      class="centerDialog"
163
-      width="1200px"
164
-      title="打印"
165
-      :visible.sync="statementVisible9504">
166
-      <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
167
-      <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
168
-      <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
169
-    </el-dialog>
170
-
171
-    <el-dialog
172
-      class="centerDialog"
173
-      width="1200px"
174
-      title="打印"
175
-      :visible.sync="invoiceVisible">
176
-      <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
177
-    </el-dialog>
178
-    <el-dialog
179
-      class="centerDialog"
180
-      width="1200px"
181
-      title="打印"
182
-      :visible.sync="settlementVisible">
183
-      <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
184
-    </el-dialog>
185
-
186
-  </div>
138
+        <el-dialog
139
+                class="centerDialog"
140
+                width="1200px"
141
+                title="打印"
142
+                :visible.sync="statementVisible">
143
+            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
144
+            <new-statement-print ref="print" :paramsObj='orderObj'></new-statement-print>
145
+        </el-dialog>
146
+        <el-dialog
147
+                class="centerDialog"
148
+                width="900px"
149
+                title="打印"
150
+                :visible.sync="listVisible">
151
+            <listPrint></listPrint>
152
+        </el-dialog>
153
+        <el-dialog
154
+                class="centerDialog"
155
+                width="900px"
156
+                title="打印"
157
+                :visible.sync="allListVisible">
158
+            <allListPrint :paramsObj='paramsObj'></allListPrint>
159
+        </el-dialog>
160
+
161
+        <el-dialog
162
+                class="centerDialog"
163
+                width="1200px"
164
+                title="打印"
165
+                :visible.sync="statementVisible9504">
166
+            <!--<statementPrint ref="print" :paramsObj='orderObj'></statementPrint>-->
167
+            <!--<new-statement-print ref="print" :paramsObj='orderObj9504'></new-statement-print>-->
168
+            <new-statement-print-two ref="print" :paramsObj='orderObj9504'></new-statement-print-two>
169
+        </el-dialog>
170
+
171
+        <el-dialog
172
+                class="centerDialog"
173
+                width="1200px"
174
+                title="打印"
175
+                :visible.sync="invoiceVisible">
176
+            <invoice-print ref="print" :invoiceParams='invoiceParams'></invoice-print>
177
+        </el-dialog>
178
+        <el-dialog
179
+                class="centerDialog"
180
+                width="1200px"
181
+                title="打印"
182
+                :visible.sync="settlementVisible">
183
+            <settlement-print ref="print" :paramsObj='settlementObj'></settlement-print>
184
+        </el-dialog>
185
+
186
+    </div>
187
 </template>
187
 </template>
188
 
188
 
189
 
189
 
190
 <script>
190
 <script>
191
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
191
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
192
-  import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from '@/api/his/his'
193
-  import {uParseTime} from '@/utils/tools'
192
+  import { getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund } from '@/api/his/his'
193
+  import { uParseTime } from '@/utils/tools'
194
   import NewStatementPrint from './newStatementPrint'
194
   import NewStatementPrint from './newStatementPrint'
195
   import listPrint from './listPrint'
195
   import listPrint from './listPrint'
196
   import allListPrint from './allListPrint'
196
   import allListPrint from './allListPrint'
197
   import NewStatementPrintTwo from './newStatementPrintTwo'
197
   import NewStatementPrintTwo from './newStatementPrintTwo'
198
-  import {fetchAllAdminUsers} from '@/api/doctor'
198
+  import { fetchAllAdminUsers } from '@/api/doctor'
199
   import axios from 'axios'
199
   import axios from 'axios'
200
   import invoicePrint from './invoicePrint'
200
   import invoicePrint from './invoicePrint'
201
   import settlementPrint from './settlementPrint'
201
   import settlementPrint from './settlementPrint'
217
         statementVisible9504: false,
217
         statementVisible9504: false,
218
         orderObj9504: {},
218
         orderObj9504: {},
219
         crumbs: [
219
         crumbs: [
220
-          {path: false, name: '门诊收费'},
221
-          {path: false, name: '项目消费明细汇总'}
220
+          { path: false, name: '门诊收费' },
221
+          { path: false, name: '项目消费明细汇总' }
222
         ],
222
         ],
223
         tableData: [],
223
         tableData: [],
224
         limit: 10,
224
         limit: 10,
242
     },
242
     },
243
     methods: {
243
     methods: {
244
       uploadInfo(row) {
244
       uploadInfo(row) {
245
-        var that = this;
245
+        var that = this
246
         axios.get('http://127.0.0.1:9532/api/settlelist/get', {
246
         axios.get('http://127.0.0.1:9532/api/settlelist/get', {
247
           params: {
247
           params: {
248
             order_id: row.id,
248
             order_id: row.id,
249
             admin_user_id: this.$store.getters.xt_user.user.id
249
             admin_user_id: this.$store.getters.xt_user.user.id
250
           }
250
           }
251
-        }).then(function (response) {
251
+        }).then(function(response) {
252
           if (response.data.state == 0) {
252
           if (response.data.state == 0) {
253
-            that.$message.error(response.data.msg);
253
+            that.$message.error(response.data.msg)
254
             return false
254
             return false
255
           } else {
255
           } else {
256
 
256
 
265
               })
265
               })
266
 
266
 
267
             } else {
267
             } else {
268
-              that.$message.success("上传成功");
268
+              that.$message.success('上传成功')
269
               row.result.id = response.data.data.result.id
269
               row.result.id = response.data.data.result.id
270
             }
270
             }
271
 
271
 
272
-
273
           }
272
           }
274
-        }).catch(function (error) {
273
+        }).catch(function(error) {
275
         })
274
         })
276
       },
275
       },
277
 
276
 
291
         }
290
         }
292
 
291
 
293
       }, toRefund(row) {
292
       }, toRefund(row) {
293
+
294
+
295
+
294
         if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990) {
296
         if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9671 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9990) {
295
-          var that = this;
297
+          var that = this
296
           this.$confirm('是否退费', '退费', {
298
           this.$confirm('是否退费', '退费', {
297
             confirmButtonText: '确 定',
299
             confirmButtonText: '确 定',
298
             cancelButtonText: '取 消',
300
             cancelButtonText: '取 消',
302
               'order_id': row.id,
304
               'order_id': row.id,
303
               'patient_id': row.patient_id,
305
               'patient_id': row.patient_id,
304
               'record_time': that.getTimes(row.settle_accounts_date),
306
               'record_time': that.getTimes(row.settle_accounts_date),
305
-              'admin_user_id': that.$store.getters.xt_user.user.id,
306
-            };
307
+              'admin_user_id': that.$store.getters.xt_user.user.id
308
+            }
307
             axios.get('http://127.0.0.1:9532/api/refund/post', {
309
             axios.get('http://127.0.0.1:9532/api/refund/post', {
308
               params: params
310
               params: params
309
             })
311
             })
310
-              .then(function (response) {
312
+              .then(function(response) {
311
                 if (response.data.state == 0) {
313
                 if (response.data.state == 0) {
312
-                  that.$message.error(response.data.msg);
314
+                  that.$message.error(response.data.msg)
313
                   return false
315
                   return false
314
                 } else {
316
                 } else {
315
                   if (response.data.data.failed_code == -10) {
317
                   if (response.data.data.failed_code == -10) {
322
                     }).catch(() => {
324
                     }).catch(() => {
323
                     })
325
                     })
324
                   } else {
326
                   } else {
325
-                    that.$message({message: '退费成功', type: 'success', duration: 5000});
327
+                    that.$message({ message: '退费成功', type: 'success', duration: 5000 })
326
                     that.getHisOrderList()
328
                     that.getHisOrderList()
327
 
329
 
328
                   }
330
                   }
329
                 }
331
                 }
330
               })
332
               })
331
-              .catch(function (error) {
333
+              .catch(function(error) {
332
               })
334
               })
333
           }).catch(() => {
335
           }).catch(() => {
334
           })
336
           })
335
 
337
 
338
+        } else if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
339
+
340
+          this.$confirm('是否退费', '退费', {
341
+            confirmButtonText: '确 定',
342
+            cancelButtonText: '取 消',
343
+            type: 'warning'
344
+          }).then(() => {
345
+            let params = {
346
+              'order_id': row.id,
347
+              'patient_id': row.patient_id,
348
+              'record_time': that.getTimes(row.settle_accounts_date),
349
+              'admin_user_id': that.$store.getters.xt_user.user.id
350
+            }
351
+            axios.get('http://127.0.0.1:9532/sz/api/refund/get', {
352
+              params: params
353
+            })
354
+              .then(function(response) {
355
+                if (response.data.state == 0) {
356
+                  that.$message.error(response.data.msg)
357
+                  return false
358
+                } else {
359
+                  if (response.data.data.failed_code == -10) {
360
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
361
+                      confirmButtonText: '确 定',
362
+                      type: 'warning'
363
+                    }).then(() => {
364
+
365
+                    }).catch(() => {
366
+                    })
367
+
368
+                  } else {
369
+                    that.$message({ message: '退费成功', type: 'success', duration: 5000 })
370
+                    that.getHisOrderList()
371
+                  }
372
+                }
373
+              })
374
+              .catch(function(error) {
375
+              })
376
+
377
+          }).catch(() => {
378
+          })
379
+
336
         } else {
380
         } else {
337
           this.$confirm('是否退费', '退费', {
381
           this.$confirm('是否退费', '退费', {
338
             confirmButtonText: '确 定',
382
             confirmButtonText: '确 定',
344
               'patient_id': this.patientInfo.id,
388
               'patient_id': this.patientInfo.id,
345
               'record_time': this.record_date
389
               'record_time': this.record_date
346
 
390
 
347
-            };
391
+            }
348
             Refund(params).then(response => {
392
             Refund(params).then(response => {
349
               if (response.data.state == 0) {
393
               if (response.data.state == 0) {
350
-                this.$message.error(response.data.msg);
394
+                this.$message.error(response.data.msg)
351
                 return false
395
                 return false
352
               } else {
396
               } else {
353
-                this.$message({message: '退费成功', type: 'success'});
397
+                this.$message({ message: '退费成功', type: 'success' })
354
                 this.getHisOrderList()
398
                 this.getHisOrderList()
355
               }
399
               }
356
             })
400
             })
360
       },
404
       },
361
       toPrint(row) {
405
       toPrint(row) {
362
         if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
406
         if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 10138) {
363
-          this.statementVisible9504 = true;
407
+          this.statementVisible9504 = true
364
           let obj = {
408
           let obj = {
365
             order_id: row.id,
409
             order_id: row.id,
366
             patient_id: row.patient_id,
410
             patient_id: row.patient_id,
367
             record_time: this.getTimes(row.settle_accounts_date),
411
             record_time: this.getTimes(row.settle_accounts_date),
368
             admin_user_id: this.$store.getters.xt_user.user.id
412
             admin_user_id: this.$store.getters.xt_user.user.id
369
-          };
413
+          }
370
           this.orderObj9504 = obj
414
           this.orderObj9504 = obj
371
         } else {
415
         } else {
372
-          this.statementVisible = true;
416
+          this.statementVisible = true
373
           let obj = {
417
           let obj = {
374
             order_id: row.id,
418
             order_id: row.id,
375
-            settle_type:row.settle_type,
376
-            start_time:row.settle_start_time,
377
-            end_time:row.settle_end_time,
378
-          };
419
+            settle_type: row.settle_type,
420
+            start_time: row.settle_start_time,
421
+            end_time: row.settle_end_time
422
+          }
379
           this.orderObj = obj
423
           this.orderObj = obj
380
         }
424
         }
381
 
425
 
382
       },
426
       },
383
       settlementPrint(row) {
427
       settlementPrint(row) {
384
-        this.settlementVisible = true;
428
+        this.settlementVisible = true
385
         let obj = {
429
         let obj = {
386
           order_id: row.id
430
           order_id: row.id
387
-        };
431
+        }
388
         this.settlementObj = obj
432
         this.settlementObj = obj
389
       },
433
       },
390
       export_detail() {
434
       export_detail() {
391
         let params = {
435
         let params = {
392
           start_time: this.start_time,
436
           start_time: this.start_time,
393
           end_time: this.end_time,
437
           end_time: this.end_time,
394
-          p_type: 2,
395
-        };
438
+          p_type: 2
439
+        }
396
         getExportConsumeDetailList(params).then(response => {
440
         getExportConsumeDetailList(params).then(response => {
397
           if (response.data.state == 0) {
441
           if (response.data.state == 0) {
398
-            this.$message.error(response.data.msg);
442
+            this.$message.error(response.data.msg)
399
             return false
443
             return false
400
           } else {
444
           } else {
401
 
445
 
402
-            let list = [];
446
+            let list = []
403
             for (let i = 0; i < response.data.data.order.length; i++) {
447
             for (let i = 0; i < response.data.data.order.length; i++) {
404
-              let order = response.data.data.order[i];
405
-              let number = '';
406
-              let name = '';
407
-              let department = '';
408
-              let doctor_name = '';
409
-              let balance_accounts = '';
410
-              let order_status = '';
411
-              let charge_name = '';
412
-
413
-              let insutypeName = "";
414
-
415
-              let time = "";
448
+              let order = response.data.data.order[i]
449
+              let number = ''
450
+              let name = ''
451
+              let department = ''
452
+              let doctor_name = ''
453
+              let balance_accounts = ''
454
+              let order_status = ''
455
+              let charge_name = ''
456
+
457
+              let insutypeName = ''
458
+
459
+              let time = ''
416
               if (order.his_patient != null && order.his_patient.number.length > 0) {
460
               if (order.his_patient != null && order.his_patient.number.length > 0) {
417
                 number = order.his_patient.number
461
                 number = order.his_patient.number
418
 
462
 
419
               }
463
               }
420
 
464
 
421
-
422
               if (order.his_patient != null) {
465
               if (order.his_patient != null) {
423
                 if (order.his_patient.balance_accounts_type == 1) {
466
                 if (order.his_patient.balance_accounts_type == 1) {
424
                   balance_accounts = '自费'
467
                   balance_accounts = '自费'
448
               }
491
               }
449
               if (order.insutype == '390') {
492
               if (order.insutype == '390') {
450
 
493
 
451
-                insutypeName = "城乡居民基本医疗保险"
494
+                insutypeName = '城乡居民基本医疗保险'
452
               } else if (order.insutype == '310') {
495
               } else if (order.insutype == '310') {
453
-                insutypeName = "职工基本医疗保险"
454
-
496
+                insutypeName = '职工基本医疗保险'
455
 
497
 
456
               }
498
               }
457
 
499
 
458
-
459
               if (order.order_status == 1) {
500
               if (order.order_status == 1) {
460
                 order_status = '待结算'
501
                 order_status = '待结算'
461
               }
502
               }
474
                 time = this.getTimes(order.settle_accounts_date)
515
                 time = this.getTimes(order.settle_accounts_date)
475
               }
516
               }
476
 
517
 
477
-              var hifmi_pay = 0.00;
518
+              var hifmi_pay = 0.00
478
 
519
 
479
-              if(order.setl_detail.length > 0){
480
-                var jsonObj = JSON.parse(order.setl_detail);
520
+              if (order.setl_detail.length > 0) {
521
+                var jsonObj = JSON.parse(order.setl_detail)
481
                 for (let i = 0; i < jsonObj.length; i++) {
522
                 for (let i = 0; i < jsonObj.length; i++) {
482
                   if (order.insutype == '310') {
523
                   if (order.insutype == '310') {
483
                     if (jsonObj[i].fund_pay_type == '310300') {
524
                     if (jsonObj[i].fund_pay_type == '310300') {
484
                       hifmi_pay = jsonObj[i].fund_payamt
525
                       hifmi_pay = jsonObj[i].fund_payamt
485
                     }
526
                     }
486
 
527
 
487
-                  } else if (order.insutype == '390')
528
+                  } else if (order.insutype == '390') {
488
                     if (order.fund_pay_type == '390200') {
529
                     if (order.fund_pay_type == '390200') {
489
                       hifmi_pay = jsonObj[i].fund_payamt
530
                       hifmi_pay = jsonObj[i].fund_payamt
490
                     }
531
                     }
532
+                  }
491
                 }
533
                 }
492
               }
534
               }
493
-              var hifmi_pay = 0.00;
535
+              var hifmi_pay = 0.00
494
 
536
 
495
-              if(order.setl_detail.length > 0){
496
-                var jsonObj = JSON.parse(order.setl_detail);
537
+              if (order.setl_detail.length > 0) {
538
+                var jsonObj = JSON.parse(order.setl_detail)
497
                 for (let i = 0; i < jsonObj.length; i++) {
539
                 for (let i = 0; i < jsonObj.length; i++) {
498
                   if (order.insutype == '310') {
540
                   if (order.insutype == '310') {
499
                     if (jsonObj[i].fund_pay_type == '310300') {
541
                     if (jsonObj[i].fund_pay_type == '310300') {
500
                       hifmi_pay = jsonObj[i].fund_payamt
542
                       hifmi_pay = jsonObj[i].fund_payamt
501
                     }
543
                     }
502
                   }
544
                   }
503
-                  if (order.insutype == '390')
545
+                  if (order.insutype == '390') {
504
                     if (jsonObj[i].fund_pay_type == '390200') {
546
                     if (jsonObj[i].fund_pay_type == '390200') {
505
                       hifmi_pay = jsonObj[i].fund_payamt
547
                       hifmi_pay = jsonObj[i].fund_payamt
506
                     }
548
                     }
549
+                  }
507
                 }
550
                 }
508
               }
551
               }
509
 
552
 
535
                 '收费时间': order.setl_time,
578
                 '收费时间': order.setl_time,
536
                 '收费状态': order_status,
579
                 '收费状态': order_status,
537
                 '退费日期': ''
580
                 '退费日期': ''
538
-              };
581
+              }
539
 
582
 
540
               list.push(obj)
583
               list.push(obj)
541
             }
584
             }
542
             import('@/vendor/Export2Excel').then(excel => {
585
             import('@/vendor/Export2Excel').then(excel => {
543
-              const tHeader = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
544
-              const filterVal = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期'];
545
-              const data = this.formatJson(filterVal, list);
586
+              const tHeader = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
587
+              const filterVal = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
588
+              const data = this.formatJson(filterVal, list)
546
               excel.export_json_to_excel({
589
               excel.export_json_to_excel({
547
                 header: tHeader,
590
                 header: tHeader,
548
                 data,
591
                 data,
557
         return jsonData.map(v => filterVal.map(j => v[j]))
600
         return jsonData.map(v => filterVal.map(j => v[j]))
558
       },
601
       },
559
       changeDoctor() {
602
       changeDoctor() {
560
-        this.page = 1;
561
-        this.keywords = '';
603
+        this.page = 1
604
+        this.keywords = ''
562
         this.getHisOrderList()
605
         this.getHisOrderList()
563
       },
606
       },
564
       handleSizeChange(limit) {
607
       handleSizeChange(limit) {
565
-        this.limit = limit;
608
+        this.limit = limit
566
         this.getHisOrderList()
609
         this.getHisOrderList()
567
 
610
 
568
       }, handleCurrentChange(page) {
611
       }, handleCurrentChange(page) {
569
-        this.page = page;
612
+        this.page = page
570
         this.getHisOrderList()
613
         this.getHisOrderList()
571
 
614
 
572
       },
615
       },
573
       handleStartTimeChange() {
616
       handleStartTimeChange() {
574
-        this.page = 1;
575
-        this.keywords = '';
617
+        this.page = 1
618
+        this.keywords = ''
576
         this.getHisOrderList()
619
         this.getHisOrderList()
577
       }, handleEndTimeChange() {
620
       }, handleEndTimeChange() {
578
-        this.page = 1;
579
-        this.keywords = '';
621
+        this.page = 1
622
+        this.keywords = ''
580
         this.getHisOrderList()
623
         this.getHisOrderList()
581
       },
624
       },
582
       searchAction() {
625
       searchAction() {
583
-        this.page = 1;
626
+        this.page = 1
584
         this.getHisOrderList()
627
         this.getHisOrderList()
585
 
628
 
586
       },
629
       },
602
           start_time: this.start_time,
645
           start_time: this.start_time,
603
           end_time: this.end_time,
646
           end_time: this.end_time,
604
           type: this.admin_user_id,
647
           type: this.admin_user_id,
605
-          p_type: 2,
606
-        };
648
+          p_type: 2
649
+        }
607
         getHisOrderList(params).then(response => {
650
         getHisOrderList(params).then(response => {
608
           if (response.data.state == 0) {
651
           if (response.data.state == 0) {
609
-            this.$message.error(response.data.msg);
652
+            this.$message.error(response.data.msg)
610
             return false
653
             return false
611
           } else {
654
           } else {
612
-            this.tableData = response.data.data.order;
655
+            this.tableData = response.data.data.order
613
             this.total = response.data.data.total
656
             this.total = response.data.data.total
614
           }
657
           }
615
         })
658
         })
617
       }, getDoctorList() {
660
       }, getDoctorList() {
618
         getDoctorList().then(response => {
661
         getDoctorList().then(response => {
619
           if (response.data.state == 0) {
662
           if (response.data.state == 0) {
620
-            this.$message.error(response.data.msg);
663
+            this.$message.error(response.data.msg)
621
             return false
664
             return false
622
           } else {
665
           } else {
623
             this.doctors = response.data.data.doctors
666
             this.doctors = response.data.data.doctors
632
         }
675
         }
633
       },
676
       },
634
       invoicePrint(obj) {
677
       invoicePrint(obj) {
635
-        console.log(obj);
678
+        console.log(obj)
636
         let paramsObj = {
679
         let paramsObj = {
637
           order_id: obj.id,
680
           order_id: obj.id,
638
           patient_id: obj.patient_id,
681
           patient_id: obj.patient_id,
640
           age: obj.age,
683
           age: obj.age,
641
           gend: obj.gend,
684
           gend: obj.gend,
642
           setl_time: obj.setl_time
685
           setl_time: obj.setl_time
643
-        };
644
-        this.invoiceParams = paramsObj;
686
+        }
687
+        this.invoiceParams = paramsObj
645
         this.invoiceVisible = true
688
         this.invoiceVisible = true
646
       }
689
       }
647
     }, created() {
690
     }, created() {
648
 
691
 
649
-
650
-      this.fetchAllAdminUsers();
651
-      this.getDoctorList();
692
+      this.fetchAllAdminUsers()
693
+      this.getDoctorList()
652
       this.getHisOrderList()
694
       this.getHisOrderList()
653
 
695
 
654
-
655
     }
696
     }
656
   }
697
   }
657
 </script>
698
 </script>

+ 34 - 0
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Zobrazit soubor

2494
 
2494
 
2495
       comfirm() {
2495
       comfirm() {
2496
 
2496
 
2497
+        // if(this.curStatus == 1  && this.rightTab == 2){
2498
+        //   for(let i = 0; i < this.curDrugs.length; i++){
2499
+        //     if(this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138 || this.$store.getters.xt_user.org_id == 10028){
2500
+        //
2501
+        //       if(this.curPrescriptions.med_type != 13 && this.curDrugs[i].drug.is_special_diseases == 1){
2502
+        //         this.$message.error('该处方不属于特病类型处方,无法开特病类型的药')
2503
+        //         return
2504
+        //       }
2505
+        //
2506
+        //       if(this.curPrescriptions.med_type == 13 && this.curDrugs[i].drug.is_special_diseases != 1){
2507
+        //         this.$message.error('该处方属于特病类型处方,开非特病类型的药')
2508
+        //         return
2509
+        //       }
2510
+        //
2511
+        //
2512
+        //     }else{
2513
+        //
2514
+        //       if(this.curPrescriptions.med_type != 14 && this.curDrugs[i].drug.is_special_diseases == 1){
2515
+        //         this.$message.error('该处方不属于特病类型处方,无法开特病类型的药')
2516
+        //         return
2517
+        //       }
2518
+        //
2519
+        //       if(this.curPrescriptions.med_type == 14 && this.curDrugs[i].drug.is_special_diseases != 1){
2520
+        //         this.$message.error('该处方属于特病类型处方,开非特病类型的药')
2521
+        //         return
2522
+        //       }
2523
+        //
2524
+        //
2525
+        //
2526
+        //     }
2527
+        //
2528
+        //   }
2529
+        // }
2530
+
2497
         // if (this.curPrescriptions.order_status == 2) {
2531
         // if (this.curPrescriptions.order_status == 2) {
2498
         //   this.$message.error('该处方已经结算,无法继续添加药品或者项目')
2532
         //   this.$message.error('该处方已经结算,无法继续添加药品或者项目')
2499
         //   this.teamList = []
2533
         //   this.teamList = []

+ 15 - 6
src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue Zobrazit soubor

8
     class="detailDialog"
8
     class="detailDialog"
9
   >
9
   >
10
     <div style="position: absolute;right:20px;z-index:99">
10
     <div style="position: absolute;right:20px;z-index:99">
11
-      <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button>
11
+      <!-- <el-button v-if="activeName == 'first'" @click="open(1)" type="primary">打印</el-button> -->
12
+      <el-popover placement="bottom" width="200" trigger="click">
13
+          <el-button size="small" ref="button_two" @click="open(1)">处方单</el-button>
14
+          <el-button size="small" ref="button_six" @click="open(3)">治疗单</el-button>
15
+          <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
16
+      </el-popover>
12
       <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
17
       <el-button v-if="activeName == 'second'" @click="open(2)" type="primary">打印</el-button>
13
     </div>
18
     </div>
14
     <el-tabs v-model="activeName">
19
     <el-tabs v-model="activeName">
110
       :visible.sync="innerVisible"
115
       :visible.sync="innerVisible"
111
       append-to-body>
116
       append-to-body>
112
 
117
 
113
-      <print v-if="activeName == 'first'" :paramsObj='paramsObj'></print>
118
+      <print v-if="activeName == 'first' && prescriptionsType == 1" :paramsObj='paramsObj'></print>
119
+      <treatPrint v-if="activeName == 'first' && prescriptionsType == 3" :paramsObj='paramsObj'></treatPrint>
114
       <recordPrint v-if="activeName == 'second'" ref="recordPrint" :patientid="patientid"></recordPrint>
120
       <recordPrint v-if="activeName == 'second'" ref="recordPrint" :patientid="patientid"></recordPrint>
115
     </el-dialog>
121
     </el-dialog>
116
   </el-dialog>
122
   </el-dialog>
128
   import moment from 'moment';
134
   import moment from 'moment';
129
   import print from '../print'
135
   import print from '../print'
130
   import recordPrint from '../recordPrint'
136
   import recordPrint from '../recordPrint'
137
+  import treatPrint from '../treatPrint'
131
 
138
 
132
   export default {
139
   export default {
133
-    components: { NewPrescriptionTable,print,recordPrint },
140
+    components: { NewPrescriptionTable,print,recordPrint,treatPrint },
134
     data() {
141
     data() {
135
       return {
142
       return {
136
         visible: false,
143
         visible: false,
164
         departmentList:[],
171
         departmentList:[],
165
         innerVisible:false,
172
         innerVisible:false,
166
         paramsObj:{},
173
         paramsObj:{},
167
-        patientid:''
174
+        patientid:'',
175
+        prescriptionsType:1
168
       }
176
       }
169
     },
177
     },
170
     methods: {
178
     methods: {
171
       open(index){
179
       open(index){
172
-        if(index == 1){
180
+        this.prescriptionsType = index
181
+        if(index == 1 || index == 3){
173
            var arr= []
182
            var arr= []
174
            for(let i=0;i<this.prescriptions.length;i++){
183
            for(let i=0;i<this.prescriptions.length;i++){
175
               arr.push(this.prescriptions[i].id)
184
               arr.push(this.prescriptions[i].id)
320
                 type: response.data.data.prescription[i].type
329
                 type: response.data.data.prescription[i].type
321
               }
330
               }
322
               this.prescriptions.push(obj)
331
               this.prescriptions.push(obj)
323
-              console.log(this.prescriptions)
332
+              console.log(22222,this.prescriptions)
324
 
333
 
325
               this.curPrescriptions = this.prescriptions[0]
334
               this.curPrescriptions = this.prescriptions[0]
326
             }
335
             }

+ 99 - 23
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Zobrazit soubor

1383
                     addition: tempAddition,
1383
                     addition: tempAddition,
1384
                     order_status: 1,
1384
                     order_status: 1,
1385
                     pre_time: preTime,
1385
                     pre_time: preTime,
1386
-                    med_type: "",
1386
+                    med_type:"",
1387
+
1387
                   };
1388
                   };
1388
-                  if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
1389
-                    obj.med_type = 13
1389
+                  if(prescription.med_type == 0 || prescription.med_type == ""){
1390
+
1391
+                    obj.med_type = ""
1390
 
1392
 
1391
                   }else{
1393
                   }else{
1392
-                    obj.med_type = 14
1393
 
1394
 
1395
+                    obj.med_type = parseInt(prescription.med_type)
1396
+                  }
1397
+                  if(obj.med_type== 0 || obj.med_type == "") {
1398
+                    if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
1399
+                      obj.med_type = 13
1400
+
1401
+                    } else {
1402
+                      obj.med_type = 14
1403
+
1404
+                    }
1394
                   }
1405
                   }
1395
                   this.prescriptions.push(obj)
1406
                   this.prescriptions.push(obj)
1396
                 }
1407
                 }
1795
                         var preTime = nowTime
1806
                         var preTime = nowTime
1796
 
1807
 
1797
 
1808
 
1809
+
1810
+
1811
+
1798
                         let index = i + 1;
1812
                         let index = i + 1;
1799
                         let obj = {
1813
                         let obj = {
1800
                           id: 0,
1814
                           id: 0,
1804
                           addition: tempAddition,
1818
                           addition: tempAddition,
1805
                           order_status: 1,
1819
                           order_status: 1,
1806
                           pre_time: preTime,
1820
                           pre_time: preTime,
1807
-                          med_type: "",
1821
+                          med_type:"",
1822
+
1808
                         };
1823
                         };
1809
-                        if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
1810
-                          obj.med_type = 13
1824
+                        if(prescription.med_type == 0 || prescription.med_type == ""){
1825
+
1826
+                          obj.med_type = ""
1827
+
1811
                         }else{
1828
                         }else{
1812
-                          obj.med_type = 14
1813
 
1829
 
1830
+                          obj.med_type =  parseInt(prescription.med_type)
1831
+                        }
1832
+
1833
+
1834
+                        if(obj.med_type== 0 || obj.med_type == "") {
1835
+                          if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
1836
+                            obj.med_type = 13
1837
+
1838
+                          } else {
1839
+                            obj.med_type = 14
1840
+
1841
+                          }
1814
                         }
1842
                         }
1815
                         this.prescriptions.push(obj)
1843
                         this.prescriptions.push(obj)
1816
                       }
1844
                       }
2203
 
2231
 
2204
                         var preTime = nowTime
2232
                         var preTime = nowTime
2205
 
2233
 
2206
-
2207
                         let index = i + 1;
2234
                         let index = i + 1;
2208
                         let obj = {
2235
                         let obj = {
2209
                           id: 0,
2236
                           id: 0,
2213
                           addition: tempAddition,
2240
                           addition: tempAddition,
2214
                           order_status: 1,
2241
                           order_status: 1,
2215
                           pre_time: preTime,
2242
                           pre_time: preTime,
2216
-                          med_type: "",
2243
+                          med_type:"",
2244
+
2217
                         };
2245
                         };
2218
-                        if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
2219
-                          obj.med_type = 13
2246
+                        if(prescription.med_type == 0 || prescription.med_type == ""){
2247
+
2248
+                          obj.med_type = ""
2249
+
2220
                         }else{
2250
                         }else{
2221
-                          obj.med_type = 14
2222
 
2251
 
2252
+                          obj.med_type =  parseInt(prescription.med_type)
2253
+                        }
2254
+
2255
+
2256
+                        if(obj.med_type== 0 || obj.med_type == "") {
2257
+                          if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
2258
+                            obj.med_type = 13
2259
+
2260
+                          } else {
2261
+                            obj.med_type = 14
2262
+
2263
+                          }
2223
                         }
2264
                         }
2224
                         this.prescriptions.push(obj)
2265
                         this.prescriptions.push(obj)
2225
                       }
2266
                       }
2621
                           order_status: 1,
2662
                           order_status: 1,
2622
                           pre_time: preTime,
2663
                           pre_time: preTime,
2623
                           med_type:"",
2664
                           med_type:"",
2665
+
2624
                         };
2666
                         };
2625
-                        if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
2626
-                          obj.med_type = 13
2667
+                        if(prescription.med_type == 0 || prescription.med_type == ""){
2668
+
2669
+                          obj.med_type = ""
2670
+
2627
                         }else{
2671
                         }else{
2628
-                          obj.med_type = 14
2629
 
2672
 
2673
+                          obj.med_type = parseInt(prescription.med_type)
2674
+                        }
2675
+                        if(obj.med_type== 0 || obj.med_type == "") {
2676
+                          if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
2677
+                            obj.med_type = 13
2678
+
2679
+                          } else {
2680
+                            obj.med_type = 14
2681
+
2682
+                          }
2630
                         }
2683
                         }
2631
                         this.prescriptions.push(obj)
2684
                         this.prescriptions.push(obj)
2632
                       }
2685
                       }
3073
 
3126
 
3074
                       var preTime = nowTime
3127
                       var preTime = nowTime
3075
 
3128
 
3076
-
3077
                       let index = i + 1;
3129
                       let index = i + 1;
3078
                       let obj = {
3130
                       let obj = {
3079
                         id: 0,
3131
                         id: 0,
3084
                         order_status: 1,
3136
                         order_status: 1,
3085
                         pre_time: preTime,
3137
                         pre_time: preTime,
3086
                         med_type:"",
3138
                         med_type:"",
3139
+
3087
                       };
3140
                       };
3088
-                      if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
3089
-                        obj.med_type = 13
3141
+                      if(prescription.med_type == 0 || prescription.med_type == ""){
3142
+
3143
+                        obj.med_type = ""
3144
+
3090
                       }else{
3145
                       }else{
3091
-                        obj.med_type = 14
3092
 
3146
 
3147
+                        obj.med_type = parseInt(prescription.med_type)
3148
+                      }
3149
+                      if(obj.med_type== 0 || obj.med_type == "") {
3150
+                        if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
3151
+                          obj.med_type = 13
3152
+
3153
+                        } else {
3154
+                          obj.med_type = 14
3155
+
3156
+                        }
3093
                       }
3157
                       }
3094
                       this.prescriptions.push(obj)
3158
                       this.prescriptions.push(obj)
3095
                     }
3159
                     }
3492
                       order_status: 1,
3556
                       order_status: 1,
3493
                       pre_time: preTime,
3557
                       pre_time: preTime,
3494
                       med_type:"",
3558
                       med_type:"",
3559
+
3495
                     };
3560
                     };
3496
-                    if(this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138){
3497
-                      obj.med_type = 13
3561
+                    if(prescription.med_type == 0 || prescription.med_type == ""){
3562
+
3563
+                      obj.med_type = ""
3564
+
3498
                     }else{
3565
                     }else{
3499
-                      obj.med_type = 14
3500
 
3566
 
3567
+                      obj.med_type =  parseInt(prescription.med_type)
3568
+                    }
3569
+                    if(obj.med_type== 0 || obj.med_type == "") {
3570
+                      if (this.$store.getters.xt_user.org_id == 10028 || this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138) {
3571
+                        obj.med_type = 13
3572
+
3573
+                      } else {
3574
+                        obj.med_type = 14
3575
+
3576
+                      }
3501
                     }
3577
                     }
3502
                     this.prescriptions.push(obj)
3578
                     this.prescriptions.push(obj)
3503
                   }
3579
                   }

+ 99 - 5
src/xt_pages/outpatientDoctorStation/prescriptionTemplatedetail.vue Zobrazit soubor

37
                                     :label="item.name"
37
                                     :label="item.name"
38
                                     :name="item.name"
38
                                     :name="item.name"
39
                             >
39
                             >
40
+
41
+                                <el-select style="width:50%;" v-model="item.med_type" placeholder="医疗类型"  v-if="($store.getters.xt_user.org_id == 10028 || $store.getters.xt_user.org_id == 9504 || $store.getters.xt_user.org_id == 10138)" @change="changevalue" >
42
+                                    <el-option
43
+                                            v-for="(item,index) in medical_care"
44
+                                            :key="index"
45
+                                            :label="item.label"
46
+                                            :value="item.value">
47
+                                    </el-option>
48
+                                </el-select>
49
+                                <el-select style="width:50%;" v-model="item.med_type" placeholder="医疗类型"  v-else @change="changevalue" >
50
+                                    <el-option
51
+                                            v-for="(item,index) in register"
52
+                                            :key="index"
53
+                                            :label="item.label"
54
+                                            :value="item.value">
55
+                                    </el-option>
56
+                                </el-select>
40
                             </el-tab-pane>
57
                             </el-tab-pane>
41
 
58
 
42
                             <el-tab-pane name="more" closable><span slot="label"><i
59
                             <el-tab-pane name="more" closable><span slot="label"><i
247
     },
264
     },
248
     data() {
265
     data() {
249
       return {
266
       return {
267
+        medical_care: [
268
+          { value: 11, label: '普通门诊' },
269
+          { value: 12, label: '家庭通道' },
270
+          { value: 13, label: '门诊大病' },
271
+          { value: 14, label: '重疾特药' },
272
+          { value: 15, label: '门诊慢病' },
273
+          { value: 16, label: '门诊特检' },
274
+          { value: 17, label: '健康体检' },
275
+          { value: 18, label: '预防接种' },
276
+          { value: 19, label: '门诊输血' },
277
+          { value: 91, label: '新冠肺炎门诊' }
278
+        ],
279
+
280
+        register: [
281
+          { value: 11, label: '普通门诊' },
282
+          { value: 12, label: '门诊挂号' },
283
+          { value: 13, label: '急诊' },
284
+          { value: 14, label: '门诊特殊病' },
285
+          { value: 15, label: '门诊统筹' },
286
+          { value: 16, label: '门诊慢性病' },
287
+          { value: 21, label: '普通住院' }
288
+
289
+        ],
250
         crumbs: [
290
         crumbs: [
251
           { path: false, name: '门诊医生站' },
291
           { path: false, name: '门诊医生站' },
252
           { path: false, name: '处方模版' },
292
           { path: false, name: '处方模版' },
353
           return
393
           return
354
         }
394
         }
355
 
395
 
396
+        for (let i = 0; i < this.prescriptions.length; i++) {
397
+          if (this.prescriptions[i].med_type == 0 || this.prescriptions[i].med_type == '') {
398
+            this.$message.error('处方医疗类型不能为空')
399
+            return
400
+          }
401
+        }
402
+
356
         let params = {
403
         let params = {
357
           name: this.tempForm.name,
404
           name: this.tempForm.name,
358
           mode_id: this.tempForm.mode_id,
405
           mode_id: this.tempForm.mode_id,
1216
         //   this.$refs.multipleTable.clearSelection()
1263
         //   this.$refs.multipleTable.clearSelection()
1217
         //   return
1264
         //   return
1218
         // }
1265
         // }
1266
+        // if(this.curStatus == 1  && this.rightTab == 2){
1267
+        //   for(let i = 0; i < this.curDrugs.length; i++){
1268
+        //     if(this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10138 || this.$store.getters.xt_user.org_id == 10028){
1269
+        //
1270
+        //       if(this.curPrescriptions.med_type != 13 && this.curDrugs[i].drug.is_special_diseases == 1){
1271
+        //         this.$message.error('该处方不属于特病类型处方,无法开特病类型的药')
1272
+        //         return
1273
+        //       }
1274
+        //
1275
+        //       if(this.curPrescriptions.med_type == 13 && this.curDrugs[i].drug.is_special_diseases != 1){
1276
+        //         this.$message.error('该处方属于特病类型处方,开非特病类型的药')
1277
+        //         return
1278
+        //       }
1279
+        //
1280
+        //
1281
+        //     }else{
1282
+        //
1283
+        //       if(this.curPrescriptions.med_type != 14 && this.curDrugs[i].drug.is_special_diseases == 1){
1284
+        //         this.$message.error('该处方不属于特病类型处方,无法开特病类型的药')
1285
+        //         return
1286
+        //       }
1287
+        //
1288
+        //       if(this.curPrescriptions.med_type == 14 && this.curDrugs[i].drug.is_special_diseases != 1){
1289
+        //         this.$message.error('该处方属于特病类型处方,开非特病类型的药')
1290
+        //         return
1291
+        //       }
1292
+        //
1293
+        //
1294
+        //
1295
+        //     }
1296
+        //
1297
+        //   }
1298
+        // }
1219
 
1299
 
1220
         if (this.curStatus == 1 && this.rightTab == 2) {
1300
         if (this.curStatus == 1 && this.rightTab == 2) {
1221
           this.$message.error('改处方是药品,无法添加项目')
1301
           this.$message.error('改处方是药品,无法添加项目')
1476
                   advices: tempAdvice,
1556
                   advices: tempAdvice,
1477
                   project: tempProject,
1557
                   project: tempProject,
1478
                   addition: tempAddition,
1558
                   addition: tempAddition,
1479
-                  order_status: 1
1559
+                  order_status: 1,
1480
                   // pre_time: preTime
1560
                   // pre_time: preTime
1481
                 }
1561
                 }
1562
+
1563
+                if(prescription.med_type == "" || prescription.med_type == 0){
1564
+
1565
+                  obj['med_type'] = ""
1566
+                }else{
1567
+
1568
+                  obj['med_type'] = parseInt(prescription.med_type)
1569
+
1570
+                }
1571
+
1572
+
1482
                 this.prescriptions.push(obj)
1573
                 this.prescriptions.push(obj)
1483
               }
1574
               }
1484
               if (this.prescriptions.length > 0) {
1575
               if (this.prescriptions.length > 0) {
1493
                 advices: [],
1584
                 advices: [],
1494
                 project: [],
1585
                 project: [],
1495
                 addition: [],
1586
                 addition: [],
1496
-                order_status: 0
1587
+                order_status: 0,
1588
+                med_type:'',
1497
               }
1589
               }
1498
               this.prescriptions.push(obj)
1590
               this.prescriptions.push(obj)
1499
               this.curPrescriptions = this.prescriptions[0]
1591
               this.curPrescriptions = this.prescriptions[0]
1500
             }
1592
             }
1501
 
1593
 
1502
-            console.log(this.prescriptions)
1503
-            console.log(this.curPrescriptions)
1504
-
1505
           }
1594
           }
1506
 
1595
 
1507
         })
1596
         })
1584
           }
1673
           }
1585
         })
1674
         })
1586
       },
1675
       },
1676
+      changevalue(val){
1677
+
1678
+        this.$forceUpdate()
1679
+
1680
+      },
1587
       selectTeam(row) {
1681
       selectTeam(row) {
1588
         console.log('row', row)
1682
         console.log('row', row)
1589
         var arr = []
1683
         var arr = []

+ 7 - 10
src/xt_pages/outpatientDoctorStation/print.vue Zobrazit soubor

11
           >打印</el-button
11
           >打印</el-button
12
         >
12
         >
13
       </template>
13
       </template>
14
-            
14
+
15
     <div class='dialysisPage' style="padding-top:40px;">
15
     <div class='dialysisPage' style="padding-top:40px;">
16
       <div v-if="org_id != 10138">
16
       <div v-if="org_id != 10138">
17
         <printOne v-if="org_id != 10088" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
17
         <printOne v-if="org_id != 10088" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
74
     printThisPage() {
74
     printThisPage() {
75
       var ptime = Math.round(new Date().getTime() / 1000);
75
       var ptime = Math.round(new Date().getTime() / 1000);
76
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
76
       this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
77
-      
77
+
78
       if(this.org_id == 10138){
78
       if(this.org_id == 10138){
79
-        
80
         const style =
79
         const style =
81
         '@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}}';
80
         '@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}}';
82
         printJS({
81
         printJS({
95
           scanStyles: false
94
           scanStyles: false
96
         });
95
         });
97
       }
96
       }
98
-      
99
 
97
 
100
       // if (this.org_template_info.template_id == 1) {
98
       // if (this.org_template_info.template_id == 1) {
101
       //   printJS({
99
       //   printJS({
110
       getAllDoctorList().then(response=>{
108
       getAllDoctorList().then(response=>{
111
         if(response.data.state == 1){
109
         if(response.data.state == 1){
112
                var doctor =  response.data.data.doctor
110
                var doctor =  response.data.data.doctor
113
-               
111
+
114
                this.doctorList = doctor
112
                this.doctorList = doctor
115
              }
113
              }
116
-         })   
114
+         })
117
      },
115
      },
118
     getAllHisPatientList(){
116
     getAllHisPatientList(){
119
          const params = {
117
          const params = {
124
             this.patientTableData = response.data.data.list
122
             this.patientTableData = response.data.data.list
125
             this.patientTableDataTwo = response.data.data.list
123
             this.patientTableDataTwo = response.data.data.list
126
 
124
 
127
-            console.log('222', this.patientTableData)
128
             let cal_one = 0
125
             let cal_one = 0
129
             let cal_two = 0
126
             let cal_two = 0
130
             for (let i = 0; i < response.data.data.list.length; i++) {
127
             for (let i = 0; i < response.data.data.list.length; i++) {
139
             // console.log(this.patientTableData[0])
136
             // console.log(this.patientTableData[0])
140
             // this.choosePatient(this.patientTableData[0])
137
             // this.choosePatient(this.patientTableData[0])
141
             this.cal_one = cal_one
138
             this.cal_one = cal_one
142
-            this.cal_two = cal_two   
139
+            this.cal_two = cal_two
143
          }
140
          }
144
       })
141
       })
145
     },
142
     },
174
     searchAction(){
171
     searchAction(){
175
 
172
 
176
     }
173
     }
177
-    
174
+
178
   },
175
   },
179
 
176
 
180
   created() {
177
   created() {
377
   .dialysisPage::-webkit-scrollbar {
374
   .dialysisPage::-webkit-scrollbar {
378
     height: 15px;
375
     height: 15px;
379
   }
376
   }
380
-  
377
+
381
   .el-date-editor{
378
   .el-date-editor{
382
     .el-input__inner{
379
     .el-input__inner{
383
       padding-right:0px;
380
       padding-right:0px;

+ 85 - 8
src/xt_pages/outpatientDoctorStation/template/printThree.vue Zobrazit soubor

2
 <div>
2
 <div>
3
   <div id='prescriptionPrint'>
3
   <div id='prescriptionPrint'>
4
     <div v-for="(item,index) in advicePrint" :key="index">
4
     <div v-for="(item,index) in advicePrint" :key="index">
5
-      <div id='prescription-print'  v-for='(i,pageIndex) in item.pageArr.length' :key="pageIndex" class="prescription-print" style="page-break-after: always;">
5
+      <div id='prescription-print' v-if="item.project.length == 0"  v-for='(i,pageIndex) in item.pageArr.length' :key="pageIndex" class="prescription-print" style="page-break-after: always;">
6
           <img src="../../../assets/img/bailinTop.jpg" style="width:100%" alt="">
6
           <img src="../../../assets/img/bailinTop.jpg" style="width:100%" alt="">
7
           <div class="printTitle">处方笺</div>
7
           <div class="printTitle">处方笺</div>
8
           <div style="display:flex;">
8
           <div style="display:flex;">
9
-            <div style="width:33%;display:flex;">费别:<span class="under_line"></span></div>
10
-            <div style="width:33%;display:flex;">电脑号:<span class="under_line"></span></div>
11
-            <div style="width:33%;display:flex;">处方编号:<span class="under_line"></span></div>
9
+            <div style="width:33%;display:flex;">费别:<span class="under_line">{{ faber ? getName(faber.transBody.outputlist1) : '' }}</span></div>
10
+            <div style="width:33%;display:flex;">电脑号:<span class="under_line">{{ faber ? faber.transBody.aac999 : ''  }}</span></div>
11
+            <div style="width:33%;display:flex;">处方编号:<span class="under_line">{{ item.prescription_number.substring(item.prescription_number.length-6) }}</span></div>
12
           </div>
12
           </div>
13
 
13
 
14
 
14
 
42
                 <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
42
                 <div class="drugsOne">{{it.item_name?it.item_name:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
43
                </div>
43
                </div>
44
                
44
                
45
-              <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
45
+              <!-- <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
46
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</div>
46
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</div>
47
                   <div style="margin-left:100px;"><span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.delivery_way}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
47
                   <div style="margin-left:100px;"><span>用法:{{it.single_dose}}{{it.single_dose_unit}}</span>&nbsp;&nbsp;<span>{{it.delivery_way}}</span>&nbsp;&nbsp;<span>{{it.advice_desc}}</span></div>
48
               </div>
48
               </div>
49
               <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
49
               <div class="drugsBox" v-for="(it,i) in item.additionalcharge" :key="i">
50
                 <div class="drugsOne">{{it.project_id?it.project_id:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
50
                 <div class="drugsOne">{{it.project_id?it.project_id:""}}:&nbsp;{{it.price}}元/{{it.count}}次</div>
51
-               </div>
51
+               </div> -->
52
                <div style="text-align:center;" >(以下空白)</div>
52
                <div style="text-align:center;" >(以下空白)</div>
53
 
53
 
54
           </div>
54
           </div>
111
         projectList:[],
111
         projectList:[],
112
         orgname:"",
112
         orgname:"",
113
         diagnoses:[],
113
         diagnoses:[],
114
-        pageArr:[]
114
+        pageArr:[],
115
+        faber:{}
115
       }
116
       }
116
     },
117
     },
117
    methods:{
118
    methods:{
165
             var projectlist =  response.data.data.projectlist
166
             var projectlist =  response.data.data.projectlist
166
             console.log("所有项目列表",projectlist)
167
             console.log("所有项目列表",projectlist)
167
             this.projectList = projectlist
168
             this.projectList = projectlist
169
+            let outputlist1Name = JSON.parse(response.data.data.his.patient_info);
170
+            this.faber = outputlist1Name
171
+
168
             this.getPage()
172
             this.getPage()
169
           }
173
           }
170
        })
174
        })
284
           }
288
           }
285
         })
289
         })
286
         // console.log('this.pageArr',this.pageArr)
290
         // console.log('this.pageArr',this.pageArr)
287
-      }
291
+      },
292
+      getName(list) {
293
+        console.log('list',list)
294
+        let new_list = []
295
+        for (let i = 0; i < list.length; i++) {
296
+          if (list[i].aac031 == '1') {
297
+            new_list.push(list[i])
298
+          }
299
+        }
300
+
301
+        switch (new_list[0].bcc334) {
302
+          case "A31001":
303
+            return "深圳医保1档"
304
+            break
305
+          case "A31002":
306
+            return "深圳医保2档"
307
+
308
+            break
309
+          case "A31003":
310
+            return "深圳医保3档"
311
+
312
+            break
313
+          case "A31004":
314
+            return "二档(少儿)"
315
+
316
+            break
317
+          case "A31005":
318
+            return "学生二档"
319
+
320
+            break
321
+          case "A31006":
322
+            return "大学生二档"
323
+
324
+            break
325
+          case "A32001":
326
+            return "在职公务员"
327
+            break
328
+          case "A32002":
329
+            return "在职驻深公务员"
330
+
331
+            break
332
+          case "A39301":
333
+            return "家属统筹医疗"
334
+
335
+            break
336
+          case "A41001":
337
+            return "工伤在职"
338
+
339
+            break
340
+          case "A51001":
341
+            return "生育在职"
342
+
343
+            break
344
+          case "A52001":
345
+            return "生育医疗一档"
346
+
347
+            break
348
+          case "A52002":
349
+            return "生育医疗一档"
350
+
351
+            break
352
+          case "C31001":
353
+            return "一档医疗退休"
354
+
355
+            break
356
+          case "C31002":
357
+            return "二档医疗退休"
358
+            break
359
+
360
+        }
361
+
362
+
363
+
364
+      },
288
 
365
 
289
    },
366
    },
290
    created(){
367
    created(){

+ 84 - 8
src/xt_pages/outpatientDoctorStation/treatTemplate/printTwo.vue Zobrazit soubor

1
 <template>
1
 <template>
2
    <div id='prescriptionPrint'>
2
    <div id='prescriptionPrint'>
3
-    <div id='prescription-print' class="prescription-print" v-for="(item,index) in advicePrint" :key="index">
3
+    <div id='prescription-print' v-if="item.advices.length == 0" class="prescription-print" v-for="(item,index) in advicePrint" :key="index">
4
 
4
 
5
         <img src="../../../assets/img/bailinTop.jpg" style="width:100%" alt="">
5
         <img src="../../../assets/img/bailinTop.jpg" style="width:100%" alt="">
6
         <div class="printTitle">治疗单</div>
6
         <div class="printTitle">治疗单</div>
7
         <div style="display:flex;">
7
         <div style="display:flex;">
8
-            <div style="width:33%;display:flex;">费别:<span class="under_line"></span></div>
9
-            <div style="width:33%;display:flex;">电脑号:<span class="under_line"></span></div>
10
-            <div style="width:33%;display:flex;">处方编号:<span class="under_line"></span></div>
8
+            <div style="width:33%;display:flex;">费别:<span class="under_line">{{ faber ? getName(faber.transBody.outputlist1) : '' }}</span></div>
9
+            <div style="width:33%;display:flex;">电脑号:<span class="under_line">{{ faber ? faber.transBody.aac999 : ''  }}</span></div>
10
+            <div style="width:33%;display:flex;">处方编号:<span class="under_line">{{ item.prescription_number.substring(item.prescription_number.length-6) }}</span></div>
11
         </div>
11
         </div>
12
 
12
 
13
 
13
 
70
         </div> -->
70
         </div> -->
71
         <div class="prescriptionBox">
71
         <div class="prescriptionBox">
72
               <div class="Rp">Rp:</div>
72
               <div class="Rp">Rp:</div>
73
-              <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
74
-                  <!-- <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div> -->
73
+              <!-- <div class="drugsBox" v-for="(it,index) in item.advices" :key="index">
75
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;<span v-if="it.drug.min_unit != it.drug.dose_unit">{{it.drug.dose}}{{it.drug.dose_unit}}&nbsp;* &nbsp;</span>{{it.drug.min_number}}{{it.drug.min_unit}}/{{it.drug.max_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div>
74
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{it.advice_name?it.advice_name:""}}&nbsp;&nbsp;<span v-if="it.drug.min_unit != it.drug.dose_unit">{{it.drug.dose}}{{it.drug.dose_unit}}&nbsp;* &nbsp;</span>{{it.drug.min_number}}{{it.drug.min_unit}}/{{it.drug.max_unit}}&nbsp;×&nbsp; {{it.prescribing_number}}{{it.prescribing_number_unit}}</div>
76
-              </div>
75
+              </div> -->
77
               <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
76
               <div class="drugsBox" v-for="(it,index) in item.project" :key="index">
78
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</div>
77
                   <div class="drugsOne"><span style="font-weight:bold;">{{ index+1 + '.' }}</span>{{ it.type == 2 ? it.project.project_name : it.good_info.good_name }}&nbsp;&nbsp;{{it.single_dose}}{{it.single_dose_unit}}&nbsp;×&nbsp; {{it.count}}{{unit}}</div>
79
               </div>
78
               </div>
232
          hisPatient:{},
231
          hisPatient:{},
233
          diagnoses:[],
232
          diagnoses:[],
234
          department:[],
233
          department:[],
234
+         faber:{}
235
       }
235
       }
236
     },
236
     },
237
    methods:{
237
    methods:{
301
             this.projectList = projectlist
301
             this.projectList = projectlist
302
             this.hisPatient = response.data.data.hisPatient
302
             this.hisPatient = response.data.data.hisPatient
303
 
303
 
304
+            let outputlist1Name = JSON.parse(response.data.data.his.patient_info);
305
+            this.faber = outputlist1Name
306
+
304
           }
307
           }
305
        })
308
        })
306
      },
309
      },
381
           }
384
           }
382
         }
385
         }
383
         return name
386
         return name
384
-     }
387
+     },
388
+     getName(list) {
389
+        console.log('list',list)
390
+        let new_list = []
391
+        for (let i = 0; i < list.length; i++) {
392
+          if (list[i].aac031 == '1') {
393
+            new_list.push(list[i])
394
+          }
395
+        }
396
+
397
+        switch (new_list[0].bcc334) {
398
+          case "A31001":
399
+            return "深圳医保1档"
400
+            break
401
+          case "A31002":
402
+            return "深圳医保2档"
403
+
404
+            break
405
+          case "A31003":
406
+            return "深圳医保3档"
407
+
408
+            break
409
+          case "A31004":
410
+            return "二档(少儿)"
411
+
412
+            break
413
+          case "A31005":
414
+            return "学生二档"
415
+
416
+            break
417
+          case "A31006":
418
+            return "大学生二档"
419
+
420
+            break
421
+          case "A32001":
422
+            return "在职公务员"
423
+            break
424
+          case "A32002":
425
+            return "在职驻深公务员"
426
+
427
+            break
428
+          case "A39301":
429
+            return "家属统筹医疗"
430
+
431
+            break
432
+          case "A41001":
433
+            return "工伤在职"
434
+
435
+            break
436
+          case "A51001":
437
+            return "生育在职"
438
+
439
+            break
440
+          case "A52001":
441
+            return "生育医疗一档"
442
+
443
+            break
444
+          case "A52002":
445
+            return "生育医疗一档"
446
+
447
+            break
448
+          case "C31001":
449
+            return "一档医疗退休"
450
+
451
+            break
452
+          case "C31002":
453
+            return "二档医疗退休"
454
+            break
455
+
456
+        }
457
+
458
+
459
+
460
+      },
385
    },
461
    },
386
    created(){
462
    created(){
387
       this.getInitData()
463
       this.getInitData()

Diff nebyl zobrazen, protože je příliš veliký
+ 671 - 550
src/xt_pages/outpatientRegistration/index.vue


+ 63 - 32
src/xt_pages/outpatientRegistration/registrationHistory.vue Zobrazit soubor

457
   const moment = require('moment')
457
   const moment = require('moment')
458
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
458
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
459
   import { changePatient, getHisPatient, getHisPatientHistory } from '@/api/project/project'
459
   import { changePatient, getHisPatient, getHisPatientHistory } from '@/api/project/project'
460
+
461
+  import { refundNumber} from '@/api/his/his'
462
+
463
+
460
   import { uParseTime } from '@/utils/tools'
464
   import { uParseTime } from '@/utils/tools'
461
   import { getDictionaryDataConfig } from '@/utils/data'
465
   import { getDictionaryDataConfig } from '@/utils/data'
462
   import axios from 'axios'
466
   import axios from 'axios'
715
         }
719
         }
716
         return ''
720
         return ''
717
       }, toReturnSZPatient(val) {
721
       }, toReturnSZPatient(val) {
718
-        var that = this
719
-        this.$confirm('是否退号', '退号', {
720
-          confirmButtonText: '确 定',
721
-          cancelButtonText: '取 消',
722
-          type: 'warning'
723
-        }).then(() => {
724
-          axios.get('http://127.0.0.1:9532/sz/api/refundnumber/get', {
725
-            params: {
726
-              order_id: 0,
727
-              record_time: this.getTime(val.record_date, '{y}-{m}-{d}'),
728
-              admin_user_id: this.$store.getters.xt_user.user.id,
729
-              patient_id: val.patient_id
730
-            }
731
-          })
732
-            .then(function(response) {
722
+        if(val.balance_accounts_type == 2){
723
+          this.$confirm('是否退费', '退费', {
724
+            confirmButtonText: '确 定',
725
+            cancelButtonText: '取 消',
726
+            type: 'warning'
727
+          }).then(() => {
728
+            let params = {
729
+              'id': val.id,
730
+            };
731
+            refundNumber(params).then(response => {
733
               if (response.data.state == 0) {
732
               if (response.data.state == 0) {
734
-                that.$message.error(response.data.msg)
733
+                this.$message.error(response.data.msg);
734
+                this.loadingtwo = false;
735
                 return false
735
                 return false
736
               } else {
736
               } else {
737
-                if (response.data.data.failed_code == -10) {
738
-                  that.$confirm(response.data.data.msg, '医保错误信息', {
739
-                    confirmButtonText: '确 定',
740
-                    type: 'warning'
741
-                  }).then(() => {
742
-
743
-                  }).catch(() => {
744
-                  })
745
-                  // that.$message.error(response.data.data.msg)
737
+                this.getlist()
738
+                this.$message({ message: '退号成功', type: 'success' });
746
 
739
 
747
-                } else {
748
-                  that.getlist()
749
-                  that.$message({ message: '退号成功', type: 'success' })
750
-                }
751
               }
740
               }
752
             })
741
             })
753
-            .catch(function(error) {
742
+
743
+          }).catch(() => {
744
+
745
+          })
746
+
747
+        }else{
748
+          var that = this
749
+          this.$confirm('是否退号', '退号', {
750
+            confirmButtonText: '确 定',
751
+            cancelButtonText: '取 消',
752
+            type: 'warning'
753
+          }).then(() => {
754
+            axios.get('http://127.0.0.1:9532/sz/api/refundnumber/get', {
755
+              params: {
756
+                order_id: 0,
757
+                record_time: this.getTime(val.record_date, '{y}-{m}-{d}'),
758
+                admin_user_id: this.$store.getters.xt_user.user.id,
759
+                patient_id: val.patient_id
760
+              }
754
             })
761
             })
755
-        }).catch(() => {
756
-        })
762
+              .then(function(response) {
763
+                if (response.data.state == 0) {
764
+                  that.$message.error(response.data.msg)
765
+                  return false
766
+                } else {
767
+                  if (response.data.data.failed_code == -10) {
768
+                    that.$confirm(response.data.data.msg, '医保错误信息', {
769
+                      confirmButtonText: '确 定',
770
+                      type: 'warning'
771
+                    }).then(() => {
772
+
773
+                    }).catch(() => {
774
+                    })
775
+                    // that.$message.error(response.data.data.msg)
776
+
777
+                  } else {
778
+                    that.getlist()
779
+                    that.$message({ message: '退号成功', type: 'success' })
780
+                  }
781
+                }
782
+              })
783
+              .catch(function(error) {
784
+              })
785
+          }).catch(() => {
786
+          })
787
+        }
757
       },
788
       },
758
       toReturnPatient(row) {
789
       toReturnPatient(row) {
759
         var that = this
790
         var that = this

+ 305 - 0
src/xt_pages/stock/stockDamaged.vue Zobrazit soubor

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+        <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom:10px;">
8
+            <div>
9
+                <el-input
10
+                size="small"
11
+                style="width: 200px;"
12
+                class="filter-item"
13
+                v-model.trim="searchKey"
14
+                placeholder=""
15
+                />
16
+                <el-button
17
+                size="small"
18
+                class="filter-item"
19
+                type="primary"
20
+                icon="el-icon-search"
21
+                @click="search"
22
+                >搜索</el-button
23
+                >
24
+                <el-date-picker
25
+                size="small"
26
+                v-model="value1"
27
+                type="date"
28
+                style="margin-left:5px;width:140px;"
29
+                placeholder="选择日期">
30
+                </el-date-picker>
31
+                <el-date-picker
32
+                size="small"
33
+                v-model="value2"
34
+                type="date"
35
+                style="margin-left:5px;width:140px;"
36
+                placeholder="选择日期">
37
+                </el-date-picker>
38
+            </div>
39
+            <div>
40
+                <el-button size="small" type="primary" @click="dialogVisible = true">新增</el-button>
41
+                <el-button size="small" type="primary">核对</el-button>
42
+                <el-button size="small" type="primary" @click="print">打印</el-button>
43
+                <el-button size="small" type="primary">导出</el-button>
44
+            </div>
45
+        </div>
46
+        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
47
+            <el-table-column
48
+            prop="date"
49
+            label="报损编码">
50
+            </el-table-column>
51
+            <el-table-column
52
+            prop="date"
53
+            label="报损日期">
54
+            </el-table-column>
55
+            <el-table-column
56
+            prop="name"
57
+            label="操作人">
58
+            </el-table-column>
59
+            <el-table-column
60
+            prop="name"
61
+            label="审核日期">
62
+            </el-table-column>
63
+            <el-table-column
64
+            prop="name"
65
+            label="核对人">
66
+            </el-table-column>
67
+            <el-table-column
68
+            prop="name"
69
+            label="状态">
70
+            </el-table-column>
71
+            <el-table-column
72
+            label="操作">
73
+                <template slot-scope="scope">
74
+                    <el-button type="text" size="small">删除</el-button>
75
+                    <el-button type="text" size="small">编辑</el-button>
76
+                </template>
77
+            </el-table-column>
78
+        </el-table>
79
+        <el-pagination
80
+            @size-change="handleSizeChange"
81
+            @current-change="handleCurrentChange"
82
+            :page-sizes="[5, 10, 50, 100]"
83
+            :page-size="5"
84
+            background
85
+            style="margin-top:20px;text-align: right"
86
+            layout="total, sizes, prev, pager, next, jumper"
87
+            :total="total"
88
+        >
89
+        </el-pagination>
90
+    </div>
91
+    <el-dialog
92
+        title="库房调价"
93
+        :visible.sync="dialogVisible"
94
+        width="1200px"
95
+        :before-close="handleClose">
96
+        <el-form :model="form" class="modifyDialog" label-width="120px">
97
+            <el-form-item label="耗材ID">
98
+                <el-input v-model="form.name"></el-input>
99
+            </el-form-item>
100
+            <el-form-item label="药品名称">
101
+                <el-input v-model="form.name"></el-input>
102
+            </el-form-item>
103
+            <el-form-item label="规格">
104
+                <el-input v-model="form.name"></el-input>
105
+            </el-form-item>
106
+            <el-form-item label="单位">
107
+                <el-input v-model="form.name"></el-input>
108
+            </el-form-item>
109
+            <el-form-item label="进货价">
110
+                <el-input v-model="form.name"></el-input>
111
+            </el-form-item>
112
+            <el-form-item label="零售价">
113
+                <el-input v-model="form.name"></el-input>
114
+            </el-form-item>
115
+            <el-form-item label="报损数量">
116
+                <el-input v-model="form.name"></el-input>
117
+            </el-form-item>
118
+            <el-form-item label="库存">
119
+                <el-input v-model="form.name"></el-input>
120
+            </el-form-item>
121
+            <el-form-item label="产地">
122
+                <el-input v-model="form.name"></el-input>
123
+            </el-form-item>
124
+            <el-form-item label="批准文号">
125
+                <el-input v-model="form.name"></el-input>
126
+            </el-form-item>
127
+            <el-form-item label="生产厂商">
128
+                <el-input v-model="form.name"></el-input>
129
+            </el-form-item>
130
+            <el-form-item label="备注">
131
+                <div style="display:flex;">
132
+                    <el-input v-model="form.name"></el-input>
133
+                    <el-button style="margin-left:5px;" type="primary">添加</el-button>
134
+                </div>
135
+            </el-form-item>
136
+        </el-form>
137
+        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
138
+            <el-table-column
139
+            prop="date"
140
+            label="耗材ID"
141
+            width="100">
142
+            </el-table-column>
143
+            <el-table-column
144
+            prop="date"
145
+            label="耗材名称"
146
+            width="100">
147
+            </el-table-column>
148
+            <el-table-column
149
+            prop="name"
150
+            label="规格"
151
+            width="100">
152
+            </el-table-column>
153
+            <el-table-column
154
+            prop="name"
155
+            label="单位"
156
+            width="100">
157
+            </el-table-column>
158
+            <el-table-column
159
+            prop="name"
160
+            label="调价数量"
161
+            width="100">
162
+            </el-table-column>
163
+            <el-table-column
164
+            prop="name"
165
+            label="原进货价"
166
+            width="100">
167
+            </el-table-column>
168
+            <el-table-column
169
+            prop="name"
170
+            label="原零售价"
171
+            width="100">
172
+            </el-table-column>
173
+            <el-table-column
174
+            prop="name"
175
+            label="新零售价"
176
+            width="100">
177
+            </el-table-column>
178
+            <el-table-column
179
+            prop="name"
180
+            label="生产厂商"
181
+            width="100">
182
+            </el-table-column>
183
+            <el-table-column
184
+            prop="name"
185
+            label="产地"
186
+            width="100">
187
+            </el-table-column>
188
+            <el-table-column
189
+            prop="name"
190
+            label="批准文号"
191
+            width="100">
192
+            </el-table-column>
193
+            <el-table-column
194
+            prop="name"
195
+            label="备注"
196
+            width="100">
197
+            </el-table-column>
198
+            <el-table-column
199
+            fixed="right"
200
+            width="100"
201
+            label="操作">
202
+                <template slot-scope="scope">
203
+                    <el-button type="text" size="small">删除</el-button>
204
+                    <el-button type="text" size="small">编辑</el-button>
205
+                </template>
206
+            </el-table-column>
207
+        </el-table>
208
+        <span slot="footer" class="dialog-footer">
209
+            <el-button @click="dialogVisible = false">取 消</el-button>
210
+            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
211
+        </span>
212
+    </el-dialog>
213
+  
214
+  </div>
215
+</template>
216
+
217
+<script>
218
+import BreadCrumb from "../components/bread-crumb";
219
+
220
+export default {
221
+    name: "stockModifyPrice",
222
+    components:{
223
+        BreadCrumb
224
+    },
225
+    data() {
226
+        return{
227
+            crumbs: [
228
+                { path: false, name: "库存管理" },
229
+                { path: false, name: "耗材管理" },
230
+                { path: false, name: "耗材报损" }
231
+            ],
232
+            searchKey:'',
233
+            value1:'',
234
+            value2:'',
235
+            tableData: [{
236
+                date: '2016-05-02',
237
+                name: '王小虎',
238
+                address: '上海市普陀区金沙江路 1518 弄'
239
+                }, {
240
+                date: '2016-05-04',
241
+                name: '王小虎',
242
+                address: '上海市普陀区金沙江路 1517 弄'
243
+                }, {
244
+                date: '2016-05-01',
245
+                name: '王小虎',
246
+                address: '上海市普陀区金沙江路 1519 弄'
247
+                }, {
248
+                date: '2016-05-03',
249
+                name: '王小虎',
250
+                address: '上海市普陀区金沙江路 1516 弄'
251
+            }],
252
+            dialogVisible:false,
253
+            form: {
254
+                name: '',
255
+            },
256
+            total: 0,
257
+        }
258
+    },
259
+    methods:{
260
+        search(){
261
+
262
+        },
263
+        print(){
264
+            this.$router.push({path:'/stock/stockModifyPricePrint'})
265
+            
266
+        },
267
+        handleSizeChange(){},
268
+        handleCurrentChange(){}
269
+
270
+    },
271
+    created(){
272
+    },
273
+    mounted() {
274
+    },
275
+};
276
+</script>
277
+
278
+<style rel="stylesheet/scss" lang="scss">
279
+.app-container {
280
+  // margin: 20px;
281
+  font-size: 15px;
282
+}
283
+.modifyDialog{
284
+    display: flex;
285
+    flex-wrap: wrap;
286
+    margin-bottom: 10px;
287
+    .el-form-item{
288
+        width: 33%;
289
+    }
290
+}
291
+.el-table td,
292
+.el-table th.is-leaf,
293
+.el-table--border,
294
+.el-table--group {
295
+  border-color: #d0d3da;
296
+}
297
+.el-table--border::after,
298
+.el-table--group::after,
299
+.el-table::before {
300
+  background-color: #d0d3da;
301
+}
302
+::-webkit-scrollbar{
303
+    height: 20px !important;
304
+}
305
+</style>

+ 376 - 0
src/xt_pages/stock/stockModifyPrice.vue Zobrazit soubor

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+      <div style="display: flex;align-items: center;justify-content: space-between;">
8
+        <div>
9
+            <el-input
10
+            size="small"
11
+            style="width: 200px;"
12
+            class="filter-item"
13
+            v-model.trim="searchKey"
14
+            placeholder=""
15
+            />
16
+            <el-button
17
+            size="small"
18
+            class="filter-item"
19
+            type="primary"
20
+            icon="el-icon-search"
21
+            @click="search"
22
+            >搜索</el-button
23
+            >
24
+            <el-date-picker
25
+            size="small"
26
+            v-model="value1"
27
+            type="date"
28
+            style="margin-left:5px;width:140px;"
29
+            placeholder="选择日期">
30
+            </el-date-picker>
31
+            <el-date-picker
32
+            size="small"
33
+            v-model="value2"
34
+            type="date"
35
+            style="margin-left:5px;width:140px;"
36
+            placeholder="选择日期">
37
+            </el-date-picker>
38
+        </div>
39
+        <div>
40
+            <el-button size="small" type="primary" @click="dialogVisible = true">新增</el-button>
41
+            <el-button size="small" type="primary">核对</el-button>
42
+            <el-button size="small" type="primary" @click="print">打印</el-button>
43
+            <el-button size="small" type="primary">导出</el-button>
44
+        </div>
45
+      </div>
46
+      <div style="display: flex;justify-content: space-between;margin-top:10px">
47
+            <div style="width:541px;margin-right:10px;">
48
+                <el-table :data="tableData" border :height="tableHeight" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
49
+                    <el-table-column
50
+                    prop="date"
51
+                    label="单据编码"
52
+                    width="100">
53
+                    </el-table-column>
54
+                    <el-table-column
55
+                    prop="date"
56
+                    label="调价日期"
57
+                    width="100">
58
+                    </el-table-column>
59
+                    <el-table-column
60
+                    prop="name"
61
+                    label="操作人"
62
+                    width="80">
63
+                    </el-table-column>
64
+                    <el-table-column
65
+                    prop="name"
66
+                    label="状态"
67
+                    width="80">
68
+                    </el-table-column>
69
+                    <el-table-column
70
+                    prop="name"
71
+                    label="核对人"
72
+                    width="80">
73
+                    </el-table-column>
74
+                    <el-table-column
75
+                    width="100"
76
+                    label="操作">
77
+                        <template slot-scope="scope">
78
+                            <el-button type="text" size="small">删除</el-button>
79
+                            <el-button type="text" size="small">编辑</el-button>
80
+                        </template>
81
+                    </el-table-column>
82
+                </el-table>
83
+            </div>
84
+            <!-- <div style="flex:1;"> -->
85
+                <el-table :data="tableData" border :height="tableHeight" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
86
+                    <el-table-column
87
+                    fixed="left"
88
+                    prop="date"
89
+                    label="药品ID"
90
+                    width="80">
91
+                    </el-table-column>
92
+                    <el-table-column
93
+                    prop="date"
94
+                    label="药品名称"
95
+                    width="100">
96
+                    </el-table-column>
97
+                    <el-table-column
98
+                    prop="name"
99
+                    label="规格"
100
+                    width="100">
101
+                    </el-table-column>
102
+                    <el-table-column
103
+                    prop="name"
104
+                    label="生产厂家"
105
+                    width="100">
106
+                    </el-table-column>
107
+                    <el-table-column
108
+                    prop="name"
109
+                    label="批准文书"
110
+                    width="100">
111
+                    </el-table-column>
112
+                    <el-table-column
113
+                    prop="name"
114
+                    label="供应商"
115
+                    width="100">
116
+                    </el-table-column>
117
+                    <el-table-column
118
+                    prop="name"
119
+                    label="数量"
120
+                    width="100">
121
+                    </el-table-column>
122
+                    <el-table-column
123
+                    prop="name"
124
+                    label="原零价"
125
+                    width="100">
126
+                    </el-table-column>
127
+                    <el-table-column
128
+                    prop="name"
129
+                    label="现零价"
130
+                    width="100">
131
+                    </el-table-column>
132
+                    <el-table-column
133
+                    prop="name"
134
+                    label="进货价"
135
+                    width="100">
136
+                    </el-table-column>
137
+                    <el-table-column
138
+                    prop="name"
139
+                    label="零售总价"
140
+                    width="100">
141
+                    </el-table-column>
142
+                    <el-table-column
143
+                    prop="name"
144
+                    label="批号"
145
+                    width="100">
146
+                    </el-table-column>
147
+                    <el-table-column
148
+                    prop="name"
149
+                    label="生产日期"
150
+                    width="100">
151
+                    </el-table-column>
152
+                    <el-table-column
153
+                    prop="name"
154
+                    label="有效日期"
155
+                    width="100">
156
+                    </el-table-column>
157
+                </el-table>
158
+            <!-- </div> -->
159
+        </div>
160
+    </div>
161
+    <el-dialog
162
+        title="库房调价"
163
+        :visible.sync="dialogVisible"
164
+        width="1200px"
165
+        :before-close="handleClose">
166
+        <el-form :model="form" class="modifyDialog" label-width="120px">
167
+            <el-form-item label="药品名称">
168
+                <el-input v-model="form.name"></el-input>
169
+            </el-form-item>
170
+            <el-form-item label="原价格">
171
+                <el-input v-model="form.name"></el-input>
172
+            </el-form-item>
173
+            <el-form-item label="现价格">
174
+                <el-input v-model="form.name"></el-input>
175
+            </el-form-item>
176
+            <el-form-item label="调价数量">
177
+                <el-input v-model="form.name"></el-input>
178
+            </el-form-item>
179
+            <el-form-item label="备注" style="width:66%;">
180
+                <div style="display:flex;">
181
+                    <el-input v-model="form.name"></el-input>
182
+                    <el-button style="margin-left:5px;" type="primary">添加</el-button>
183
+                </div>
184
+            </el-form-item>
185
+        </el-form>
186
+        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
187
+            <el-table-column
188
+            prop="date"
189
+            label="单据编号"
190
+            width="100">
191
+            </el-table-column>
192
+            <el-table-column
193
+            prop="date"
194
+            label="药品名称"
195
+            width="100">
196
+            </el-table-column>
197
+            <el-table-column
198
+            prop="name"
199
+            label="规格"
200
+            width="100">
201
+            </el-table-column>
202
+            <el-table-column
203
+            prop="name"
204
+            label="单位"
205
+            width="100">
206
+            </el-table-column>
207
+            <el-table-column
208
+            prop="name"
209
+            label="调价数量"
210
+            width="100">
211
+            </el-table-column>
212
+            <el-table-column
213
+            prop="name"
214
+            label="原进货价"
215
+            width="100">
216
+            </el-table-column>
217
+            <el-table-column
218
+            prop="name"
219
+            label="原零售价"
220
+            width="100">
221
+            </el-table-column>
222
+            <el-table-column
223
+            prop="name"
224
+            label="新零售价"
225
+            width="100">
226
+            </el-table-column>
227
+            <el-table-column
228
+            prop="name"
229
+            label="生产厂商"
230
+            width="100">
231
+            </el-table-column>
232
+            <el-table-column
233
+            prop="name"
234
+            label="批准文号"
235
+            width="100">
236
+            </el-table-column>
237
+            <el-table-column
238
+            prop="name"
239
+            label="供应商"
240
+            width="100">
241
+            </el-table-column>
242
+            <el-table-column
243
+            prop="name"
244
+            label="备注"
245
+            width="100">
246
+            </el-table-column>
247
+            <el-table-column
248
+            fixed="right"
249
+            width="100"
250
+            label="操作">
251
+                <template slot-scope="scope">
252
+                    <el-button type="text" size="small">删除</el-button>
253
+                    <el-button type="text" size="small">编辑</el-button>
254
+                </template>
255
+            </el-table-column>
256
+        </el-table>
257
+        <span slot="footer" class="dialog-footer">
258
+            <el-button @click="dialogVisible = false">取 消</el-button>
259
+            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
260
+        </span>
261
+    </el-dialog>
262
+  
263
+  </div>
264
+</template>
265
+
266
+<script>
267
+import BreadCrumb from "../components/bread-crumb";
268
+
269
+export default {
270
+    name: "stockModifyPrice",
271
+    components:{
272
+        BreadCrumb
273
+    },
274
+    data() {
275
+        return{
276
+            crumbs: [
277
+                { path: false, name: "库存管理" },
278
+                { path: false, name: "耗材管理" },
279
+                { path: false, name: "耗材调价" }
280
+            ],
281
+            tableHeight: '',
282
+            fullHeight: document.documentElement.clientHeight,
283
+            searchKey:'',
284
+            value1:'',
285
+            value2:'',
286
+            tableData: [{
287
+                date: '2016-05-02',
288
+                name: '王小虎',
289
+                address: '上海市普陀区金沙江路 1518 弄'
290
+                }, {
291
+                date: '2016-05-04',
292
+                name: '王小虎',
293
+                address: '上海市普陀区金沙江路 1517 弄'
294
+                }, {
295
+                date: '2016-05-01',
296
+                name: '王小虎',
297
+                address: '上海市普陀区金沙江路 1519 弄'
298
+                }, {
299
+                date: '2016-05-03',
300
+                name: '王小虎',
301
+                address: '上海市普陀区金沙江路 1516 弄'
302
+            }],
303
+            dialogVisible:false,
304
+            form: {
305
+                name: '',
306
+            },
307
+        }
308
+    },
309
+    methods:{
310
+        search(){
311
+
312
+        },
313
+        print(){
314
+            this.$router.push({path:'/stock/stockModifyPricePrint'})
315
+            
316
+        }
317
+    },
318
+    created(){
319
+        let tableHeight = document.body.clientHeight - 200;
320
+        this.tableHeight = tableHeight
321
+    },
322
+    mounted() {
323
+      const that = this;
324
+      window.onresize = () => {
325
+        return (() => {
326
+          window.fullHeight = document.documentElement.clientHeight;
327
+          that.fullHeight = window.fullHeight
328
+        })()
329
+      }
330
+    },
331
+    watch: {
332
+      fullHeight(val) {
333
+        if (!this.timer) {
334
+          this.fullHeight = val
335
+          let tableHeight = val - 200
336
+          this.tableHeight = tableHeight
337
+          this.timer = true
338
+          let that = this
339
+          setTimeout(function() {
340
+            that.timer = false
341
+          }, 400)
342
+        }
343
+      }
344
+
345
+    }
346
+};
347
+</script>
348
+
349
+<style rel="stylesheet/scss" lang="scss">
350
+.app-container {
351
+  // margin: 20px;
352
+  font-size: 15px;
353
+}
354
+.modifyDialog{
355
+    display: flex;
356
+    flex-wrap: wrap;
357
+    margin-bottom: 10px;
358
+    .el-form-item{
359
+        width: 33%;
360
+    }
361
+}
362
+.el-table td,
363
+.el-table th.is-leaf,
364
+.el-table--border,
365
+.el-table--group {
366
+  border-color: #d0d3da;
367
+}
368
+.el-table--border::after,
369
+.el-table--group::after,
370
+.el-table::before {
371
+  background-color: #d0d3da;
372
+}
373
+::-webkit-scrollbar{
374
+    height: 20px !important;
375
+}
376
+</style>

+ 119 - 0
src/xt_pages/stock/stockModifyPricePrint.vue Zobrazit soubor

1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+        <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        <el-row style="float:right;">
6
+            <el-col :span="24">
7
+            <el-button size="small" icon="el-icon-printer" type="primary" @click="printAction">打印</el-button>
8
+            </el-col>
9
+        </el-row>
10
+        </div>
11
+        <div class="app-container" style="background-color: white;">
12
+            <div id="print_content">
13
+                <div class="printTitle">耗材调价登记单</div>
14
+                <div class="flex">
15
+                    <div>药库类别:</div>
16
+                    <div>调价日期:</div>
17
+                </div>
18
+                <div class="flex">
19
+                    <div>单据编号:</div>
20
+                    <div>打印日期:</div>
21
+                </div>
22
+                <div class="tableTitle">
23
+                    <div style="width:8%">货号</div>
24
+                    <div style="width:8%">药品名称</div>
25
+                    <div style="width:8%">规格</div>
26
+                    <div style="width:8%">单位</div>
27
+                    <div style="width:8%">批次</div>
28
+                    <div style="width:8%">调价数量</div>
29
+                    <div style="width:8%">原进货价</div>
30
+                    <div style="width:8%">新进货价</div>
31
+                    <div style="width:8%">进货差价</div>
32
+                    <div style="width:8%">原零售价</div>
33
+                    <div style="width:8%">新零售价</div>
34
+                    <div style="width:8%">零售差价</div>
35
+                </div>
36
+                <div class="tableTr" v-for="item in 3">
37
+                    <div style="width:8%">上三</div>
38
+                    <div style="width:8%">上三名称</div>
39
+                    <div style="width:8%">上三</div>
40
+                    <div style="width:8%">上三</div>
41
+                    <div style="width:8%">上三</div>
42
+                    <div style="width:8%">上三数量</div>
43
+                    <div style="width:8%">上三货价</div>
44
+                    <div style="width:8%">上三货价</div>
45
+                    <div style="width:8%">上三差价</div>
46
+                    <div style="width:8%">上三售价</div>
47
+                    <div style="width:8%">上三售价</div>
48
+                    <div style="width:8%">上三差价</div>
49
+                </div>
50
+                <div class="tableBottom">
51
+                    <div style="width:8%">合计:</div>
52
+                    <div style="width:8%"></div>
53
+                    <div style="width:8%"></div>
54
+                    <div style="width:8%"></div>
55
+                    <div style="width:8%"></div>
56
+                    <div style="width:8%"></div>
57
+                    <div style="width:8%"></div>
58
+                    <div style="width:8%"></div>
59
+                    <div style="width:8%">上三差价</div>
60
+                    <div style="width:8%"></div>
61
+                    <div style="width:8%"></div>
62
+                    <div style="width:8%">上三差价</div>
63
+                </div>
64
+                <div style="display:flex;margin-top:1px;float:right;margin-top:10px;">
65
+                    <div style="width:80px;">审批:</div><div style="width:100px;"></div>
66
+                    <div style="width:100px;">药材主任:</div><div style="width:60px;"></div>
67
+                    <div style="width:50px;">会计:</div><div style="width:100px;"></div>
68
+                    <div style="width:50px;">审核:</div><div style="width:100px;"></div>
69
+                    <div style="width:70px;">制单人:</div><div style="width:100px;"></div>
70
+                </div>
71
+            </div>
72
+        </div>
73
+    </div>
74
+</template>
75
+
76
+<script>
77
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
78
+const moment = require('moment');
79
+import { uParseTime } from '@/utils/tools'
80
+export default {
81
+    components:{
82
+        BreadCrumb
83
+    },
84
+    data(){
85
+        return{
86
+          crumbs: [
87
+            { path: false, name: '库存管理' },
88
+            { path: false, name: '耗材管理' },
89
+            { path: false, name: '耗材调价打印' },
90
+          ],
91
+        }
92
+    },
93
+    methods:{
94
+        printAction: function() {
95
+            const style = '@media print { .printTitle{font-size: 22px;text-align: center;}.flex{display: flex;justify-content: space-between;}.tableTitle{display: flex;border-top:1px solid #000;border-bottom: 1px solid #000;padding: 10px 0;}.tableTr{display: flex;border-bottom: 1px dashed #000;padding: 10px 0;}.tableBottom{display: flex;border-bottom: 1px solid #000;padding: 10px 0;} }';
96
+            printJS({
97
+            printable: 'print_content',
98
+            type: 'html',
99
+            documentTitle: '  ',
100
+            style: style,
101
+            scanStyles: false
102
+            })
103
+        },
104
+
105
+
106
+    },
107
+    created(){
108
+    }
109
+}
110
+</script>
111
+
112
+
113
+<style rel="stylesheet/scss" lang="scss" scoped>
114
+.printTitle{font-size: 22px;text-align: center;}
115
+.flex{display: flex;justify-content: space-between;}
116
+.tableTitle{display: flex;border-top:1px solid #000;border-bottom: 1px solid #000;padding: 10px 0;}
117
+.tableTr{display: flex;border-bottom: 1px dashed #000;padding: 10px 0;}
118
+.tableBottom{display: flex;border-bottom: 1px solid #000;padding: 10px 0;}
119
+</style>

+ 305 - 0
src/xt_pages/stock/stockWarning.vue Zobrazit soubor

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container">
7
+        <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom:10px;">
8
+            <div>
9
+                <el-input
10
+                size="small"
11
+                style="width: 200px;"
12
+                class="filter-item"
13
+                v-model.trim="searchKey"
14
+                placeholder=""
15
+                />
16
+                <el-button
17
+                size="small"
18
+                class="filter-item"
19
+                type="primary"
20
+                icon="el-icon-search"
21
+                @click="search"
22
+                >搜索</el-button
23
+                >
24
+                <el-date-picker
25
+                size="small"
26
+                v-model="value1"
27
+                type="date"
28
+                style="margin-left:5px;width:140px;"
29
+                placeholder="选择日期">
30
+                </el-date-picker>
31
+                <el-date-picker
32
+                size="small"
33
+                v-model="value2"
34
+                type="date"
35
+                style="margin-left:5px;width:140px;"
36
+                placeholder="选择日期">
37
+                </el-date-picker>
38
+            </div>
39
+            <div>
40
+                <el-button size="small" type="primary" @click="dialogVisible = true">新增</el-button>
41
+                <el-button size="small" type="primary">核对</el-button>
42
+                <el-button size="small" type="primary" @click="print">打印</el-button>
43
+                <el-button size="small" type="primary">导出</el-button>
44
+            </div>
45
+        </div>
46
+        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
47
+            <el-table-column
48
+            prop="date"
49
+            label="报损编码">
50
+            </el-table-column>
51
+            <el-table-column
52
+            prop="date"
53
+            label="报损日期">
54
+            </el-table-column>
55
+            <el-table-column
56
+            prop="name"
57
+            label="操作人">
58
+            </el-table-column>
59
+            <el-table-column
60
+            prop="name"
61
+            label="审核日期">
62
+            </el-table-column>
63
+            <el-table-column
64
+            prop="name"
65
+            label="核对人">
66
+            </el-table-column>
67
+            <el-table-column
68
+            prop="name"
69
+            label="状态">
70
+            </el-table-column>
71
+            <el-table-column
72
+            label="操作">
73
+                <template slot-scope="scope">
74
+                    <el-button type="text" size="small">删除</el-button>
75
+                    <el-button type="text" size="small">编辑</el-button>
76
+                </template>
77
+            </el-table-column>
78
+        </el-table>
79
+        <el-pagination
80
+            @size-change="handleSizeChange"
81
+            @current-change="handleCurrentChange"
82
+            :page-sizes="[5, 10, 50, 100]"
83
+            :page-size="5"
84
+            background
85
+            style="margin-top:20px;text-align: right"
86
+            layout="total, sizes, prev, pager, next, jumper"
87
+            :total="total"
88
+        >
89
+        </el-pagination>
90
+    </div>
91
+    <el-dialog
92
+        title="库房调价"
93
+        :visible.sync="dialogVisible"
94
+        width="1200px"
95
+        :before-close="handleClose">
96
+        <el-form :model="form" class="modifyDialog" label-width="120px">
97
+            <el-form-item label="耗材ID">
98
+                <el-input v-model="form.name"></el-input>
99
+            </el-form-item>
100
+            <el-form-item label="药品名称">
101
+                <el-input v-model="form.name"></el-input>
102
+            </el-form-item>
103
+            <el-form-item label="规格">
104
+                <el-input v-model="form.name"></el-input>
105
+            </el-form-item>
106
+            <el-form-item label="单位">
107
+                <el-input v-model="form.name"></el-input>
108
+            </el-form-item>
109
+            <el-form-item label="进货价">
110
+                <el-input v-model="form.name"></el-input>
111
+            </el-form-item>
112
+            <el-form-item label="零售价">
113
+                <el-input v-model="form.name"></el-input>
114
+            </el-form-item>
115
+            <el-form-item label="报损数量">
116
+                <el-input v-model="form.name"></el-input>
117
+            </el-form-item>
118
+            <el-form-item label="库存">
119
+                <el-input v-model="form.name"></el-input>
120
+            </el-form-item>
121
+            <el-form-item label="产地">
122
+                <el-input v-model="form.name"></el-input>
123
+            </el-form-item>
124
+            <el-form-item label="批准文号">
125
+                <el-input v-model="form.name"></el-input>
126
+            </el-form-item>
127
+            <el-form-item label="生产厂商">
128
+                <el-input v-model="form.name"></el-input>
129
+            </el-form-item>
130
+            <el-form-item label="备注">
131
+                <div style="display:flex;">
132
+                    <el-input v-model="form.name"></el-input>
133
+                    <el-button style="margin-left:5px;" type="primary">添加</el-button>
134
+                </div>
135
+            </el-form-item>
136
+        </el-form>
137
+        <el-table :data="tableData" border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)' }">
138
+            <el-table-column
139
+            prop="date"
140
+            label="耗材ID"
141
+            width="100">
142
+            </el-table-column>
143
+            <el-table-column
144
+            prop="date"
145
+            label="耗材名称"
146
+            width="100">
147
+            </el-table-column>
148
+            <el-table-column
149
+            prop="name"
150
+            label="规格"
151
+            width="100">
152
+            </el-table-column>
153
+            <el-table-column
154
+            prop="name"
155
+            label="单位"
156
+            width="100">
157
+            </el-table-column>
158
+            <el-table-column
159
+            prop="name"
160
+            label="调价数量"
161
+            width="100">
162
+            </el-table-column>
163
+            <el-table-column
164
+            prop="name"
165
+            label="原进货价"
166
+            width="100">
167
+            </el-table-column>
168
+            <el-table-column
169
+            prop="name"
170
+            label="原零售价"
171
+            width="100">
172
+            </el-table-column>
173
+            <el-table-column
174
+            prop="name"
175
+            label="新零售价"
176
+            width="100">
177
+            </el-table-column>
178
+            <el-table-column
179
+            prop="name"
180
+            label="生产厂商"
181
+            width="100">
182
+            </el-table-column>
183
+            <el-table-column
184
+            prop="name"
185
+            label="产地"
186
+            width="100">
187
+            </el-table-column>
188
+            <el-table-column
189
+            prop="name"
190
+            label="批准文号"
191
+            width="100">
192
+            </el-table-column>
193
+            <el-table-column
194
+            prop="name"
195
+            label="备注"
196
+            width="100">
197
+            </el-table-column>
198
+            <el-table-column
199
+            fixed="right"
200
+            width="100"
201
+            label="操作">
202
+                <template slot-scope="scope">
203
+                    <el-button type="text" size="small">删除</el-button>
204
+                    <el-button type="text" size="small">编辑</el-button>
205
+                </template>
206
+            </el-table-column>
207
+        </el-table>
208
+        <span slot="footer" class="dialog-footer">
209
+            <el-button @click="dialogVisible = false">取 消</el-button>
210
+            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
211
+        </span>
212
+    </el-dialog>
213
+  
214
+  </div>
215
+</template>
216
+
217
+<script>
218
+import BreadCrumb from "../components/bread-crumb";
219
+
220
+export default {
221
+    name: "stockModifyPrice",
222
+    components:{
223
+        BreadCrumb
224
+    },
225
+    data() {
226
+        return{
227
+            crumbs: [
228
+                { path: false, name: "库存管理" },
229
+                { path: false, name: "耗材管理" },
230
+                { path: false, name: "耗材报损" }
231
+            ],
232
+            searchKey:'',
233
+            value1:'',
234
+            value2:'',
235
+            tableData: [{
236
+                date: '2016-05-02',
237
+                name: '王小虎',
238
+                address: '上海市普陀区金沙江路 1518 弄'
239
+                }, {
240
+                date: '2016-05-04',
241
+                name: '王小虎',
242
+                address: '上海市普陀区金沙江路 1517 弄'
243
+                }, {
244
+                date: '2016-05-01',
245
+                name: '王小虎',
246
+                address: '上海市普陀区金沙江路 1519 弄'
247
+                }, {
248
+                date: '2016-05-03',
249
+                name: '王小虎',
250
+                address: '上海市普陀区金沙江路 1516 弄'
251
+            }],
252
+            dialogVisible:false,
253
+            form: {
254
+                name: '',
255
+            },
256
+            total: 0,
257
+        }
258
+    },
259
+    methods:{
260
+        search(){
261
+
262
+        },
263
+        print(){
264
+            this.$router.push({path:'/stock/stockModifyPricePrint'})
265
+            
266
+        },
267
+        handleSizeChange(){},
268
+        handleCurrentChange(){}
269
+
270
+    },
271
+    created(){
272
+    },
273
+    mounted() {
274
+    },
275
+};
276
+</script>
277
+
278
+<style rel="stylesheet/scss" lang="scss">
279
+.app-container {
280
+  // margin: 20px;
281
+  font-size: 15px;
282
+}
283
+.modifyDialog{
284
+    display: flex;
285
+    flex-wrap: wrap;
286
+    margin-bottom: 10px;
287
+    .el-form-item{
288
+        width: 33%;
289
+    }
290
+}
291
+.el-table td,
292
+.el-table th.is-leaf,
293
+.el-table--border,
294
+.el-table--group {
295
+  border-color: #d0d3da;
296
+}
297
+.el-table--border::after,
298
+.el-table--group::after,
299
+.el-table::before {
300
+  background-color: #d0d3da;
301
+}
302
+::-webkit-scrollbar{
303
+    height: 20px !important;
304
+}
305
+</style>