浏览代码

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

28169 2 年前
父节点
当前提交
71e970e11f
共有 40 个文件被更改,包括 3731 次插入423 次删除
  1. 13 0
      src/api/his/his.js
  2. 12 0
      src/router/modules/dialysis.js
  3. 3 2
      src/xt_pages/device/main.vue
  4. 1793 0
      src/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree.vue
  5. 2 2
      src/xt_pages/dialysis/batch_print/batch_print_order_six.vue
  6. 2 0
      src/xt_pages/dialysis/batch_print/batch_print_order_thirtySeven.vue
  7. 1 13
      src/xt_pages/dialysis/batch_print/batch_print_order_twelve.vue
  8. 11 0
      src/xt_pages/dialysis/bloodPresssWatch.vue
  9. 32 1
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  10. 1 1
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  11. 2 2
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  12. 2 2
      src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue
  13. 2 0
      src/xt_pages/dialysis/template/DialysisPrintOrderThirtySeven.vue
  14. 11 1
      src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue
  15. 5 1
      src/xt_pages/hospitalStation/components/chargeDialog.vue
  16. 1 1
      src/xt_pages/hospitalStation/statementPrint.vue
  17. 693 0
      src/xt_pages/outpatientCharges/batchStatementPrint.vue
  18. 31 9
      src/xt_pages/outpatientCharges/components/chargeDialog.vue
  19. 4 4
      src/xt_pages/outpatientCharges/listPrint.vue
  20. 18 10
      src/xt_pages/outpatientCharges/listTemplate/printOne.vue
  21. 1 1
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  22. 3 1
      src/xt_pages/outpatientCharges/statementPrint.vue
  23. 531 0
      src/xt_pages/outpatientCharges/statementTemplate/batchPrint.vue
  24. 1 1
      src/xt_pages/outpatientCharges/statementTemplate/printFive.vue
  25. 14 13
      src/xt_pages/outpatientCharges/statementTemplate/printThree.vue
  26. 149 26
      src/xt_pages/outpatientCharges/summary.vue
  27. 4 4
      src/xt_pages/outpatientDoctorStation/batch_print_template/batchPrintThree.vue
  28. 1 4
      src/xt_pages/outpatientDoctorStation/components/saveTemplate.vue
  29. 19 19
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  30. 22 0
      src/xt_pages/outpatientTool/components/settle.vue
  31. 31 6
      src/xt_pages/outpatientTool/labelPrint.vue
  32. 2 0
      src/xt_pages/outpatientTool/yidiClear.vue
  33. 3 2
      src/xt_pages/user/components/PatientDetail.vue
  34. 1 1
      src/xt_pages/user/coursePrint.vue
  35. 9 14
      src/xt_pages/user/firstDiseasePrint.vue
  36. 1 1
      src/xt_pages/workforce/components/editTableData.vue
  37. 182 182
      src/xt_pages/workforce/components/scheduleUploadExcel/index.vue
  38. 86 69
      src/xt_pages/workforce/components/tableData.vue
  39. 1 1
      src/xt_pages/workforce/components/tableWeeks.vue
  40. 31 29
      src/xt_pages/workforce/remind_print_setting_one.vue

+ 13 - 0
src/api/his/his.js 查看文件

@@ -744,3 +744,16 @@ export function handleOne(params) {
744 744
 
745 745
 
746 746
 
747
+export function getBatchSettleAccount(params) {
748
+  return request({
749
+    url: "/api/batch/settleaccount",
750
+    method: "get",
751
+    params:params,
752
+  });
753
+}
754
+
755
+
756
+
757
+
758
+
759
+

+ 12 - 0
src/router/modules/dialysis.js 查看文件

@@ -803,5 +803,17 @@ export default {
803 803
         noCache: true
804 804
       }
805 805
     },
806
+    {
807
+      path: '/dialysis/print/batch/fiftyThree',
808
+      component: () =>
809
+        import('@/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree'),
810
+      hidden: true,
811
+      is_menu: false,
812
+      name: 'batch_print_order_fiftyThree',
813
+      meta: {
814
+        title: '批量打印',
815
+        noCache: true
816
+      }
817
+    },
806 818
   ]
807 819
 }

+ 3 - 2
src/xt_pages/device/main.vue 查看文件

@@ -7,11 +7,12 @@
7 7
                  @click="add_device_action">新增
8 8
       </el-button>
9 9
 
10
-
11 10
     </div>
12 11
     <div class="app-container">
13 12
       <device-list ref="device_list" :zones="zones" :groups="groups" :device_numbers="device_numbers"
14
-                   @did_select_device="did_select_device"></device-list>
13
+                   @did_select_device="did_select_device">
14
+                  
15
+      </device-list>
15 16
       <!--<el-col :span="17">-->
16 17
       <!--<device-detail ref="device_detail" :device_numbers="device_numbers" @did_update_device="did_update_device"></device-detail>-->
17 18
       <!--</el-col>-->

文件差异内容过多而无法显示
+ 1793 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree.vue


+ 2 - 2
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue 查看文件

@@ -1429,14 +1429,14 @@
1429 1429
                           </td>
1430 1430
 
1431 1431
                           <td>
1432
-                            <span v-if="org_id == 9671 || org_id == 10440">
1432
+                            <span v-if="org_id == 9671 || org_id == 10440 || org_id == 10471">
1433 1433
                                 {{
1434 1434
                               monitor_record.ultrafiltration_volume
1435 1435
                                 ? monitor_record.ultrafiltration_volume
1436 1436
                                 : "0"
1437 1437
                             }}
1438 1438
                             </span>
1439
-                             <span v-if="org_id!=9671 && org_id!=10440">
1439
+                             <span v-if="org_id!=9671 && org_id!=10440 && org_id!=10471">
1440 1440
                                 {{
1441 1441
                               monitor_record.ultrafiltration_volume
1442 1442
                                 ? monitor_record.ultrafiltration_volume

+ 2 - 0
src/xt_pages/dialysis/batch_print/batch_print_order_thirtySeven.vue 查看文件

@@ -107,10 +107,12 @@
107 107
                             <span style="display:inline-block;width:15%;margin-left:15px;width:100%;">
108 108
                                 治疗抗凝:
109 109
                                 <label-box :isChecked="record.prescription.anticoagulant == 3 ? true : record.prescription.anticoagulant == 6 ? true : record.prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
110
+                                <label-box :isChecked="record.prescription.anticoagulant == 8  ? true : false" showValue="依诺肝素"></label-box>
110 111
                                 <span style="display:inline-block;width:50px;">
111 112
                                     <span v-if="record.prescription.anticoagulant == 3">{{ record.prescription.anticoagulant_zongliang }}</span>
112 113
                                     <span v-if="record.prescription.anticoagulant == 6">{{ record.prescription.anticoagulant_zongliang }}</span>
113 114
                                     <span v-if="record.prescription.anticoagulant == 7">{{ record.prescription.anticoagulant_zongliang }}</span>
115
+                                    <span v-if="record.prescription.anticoagulant == 8">{{ record.prescription.anticoagulant_zongliang }}</span>
114 116
                                 </span>U
115 117
                                 <span style="margin:0 10px;">
116 118
                                     <label-box :isChecked="record.prescription.anticoagulant == 2 ? true : false" showValue="普通肝素"></label-box>

+ 1 - 13
src/xt_pages/dialysis/batch_print/batch_print_order_twelve.vue 查看文件

@@ -1041,19 +1041,7 @@
1041 1041
                     <td colspan="3" style="width:130px;height:40px">
1042 1042
                       执行时间
1043 1043
                     </td>
1044
-                    <!-- <td style="width:60px;height:60px">
1045
-              <p style="height:20px;line-height:20px">核对</p>
1046
-            </td>
1047
-            <td style="width:60px;height:40px">
1048
-              <p style="height:20px;line-height:20px">上次透后体重</p>
1049
-            </td>
1050
-            <td style="width:60px;height:40px">
1051
-              {{
1052
-                assessmentafter.weight_after
1053
-                  ? assessmentafter.weight_after
1054
-                  : "0"
1055
-              }}kg
1056
-            </td> -->
1044
+             
1057 1045
                   </tr>
1058 1046
 
1059 1047
                   <tr

+ 11 - 0
src/xt_pages/dialysis/bloodPresssWatch.vue 查看文件

@@ -338,6 +338,15 @@
338 338
           type="primary"
339 339
           >批量打印</el-button>
340 340
       </template>
341
+      <template v-if="this.template_id == 53">
342
+        <el-button
343
+          size="small"
344
+          icon="el-icon-printer"
345
+          :disabled="selecting_schs.length == 0"
346
+          @click="batchPrintAction"
347
+          type="primary"
348
+          >批量打印</el-button>
349
+      </template>
341 350
       <template v-if="this.template_id == 59">
342 351
         <el-button
343 352
           size="small"
@@ -2106,6 +2115,8 @@ export default {
2106 2115
         this.$router.push({ path: "/dialysis/print/batch/six" });
2107 2116
       }else if (this.template_id == 51) {
2108 2117
         this.$router.push({ path: "/dialysis/print/batch/fiftyOne" });
2118
+      }else if (this.template_id == 53) {
2119
+        this.$router.push({ path: "/dialysis/print/batch/fiftyThree" });
2109 2120
       }else if (this.template_id == 59) {
2110 2121
         this.$router.push({ path: "/dialysis/print/batch/fiftynine" });
2111 2122
       }else if (this.template_id == 60) {

+ 32 - 1
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

@@ -1223,7 +1223,7 @@
1223 1223
   import MsgTip from './MsgTip'
1224 1224
   import request from '@/utils/request'
1225 1225
   import multiSelectBox from './MultiSelectBox'
1226
-
1226
+  const moment = require('moment')
1227 1227
   export default {
1228 1228
     name: 'dialysisPrescriptionDialog',
1229 1229
     components: { MsgTip, multiSelectBox },
@@ -2578,7 +2578,38 @@ mu
2578 2578
 
2579 2579
         this.isVisibility = true
2580 2580
         this.checkedCities = []
2581
+        var total_day = ""
2582
+        if(moment().weekday() == 1){
2583
+           total_day ="周一"
2584
+        }
2585
+        if(moment().weekday() == 2){
2586
+           total_day ="周二"
2587
+        }
2588
+        if(moment().weekday() == 3){
2589
+           total_day ="周三"
2590
+        }
2591
+        if(moment().weekday() == 4){
2592
+           total_day ="周四"
2593
+        }
2594
+        if(moment().weekday() == 5){
2595
+           total_day ="周五"
2596
+        }
2597
+        if(moment().weekday() == 6){
2598
+           total_day ="周六"
2599
+        }
2600
+        if(moment().weekday() == 6){
2601
+           total_day ="周七"
2602
+        }
2603
+        console.log("---------",this.targetAdvices)
2604
+        if(this.targetAdvices!=null && this.targetAdvices.length >0){
2605
+            for (let i = 0; i < this.targetAdvices.length; i++) {
2606
+              if(this.targetAdvices[i].week_day.indexOf(total_day)!=-1){
2607
+                this.targetAdvices[i].isCheck = 1
2608
+              }
2609
+            }
2610
+        }
2581 2611
         for (let i = 0; i < this.targetAdvices.length; i++) {
2612
+         
2582 2613
           if (this.targetAdvices[i].isCheck == 1) {
2583 2614
             this.checkedCities.push(this.targetAdvices[i].id)
2584 2615
           }

+ 1 - 1
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue 查看文件

@@ -864,7 +864,7 @@
864 864
             width="140"
865 865
             v-if="
866 866
               isShow('KT/V') &&
867
-              (org_id == 9987 || org_id == 10215 || org_id == 9800)
867
+              (org_id == 9987 || org_id == 10215 || org_id == 9800 || org_id == 9598)
868 868
             "
869 869
           >
870 870
             <template slot-scope="scope">

+ 2 - 2
src/xt_pages/dialysis/details/dialysisMonitoring.vue 查看文件

@@ -44,7 +44,7 @@
44 44
           <th v-if="isShow('肝素量')" width="92px">肝素量(mg)</th>
45 45
           <th v-if="isShow('脱水')" width="92px">脱水(L)</th>
46 46
           <th v-if="isShow('滤前压')" width="92px">滤前压(mmHg)</th>
47
-          <th v-if="isShow('KT/V') && (org_id == 9987 || org_id == 10215 || org_id ==  9800)" width="92px">KT/V</th>
47
+          <th v-if="isShow('KT/V') && (org_id == 9987 || org_id == 10215 || org_id ==  9800 || org_id ==  9598)" width="92px">KT/V</th>
48 48
           <th v-if="isShow('病情变化')" width="92px">病情变化</th>
49 49
 
50 50
           <th v-if="isShow('处理')" width="92px">处理</th>
@@ -96,7 +96,7 @@
96 96
           <th v-if="isShow('肝素量')" width="92px">{{monitor.heparin_amount ? monitor.heparin_amount : ""}}</th>
97 97
           <th v-if="isShow('脱水')" width="92px">{{monitor.dehydration ? monitor.dehydration : ""}}</th>
98 98
           <th v-if="isShow('滤前压')" width="92px">{{monitor.filter_pressure ? monitor.filter_pressure : ""}}</th>
99
-          <td v-if="isShow('KT/V') && (org_id == 9987 || org_id == 10215 || org_id ==  9800)">{{ monitor.ktv?monitor.ktv:""}}</td>
99
+          <td v-if="isShow('KT/V') && (org_id == 9987 || org_id == 10215 || org_id ==  9800 || org_id ==  9598)">{{ monitor.ktv?monitor.ktv:""}}</td>
100 100
           <td v-if="isShow('病情变化')">{{ monitor.symptom }}
101 101
             <span v-if="(index == monitores.length-1) && (org_id == 0 || org_id == 10340)">累计血容量:{{monitor.accumulated_blood_volume }}L</span>
102 102
           </td>

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue 查看文件

@@ -1493,8 +1493,8 @@
1493 1493
                       
1494 1494
 
1495 1495
                         <td>
1496
-                          <span v-if="org_id!=9671 && org_id!=10440"> {{ monitor.ultrafiltration_volume? monitor.ultrafiltration_volume: ""}}</span>
1497
-                          <span v-if="org_id==9671 || org_id==10440"> {{ monitor.ultrafiltration_volume? monitor.ultrafiltration_volume: "0"}}</span>
1496
+                          <span v-if="org_id!=9671 && org_id!=10440 && org_id!=10471"> {{ monitor.ultrafiltration_volume? monitor.ultrafiltration_volume: ""}}</span>
1497
+                          <span v-if="org_id==9671 || org_id==10440 || org_id == 10471"> {{ monitor.ultrafiltration_volume? monitor.ultrafiltration_volume: "0"}}</span>
1498 1498
                         </td>
1499 1499
                         <!-- <td style="width:50px">
1500 1500
                           <span v-if="(prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12) && ((dialysisOrder && monitor.operate_time <= dialysisOrder.end_time) && (dialysisOrder && monitor.operate_time >= dialysisOrder.start_time))">

+ 2 - 0
src/xt_pages/dialysis/template/DialysisPrintOrderThirtySeven.vue 查看文件

@@ -94,10 +94,12 @@
94 94
                   <span style="display:inline-block;width:15%;margin-left:15px;width:100%;">
95 95
                       治疗抗凝:
96 96
                       <label-box :isChecked="prescription.anticoagulant == 3 ? true : prescription.anticoagulant == 6 ? true : prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
97
+                      <label-box :isChecked="prescription.anticoagulant == 8 ? true : false" showValue="依诺肝素"></label-box>
97 98
                       <span style="display:inline-block;width:50px;">
98 99
                           <span v-if="prescription.anticoagulant == 3">{{ prescription.anticoagulant_zongliang }}</span>
99 100
                           <span v-if="prescription.anticoagulant == 6">{{ prescription.anticoagulant_zongliang }}</span>
100 101
                           <span v-if="prescription.anticoagulant == 7">{{ prescription.anticoagulant_zongliang }}</span>
102
+                          <span v-if="prescription.anticoagulant == 8">{{ prescription.anticoagulant_zongliang }}</span>
101 103
                       </span>U
102 104
                       <span style="margin:0 10px;">
103 105
                           <label-box :isChecked="prescription.anticoagulant == 2 ? true : false" showValue="普通肝素"></label-box>

+ 11 - 1
src/xt_pages/dialysis/template/DialysisPrintOrderTwentyFour.vue 查看文件

@@ -605,7 +605,17 @@
605 605
                           <tr>
606 606
                               <td width='70'>抗凝方式</td>
607 607
                               <td width='100'>
608
-                                  <label-box :isChecked="prescription.anticoagulant == 3 ? true : prescription.anticoagulant == 6 ? true : prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素"></label-box>
608
+                                <span v-if="prescription.anticoagulant == 3"><label-box :isChecked="prescription.anticoagulant == 3 ? true : false" showValue="低分子肝素"></label-box></span>  
609
+                                <span v-if="prescription.anticoagulant == 4"><label-box :isChecked="prescription.anticoagulant == 4 ? true : false" showValue="阿加曲班"></label-box></span>  
610
+                                <span v-if="prescription.anticoagulant == 5"> <label-box :isChecked="prescription.anticoagulant == 5 ? true : false" showValue="枸橼酸钠"></label-box></span> 
611
+                                <span v-if="prescription.anticoagulant == 6"> <label-box :isChecked="prescription.anticoagulant == 6 ? true : false" showValue="低分子肝素钙"></label-box></span> 
612
+                                <span v-if="prescription.anticoagulant == 7"> <label-box :isChecked="prescription.anticoagulant == 7 ? true : false" showValue="低分子肝素钠"></label-box></span> 
613
+                                <span v-if="prescription.anticoagulant == 8"> <label-box :isChecked="prescription.anticoagulant == 8 ? true : false" showValue="依诺肝素"></label-box></span>  
614
+                                <span v-if="prescription.anticoagulant == 9"> <label-box :isChecked="prescription.anticoagulant == 9 ? true : false" showValue="达肝素"></label-box></span> 
615
+                                <span v-if="prescription.anticoagulant == 10"><label-box :isChecked="prescription.anticoagulant == 10 ? true : false" showValue="体外抗凝"></label-box></span>  
616
+                                <span v-if="prescription.anticoagulant == 11"> <label-box :isChecked="prescription.anticoagulant == 11 ? true : false" showValue="那屈肝素"></label-box></span>  
617
+                                <span v-if="prescription.anticoagulant == 12"><label-box :isChecked="prescription.anticoagulant == 12 ? true : false" showValue="无抗凝剂"></label-box></span>  
618
+                                <span v-if="prescription.anticoagulant == 13"><label-box :isChecked="prescription.anticoagulant == 13 ? true : false" showValue="那屈肝素钙"></label-box></span>  
609 619
                               </td>
610 620
                               <!-- <td width='100'>
611 621
                                   <div class="under-line">

+ 5 - 1
src/xt_pages/hospitalStation/components/chargeDialog.vue 查看文件

@@ -89,6 +89,7 @@
89 89
          <el-radio-group v-model="form.pay_way">
90 90
           <el-radio :label="item.value" :value="item.value" v-for="(item,index) in payWays" :key="index">{{ item.label }}</el-radio>
91 91
            <el-button type="primary" v-if="form.pay_way == 4 || form.pay_way == 6" @click="reading()">读卡</el-button>
92
+<!--           <el-button type="primary" v-if="form.pay_way == 6" @click="readEle()">读电子凭证</el-button>-->
92 93
 
93 94
          </el-radio-group>
94 95
       </el-form-item>
@@ -275,9 +276,12 @@
275 276
       created() {
276 277
       },
277 278
       methods: {
279
+        readEle(){
280
+
281
+
282
+        },
278 283
         reading() {
279 284
           var that = this
280
-
281 285
           let id_card_type = 1
282 286
           if (this.form.pay_way == 6){
283 287
             id_card_type = 4

+ 1 - 1
src/xt_pages/hospitalStation/statementPrint.vue 查看文件

@@ -13,7 +13,7 @@
13 13
       >
14 14
     </template>
15 15
 
16
-    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10215">
16
+    <div class='dialysisPage' style="padding-top:40px;" v-if="this.$store.getters.xt_user.org_id == 10215 || this.$store.getters.xt_user.org_id == 0">
17 17
       <private-charge-print :info="info" v-if="this.paramsObj.balance_accounts_type == 2"></private-charge-print>
18 18
       <printOne :info="info" v-else></printOne>
19 19
     </div>

+ 693 - 0
src/xt_pages/outpatientCharges/batchStatementPrint.vue 查看文件

@@ -0,0 +1,693 @@
1
+<template>
2
+  <!-- 打印 -->
3
+  <div>
4
+    <template>
5
+      <el-button
6
+        style="position: fixed; right:26px; z-index: 999"
7
+        :loading="loading"
8
+        size="small"
9
+        icon="el-icon-printer"
10
+        @click="printThisPage"
11
+        type="primary"
12
+      >打印
13
+      </el-button
14
+      >
15
+    </template>
16
+
17
+    <div class="dialysisPage" style="padding-top: 40px">
18
+
19
+<!--      <batch-print-three-->
20
+<!--        :info="info"-->
21
+<!--        v-if="org_id == 10138 || org_id == 0 || org_id == 10278"-->
22
+<!--      ></batch-print-three>-->
23
+      <batch-print
24
+        :info="info"
25
+        v-if="org_id == 10138 || org_id == 0 || org_id == 10278 || org_id == 10342 || org_id == 10341 "
26
+      >
27
+
28
+      </batch-print>
29
+
30
+    </div>
31
+  </div>
32
+</template>
33
+
34
+<script>
35
+import {uParseTime} from "@/utils/tools";
36
+import axios from "axios";
37
+import print from "print-js";
38
+
39
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
40
+import printOne from "./statementTemplate/printOne";
41
+import privateChargePrint from "./statementTemplate/privateChargePrint";
42
+
43
+import printTwo from "./statementTemplate/printTwo";
44
+import printThree from "./statementTemplate/printThree";
45
+import printFour from "./statementTemplate/printFour";
46
+import printFive from "./statementTemplate/printFive";
47
+import testVue from "./statementTemplate/test";
48
+import {getAllDoctorList, getAllHisPatientList,} from "@/api/project/project";
49
+import {getBatchSettleAccount} from "@/api/his/his";
50
+import printSeven from "./statementTemplate/printSeven";
51
+import Print10191 from "./statementTemplate/print10191";
52
+import printTen from "./statementTemplate/printTen";
53
+import BatchPrintThree from '../outpatientDoctorStation/batch_print_template/batchPrintThree'
54
+import BatchPrint from './statementTemplate/batchPrint'
55
+
56
+// import PrintOther from '../hospitalStation/statementTemplate/printOther'
57
+export default {
58
+  name: "batchStatementPrint",
59
+  components: {
60
+    BatchPrint,
61
+    BatchPrintThree,
62
+    Print10191,
63
+    printSeven,
64
+    BreadCrumb,
65
+    printOne,
66
+    privateChargePrint,
67
+    printTwo,
68
+    printThree,
69
+    printFour,
70
+    testVue,
71
+    printFive,
72
+    printTen
73
+  },
74
+  props: {
75
+    paramsObj: Object,
76
+  },
77
+  data() {
78
+    return {
79
+      crumbs: [
80
+        {path: false, name: "门诊医生站"},
81
+        {path: false, name: "打印"},
82
+      ],
83
+      record_date: "",
84
+      patientTableData: [],
85
+      advicePrint: [],
86
+      hisPatient: {},
87
+      patient: {},
88
+      search_input: "",
89
+      loading: false,
90
+      patient_id: 0,
91
+      prescription_id: 0,
92
+      ids: "",
93
+      info: null,
94
+      org_id: "",
95
+      balanceAccounts: {},
96
+    };
97
+  },
98
+  methods: {
99
+    printThisPage() {
100
+      var ptime = Math.round(new Date().getTime() / 1000);
101
+      this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");
102
+
103
+      if (
104
+        this.$store.getters.xt_user.org_id == 10138 ||
105
+        this.$store.getters.xt_user.org_id == 4 ||
106
+        this.$store.getters.xt_user.org_id == 10278 ||
107
+        this.$store.getters.xt_user.org_id == 0  ||
108
+        this.$store.getters.xt_user.org_id == 10342 ||
109
+        this.$store.getters.xt_user.org_id == 10341
110
+      ) {
111
+        setTimeout(() => {
112
+          const style =
113
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 47%;}}}";
114
+          const style2 =
115
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 50%;}}}";
116
+          const style3 =
117
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 55%;}}}";
118
+          const style4 =
119
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 58%;}}}";
120
+          const style5 =
121
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 61%;}}}";
122
+          const style6 =
123
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 66%;}}}";
124
+          const style7 =
125
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 71%;}}}";
126
+          const style8 =
127
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 75%;}}}";
128
+          const style9 =
129
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 80%;}}}";
130
+          const style10 =
131
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 85%;}}}";
132
+          const style11 =
133
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 87%;}}}";
134
+          const style12 =
135
+            "@media print {#prescription-print{font-size:14px;border:1px solid white}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 89%;}}}";
136
+
137
+            printJS({
138
+              printable: "prescription-print",
139
+              type: "html",
140
+              style: style,
141
+              scanStyles: false,
142
+            });
143
+
144
+
145
+        }, 500);
146
+      } else if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
147
+        const style =
148
+          "@media print {.printTitle{font-size: 20px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;font-size:12px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;font-size:12px;}.chargeUl{display:flex;justify-content: space-between;text-align: center;}.chargeUl p{line-height: 1px;}.chargeP{line-height: 1px;padding-bottom:16px;}.moneyBox{display: flex;justify-content: space-between;padding: 0 10px;background: #eeeeee;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;-ms-print-color-adjust:exact;print-color-adjust:exact;height: 40px;align-items: center;border:1px solid #000; border-top:none;font-size:12px;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;font-size:12px;}.actionBar div{width:150px;}}";
149
+        printJS({
150
+          printable: "prescription-print",
151
+          type: "html",
152
+          style: style,
153
+          scanStyles: false,
154
+        });
155
+      } else {
156
+        // 医保环境打印格式
157
+        if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 10106) {
158
+          const style =
159
+            "@media print {.statementTitle{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;}.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 16px;border-color: #000;}}";
160
+          printJS({
161
+            printable: "statement-print",
162
+            type: "html",
163
+            style: style,
164
+            scanStyles: false,
165
+          });
166
+        } else if (this.$store.getters.xt_user.org_id == 10191) {
167
+          const style =
168
+            "@media print {#statement-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
169
+          printJS({
170
+            printable: "statement-print",
171
+            type: "html",
172
+            style: style,
173
+            scanStyles: false,
174
+          });
175
+          // const style =
176
+          //     "@media print {.statementTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 40px;font-size: 14px;border-color: #000;} .statementTable thead{font-size: 28px;text-align: center;font-weight: bold;margin-bottom: 10px;} .statementTable tbody{text-align:left;} .statementTable tbody .view_tr{text-align:center;border: 1px solid;} tbody .dashed_tr{border: 1px dashed;text-align:center} .list_table{width: 100%;margin-bottom: 100px;} tbody tr td div{height:25px;}}";
177
+          // printJS({
178
+          //   printable: "statement-print",
179
+          //   type: "html",
180
+          //   style: style,
181
+          //   scanStyles: false,
182
+          // });
183
+        } else {
184
+          const style =
185
+            "@media print {#statement-print{font-size:14px;border:1px solid white}.statementTitle{font-size: 22px;text-align: center;font-weight: bold;}table{border-collapse: collapse;text-align: center;}table td {padding: 10px 5px;font-size:16px;}@media print {html {zoom: 57%;}}}";
186
+          printJS({
187
+            printable: "statement-print",
188
+            type: "html",
189
+            style: style,
190
+            scanStyles: false,
191
+          });
192
+        }
193
+      }
194
+
195
+      // if (this.org_template_info.template_id == 1) {
196
+      //   printJS({
197
+      //     printable: "dialysis-print-box",
198
+      //     type: "html",
199
+      //     style: style,
200
+      //     scanStyles: false
201
+      //   });
202
+      // }
203
+    },
204
+    getAllDoctorList() {
205
+      getAllDoctorList().then((response) => {
206
+        if (response.data.state == 1) {
207
+          var doctor = response.data.data.doctor;
208
+
209
+          this.doctorList = doctor;
210
+        }
211
+      });
212
+    },
213
+    getAllHisPatientList() {
214
+      const params = {
215
+        record_date: this.record_date,
216
+      };
217
+      getAllHisPatientList(params).then((response) => {
218
+        if (response.data.state == 1) {
219
+          this.patientTableData = response.data.data.list;
220
+          this.patientTableDataTwo = response.data.data.list;
221
+
222
+          console.log("222", this.patientTableData);
223
+          let cal_one = 0;
224
+          let cal_two = 0;
225
+          for (let i = 0; i < response.data.data.list.length; i++) {
226
+            if (
227
+              response.data.data.list[i].prescription == null ||
228
+              response.data.data.list[i].prescription.length == 0
229
+            ) {
230
+              cal_one = cal_one + 1;
231
+            }
232
+            if (
233
+              response.data.data.list[i].prescription != null &&
234
+              response.data.data.list[i].prescription.length > 0
235
+            ) {
236
+              cal_two = cal_two + 1;
237
+            }
238
+          }
239
+          // this.$refs.tab.setCurrentRow(this.patientTableData[0])
240
+          // console.log(this.patientTableData[0])
241
+          // this.choosePatient(this.patientTableData[0])
242
+          this.cal_one = cal_one;
243
+          this.cal_two = cal_two;
244
+        }
245
+      });
246
+    },
247
+
248
+    changePatient(row) {
249
+      console.log("row", row);
250
+      this.patient_id = row.patient_id;
251
+      this.record_date = this.record_date;
252
+      this.prescription_id = this.prescription_id;
253
+      //   var params = {
254
+      //     patient_id:row.patient_id,
255
+      //     record_date:this.record_date,
256
+      //     prescription_id:this.prescription_id,
257
+      //   }
258
+      // getPrescriptionPrint(params).then(response=>{
259
+      //     if(response.data.state == 1){
260
+      //       var advicePrint =  response.data.data.advicePrint
261
+      //       console.log("adviceprint",advicePrint)
262
+      //       this.advicePrint = advicePrint
263
+      //       // var hisPatient =  response.data.data.hisPatient
264
+      //       // console.log("hispatient",hisPatient)
265
+      //       // this.hisPatient = hisPatient
266
+      //       var patient =  response.data.data.patient
267
+      //       console.log("patient",patient)
268
+      //       this.patient = patient
269
+      //       var doctorPorject = response.data.data.doctorPorject
270
+      //       console.log("doctorporject",doctorPorject)
271
+      //     }
272
+      // })
273
+    },
274
+    getTimes(time) {
275
+      return uParseTime(time, "{y}-{m}-{d}");
276
+    },
277
+    searchAction() {
278
+    },
279
+    getInfo(obj) {
280
+      var that = this;
281
+      var params = obj
282
+      getBatchSettleAccount(params).then((response) => {
283
+        if (response.data.state == 0) {
284
+          this.$message.error(response.data.msg)
285
+          return false;
286
+        } else {
287
+          var orders =  response.data.data.orders
288
+
289
+          for(let i = 0; i < orders.length; i++){
290
+
291
+            let obj = {
292
+              type: 1,
293
+              details: [],
294
+              total: 0,
295
+            };
296
+            let obj2 = {
297
+              type: 2,
298
+              details: [],
299
+              total: 0,
300
+            };
301
+            let obj3 = {
302
+              type: 3,
303
+              details: [],
304
+              total: 0,
305
+            };
306
+
307
+            let obj4 = {
308
+              type: 4,
309
+              details: [],
310
+              total: 0,
311
+            };
312
+            let num = 0;
313
+            orders[i].order_infos.map((item) => {
314
+              if (item.advice_id > 0) {
315
+                obj.details.push(item);
316
+                obj.total += item.pric * item.advice.prescribing_number;
317
+                num++;
318
+              } else {
319
+                if (item.project.type == 2) {
320
+                  obj2.details.push(item);
321
+                  obj2.total += item.pric * item.project.count;
322
+                  num++;
323
+                } else {
324
+                  obj3.details.push(item);
325
+                  obj3.total += item.pric * item.project.count;
326
+                  num++;
327
+                }
328
+              }
329
+            });
330
+
331
+            orders[i]["new_detail_list"] = [];
332
+            orders[i]["new_detail_list"].push(obj);
333
+            orders[i]["new_detail_list"].push(obj2);
334
+            orders[i]["new_detail_list"].push(obj3);
335
+            // that.info.new_detail_list.push(obj4)
336
+
337
+
338
+
339
+          }
340
+          this.info = orders
341
+          console.log( this.info )
342
+
343
+
344
+          // var that = this;
345
+          //
346
+          // that.info = response.data.data.info;
347
+          // that.p_admin = response.data.data.printor_admin;
348
+          // that.charge_admin = response.data.data.charge_admin;
349
+          // that.info["p_admin"] = that.p_admin;
350
+          // that.info["charge_admin"] = that.charge_admin;
351
+          // that.info["order_number"] = response.data.data.order_number;
352
+          // that.info["patient"] = response.data.data.patient;
353
+          // that.info["date"] = response.data.data.date;
354
+          // that.info["number"] = response.data.data.number;
355
+          // that.info["order_infos"] = response.data.data.order_infos;
356
+          // that.info["diagnosis"] = response.data.data.diagnosis;
357
+          // that.info["fixmedins_name"] = response.data.data.org_name;
358
+          // that.info["fixmedins_code"] = response.data.data.org_code;
359
+          // // that.info["doctor_code"] = response.data.data.doctor_code;
360
+          // // that.info["department"] = response.data.data.department;
361
+          // // that.info["health_card_no"] = response.data.data.health_card_no;
362
+          //
363
+          // that.info["bed_cost_total"] = response.data.data.bedCostTotal;
364
+          // that.info["bed_cost_self_total"] =
365
+          //   response.data.data.bedCostSelfTotal;
366
+          // that.info["bed_cost_part_self_total"] =
367
+          //   response.data.data.bedCostPartSelfTotal;
368
+          //
369
+          // that.info["operation_cost_total"] =
370
+          //   response.data.data.operationCostTotal;
371
+          // that.info["operation_cost_self_total"] =
372
+          //   response.data.data.operationCostSelfTotal;
373
+          // that.info["operation_cost_part_self_total"] =
374
+          //   response.data.data.operationCostPartSelfTotal;
375
+          //
376
+          // that.info["other_cost_total"] = response.data.data.otherCostTotal;
377
+          // that.info["other_cost_self_total"] =
378
+          //   response.data.data.otherCostSelfTotal;
379
+          // that.info["other_cost_part_self_total"] =
380
+          //   response.data.data.otherCostPartSelfTotal;
381
+          //
382
+          // that.info["material_cost_total"] =
383
+          //   response.data.data.materialCostTotal;
384
+          // that.info["material_cost_self_total"] =
385
+          //   response.data.data.materialCostSelfTotal;
386
+          // that.info["material_cost_part_self_total"] =
387
+          //   response.data.data.materialCostPartSelfTotal;
388
+          //
389
+          // that.info["western_medicine_cost_total"] =
390
+          //   response.data.data.westernMedicineCostTotal;
391
+          // that.info["western_medicine_cost_self_total"] =
392
+          //   response.data.data.westernMedicineCostSelfTotal;
393
+          // that.info["western_medicine_cost_part_self_total"] =
394
+          //   response.data.data.westernMedicineCostPartSelfTotal;
395
+          //
396
+          // that.info["chinese_traditional_medicine_cost_total"] =
397
+          //   response.data.data.chineseTraditionalMedicineCostTotal;
398
+          // that.info["chinese_traditional_medicine_cost_self_total"] =
399
+          //   response.data.data.chineseTraditionalMedicineCostSelfTotal;
400
+          // that.info["chinese_traditional_medicine_cost_part_self_total"] =
401
+          //   response.data.data.chineseTraditionalMedicineCostPartSelfTotal;
402
+          //
403
+          // that.info["check_cost_total"] = response.data.data.checkCostTotal;
404
+          // that.info["check_cost_self_total"] =
405
+          //   response.data.data.checkCostSelfTotal;
406
+          // that.info["check_cost_part_self_total"] =
407
+          //   response.data.data.checkCostPartSelfTotal;
408
+          //
409
+          // that.info["laboratory_cost_total"] =
410
+          //   response.data.data.laboratoryCostTotal;
411
+          // that.info["laboratory_cost_self_total"] =
412
+          //   response.data.data.laboratoryCostSelfTotal;
413
+          // that.info["laboratory_cost_part_self_total"] =
414
+          //   response.data.data.laboratoryCostPartSelfTotal;
415
+          //
416
+          // that.info["treat_cost_total"] = response.data.data.treatCostTotal;
417
+          // that.info["treat_cost_self_total"] =
418
+          //   response.data.data.treatCostSelfTotal;
419
+          // that.info["treat_cost_part_self_total"] =
420
+          //   response.data.data.treatCostPartSelfTotal;
421
+          // that.info["date"] = response.data.data.date;
422
+          // // that.info["number"] = response.data.data.number;
423
+          // that.info["order_infos"] = response.data.data.order_infos;
424
+          // that.info["diagnosis"] = response.data.data.diagnosis;
425
+          //
426
+          // let list = []
427
+          // for (let i = 0; i < response.data.data.order_infos.length; i++) {
428
+          //   let order = response.data.data.order_infos[i]
429
+          //   let obj = {
430
+          //     name: "",
431
+          //     spec: "",
432
+          //     cnt: "",
433
+          //     det_item_fee_sumamt: "",
434
+          //   }
435
+          //
436
+          //   if (order.advice_id > 0 && order.project_id == 0) {
437
+          //     obj.name = order.advice.advice_name
438
+          //     let spec = order.advice.drug.dose + order.advice.drug.dose_unit + '*' + order.advice.drug.min_number + order.advice.drug.min_unit + '/' + order.advice.drug.max_unit
439
+          //     obj.spec = spec
440
+          //     obj.cnt = order.cnt
441
+          //     obj.det_item_fee_sumamt = order.det_item_fee_sumamt
442
+          //     list.push(obj)
443
+          //
444
+          //   } else if (order.advice_id == 0 && order.project_id > 0) {
445
+          //     if (order.project.type == 2) {
446
+          //       obj.name = order.project.project.project_name
447
+          //       obj.spec = ""
448
+          //       obj.cnt = order.cnt
449
+          //       obj.det_item_fee_sumamt = order.det_item_fee_sumamt
450
+          //
451
+          //     } else {
452
+          //       obj.name = order.project.good_info.good_name
453
+          //       obj.spec = order.project.good_info.specification_name
454
+          //       obj.cnt = order.cnt
455
+          //       obj.det_item_fee_sumamt = order.det_item_fee_sumamt
456
+          //     }
457
+          //     list.push(obj)
458
+          //   }
459
+          //
460
+          // }
461
+          //
462
+          // console.log(list)
463
+          // let len = list.length / 2
464
+          // let L_list = []
465
+          // let R_list = []
466
+          // len = Math.trunc(len)
467
+          // for (let i = 0; i < len; i++) {
468
+          //   L_list.push(list[i])
469
+          // }
470
+          // console.log(len)
471
+          // for (let i = len; i < list.length; i++) {
472
+          //   console.log(list[i])
473
+          //   R_list.push(list[i])
474
+          // }
475
+          // console.log(L_list)
476
+          // console.log(R_list)
477
+          //
478
+          // that.info["L_list"] = L_list
479
+          // that.info["R_list"] = R_list
480
+
481
+        }
482
+      });
483
+    }
484
+
485
+  },
486
+
487
+  created() {
488
+    this.getInfo(this.paramsObj);
489
+    this.org_id = this.$store.getters.xt_user.org_id;
490
+
491
+  },
492
+  watch: {
493
+    paramsObj: {
494
+      //深度监听,可监听到对象、数组的变化
495
+      handler(val, oldVal) {
496
+        this.paramsObj = val;
497
+        this.getInfo(this.paramsObj);
498
+      },
499
+      deep: true,
500
+      immediate: true,
501
+    },
502
+  },
503
+};
504
+</script>
505
+
506
+<style>
507
+.dialysis-print-order {
508
+  width: 960px;
509
+  margin: 0 auto;
510
+}
511
+
512
+.dialysis-print-order .order-yy-name {
513
+  margin: auto;
514
+  text-align: center;
515
+  font-size: 20px;
516
+  letter-spacing: 5px;
517
+}
518
+
519
+.dialysis-print-order .order-title {
520
+  margin: auto;
521
+  font-weight: 600;
522
+  text-align: center;
523
+  font-size: 22px;
524
+  padding: 10px;
525
+}
526
+
527
+.dialysis-print-order .table-box {
528
+  width: 100%;
529
+  line-height: 23px;
530
+  font-size: 14px;
531
+}
532
+
533
+.dialysis-print-order .print-table {
534
+  width: 100%;
535
+  text-align: center;
536
+  border-collapse: collapse;
537
+  line-height: 40px;
538
+  font-size: 14px;
539
+  border-color: #000;
540
+}
541
+
542
+.dialysis-print-order .print-table-no {
543
+  width: 100%;
544
+  text-align: center;
545
+  border-collapse: collapse;
546
+  font-size: 14px;
547
+}
548
+
549
+.dialysis-print-order .under-line {
550
+  border-bottom: 1px solid #999;
551
+  width: 95%;
552
+  text-align: center;
553
+  margin-left: 2px;
554
+}
555
+
556
+.dialysis-print-order .title-box {
557
+  text-align: center;
558
+  font-size: 16px;
559
+}
560
+
561
+.dialysis-print-order .radio-lebel-box {
562
+  font-weight: 400;
563
+  cursor: pointer;
564
+}
565
+
566
+.dialysis-print-order .radio-no {
567
+  opacity: 0;
568
+  outline: none;
569
+  position: absolute;
570
+  margin: 0;
571
+  width: 0;
572
+  height: 0;
573
+  z-index: -1;
574
+}
575
+
576
+.dialysis-print-order .radio-inner {
577
+  white-space: nowrap;
578
+  cursor: pointer;
579
+  outline: none;
580
+  display: inline-block;
581
+  line-height: 1;
582
+  position: relative;
583
+  vertical-align: middle;
584
+}
585
+
586
+.dialysis-print-order .radio-fang {
587
+  display: inline-block;
588
+  position: relative;
589
+  border: 1px solid #000;
590
+  box-sizing: border-box;
591
+  width: 14px;
592
+  height: 14px;
593
+  background-color: #fff;
594
+  z-index: 1;
595
+  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
596
+  background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
597
+}
598
+
599
+.dialysis-print-order .is-checked-radio::after {
600
+  content: "√";
601
+  font-size: 15px;
602
+}
603
+
604
+.dialysis-print-order .print-table-no tr td {
605
+  padding: 8px 5px;
606
+  line-height: 25px;
607
+}
608
+
609
+.dialysis-print-order .print-table tr td {
610
+  padding: 1px 1px;
611
+  /*line-height: 25px;*/
612
+}
613
+
614
+.es-img {
615
+  height: 30px;
616
+}
617
+
618
+.advice-name {
619
+  text-align: left;
620
+}
621
+
622
+.advice-children {
623
+  display: flex;
624
+}
625
+
626
+.title-box-pro {
627
+  border: 0 #fff;
628
+  line-height: 25px;
629
+  height: 25px;
630
+  text-align: left;
631
+  padding-left: 10px !important;
632
+}
633
+
634
+.title-box-pro-tr {
635
+  border: 0 #fff;
636
+}
637
+
638
+.text-align-left {
639
+  text-align: left !important;
640
+  padding-left: 10px !important;
641
+  font-size: 14px !important;
642
+  line-height: 25px;
643
+}
644
+
645
+.print-table-tr-new td {
646
+  line-height: 20px !important;
647
+}
648
+
649
+.border-top-solid {
650
+  border: solid 1px #000;
651
+}
652
+
653
+.print-template-two tr {
654
+  line-height: 30px;
655
+}
656
+
657
+.table-box1 {
658
+  border: 1px solid #000;
659
+  width: 100%;
660
+  line-height: 30px;
661
+  font-size: 14px;
662
+  border-collapse: collapse;
663
+}
664
+
665
+.table-box1 tr {
666
+  border-bottom: 1px solid #000;
667
+}
668
+</style>
669
+
670
+<style lang="scss">
671
+.newContainer {
672
+
673
+.dialysisPage::-webkit-scrollbar {
674
+  height: 15px;
675
+}
676
+
677
+.el-date-editor {
678
+
679
+.el-input__inner {
680
+  padding-right: 0px;
681
+}
682
+
683
+}
684
+.el-table td,
685
+.el-table th {
686
+  text-align: center;
687
+}
688
+
689
+}
690
+.newContainer::-webkit-scrollbar {
691
+  height: 15px !important;
692
+}
693
+</style>

+ 31 - 9
src/xt_pages/outpatientCharges/components/chargeDialog.vue 查看文件

@@ -80,13 +80,28 @@
80 80
 
81 81
       <el-form-item label="" style="width:100%;" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278 || this.$store.getters.xt_user.org.id == 0">
82 82
 
83
-        <el-checkbox-group v-model="form.pay_ways">
83
+        <el-checkbox-group v-model="form.pay_wayss">
84 84
           <el-checkbox :label="item.value" v-for="(item,index) in payWays" :key="item.value">{{ item.label }}</el-checkbox>
85 85
         </el-checkbox-group>
86 86
       </el-form-item>
87 87
 
88
+      <el-form-item label="现金支付金额:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
89
+        <el-input class="number_style" v-model="form.cash_pay" ></el-input>
90
+      </el-form-item>
88 91
 
89
-      <el-form-item label="其他说明:">
92
+      <el-form-item label="微信支付金额:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
93
+        <el-input class="number_style" v-model="form.wechat_pay" ></el-input>
94
+      </el-form-item>
95
+      <el-form-item label="银行卡支付金额:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
96
+        <el-input class="number_style" v-model="form.band_card_pay" ></el-input>
97
+      </el-form-item>
98
+      <el-form-item label="支付宝支付金额:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
99
+        <el-input class="number_style" v-model="form.ali_pay" ></el-input>
100
+      </el-form-item>
101
+      <el-form-item label="积分支付:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
102
+        <el-input class="number_style" v-model="form.jifen_pay" ></el-input>
103
+      </el-form-item>
104
+      <el-form-item label="其他说明:" v-if="this.$store.getters.xt_user.org.id == 10138 || this.$store.getters.xt_user.org.id == 10278  || this.$store.getters.xt_user.org.id == 0  ">
90 105
         <el-input class="number_style" v-model="form.oth_desc" ></el-input>
91 106
       </el-form-item>
92 107
 
@@ -171,7 +186,7 @@
171 186
           medical_insurance_price:0,
172 187
           private_price:'',//自费12
173 188
           pay_way:"",
174
-          pay_ways:[],
189
+          pay_wayss:[],
175 190
           dec_way:'false',//是否使用押金支付
176 191
           tmp_decimal:"",//本次使用的押金
177 192
           pay_price:'',
@@ -191,6 +206,11 @@
191 206
           acct_mulaid_pay:'',
192 207
           fulamt_ownpay_amt:'',
193 208
           acct_used_flag:0,
209
+          cash_pay:"",
210
+          band_card_pay:"",
211
+          wechat_pay:"",
212
+          ali_pay:"",
213
+          jifen_pay:"",
194 214
         },
195 215
         payWays: [
196 216
           {value: "1", label: '现金'},
@@ -200,8 +220,6 @@
200 220
           {value: "7", label: '积分'},
201 221
           {value: "4", label: '医保卡'},
202 222
           {value: "8", label: '其他'},
203
-
204
-
205 223
         ],
206 224
         total:"",
207 225
 
@@ -226,6 +244,13 @@
226 244
           overlmt_self_pay:"",
227 245
           acct_mulaid_pay:"",
228 246
           fulamt_ownpay_amt:"",
247
+          pay_wayss: [],
248
+          acct_used_flag:0,
249
+          cash_pay:"",
250
+          band_card_pay:"",
251
+          wechat_pay:"",
252
+          ali_pay:"",
253
+          jifen_pay:"",
229 254
         },
230 255
 
231 256
       }
@@ -333,11 +358,7 @@
333 358
         this.form.total = total + this.form.medical_insurance_price
334 359
         this.form.discount_price = 0.0
335 360
         this.form.preferential_price = 0.0
336
-        this.form.pay_ways = []
337 361
         this.form.acct_used_flag = 0
338
-
339
-
340
-
341 362
         this.form.fapiao_code =""
342 363
         this.form.fapiao_number = ""
343 364
         this.order = order
@@ -379,6 +400,7 @@
379 400
             value = this.getValue()
380 401
             console.log(value)
381 402
             this.$emit('confirm', value)
403
+
382 404
             this.loadingtwo = true
383 405
           }
384 406
         })

+ 4 - 4
src/xt_pages/outpatientCharges/listPrint.vue 查看文件

@@ -14,11 +14,11 @@
14 14
     </template>
15 15
 
16 16
     <div class='dialysisPage' style="padding-top:40px;">
17
-      <printOne v-if="org_id != 0 && org_id != 10106&&org_id != 10215&&org_id != 10265 && org_id!=9675" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
17
+      <printOne v-if=" org_id != 10106&&org_id != 10215&&org_id != 10265 && org_id!=9675" :list="list" :patient="patient" :order="order" :admin="admin"></printOne>
18 18
       <printTwo v-if="org_id == 10106 && this.paramsObj.balance_accounts_type != 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></printTwo>
19 19
       <print-three v-if="org_id == 10106 && this.paramsObj.balance_accounts_type == 2" :info="info" :order_infos="order_infos" :p_admin="p_admin" :charge_admin="charge_admin"></print-three>
20 20
 <!--      <list-print-two v-if="org_id == 10215 || org_id==9675" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-two>-->
21
-     <list-print-three v-if="org_id == 0 || org_id == 10215 || org_id==9675" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-three>
21
+     <list-print-three v-if="org_id == 10215 || org_id==9675" :list="list" :patient="patient" :order="order" :admin="admin"></list-print-three>
22 22
       <print-two10265  v-if="org_id == 10265  " :list="list" :patient="patient" :order="order" :admin="admin" :hospital_record="hospital_record"></print-two10265>
23 23
     </div>
24 24
   </div>
@@ -576,7 +576,7 @@
576 576
 
577 577
       printThisPage() {
578 578
         if(this.org_id != 10106){
579
-          if(this.org_id == 10215 || this.org_id == 0|| this.org_id == 9675){
579
+          if(this.org_id == 10215 || this.org_id == 9675){
580 580
             const style =
581 581
               '@media print {.allListTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.allListInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}  .listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;} .allListTable{border: none;width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;} .allListTable tr{page-break-inside:avoid;} .allListTable tr td {padding: 0 5px;border: 1px solid #000;}.tableBottom{font-size: 16px;display: flex;margin-top: 20px;}.tableBottomOne{margin-right: 40px;}}'
582 582
             printJS({
@@ -589,7 +589,7 @@
589 589
 
590 590
           }else {
591 591
             const style =
592
-              '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 16px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 40px;}}'
592
+              '@media print {.listTitle{font-size: 24px;text-align: center;font-weight: bold;margin-bottom: 10px;}.listInfo{display: flex;font-size: 16px;justify-content: space-between;margin: 10px 0;} .listTable{width: 100%;text-align: center;border-collapse: collapse;line-height: 20px;font-size: 14px;border-color: #000;text-align:left;}.listTable tr td {padding: 0 5px;}.tableBottom{font-size: 12px;display: flex;margin-top: 10px;}.tableBottomOne{margin-right: 20px;}}'
593 593
             printJS({
594 594
               printable: 'list-print',
595 595
               type: 'html',

+ 18 - 10
src/xt_pages/outpatientCharges/listTemplate/printOne.vue 查看文件

@@ -5,8 +5,10 @@
5 5
         <div class="listInfo">
6 6
 
7 7
             <div>患者姓名:{{patient.name}}</div>
8
-            <div>透析号:{{patient.dialysis_no}}</div>
9
-            <div>性别:{{patient.gender == 1 ? '男': '女'}}</div>
8
+            <div v-if="$store.getters.xt_user.org.id != 10191">透析号:{{patient.dialysis_no}}</div>
9
+          <div v-if="$store.getters.xt_user.org.id == 10191">身份证号:{{patient.id_card_no}}</div>
10
+
11
+          <div>性别:{{patient.gender == 1 ? '男': '女'}}</div>
10 12
             <div>年龄:{{patient.age}}  岁</div>
11 13
             <div v-if="order.settle_type == 1">收费日期:{{getTimes(order.settle_accounts_date)}}</div>
12 14
             <div v-if="order.settle_type == 2">收费日期:{{getTimes(order.settle_start_time)}} 至 {{getTimes(order.settle_end_time)}}</div>
@@ -39,6 +41,12 @@
39 41
             <div class="tableBottomOne">制表人:{{admin.user_name}}</div>
40 42
             <div class="tableBottomOne">制表日期:{{ getNowTime()}}</div>
41 43
             <div class="tableBottomOne">总费用:{{order.medfee_sumamt}}元</div>
44
+          <div class="tableBottomOne">基金总额:{{order.fund_pay_sumamt}}元</div>
45
+          <div class="tableBottomOne">统筹支付:{{order.hifp_pay}}元</div>
46
+          <div class="tableBottomOne">医疗救助:{{order.maf_pay}}元</div>
47
+          <div class="tableBottomOne">医保报销:{{order.fund_pay_sumamt}}元</div>
48
+          <div class="tableBottomOne">个人支付:{{order.psn_cash_pay}}元</div>
49
+
42 50
         </div>
43 51
         </div>
44 52
     </div>
@@ -94,21 +102,21 @@
94 102
         let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
95 103
           :
96 104
           new Date().getSeconds()
97
-        dateTime = yy + '-' + mm + '-' + dd + ' ' + hh + ':' + mf + ':' + ss
105
+        dateTime = yy + '-' + mm + '-' + dd
98 106
         return dateTime
99 107
       },
100 108
       getTimes(time) {
101 109
         return uParseTime(time, '{y}-{m}-{d}')
102 110
       },
103 111
       getPage(){
104
-        if(this.list.length <= 13){
112
+        if(this.list.length <= 15){
105 113
             this.page = 1
106 114
             this.pageArr.push(this.list.length)
107
-        }else if(this.list.length > 13){
108
-            this.page = parseInt(this.list.length / 13)
109
-            let num = this.list.length % 13
115
+        }else if(this.list.length > 15){
116
+            this.page = parseInt(this.list.length / 15)
117
+            let num = this.list.length % 15
110 118
             for (var i=0;i<this.page;i++){
111
-                this.pageArr.push(13)
119
+                this.pageArr.push(15)
112 120
             }
113 121
             if(num != 0){
114 122
                 this.pageArr.push(num)
@@ -164,11 +172,11 @@
164 172
     padding: 0 5px;
165 173
 }
166 174
 .tableBottom{
167
-    font-size: 16px;
175
+    font-size: 12px;
168 176
     display: flex;
169 177
     margin-top: 20px;
170 178
 }
171 179
 .tableBottomOne{
172
-    margin-right: 40px;
180
+    margin-right: 20px;
173 181
 }
174 182
 </style>

+ 1 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue 查看文件

@@ -1506,7 +1506,7 @@ export default {
1506 1506
     },
1507 1507
     chargeConfirm(form) {
1508 1508
       this.newLoading = true
1509
-      form.pay_ways = form.pay_ways.join(",")
1509
+      form['pay_ways'] = form.pay_wayss.join(",")
1510 1510
       form['id'] = this.patientInfo.id
1511 1511
       form['his_patient_id'] = this.hisPatientInfo.id
1512 1512
       form['record_time'] = this.record_date

+ 3 - 1
src/xt_pages/outpatientCharges/statementPrint.vue 查看文件

@@ -127,6 +127,7 @@
127 127
         prescription_id: 0,
128 128
         ids: "",
129 129
         info: null,
130
+        order:null,
130 131
         org_id: "",
131 132
         balanceAccounts: {},
132 133
       };
@@ -1011,9 +1012,10 @@
1011 1012
                     that.p_admin = response.data.data.printor_admin;
1012 1013
                     that.charge_admin = response.data.data.charge_admin;
1013 1014
 
1015
+
1016
+                    that.info["new_order"] =  response.data.data.order
1014 1017
                     that.info["p_admin"] = that.p_admin;
1015 1018
                     that.info["charge_admin"] = that.charge_admin;
1016
-
1017 1019
                     that.info["order_number"] = response.data.data.order_number;
1018 1020
                     that.info["patient"] = response.data.data.patient;
1019 1021
                     that.info["date"] = response.data.data.date;

+ 531 - 0
src/xt_pages/outpatientCharges/statementTemplate/batchPrint.vue 查看文件

@@ -0,0 +1,531 @@
1
+<template>
2
+  <div>
3
+    <div id='prescription-print'>
4
+        <div  class="prescription-print"
5
+            style="position: relative;  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; page-break-after:always"
6
+            v-for="(infos,index) in info" :key="index">
7
+          <img style="width:100%;height:80px"
8
+            v-if="$store.getters.xt_user.org_id == 10138 || $store.getters.xt_user.org_id == 0 || $store.getters.xt_user.org_id == 10342 || $store.getters.xt_user.org_id == 10341"
9
+             src="https://kuyi.shengws.com/bailin/bltotle.jpg" alt="">
10
+          <img style="width:100%;height:80px" v-if="$store.getters.xt_user.org_id==10278" src="https://kuyi.shengws.com/beierlog.png" alt="">
11
+          <div class="printTitle" style="position: absolute;left: 40%;top: 50px;">门诊收费清单</div>
12
+          <div style="display:flex;">
13
+            <div>单据号:<span
14
+              style="display:inline-block;width:200px;">{{infos.order.number ? infos.order.number : ''}}</span>
15
+            </div>
16
+            <div>透析号:<span style="display:inline-block;width:200px;">{{infos.patient.dialysis_no ? infos.patient.dialysis_no : ''}}</span>
17
+            </div>
18
+            <div style="margin-left:2px;">电脑号:<span
19
+              style="display:inline-block;">{{infos.his.psn_no ? infos.his.psn_no : ''}}</span></div>
20
+          </div>
21
+          <div style="display:flex;justify-content: space-between;">
22
+            <div style="display:flex;" >
23
+              <div>姓名:<span style="display:inline-block;width:50px;">
24
+                {{infos.patient.name ? infos.patient.name.indexOf('(') > -1 ? infos.patient.name.substring(0,infos.patient.name.indexOf('(')) : infos.patient.name : ''}}
25
+              </span>
26
+              </div>
27
+              <div>性别:<span
28
+                style="display:inline-block;width:30px;">{{infos.patient.gender == '1' ? '男' : '女'}}</span>
29
+              </div>
30
+              <div>年龄:<span
31
+                style="display:inline-block;width:50px;">{{getAge(infos.patient)}}岁</span>
32
+              </div>
33
+              <div>费别:<span style="display:inline-block;min-width:80px;">医保</span>
34
+              </div>
35
+              <div>收费日期:<span style="display:inline-block;">{{infos.order.setl_time ? infos.order.setl_time.split(' ')[0] : ''}}</span>
36
+              </div>
37
+            </div>
38
+            <div style="float:right">金额单位:元</div>
39
+          </div>
40
+          <div style="min-height: 300px;">
41
+            <table border='1' style="width:100%;" cellspacing="0">
42
+              <tr>
43
+                <td width="70">类别</td>
44
+                <td>项目</td>
45
+                <td min-width="180" style="min-width:60px;">规格</td>
46
+                <td width="40">单位</td>
47
+                <td width="40">数量</td>
48
+                <td width="60">单价</td>
49
+                <td width="70">总额</td>
50
+                <td width="130">小计</td>
51
+              </tr>
52
+              <div v-for="(item,i) in infos.new_detail_list" :key="i" style="width:100%;display: table-row-group;">
53
+                <tr v-for="(subItem,index) in item.details" :key="index">
54
+                  <td>
55
+                    <span v-if="item.type == 1">药品费</span>
56
+                    <span v-if="item.type == 2">诊疗费</span>
57
+                    <span v-if="item.type == 3">耗材费</span>
58
+                    <span v-if="item.type == 4">诊疗费</span>
59
+
60
+                  </td>
61
+                  <td>
62
+                    <span v-if="item.type == 1">{{ subItem.advice.advice_name }}</span>
63
+                    <span v-if="item.type == 2">{{ subItem.project.project.project_name }}</span>
64
+                    <span v-if="item.type == 3">{{ subItem.project.good_info.good_name }}</span>
65
+                    <span v-if="item.type == 4">{{ subItem.project.project.team_name }}</span>
66
+
67
+                  </td>
68
+                  <td>
69
+                    <span v-if="item.type == 1">
70
+                      <span v-if="subItem.advice.drug.min_unit != subItem.advice.drug.dose_unit">
71
+                        {{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}}
72
+                      </span>
73
+                    <span v-if="item.type == 2"></span>
74
+                    <span v-if="item.type == 3">{{ subItem.project.good_info.specification_name }}</span>
75
+                    <span v-if="item.type == 4"></span>
76
+
77
+                  </td>
78
+                  <td>
79
+                    <span v-if="item.type == 1">{{ subItem.advice.drug.prescribing_number_unit }}</span>
80
+                    <span v-if="item.type == 2">{{ subItem.project.unit }}</span>
81
+                    <span v-if="item.type == 3">{{ subItem.project.unit }}</span>
82
+                    <span v-if="item.type == 4"></span>
83
+
84
+                  </td>
85
+                  <td>
86
+                    <span v-if="item.type == 1">{{ subItem.advice.prescribing_number }}</span>
87
+                    <span v-if="item.type == 2">{{ subItem.project.count }}</span>
88
+                    <span v-if="item.type == 3">{{ subItem.project.count }}</span>
89
+                    <span v-if="item.type == 4"></span>
90
+
91
+                  </td>
92
+                  <td>
93
+                    <span v-if="item.type == 1">{{ subItem.pric.toFixed(2) }}</span>
94
+                    <span v-if="item.type == 2">{{ subItem.pric.toFixed(2) }}</span>
95
+                    <span v-if="item.type == 3">{{ subItem.pric.toFixed(2) }}</span>
96
+                    <span v-if="item.type == 4">{{subItem.Total}}</span>
97
+
98
+
99
+                  </td>
100
+                  <td>
101
+                    <span v-if="item.type == 1">{{ (subItem.advice.prescribing_number * subItem.pric).toFixed(2) }}</span>
102
+                    <span v-if="item.type == 2">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
103
+                    <span v-if="item.type == 3">{{ (subItem.project.count * subItem.pric).toFixed(2) }}</span>
104
+                    <span v-if="item.type == 4">{{subItem.Total}}</span>
105
+
106
+                  </td>
107
+                  <td :rowspan="item.details.length" v-if="index == 0"
108
+                      style="vertical-align: middle;text-align: center;">{{ item.total.toFixed(2) }}
109
+                  </td>
110
+                </tr>
111
+              </div>
112
+              <tr>
113
+                <td colspan="7">
114
+                  <div style="display:flex;flez-wrap:wrap;">
115
+                    <div style="width:33%;" v-for="(item,index) in infos.new_detail_list" :key="index">
116
+                      <span v-if="item.type == 1">药品费: {{ item.total.toFixed(2) }}</span>
117
+                      <span v-if="item.type == 2">诊疗费: {{ item.total.toFixed(2) }}</span>
118
+                      <span v-if="item.type == 3">耗材费: {{ item.total.toFixed(2) }}</span>
119
+                      <span v-if="item.type == 4">诊疗费: {{ item.total.toFixed(2) }}</span>
120
+
121
+                    </div>
122
+                  </div>
123
+                </td>
124
+                <td>合计: {{infos.medfee_sumamt}}元</td>
125
+              </tr>
126
+              <tr>
127
+                <td colspan="7">
128
+                  <div style="display:flex;flez-wrap:wrap;margin-bottom:10px;font-size:16px;">
129
+                    <div style="width:33%;">医疗费总额:{{infos.order.medfee_sumamt?infos.order.medfee_sumamt:""}}元</div>
130
+                    <div style="width:33%;">基金支付金额:{{infos.order.fund_pay_sumamt?infos.order.fund_pay_sumamt:""}}元</div>
131
+                    <div style="width:33%;">个人账户支付金额:{{infos.order.acct_pay?infos.order.acct_pay:""}}元</div>
132
+
133
+                  </div>
134
+                  <div style="display:flex;flez-wrap:wrap;font-size:16px;">
135
+                    <div style="width:33%;">医疗救助基金金额:{{infos.order.maf_pay?infos.order.maf_pay:""}}元</div>
136
+                    <div style="width:33%;">个人支付金额:{{ infos.order.psn_cash_pay}}元</div>
137
+                    <div style="width:33%;">个人账户金额:{{infos.order.balc}}元</div>
138
+                  </div>
139
+                  <div style="display:flex;flez-wrap:wrap;font-size:16px;margin-top: 10px">
140
+                    <div style="width:33%;">基金统筹支付金额:{{infos.order.hifp_pay?infos.order.hifp_pay:""}}元</div>
141
+                  </div>
142
+                </td>
143
+                <td style="font-size:16px;">合计:{{infos.order.medfee_sumamt}}元</td>
144
+              </tr>
145
+
146
+            </table>
147
+            <div style="float:right;margin:5px 0;display:flex;">
148
+              <div>操作人:<span style="width:100px;display:inline-block;">{{infos.printor_admin.user_name}}</span></div>
149
+              <div>操作日期:<span style="width:100px;display:inline-block;">{{infos.order.setl_time ? infos.order.setl_time.split(' ')[0] : ''}}</span>
150
+              </div>
151
+            </div>
152
+          </div>
153
+
154
+          <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">
155
+          <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10278" src="https://kuyi.shengws.com/bailinbeier.png" alt="">
156
+
157
+        </div>
158
+    </div>
159
+  </div>
160
+
161
+</template>
162
+<script>
163
+import { getChargePrint } from '@/api/project/project'
164
+import { jsGetAge, uParseTime } from '@/utils/tools'
165
+
166
+export default {
167
+  name: "batchPrint",
168
+  data() {
169
+    return {
170
+      list: {},
171
+      prescription: [],
172
+      patient: {},
173
+      orgname: '',
174
+
175
+      result: {},
176
+      org_code: '',
177
+      patient_name: '',
178
+      doctor_code: '',
179
+      doctor_name: '',
180
+
181
+      name_arr: [],
182
+      spec_arr: [],
183
+      count_arr: [],
184
+      price_arr: [],
185
+      total_arr: []
186
+
187
+    }
188
+  },
189
+  props: {
190
+    paramsObj: Object,
191
+    info: Array,
192
+    balanceAccounts: Object
193
+  },
194
+  methods: {
195
+    getAge: function(val) {
196
+      if (val.id_card_no) {
197
+        var thisLen = val.id_card_no.length
198
+
199
+        var birth = ''
200
+        if (thisLen == 15) {
201
+          birth = '19' + val.id_card_no.substr(6, 6)
202
+        } else {
203
+          birth = val.id_card_no.substr(6, 8)
204
+        }
205
+        var birthtwo =
206
+          birth.substr(0, 4) +
207
+          '-' +
208
+          birth.substr(4, 2) +
209
+          '-' +
210
+          birth.substr(6, 2)
211
+
212
+        var age = jsGetAge(birthtwo, '-')
213
+        return age
214
+      }
215
+    },
216
+    getName(list) {
217
+      let new_list = []
218
+      for (let i = 0; i < list.length; i++) {
219
+        if (list[i].aac031 == '1') {
220
+          new_list.push(list[i])
221
+        }
222
+      }
223
+
224
+      switch (new_list[0].bcc334) {
225
+        case 'A31001':
226
+          return '深圳医保1档'
227
+          break
228
+        case 'A31002':
229
+          return '深圳医保2档'
230
+
231
+          break
232
+        case 'A31003':
233
+          return '深圳医保3档'
234
+
235
+          break
236
+        case 'A31004':
237
+          return '二档(少儿)'
238
+
239
+          break
240
+        case 'A31005':
241
+          return '学生二档'
242
+
243
+          break
244
+        case 'A31006':
245
+          return '大学生二档'
246
+
247
+          break
248
+        case 'A32001':
249
+          return '在职公务员'
250
+          break
251
+        case 'A32002':
252
+          return '在职驻深公务员'
253
+
254
+          break
255
+        case 'A39301':
256
+          return '家属统筹医疗'
257
+
258
+          break
259
+        case 'A41001':
260
+          return '工伤在职'
261
+
262
+          break
263
+        case 'A51001':
264
+          return '生育在职'
265
+
266
+          break
267
+        case 'A52001':
268
+          return '生育医疗一档'
269
+
270
+          break
271
+        case 'A52002':
272
+          return '生育医疗一档'
273
+
274
+          break
275
+        case 'C31001':
276
+          return '一档医疗退休'
277
+
278
+          break
279
+        case 'C31002':
280
+          return '二档医疗退休'
281
+          break
282
+
283
+      }
284
+
285
+    },
286
+    getValue(item) {
287
+      return this.getItemName(item.aka111) + ': ' + item.bka058 + '元'
288
+    },
289
+    getItemName(number) {
290
+      switch (number) {
291
+        case '01':
292
+          return '床位费'
293
+          break
294
+        case '02':
295
+          return '西药费'
296
+
297
+          break
298
+        case '03':
299
+          return '中药费'
300
+
301
+          break
302
+        case '04':
303
+          return '中成药费'
304
+
305
+          break
306
+        case '05':
307
+          return '中草药费'
308
+
309
+          break
310
+        case '06':
311
+          return '检查费'
312
+
313
+          break
314
+        case '07':
315
+          return '治疗费'
316
+
317
+          break
318
+        case '08':
319
+          return '放射费'
320
+
321
+          break
322
+        case '09':
323
+          return '手术费'
324
+
325
+          break
326
+        case '10':
327
+          return '化验费'
328
+
329
+          break
330
+        case '11':
331
+          return '输血费'
332
+
333
+          break
334
+        case '12':
335
+          return '输氧费'
336
+
337
+          break
338
+        case '13':
339
+          return '其它费'
340
+
341
+          break
342
+        case '14':
343
+          return '麻醉费'
344
+
345
+          break
346
+        case '15':
347
+          return '材料费'
348
+
349
+          break
350
+        case '16':
351
+          return '特殊检查费'
352
+
353
+          break
354
+        case '17':
355
+          return '特殊治疗费'
356
+
357
+          break
358
+        case '18':
359
+          return '诊疗费(诊查费)'
360
+
361
+          break
362
+        case '19':
363
+          return '护理费'
364
+
365
+          break
366
+        case '20':
367
+          return '诊金'
368
+
369
+          break
370
+        case '21':
371
+          return '检查费(CT)'
372
+
373
+          break
374
+        case '22':
375
+          return '检查费(MRT)'
376
+
377
+          break
378
+        case '23':
379
+          return '检查费(其他)'
380
+
381
+          break
382
+        case '24':
383
+          return '特需服务费'
384
+
385
+          break
386
+        case '25':
387
+          return '杂费'
388
+
389
+          break
390
+        case '26':
391
+          return '挂号费'
392
+          break
393
+        case '99':
394
+          return '诊疗费'
395
+          break
396
+
397
+      }
398
+
399
+    },
400
+    getChargePrint(record_date, patient_id, prescription_id) {
401
+      var params = {
402
+        record_date: record_date,
403
+        patient_id: patient_id,
404
+        prescription_id: prescription_id
405
+      }
406
+      console.log('params', params)
407
+      getChargePrint(params).then(response => {
408
+        if (response.data.state == 1) {
409
+          var list = response.data.data.list
410
+          console.log('list9999999999', list)
411
+          this.list = list
412
+          var prescription = response.data.data.prescription
413
+          console.log('prescription', prescription)
414
+          this.prescription = prescription
415
+          var patient = response.data.data.patient
416
+          console.log('patient', patient)
417
+          this.patient = patient
418
+          var histpatient = response.data.data.hisPatient
419
+          console.log('hispatient', histpatient)
420
+        }
421
+      })
422
+    },
423
+    getTime(value, temp) {
424
+      if (value != undefined) {
425
+        return uParseTime(value, temp)
426
+      }
427
+      return ''
428
+    }
429
+  },
430
+  mounted() {
431
+    this.org_id = this.$store.getters.xt_user.org_id
432
+
433
+
434
+
435
+  },
436
+  watch: {
437
+    paramsObj: {//深度监听,可监听到对象、数组的变化
438
+      handler(val, oldVal) {
439
+        this.paramsObj = val
440
+        this.patient_id = this.paramsObj.patient_id
441
+        var record_date = this.paramsObj.record
442
+        this.record_date = record_date
443
+        var prescription_id = this.paramsObj.prescription_id
444
+        this.prescription_id = prescription_id
445
+
446
+      },
447
+      deep: true
448
+    }
449
+  }
450
+}
451
+</script>
452
+
453
+
454
+<style lang="scss" scoped>
455
+
456
+.prescription-print {
457
+  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
458
+  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
459
+  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
460
+  margin-bottom: 10px;
461
+  padding: 20px 10px;
462
+}
463
+
464
+.printTitle {
465
+  font-size: 22px;
466
+  text-align: center;
467
+  font-weight: bold;
468
+}
469
+
470
+.infoMain {
471
+  display: flex;
472
+  flex-wrap: wrap;
473
+  padding: 0 10px;
474
+  margin-top: 10px;
475
+}
476
+
477
+.infoMain .infoP {
478
+  width: 33%;
479
+  line-height: 24px;
480
+}
481
+
482
+.chargeBox {
483
+  border: 1px solid #000;
484
+}
485
+
486
+.chargeUl {
487
+  display: flex;
488
+  justify-content: space-between;
489
+  text-align: center;
490
+}
491
+
492
+.chargeUl p {
493
+  height: 40px;
494
+  line-height: 40px;
495
+}
496
+
497
+.chargeP {
498
+  height: 40px;
499
+  line-height: 40px;
500
+}
501
+
502
+.moneyBox {
503
+  display: flex;
504
+  justify-content: space-between;
505
+  padding: 0 10px;
506
+  background: #eee;
507
+  height: 40px;
508
+  align-items: center;
509
+  border: 1px solid #000;
510
+  border-top: none
511
+}
512
+
513
+.actionBar {
514
+  display: flex;
515
+  justify-content: space-between;
516
+  line-height: 24px;
517
+  padding: 0 10px;
518
+}
519
+
520
+.actionBar div {
521
+  width: 150px;
522
+}
523
+
524
+table {
525
+
526
+td {
527
+  padding: 10px 5px;
528
+}
529
+
530
+}
531
+</style>

+ 1 - 1
src/xt_pages/outpatientCharges/statementTemplate/printFive.vue 查看文件

@@ -110,7 +110,7 @@
110 110
             <div>费用总计:{{info.medfee_sumamt}}</div>
111 111
             <div>统筹支付:{{info.fund_pay_sumamt}}</div>
112 112
             <div>账户支付:{{info.acct_pay}}</div>
113
-            <div>个人现金支付:{{info.cash_payamt}}</div>
113
+            <div>个人现金支付:{{info.new_order.psn_cash_pay}}</div>
114 114
             <div>其他支付:{{info.oth_pay}}</div>
115 115
             <div>减免金额:</div>
116 116
           </td>

+ 14 - 13
src/xt_pages/outpatientCharges/statementTemplate/printThree.vue 查看文件

@@ -12,7 +12,7 @@
12 12
                 <div>透析号:<span style="display:inline-block;width:200px;">{{info.patient.dialysis_no ? info.patient.dialysis_no : ''}}</span>
13 13
                 </div>
14 14
                 <div style="margin-left:2px;">电脑号:<span
15
-                        style="display:inline-block;">{{info.psn_no ? info.psn_no : ''}}</span></div>
15
+                        style="display:inline-block;">{{info.new_order.psn_no ? info.new_order.psn_no : ''}}</span></div>
16 16
             </div>
17 17
             <div style="display:flex;justify-content: space-between;">
18 18
                 <div style="display:flex;">
@@ -26,7 +26,7 @@
26 26
                     </div>
27 27
                     <div>费别:<span style="display:inline-block;min-width:80px;">医保</span>
28 28
                     </div>
29
-                    <div>收费日期:<span style="display:inline-block;width:100px;">{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</span>
29
+                    <div>收费日期:<span style="display:inline-block;width:100px;">{{info.new_order.setl_time ? info.new_order.setl_time.split(' ')[0] : ''}}</span>
30 30
                     </div>
31 31
                 </div>
32 32
                 <div style="float:right">金额单位:元</div>
@@ -117,31 +117,33 @@
117 117
                                 </div>
118 118
                             </div>
119 119
                         </td>
120
-                        <td>合计: {{info.medfee_sumamt?info.medfee_sumamt:0}}元</td>
120
+                        <td>合计: {{info.medfee_sumamt?info.medfee_sumamt:info.new_order.medfee_sumamt}}元</td>
121 121
                     </tr>
122 122
                     <tr>
123 123
                         <td colspan="7">
124 124
                             <div style="display:flex;flez-wrap:wrap;margin-bottom:10px;font-size:16px;">
125
-                                <div style="width:33%;">医疗费总额:{{info.medfee_sumamt?info.medfee_sumamt:0}}元</div>
126
-                                <div style="width:33%;">基金支付金额:{{info.hifp_pay?info.hifp_pay:0}}元</div>
127
-                                <div style="width:33%;">个人账户支付金额:{{info.acct_pay?info.acct_pay:0}}元</div>
125
+                                <div style="width:33%;">医疗费总额:{{info.medfee_sumamt?info.medfee_sumamt:info.new_order.medfee_sumamt}}元</div>
126
+                                <div style="width:33%;">基金支付金额:{{info.fund_pay_sumamt?info.fund_pay_sumamt:info.new_order.fund_pay_sumamt}}元</div>
127
+                                <div style="width:33%;">个人账户支付金额:{{info.acct_pay?info.acct_pay:info.new_order.acct_pay}}元</div>
128 128
 
129 129
                             </div>
130 130
                             <div style="display:flex;flez-wrap:wrap;font-size:16px;">
131
-                              <div style="width:33%;">医疗救助基金金额:{{info.maf_pay?info.maf_pay:0}}元</div>
132
-
133
-                              <div style="width:33%;">个人支付金额:{{ info.psn_pay?info.psn_pay:0 }}元</div>
134
-                                <div style="width:33%;">个人账户金额:{{info.balc >= 0 ? info.balc : 0 }}元</div>
131
+                                <div style="width:33%;">医疗救助基金金额:{{info.maf_pay?info.maf_pay:info.new_order.maf_pay}}元</div>
132
+                                <div style="width:33%;">个人支付金额:{{ info.new_order.psn_cash_pay}}元</div>
133
+                                <div style="width:33%;">个人账户金额:{{info.new_order.balc}}元</div>
135 134
                             </div>
135
+                          <div style="display:flex;flez-wrap:wrap;font-size:16px;margin-top: 10px">
136
+                            <div style="width:33%;">基金统筹支付金额:{{info.hifp_pay?info.hifp_pay:info.new_order.hifp_pay}}元</div>
137
+                          </div>
136 138
                         </td>
137
-                        <td style="font-size:16px;">合计:{{info.medfee_sumamt?info.medfee_sumamt:0}}元</td>
139
+                        <td style="font-size:16px;">合计:{{info.new_order.medfee_sumamt}}元</td>
138 140
                     </tr>
139 141
 
140 142
                 </table>
141 143
             </div>
142 144
             <div style="float:right;margin:10px 0;display:flex;">
143 145
                 <div>操作人:<span style="width:100px;display:inline-block;">{{info.p_admin.user_name}}</span></div>
144
-                <div>操作日期:<span style="width:100px;display:inline-block;">{{info.setl_time ? info.setl_time.split(' ')[0] : ''}}</span>
146
+                <div>操作日期:<span style="width:100px;display:inline-block;">{{info.new_order.setl_time ? info.new_order.setl_time.split(' ')[0] : ''}}</span>
145 147
                 </div>
146 148
             </div>
147 149
             <img style="width:100%;" v-if="$store.getters.xt_user.org_id == 10138" src="https://kuyi.shengws.com/bailin/blend.jpg" alt="">
@@ -545,7 +547,6 @@
545 547
     },
546 548
     mounted() {
547 549
       this.org_id = this.$store.getters.xt_user.org_id
548
-
549 550
       var record_date = this.paramsObj.record_date
550 551
       console.log('record_date', record_date)
551 552
       var patient_id = this.paramsObj.patient_id

+ 149 - 26
src/xt_pages/outpatientCharges/summary.vue 查看文件

@@ -23,6 +23,7 @@
23 23
               @input="searchAction"
24 24
               @keyup.enter.native="searchAction"
25 25
               class="filter-item"
26
+              placeholder="请输入患者姓名"
26 27
           />
27 28
           <el-button
28 29
               size="small"
@@ -33,20 +34,6 @@
33 34
           >
34 35
             搜索
35 36
           </el-button>
36
-          <!--                    <el-select size="small" v-model="admin_user_id" placeholder="请选择"-->
37
-          <!--                               style="width:150px;margin-left:10px;" @change="changeDoctor">-->
38
-          <!--                        <el-option-->
39
-          <!--                                label="全部"-->
40
-          <!--                                value="0">-->
41
-          <!--                        </el-option>-->
42
-          <!--                        <el-option-->
43
-          <!--                                v-for="(item,index) in doctors"-->
44
-          <!--                                :key="index"-->
45
-          <!--                                :label="item.user_name"-->
46
-          <!--                                :value="item.admin_user_id">-->
47
-          <!--                        </el-option>-->
48
-          <!--                    </el-select>-->
49
-
50 37
           <el-select
51 38
               size="small"
52 39
               v-model="sort_type"
@@ -62,7 +49,24 @@
62 49
             >
63 50
             </el-option>
64 51
           </el-select>
65
-          <el-date-picker
52
+
53
+          <el-select v-model="sch_type" placeholder="请选择班次" @change="handleSchType">
54
+            <el-option label="全部" value="0"></el-option>
55
+            <el-option label="上午" value="1"></el-option>
56
+            <el-option label="下午" value="2"></el-option>
57
+            <el-option label="晚上" value="3"></el-option>
58
+          </el-select>
59
+
60
+          <el-select v-model="zoneVal" placeholder="请选择分区" style="margin-right:20px;" @change="handleZoneChange">
61
+            <el-option
62
+              v-for="item in zone_options"
63
+              :key="item.id"
64
+              :label="item.text"
65
+              :value="item.id">
66
+            </el-option>
67
+          </el-select>
68
+
69
+          <!-- <el-date-picker
66 70
               size="small"
67 71
               v-model="start_time"
68 72
               prefix-icon="el-icon-date"
@@ -90,10 +94,9 @@
90 94
               format="yyyy-MM-dd"
91 95
               value-format="yyyy-MM-dd"
92 96
               align="right"
93
-          ></el-date-picker>
94
-          <!--<el-radio v-model="radio" label="1">明细</el-radio>-->
95
-          <!--<el-radio v-model="radio" label="2">汇总</el-radio>-->
97
+          ></el-date-picker> -->
96 98
         </div>
99
+        <!-- 按钮 -->
97 100
         <div>
98 101
           <!-- <el-popover
99 102
                       placement="bottom"
@@ -104,13 +107,16 @@
104 107
                       <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
105 108
 
106 109
                     </el-popover> -->
110
+          <el-button  v-if="$store.getters.xt_user.org_id == 10138 || $store.getters.xt_user.org_id == 10278 || $store.getters.xt_user.org_id == 0" size="small" type="primary" @click="batch_print_settlte">批量打印结算单
111
+          </el-button>
107 112
           <el-button size="small" type="primary" @click="export_detail"
108 113
           >报表下载
109 114
           </el-button
110 115
           >
111 116
           <el-button v-if="$store.getters.xt_user.org_id == 10106 || $store.getters.xt_user.org_id == 0" size="small" type="primary" @click="export_detail_ten">报表下载2</el-button>
112
-          <el-button v-if="$store.getters.xt_user.org_id == 10318 || $store.getters.xt_user.org_id == 0" size="small" type="primary" @click="export_detail_ten_four">报表下载3</el-button>
113
-<!--          <el-button  size="small" type="primary" @click="export_detail_ten_three">报表下载4</el-button>-->
117
+          <el-button v-if="$store.getters.xt_user.org_id == 10318 || $store.getters.xt_user.org_id == 0" size="small" type="primary" @click="export_detail_ten_two">报表下载3</el-button>
118
+
119
+          <!--          <el-button  size="small" type="primary" @click="export_detail_ten_three">报表下载4</el-button>-->
114 120
 
115 121
 
116 122
           <!--          <el-button size="small" type="primary" @click="export_detail_two"-->
@@ -129,17 +135,50 @@
129 135
 
130 136
         </div>
131 137
       </div>
138
+      <div style="margin-bottom: 10px;">
139
+        <el-date-picker
140
+              size="small"
141
+              v-model="start_time"
142
+              prefix-icon="el-icon-date"
143
+              @change="handleStartTimeChange"
144
+              :editable="false"
145
+              :clearable="false"
146
+              style="width: 196px; "
147
+              type="date"
148
+              placeholder="选择开始日期"
149
+              format="yyyy-MM-dd"
150
+              value-format="yyyy-MM-dd"
151
+              align="right"
152
+          ></el-date-picker>
153
+          <span style="text-align: center;">-</span>
154
+          <el-date-picker
155
+              size="small"
156
+              v-model="end_time"
157
+              prefix-icon="el-icon-date"
158
+              @change="handleEndTimeChange"
159
+              :editable="false"
160
+              :clearable="false"
161
+              style="width: 196px; "
162
+              type="date"
163
+              placeholder="选择结束日期"
164
+              format="yyyy-MM-dd"
165
+              value-format="yyyy-MM-dd"
166
+              align="right"
167
+          ></el-date-picker>
168
+      </div>
132 169
       <el-table
133 170
           :data="tableData"
134 171
           border
135 172
           style="width: 100%"
136 173
           :row-style="{ color: '#303133' }"
174
+          @selection-change="handleSelectionChange"
137 175
           :header-cell-style="{
138 176
           backgroundColor: 'rgb(245, 247, 250)',
139 177
           color: '#606266',
140 178
         }"
141 179
           highlight-current-row
142 180
       >
181
+        <el-table-column align="center" type="selection" width="55"></el-table-column>
143 182
         <el-table-column
144 183
             prop="date"
145 184
             label="序号"
@@ -324,6 +363,24 @@
324 363
           :paramsObj="orderObj"
325 364
       ></new-statement-print>
326 365
     </el-dialog>
366
+
367
+    <!-- 批量打印 -->
368
+    <el-dialog
369
+      class="centerDialog"
370
+      width="1200px"
371
+      title="打印"
372
+      :visible.sync="batchStatementVisible"
373
+    >
374
+<!--      <batchStatementPrint-->
375
+<!--        ref="batchPrint"-->
376
+<!--        :paramsObj="batchOrderObj"-->
377
+<!--      ></batchStatementPrint>-->
378
+      <batch-statement-print
379
+        ref="batchPrint"
380
+        :paramsObj="batchOrderObj"
381
+      ></batch-statement-print>
382
+    </el-dialog>
383
+
327 384
     <el-dialog
328 385
       class="centerDialog"
329 386
       width="1200px"
@@ -386,8 +443,11 @@
386 443
 
387 444
 <script>
388 445
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
389
-import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund,} from "@/api/his/his";
446
+import {getDoctorList, getExportConsumeDetailList, getHisOrderList, Refund} from "@/api/his/his";
390 447
 // import NewStatementPrint from './newStatementPrint'
448
+
449
+
450
+import batchStatementPrint from "./batchStatementPrint.vue";
391 451
 import NewStatementPrint from "./statementPrint.vue";
392 452
 import listPrint from "./listPrint";
393 453
 import allListPrint from "./allListPrint";
@@ -397,15 +457,19 @@ import axios from "axios";
397 457
 import invoicePrint from "./invoicePrint";
398 458
 import settlementPrint from "./settlementPrint";
399 459
 import {jsGetAge, uParseTime} from "@/utils/tools";
400
-
460
+const moment = require('moment')
401 461
 import {getHisDataFive, getHisDataSix, getHisDataThree, getHisDataTwo,getAllOrders,exportOrderInfo,handleOne} from "../../api/his/his";
402 462
 
403 463
 import {handleData10106,handleData10318,handleData10138Two} from "../../api/his/his_export";
404 464
 import StatementListPrint from "./statementListPrint";
405
-
465
+import {
466
+  getDialysisRecordInitData
467
+} from '@/api/dialysis_record'
468
+import BatchStatementPrint from './batchStatementPrint'
406 469
 export default {
407 470
   name: "OutpatientChargesSummary",
408 471
   components: {
472
+    BatchStatementPrint,
409 473
     StatementListPrint,
410 474
     NewStatementPrintTwo,
411 475
     NewStatementPrint,
@@ -418,8 +482,13 @@ export default {
418 482
   data() {
419 483
     return {
420 484
       orderObj: {},
485
+      batchOrderObj:{},
486
+      zone_options: [
487
+        { id: 0, text: '全部分区' }
488
+      ],
421 489
       statementListVisible:false,
422 490
       statementVisible: false,
491
+      batchStatementVisible:false,
423 492
       statementVisible9504: false,
424 493
       orderObj9504: {},
425 494
       crumbs: [
@@ -427,11 +496,14 @@ export default {
427 496
         {path: false, name: "项目消费明细汇总"},
428 497
       ],
429 498
       tableData: [],
499
+      selecting_schs:[],
430 500
       limit: 10,
431 501
       page: 1,
432 502
       keywords: "",
433
-      start_time: "",
434
-      end_time: "",
503
+      sch_type:"0",//班次
504
+      zoneVal:0,//分区
505
+      start_time: moment(new Date()).add('year',0).format("YYYY-MM-DD"),
506
+      end_time: moment(new Date()).add('year',0).format("YYYY-MM-DD"),
435 507
       total: "",
436 508
       doctors: [],
437 509
       sort_type: 1,
@@ -485,12 +557,44 @@ export default {
485 557
   },
486 558
 
487 559
   created() {
560
+    this.getInitData()
488 561
     this.fetchAllAdminUsers();
489 562
     this.getDoctorList();
490 563
     this.getHisOrderList();
491 564
   },
492 565
 
493 566
   methods: {
567
+    handleSelectionChange(val) {
568
+      this.selecting_schs = val
569
+    },
570
+    handleSchType(val){
571
+      this.sch_type = val
572
+      this.getHisOrderList()
573
+    },
574
+    handleZoneChange(val){
575
+      this.zoneVal = val
576
+      this.getHisOrderList()
577
+
578
+
579
+    },
580
+    getInitData: function () {
581
+      getDialysisRecordInitData().then((rs) => {
582
+        var resp = rs.data;
583
+        if (resp.state == 1) {
584
+          var zones = resp.data.zones;
585
+          var zone_options = [{ id: 0, text: "全部" }];
586
+          for (let z_i = 0; z_i < zones.length; z_i++) {
587
+            const zone = zones[z_i];
588
+            zone_options.push({ id: zone.id, text: zone.name });
589
+          }
590
+          this.zone_options = zone_options;
591
+
592
+        } else {
593
+          this.$message.error(resp.msg);
594
+        }
595
+      });
596
+    },
597
+
494 598
     setStorage() {
495 599
       this.$store.commit("SET_PAGEDATA", {
496 600
         page: this.page,
@@ -1110,7 +1214,7 @@ export default {
1110 1214
                 name: order.patient.name,
1111 1215
                 id_card_no: order.patient.id_card_no,
1112 1216
                 year: "2023",
1113
-                month: "2",
1217
+                month: "3",
1114 1218
                 code: data[b].code,
1115 1219
                 pric: data[b].count * data[b].price,
1116 1220
                 item_name: data[b].name,
@@ -2696,7 +2800,24 @@ export default {
2696 2800
       }
2697 2801
       return res
2698 2802
     },
2803
+    batch_print_settlte(){
2804
+      if (this.selecting_schs.length === 0) {
2805
+        this.$message.error('请至少选择一条需要打印的内容')
2806
+        return false
2807
+      } else {
2808
+        var sch_ids = []
2809
+        for (let index = 0; index < this.selecting_schs.length; index++) {
2810
+          sch_ids.push(this.selecting_schs[index].id)
2811
+        }
2812
+        this.batchStatementVisible = true
2813
+        let params = {
2814
+          order_ids: sch_ids.join(","),
2815
+          admin_user_id:  this.$store.getters.xt_user.user.id,
2816
+        };
2817
+        this.batchOrderObj = params
2699 2818
 
2819
+      }
2820
+    },
2700 2821
     export_detail() {
2701 2822
       let params = {
2702 2823
         start_time: this.start_time,
@@ -3280,6 +3401,8 @@ export default {
3280 3401
         type: this.admin_user_id,
3281 3402
         p_type: 2,
3282 3403
         sort_type: this.sort_type,
3404
+        sch_type: this.sch_type,
3405
+        zone_type: this.zoneVal
3283 3406
       };
3284 3407
       getHisOrderList(params).then((response) => {
3285 3408
         if (response.data.state == 0) {

+ 4 - 4
src/xt_pages/outpatientDoctorStation/batch_print_template/batchPrintThree.vue 查看文件

@@ -8,13 +8,13 @@
8 8
           class="prescription-print"
9 9
           style="page-break-after: always"
10 10
         >
11
-          <span v-if="org_id == 10138">
11
+          <span v-if="org_id == 10138 || org_id == 10341 || org_id == 10342">
12 12
             <img
13 13
               src="https://kuyi.shengws.com/bailin/bltotle.jpg"
14 14
               style="width: 100%"
15 15
               alt=""
16 16
             /></span>
17
-          <span v-if="org_id == 10278">
17
+          <span v-if="org_id == 10278  || org_id == 10341 || org_id == 10342">
18 18
             <img
19 19
               src="https://kuyi.shengws.com/beierlog.png"
20 20
               style="width: 100%"
@@ -220,13 +220,13 @@
220 220
           </div>
221 221
           <div>*处方当日有效,特殊情况可适当延长,一般不超过3天</div>
222 222
           <div>*药品属于特殊商品,非质量问题不允许退换</div>
223
-          <span v-if="org_id == 10138"
223
+          <span v-if="org_id == 10138  || org_id == 10341 || org_id == 10342"
224 224
           ><img
225 225
             src="https://kuyi.shengws.com/bailin/blend.jpg"
226 226
             style="width: 100%"
227 227
             alt=""
228 228
           /></span>
229
-          <span v-if="org_id == 10278"
229
+          <span v-if="org_id == 10278  || org_id == 10341 || org_id == 10342"
230 230
           ><img
231 231
             src="https://kuyi.shengws.com/bailinbeier.png"
232 232
             style="width: 100%"

+ 1 - 4
src/xt_pages/outpatientDoctorStation/components/saveTemplate.vue 查看文件

@@ -8,9 +8,7 @@
8 8
         <div>
9 9
             <el-form :model="form" class="adviceForm" :rules="rules" ref="form" label-width="90px">
10 10
 
11
-                <el-form-item label="模板名称:"  prop="name" style="width: 100%;margin-bottom:0;">
12
-                    <el-input v-model="form.name"  placeholder=""></el-input>
13
-                </el-form-item>
11
+
14 12
 
15 13
                 <el-form-item label="透析模式:" style="width: 100%;margin-top: 20px" prop="mode">
16 14
                     <el-select v-model="form.mode" style="width:100%;" placeholder="请选择">
@@ -158,7 +156,6 @@
158 156
     data() {
159 157
       return {
160 158
         rules: {
161
-          name: [{required: true, message: "模版名字不能为空", trigger: 'blur'}],
162 159
           mode: [{required: true, message: "请选择透析模式", trigger: 'blur'}],
163 160
         },
164 161
         visible: false,

+ 19 - 19
src/xt_pages/outpatientDoctorStation/doctorDesk.vue 查看文件

@@ -119,7 +119,7 @@
119 119
                        v-loading="saveLoading">保存
120 120
             </el-button>
121 121
             <el-button size="small" ref="button_three" @click="open_two()" type="primary">处方调用</el-button>
122
-            <!--<el-button size="small" @click="open_three()" type="primary">存模板</el-button>-->
122
+            <el-button size="small" @click="open_three()" type="primary">存模板</el-button>
123 123
 
124 124
             <!-- <el-popover
125 125
                                 placement="bottom"
@@ -1704,7 +1704,7 @@ export default {
1704 1704
                   unit: prescription.project[b].unit,
1705 1705
                   type: prescription.project[b].type,
1706 1706
                   execution_state: prescription.project[b].execution_state,
1707
-                
1707
+
1708 1708
 
1709 1709
                 }
1710 1710
 
@@ -1713,14 +1713,14 @@ export default {
1713 1713
                   obj['medical_code'] = prescription.project[b].project.medical_code
1714 1714
                   obj['project_name'] = prescription.project[b].project.project_name
1715 1715
                   obj['project'] = prescription.project[b].project
1716
-                 
1716
+
1717 1717
 
1718 1718
                 } else if (prescription.project[b].type == 3) {
1719 1719
                   obj['statistical_classification'] = ''
1720 1720
                   obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
1721 1721
                   obj['project_name'] = prescription.project[b].good_info.good_name
1722 1722
                   obj['good_info'] = prescription.project[b].good_info
1723
-                
1723
+
1724 1724
 
1725 1725
                 }
1726 1726
                 tempProject.push(obj)
@@ -1866,7 +1866,7 @@ export default {
1866 1866
                     unit: prescription.project[b].unit,
1867 1867
                     type: prescription.project[b].type,
1868 1868
                     execution_state: 2,
1869
-                    
1869
+
1870 1870
 
1871 1871
                   }
1872 1872
 
@@ -1876,7 +1876,7 @@ export default {
1876 1876
                     obj['project_name'] = prescription.project[b].project.project_name
1877 1877
                     obj['price'] = prescription.project[b].project.price
1878 1878
                     obj['project'] = prescription.project[b].project
1879
-                    
1879
+
1880 1880
 
1881 1881
                   } else if (prescription.project[b].type == 3) {
1882 1882
                     obj['statistical_classification'] = ''
@@ -1884,7 +1884,7 @@ export default {
1884 1884
                     obj['project_name'] = prescription.project[b].good_info.good_name
1885 1885
                     obj['price'] = prescription.project[b].good_info.packing_price
1886 1886
                     obj['good_info'] = prescription.project[b].good_info
1887
-                  
1887
+
1888 1888
                   }
1889 1889
                   tempProject.push(obj)
1890 1890
                 }
@@ -2166,7 +2166,7 @@ export default {
2166 2166
                         unit: prescription.project[b].unit,
2167 2167
                         type: prescription.project[b].type,
2168 2168
                         execution_state: prescription.project[b].execution_state,
2169
-                       
2169
+
2170 2170
                       }
2171 2171
 
2172 2172
                       if (prescription.project[b].type == 2) {
@@ -2325,7 +2325,7 @@ export default {
2325 2325
                           unit: prescription.project[b].unit,
2326 2326
                           type: prescription.project[b].type,
2327 2327
                           execution_state: 2,
2328
-                         
2328
+
2329 2329
 
2330 2330
                         }
2331 2331
 
@@ -2710,7 +2710,7 @@ export default {
2710 2710
                         unit: prescription.project[b].unit,
2711 2711
                         type: prescription.project[b].type,
2712 2712
                         execution_state: prescription.project[b].execution_state,
2713
-                       
2713
+
2714 2714
                       }
2715 2715
 
2716 2716
                       if (prescription.project[b].type == 2) {
@@ -2860,7 +2860,7 @@ export default {
2860 2860
                           unit: prescription.project[b].unit,
2861 2861
                           type: prescription.project[b].type,
2862 2862
                           execution_state: 2,
2863
-                         
2863
+
2864 2864
                         }
2865 2865
 
2866 2866
                         if (prescription.project[b].type == 2) {
@@ -3224,7 +3224,7 @@ export default {
3224 3224
                       unit: prescription.project[b].unit,
3225 3225
                       type: prescription.project[b].type,
3226 3226
                       execution_state: prescription.project[b].execution_state,
3227
-                  
3227
+
3228 3228
                     }
3229 3229
 
3230 3230
                     if (prescription.project[b].type == 2) {
@@ -3374,7 +3374,7 @@ export default {
3374 3374
                         unit: prescription.project[b].unit,
3375 3375
                         type: prescription.project[b].type,
3376 3376
                         execution_state: 2,
3377
-                       
3377
+
3378 3378
 
3379 3379
                       }
3380 3380
 
@@ -3818,7 +3818,7 @@ export default {
3818 3818
                         unit: prescription.project[b].unit,
3819 3819
                         type: prescription.project[b].type,
3820 3820
                         execution_state: prescription.project[b].execution_state,
3821
-                       
3821
+
3822 3822
                       }
3823 3823
 
3824 3824
                       if (prescription.project[b].type == 2) {
@@ -3826,7 +3826,7 @@ export default {
3826 3826
                         obj['medical_code'] = prescription.project[b].project.medical_code
3827 3827
                         obj['project_name'] = prescription.project[b].project.project_name
3828 3828
                         obj['project'] = prescription.project[b].project
3829
-                      
3829
+
3830 3830
 
3831 3831
                       } else if (prescription.project[b].type == 3) {
3832 3832
                         if (prescription.project[b].team_id > 0) {
@@ -3835,7 +3835,7 @@ export default {
3835 3835
                         obj['medical_code'] = prescription.project[b].good_info.medical_insurance_number
3836 3836
                         obj['project_name'] = prescription.project[b].good_info.good_name
3837 3837
                         obj['good_info'] = prescription.project[b].good_info
3838
-                       
3838
+
3839 3839
 
3840 3840
                       }
3841 3841
                       tempProject.push(obj)
@@ -3979,7 +3979,7 @@ export default {
3979 3979
                           unit: prescription.project[b].unit,
3980 3980
                           type: prescription.project[b].type,
3981 3981
                           execution_state: 2,
3982
-                          
3982
+
3983 3983
                         }
3984 3984
 
3985 3985
                         if (prescription.project[b].type == 2) {
@@ -4448,7 +4448,7 @@ export default {
4448 4448
                         unit: prescription.project[b].unit,
4449 4449
                         type: prescription.project[b].type,
4450 4450
                         execution_state: prescription.project[b].execution_state,
4451
-                       
4451
+
4452 4452
                       }
4453 4453
 
4454 4454
                       if (prescription.project[b].type == 2) {
@@ -4608,7 +4608,7 @@ export default {
4608 4608
                           unit: prescription.project[b].unit,
4609 4609
                           type: prescription.project[b].type,
4610 4610
                           execution_state: 2,
4611
-                         
4611
+
4612 4612
                         }
4613 4613
 
4614 4614
                         if (prescription.project[b].type == 2) {

+ 22 - 0
src/xt_pages/outpatientTool/components/settle.vue 查看文件

@@ -129,7 +129,29 @@
129 129
               <template slot-scope="scope">{{scope.row.hifmi_pay.toFixed(2)}}</template>
130 130
           </el-table-column>
131 131
 
132
+        <el-table-column align="center" prop="item_name" label="微信支付">
133
+          <template slot-scope="scope">{{scope.row.wechat_pay}}</template>
134
+        </el-table-column>
135
+
136
+        <el-table-column align="center" prop="item_name" label="支付宝支付">
137
+          <template slot-scope="scope">{{scope.row.ali_pay}}</template>
138
+        </el-table-column>
139
+
140
+        <el-table-column align="center" prop="item_name" label="银行卡支付">
141
+          <template slot-scope="scope">{{scope.row.band_card_pay}}</template>
142
+        </el-table-column>
132 143
 
144
+        <el-table-column align="center" prop="item_name" label="积分支付">
145
+          <template slot-scope="scope">{{scope.row.jifen_pay}}</template>
146
+        </el-table-column>
147
+
148
+        <el-table-column align="center" prop="item_name" label="现金支付">
149
+          <template slot-scope="scope">{{scope.row.cash_pay}}</template>
150
+        </el-table-column>
151
+
152
+        <el-table-column align="center" prop="item_name" label="其他说明">
153
+          <template slot-scope="scope">{{scope.row.oth_desc}}</template>
154
+        </el-table-column>
133 155
 
134 156
           <el-table-column align="center" prop="total" label="费用总额">
135 157
               <template slot-scope="scope">

+ 31 - 6
src/xt_pages/outpatientTool/labelPrint.vue 查看文件

@@ -6,12 +6,12 @@
6 6
         <div>
7 7
             <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
8 8
                 <div>
9
-                    <el-input size="small" style="width:150px;" v-model="keywords" @input="searchAction"
9
+                    <el-input  style="width:150px;" v-model="keywords" @input="searchAction"
10 10
                               @keyup.enter.native='searchAction'
11 11
                               placeholder="请输入患者姓名"
12 12
                               class="filter-item"/>
13
-                    <el-select size="small" v-model="item_type" placeholder="请选择"
14
-                               style="width:150px;margin-left:10px;" @change="changeItem">
13
+                    <el-select  v-model="item_type" placeholder="请选择"
14
+                               style="width:150px;" @change="changeItem">
15 15
                         <el-option
16 16
                                 label="全部"
17 17
                                 value="0">
@@ -31,6 +31,19 @@
31 31
                             @change="changeDate"
32 32
                     >
33 33
                     </el-date-picker>
34
+
35
+                    <el-select v-model="tube_color" style="width:160px;" placeholder="请选择" @change="changeItemTwo">
36
+                      <el-option
37
+                        label="全部"
38
+                        value="0">
39
+                      </el-option>
40
+                      <el-option
41
+                        v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
42
+                        :key="index"
43
+                        :label="item.name"
44
+                        :value="item.id">
45
+                      </el-option>
46
+                    </el-select>
34 47
                 </div>
35 48
             </div>
36 49
             <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table"
@@ -67,9 +80,11 @@
67 80
                             <el-button
68 81
                                     type="primary"
69 82
                                     size="small"
70
-                                    icon="el-icon-edit-outline"
83
+                                    icon="el-icon-printer"
71 84
                                     @click="Print(scope.row, scope.$index)"
72 85
                             >
86
+
87
+                            <!-- icon="el-icon-edit-outline" -->
73 88
                             </el-button>
74 89
                         </el-tooltip>
75 90
                     </template>
@@ -130,7 +145,7 @@
130 145
   import { uParseTime } from '@/utils/tools'
131 146
   import SignPrint from '../dialysis/signPrint'
132 147
   import JsBarcode from 'jsbarcode'
133
-
148
+  import { getDictionaryDataConfig } from '@/utils/data'
134 149
   // import NewStatementPrint from './newStatementPrint'
135 150
   const moment = require('moment')
136 151
   export default {
@@ -141,6 +156,7 @@
141 156
     },
142 157
     data() {
143 158
       return {
159
+        tube_color:"0",
144 160
         current_ctime: 0,
145 161
         current_number: '',
146 162
         current_project_name: '',
@@ -171,6 +187,10 @@
171 187
       }
172 188
     },
173 189
     methods: {
190
+      getDictionaryDataConfig(module, filed_name) {
191
+        return getDictionaryDataConfig(module, filed_name)
192
+
193
+      },
174 194
       printAction: function() {
175 195
         const style = '@media print { .sign{width:960px;margin: 0 auto;text-align: center;border-collapse: collapse;}.order_title_panl {text-align: center;.main_title {font-size: 18px;line-height: 40px;font-weight: 500;}}.dialysisTable tr{padding: 10px 0;}.dialysisTable th {color: #000;padding: 0;margin: 0;height: 30px;}.dialysisTable tr td {padding: 12px 0;}.subadvice_content {text-align: left;padding-left: 25px !important;padding-right: 5px !important;}.advice_content {text-align: left;padding-left: 5px !important;padding-right: 5px !important;padding: 15px 5px !important;} }'
176 196
         printJS({
@@ -229,6 +249,10 @@
229 249
         this.page = 1
230 250
         this.limit = 10
231 251
         this.getList()
252
+      },changeItemTwo(){
253
+        this.page = 1
254
+        this.limit = 10
255
+        this.getList()
232 256
       },
233 257
       changeItem() {
234 258
         this.page = 1
@@ -246,7 +270,8 @@
246 270
           is_print: this.item_type,
247 271
           keyword: this.keywords,
248 272
           page: this.page,
249
-          limit: this.limit
273
+          limit: this.limit,
274
+          tube_color:this.tube_color,
250 275
         }
251 276
         GetLabelList(params).then(response => {
252 277
           if (response.data.state == 0) {

+ 2 - 0
src/xt_pages/outpatientTool/yidiClear.vue 查看文件

@@ -11,6 +11,7 @@
11 11
         <el-date-picker
12 12
             v-model="month"
13 13
             type="month"
14
+            value-format="yyyy-MM"
14 15
             placeholder="选择年月">
15 16
         </el-date-picker>
16 17
       </div>
@@ -93,6 +94,7 @@ export default {
93 94
   methods: {
94 95
     getYidiClear(){
95 96
       var that = this;
97
+      console.log(this.month)
96 98
       let params = {
97 99
         'year':this.month.split("-")[0],
98 100
         'month':this.month.split("-")[1],

+ 3 - 2
src/xt_pages/user/components/PatientDetail.vue 查看文件

@@ -11,7 +11,7 @@
11 11
           <el-col :span="1">&nbsp;</el-col>
12 12
 
13 13
           <template v-for="(item, index) in form.formItem">
14
-            <el-col :span="7" :key="index">
14
+            <el-col :span="7" >
15 15
               <el-form-item
16 16
                 :label="item.item_name"
17 17
                 v-if="item.range_type == 1"
@@ -34,6 +34,7 @@
34 34
                 :key="item.item_id"
35 35
                 :prop="'formItem.' + index + '.value'"
36 36
               >
37
+              <!-- :key="item.item_id" -->
37 38
                 <el-select
38 39
                   v-model="item.value"
39 40
                   placeholder="请选择"
@@ -817,7 +818,7 @@
817 818
         </el-form-item>
818 819
       </el-col>
819 820
     </el-form>
820
-
821
+    <!-- 打印预览 -->
821 822
     <div style="display: none">
822 823
       <div id="print-info-box">
823 824
         <div class="print_main_content">

+ 1 - 1
src/xt_pages/user/coursePrint.vue 查看文件

@@ -61,7 +61,7 @@
61 61
               </div>
62 62
             </div>
63 63
 
64
-            <div class="row" style="padding: 2px 0;line-height:24px;margin-top:10px;float:right" v-if="org_id == 0||org_id ==9671 || org_id == 10440">
64
+            <div class="row" style="padding: 2px 0;line-height:24px;margin-top:10px;float:right" v-if="org_id == 0||org_id ==9671 || org_id == 10440 || org_id == 10131">
65 65
              医生签名:
66 66
              <span v-if="setAdminUserES(item.recorder?item.recorder:item.recorder) == ''">
67 67
                   {{getName(item.recorder)}}

+ 9 - 14
src/xt_pages/user/firstDiseasePrint.vue 查看文件

@@ -8,10 +8,8 @@
8 8
     </div>
9 9
     <div class="app-container">
10 10
       <div id="print_content">
11
-        <div class="print_page_main_content">
11
+        <div class="print_page_main_content" style="height: 100%;">
12 12
            <div class="order-yy-name"></div>
13
-          <!-- <div class="order_title" style="padding-top:12px;text-align:center;">首次病程记录</div>
14
-        -->
15 13
           <h1 style="text-align:center;">首次病程记录</h1>
16 14
           <div class="row" style="padding: 2px 0;line-height:24px;margin-top:10px;">
17 15
             <div class="inline_block;">
@@ -45,29 +43,25 @@
45 43
 
46 44
              <div class="inline_block" style="width:100%;">
47 45
               <span style="font-size:20px">初步诊断:</span>
48
-              <div v-html="hosDetail.tentative_diagnosis" class="printP" style="text-indent:20px">
49
-
46
+              <div v-html="hosDetail.tentative_diagnosis" class="printP" style="text-indent:20px;">
50 47
               </div>
51 48
              </div>
52 49
 
53 50
              <div class="inline_block" style="width:100%;">
54 51
               <span style="font-size:20px"> 诊断依据:</span>
55
-              <div v-html="hosDetail.diagnostic_basis" class="printP" style="text-indent:20px">
56
-
52
+              <div v-html="hosDetail.diagnostic_basis" class="printP" style="text-indent:20px; margin-bottom: 0px;">
57 53
               </div>
58 54
              </div>
59 55
 
60 56
              <div class="inline_block" style="width:100%;">
61 57
                 <span  style="font-size:20px">鉴别诊断:</span> 
62 58
                 <div v-html="hosDetail.differential_diagnosis" class="printP" style="text-indent:20px">
63
-
64 59
                 </div>
65 60
               </div>
66 61
 
67 62
               <div class="inline_block" style="width:100%;">
68 63
                  <span style="font-size:20px">诊疗计划:</span>
69 64
                 <div v-html="hosDetail.treatment_plan" class="printP" style="text-indent:20px">
70
-
71 65
                 </div>
72 66
               </div>
73 67
 
@@ -98,6 +92,7 @@ import BreadCrumb from '@/xt_pages/components/bread-crumb'
98 92
 import {getFirstDetail,getPatientInfo} from "@/api/patient"
99 93
 import { getAllDoctorList } from "@/api/device"
100 94
 import { getDataConfig } from "@/utils/data";
95
+import print from "print-js";
101 96
 export default {
102 97
   name: 'dialysisPrintOrderOne',
103 98
   components: {
@@ -135,7 +130,7 @@ export default {
135 130
     printThisPage() {
136 131
         var ptime = Math.round(new Date().getTime() / 1000)
137 132
         this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
138
-        const style ='@media print {.dialysis-print-order{width:960px;margin:0 auto;letter-spacing:5px} .dialysis-print-order p{margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;font-weight: bold;margin: 10px 0;}'
133
+        // const style ='@media print {.dialysis-print-order{width:960px;margin:0 auto;letter-spacing:5px} .dialysis-print-order p{margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;font-weight: bold;margin: 10px 0;}'
139 134
         printJS({
140 135
             printable: 'dialysis-print-box',
141 136
             type: 'html',
@@ -233,12 +228,12 @@ export default {
233 228
       return count + 1
234 229
     },
235 230
     printAction: function() {
236
-      const style = '@media print {.printP div{margin-bottom:5px;} .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 20px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:1000px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
231
+      // const style = '@media print {.printP div{margin-bottom:5px;} .option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 20px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 5px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:1000px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top:1050px;left: 50%;}.print-yema5{position: absolute;top:1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}'
237 232
       printJS({
238 233
         printable: 'print_content',
239 234
         type: 'html',
240 235
         documentTitle: '  ',
241
-        style: style,
236
+        // style: style,
242 237
         scanStyles: false
243 238
       })
244 239
     },
@@ -301,7 +296,7 @@ export default {
301 296
 <style>
302 297
 .borderBox  p{
303 298
   font-weight: bold;
304
-  margin: 10px 0;
299
+  /* margin: 10px 0; */
305 300
 }
306 301
 .dialysis-print-order {
307 302
   width: 960px;
@@ -320,7 +315,7 @@ export default {
320 315
   font-weight: 600;
321 316
   text-align: center;
322 317
   font-size: 22px;
323
-  padding: 10px 20px 20px 20px;
318
+  /* padding: 10px 20px 20px 20px; */
324 319
 }
325 320
 
326 321
 .dialysis-print-order .table-box {

+ 1 - 1
src/xt_pages/workforce/components/editTableData.vue 查看文件

@@ -1691,7 +1691,7 @@
1691 1691
 
1692 1692
 <script>
1693 1693
 import { uParseTime } from "@/utils/tools";
1694
-// import print from "print-js";
1694
+import print from "print-js";
1695 1695
 import draggable from "vuedraggable";
1696 1696
 const moment = require("moment");
1697 1697
 import {

+ 182 - 182
src/xt_pages/workforce/components/scheduleUploadExcel/index.vue 查看文件

@@ -1,182 +1,182 @@
1
-<template>
2
-  <div>
3
-    <el-dialog
4
-      :visible.sync="msgTipVisible"
5
-      width="40%"
6
-      :modal-append-to-body='false'
7
-      :close-on-click-modal="false"
8
-    >
9
-      <span>若执行排班导入,系统将会清除当前已有临时排班数据,是否继续导入?</span>
10
-      <span slot="footer" class="dialog-footer">
11
-    <el-button @click="msgTipVisible = false">取 消</el-button>
12
-    <el-button type="primary" @click="handleUpload()">确 定</el-button>
13
-  </span>
14
-    </el-dialog>
15
-     <input id="excel-upload-input" ref="excel-upload-input" type="file"  accept=".xlsx,.xls,.xltx," @change="handleClick" >
16
-    <el-button :loading="loading" style="margin-left:16px;" size="mini" type="primary" @click="msgTipVisible = true">导入排班
17
-    </el-button>
18
-  </div>
19
-</template>
20
-
21
-<script>
22
-  import XLSX from 'xlsx'
23
-
24
-  export default {
25
-    name: "scheduleUploadExcel",
26
-    props: {
27
-      beforeUpload: Function,
28
-      onSuccess: Function
29
-    },
30
-    data() {
31
-      return {
32
-        loading: false,
33
-        msgTipVisible:false,
34
-        excelData: {
35
-          header: null,
36
-          results: null
37
-        }
38
-      }
39
-    },
40
-    methods: {
41
-      generateDate({ header, results }) {
42
-        console.log("header",header)
43
-        console.log("results",results)
44
-        this.excelData.header = header
45
-        this.excelData.results = results
46
-
47
-        this.onSuccess && this.onSuccess(this.excelData)
48
-      },
49
-      handleDrop(e) {
50
-        e.stopPropagation()
51
-        e.preventDefault()
52
-        if (this.loading) return
53
-        const files = e.dataTransfer.files
54
-        if (files.length !== 1) {
55
-          this.$message.error('Only support uploading one file!')
56
-          return
57
-        }
58
-        const rawFile = files[0] // only use files[0]
59
-
60
-        if (!this.isExcel(rawFile)) {
61
-          this.$message.error('Only supports upload .xlsx, .xls, .csv suffix files')
62
-          return false
63
-        }
64
-        this.upload(rawFile)
65
-        e.stopPropagation()
66
-        e.preventDefault()
67
-      },
68
-      handleDragover(e) {
69
-        e.stopPropagation()
70
-        e.preventDefault()
71
-        e.dataTransfer.dropEffect = 'copy'
72
-      },
73
-      handleUpload() {
74
-        this.msgTipVisible = false
75
-
76
-        document.getElementById('excel-upload-input').click()
77
-      },
78
-      handleClick(e) {
79
-
80
-        const files = e.target.files
81
-        const rawFile = files[0] // only use files[0]
82
-        console.log("rawfiel",rawFile)
83
-        if (!rawFile)
84
-        return
85
-        this.upload(rawFile)
86
-
87
-      },
88
-      upload(rawFile) {
89
-
90
-        this.$refs['excel-upload-input'].value = null // fix can't select the same excel
91
-        console.log("3333",this.beforeUpload)
92
-        if (!this.beforeUpload) {
93
-          this.readerData(rawFile)
94
-          return
95
-        }
96
-        const before = this.beforeUpload(rawFile)
97
-        console.log("before",before)
98
-        if (before) {
99
-          this.readerData(rawFile)
100
-        }
101
-      },
102
-      readerData(rawFile) {
103
-
104
-        this.loading = true
105
-        return new Promise((resolve, reject) => {
106
-          const reader = new FileReader()
107
-          reader.onload = e => {
108
-
109
-            const data = e.target.result
110
-            console.log("data22222",data)
111
-            const fixedData = this.fixdata(data)
112
-            const workbook = XLSX.read(btoa(fixedData), { type: 'base64' })
113
-            const firstSheetName = workbook.SheetNames[0]
114
-            const worksheet = workbook.Sheets[firstSheetName]
115
-
116
-            const header = this.get_header_row(worksheet)
117
-
118
-            const results = XLSX.utils.sheet_to_json(worksheet)
119
-            this.generateDate({ header, results })
120
-            this.loading = false
121
-            resolve()
122
-          }
123
-          reader.readAsArrayBuffer(rawFile)
124
-        })
125
-      },
126
-      fixdata(data) {
127
-        let o = ''
128
-        let l = 0
129
-        const w = 10240
130
-        for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)))
131
-        o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)))
132
-        return o
133
-      },
134
-      get_header_row(sheet) {
135
-
136
-        if(sheet['!ref'] == undefined){
137
-          this.loading = false
138
-          return
139
-        }
140
-
141
-        const headers = []
142
-        const range = XLSX.utils.decode_range(sheet['!ref'])
143
-        let C
144
-        const R = range.s.r /* start in the first row */
145
-        for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
146
-          var cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })] /* find the cell in the first row */
147
-          var hdr = 'UNKNOWN ' + C // <-- replace with your desired default
148
-          if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
149
-          headers.push(hdr)
150
-        }
151
-        return headers
152
-
153
-
154
-
155
-      },
156
-      isExcel(file) {
157
-
158
-        return /\.(xlsx|xls|csv)$/.test(file.name)
159
-      }
160
-    }
161
-  }
162
-</script>
163
-
164
-<style scoped>
165
-  #excel-upload-input {
166
-    display: none;
167
-    z-index: -9999;
168
-  }
169
-
170
-  #drop {
171
-    border: 2px dashed #bbb;
172
-    width: 600px;
173
-    height: 160px;
174
-    line-height: 160px;
175
-    margin: 0 auto;
176
-    font-size: 24px;
177
-    border-radius: 5px;
178
-    text-align: center;
179
-    color: #bbb;
180
-    position: relative;
181
-  }
182
-</style>
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :visible.sync="msgTipVisible"
5
+      width="40%"
6
+      :modal-append-to-body='false'
7
+      :close-on-click-modal="false"
8
+    >
9
+      <span>若执行排班导入,系统将会清除当前已有临时排班数据,是否继续导入?</span>
10
+      <span slot="footer" class="dialog-footer">
11
+    <el-button @click="msgTipVisible = false">取 消</el-button>
12
+    <el-button type="primary" @click="handleUpload()">确 定</el-button>
13
+  </span>
14
+    </el-dialog>
15
+     <input id="excel-upload-input" ref="excel-upload-input" type="file"  accept=".xlsx,.xls,.xltx," @change="handleClick" >
16
+    <el-button :loading="loading" style="margin-left:16px;" size="mini" type="primary" @click="msgTipVisible = true">导入排班
17
+    </el-button>
18
+  </div>
19
+</template>
20
+
21
+<script>
22
+  import XLSX from 'xlsx'
23
+
24
+  export default {
25
+    name: "scheduleUploadExcel",
26
+    props: {
27
+      beforeUpload: Function,
28
+      onSuccess: Function
29
+    },
30
+    data() {
31
+      return {
32
+        loading: false,
33
+        msgTipVisible:false,
34
+        excelData: {
35
+          header: null,
36
+          results: null
37
+        }
38
+      }
39
+    },
40
+    methods: {
41
+      generateDate({ header, results }) {
42
+        console.log("header",header)
43
+        console.log("results",results)
44
+        this.excelData.header = header
45
+        this.excelData.results = results
46
+
47
+        this.onSuccess && this.onSuccess(this.excelData)
48
+      },
49
+      handleDrop(e) {
50
+        e.stopPropagation()
51
+        e.preventDefault()
52
+        if (this.loading) return
53
+        const files = e.dataTransfer.files
54
+        if (files.length !== 1) {
55
+          this.$message.error('Only support uploading one file!')
56
+          return
57
+        }
58
+        const rawFile = files[0] // only use files[0]
59
+
60
+        if (!this.isExcel(rawFile)) {
61
+          this.$message.error('Only supports upload .xlsx, .xls, .csv suffix files')
62
+          return false
63
+        }
64
+        this.upload(rawFile)
65
+        e.stopPropagation()
66
+        e.preventDefault()
67
+      },
68
+      handleDragover(e) {
69
+        e.stopPropagation()
70
+        e.preventDefault()
71
+        e.dataTransfer.dropEffect = 'copy'
72
+      },
73
+      handleUpload() {
74
+        this.msgTipVisible = false
75
+
76
+        document.getElementById('excel-upload-input').click()
77
+      },
78
+      handleClick(e) {
79
+
80
+        const files = e.target.files
81
+        const rawFile = files[0] // only use files[0]
82
+        console.log("rawfiel",rawFile)
83
+        if (!rawFile)
84
+        return
85
+        this.upload(rawFile)
86
+
87
+      },
88
+      upload(rawFile) {
89
+
90
+        this.$refs['excel-upload-input'].value = null // fix can't select the same excel
91
+        console.log("3333",this.beforeUpload)
92
+        if (!this.beforeUpload) {
93
+          this.readerData(rawFile)
94
+          return
95
+        }
96
+        const before = this.beforeUpload(rawFile)
97
+        console.log("before",before)
98
+        if (before) {
99
+          this.readerData(rawFile)
100
+        }
101
+      },
102
+      readerData(rawFile) {
103
+
104
+        this.loading = true
105
+        return new Promise((resolve, reject) => {
106
+          const reader = new FileReader()
107
+          reader.onload = e => {
108
+
109
+            const data = e.target.result
110
+            console.log("data22222",data)
111
+            const fixedData = this.fixdata(data)
112
+            const workbook = XLSX.read(btoa(fixedData), { type: 'base64' })
113
+            const firstSheetName = workbook.SheetNames[0]
114
+            const worksheet = workbook.Sheets[firstSheetName]
115
+
116
+            const header = this.get_header_row(worksheet)
117
+
118
+            const results = XLSX.utils.sheet_to_json(worksheet)
119
+            this.generateDate({ header, results })
120
+            this.loading = false
121
+            resolve()
122
+          }
123
+          reader.readAsArrayBuffer(rawFile)
124
+        })
125
+      },
126
+      fixdata(data) {
127
+        let o = ''
128
+        let l = 0
129
+        const w = 10240
130
+        for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)))
131
+        o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)))
132
+        return o
133
+      },
134
+      get_header_row(sheet) {
135
+
136
+        if(sheet['!ref'] == undefined){
137
+          this.loading = false
138
+          return
139
+        }
140
+
141
+        const headers = []
142
+        const range = XLSX.utils.decode_range(sheet['!ref'])
143
+        let C
144
+        const R = range.s.r /* start in the first row */
145
+        for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
146
+          var cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })] /* find the cell in the first row */
147
+          var hdr = 'UNKNOWN ' + C // <-- replace with your desired default
148
+          if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
149
+          headers.push(hdr)
150
+        }
151
+        return headers
152
+
153
+
154
+
155
+      },
156
+      isExcel(file) {
157
+
158
+        return /\.(xlsx|xls|csv)$/.test(file.name)
159
+      }
160
+    }
161
+  }
162
+</script>
163
+
164
+<style scoped>
165
+  #excel-upload-input {
166
+    display: none;
167
+    z-index: -9999;
168
+  }
169
+
170
+  #drop {
171
+    border: 2px dashed #bbb;
172
+    width: 600px;
173
+    height: 160px;
174
+    line-height: 160px;
175
+    margin: 0 auto;
176
+    font-size: 24px;
177
+    border-radius: 5px;
178
+    text-align: center;
179
+    color: #bbb;
180
+    position: relative;
181
+  }
182
+</style>

+ 86 - 69
src/xt_pages/workforce/components/tableData.vue 查看文件

@@ -74,77 +74,79 @@
74 74
       </div>
75 75
     </div>
76 76
 
77
-    <el-dialog :visible.sync="searchTableVisible" width="80%">
78
-      <el-table
79
-        :data="schedulePatients"
80
-        :header-cell-style="{
81
-          backgroundColor: 'rgb(245, 247, 250)',
82
-          color: '#606266'
83
-        }"
84
-        :row-style="{ color: '#303133' }"
85
-        style="width: 100%"
86
-        border
87
-      >
88
-        <el-table-column label="姓名" width="120">
89
-          <template slot-scope="scope">
90
-            {{ scope.row.patient }}
91
-          </template>
92
-        </el-table-column>
93
-        <el-table-column label="透析日期" width="200">
94
-          <template slot-scope="scope">
95
-            {{ getDialysisDate(scope.row) }}
96
-          </template>
97
-        </el-table-column>
98
-        <el-table-column label="分区">
99
-          <template slot-scope="scope">
100
-            {{ scope.row.zone.name }}
101
-          </template>
102
-        </el-table-column>
103
-        <el-table-column label="班次" width="80">
104
-          <template slot-scope="scope">
105
-            {{ getSchedulesType(scope.row.schedule_type,scope.row) }}
106
-          </template>
107
-        </el-table-column>
108
-        <el-table-column label="机号" width="80">
109
-          <template slot-scope="scope">
110
-            {{ scope.row.number.number }}
111
-          </template>
112
-        </el-table-column>
113
-        <el-table-column label="透析模式" width="100">
114
-          <template slot-scope="scope">
115
-            {{ scope.row.mode.name }}
116
-          </template>
117
-        </el-table-column>
118
-        <el-table-column label="操作" align="center" width="300">
119
-          <template slot-scope="scope">
120
-            <span v-if="now_time <=scope.row.schedule_date">
77
+    <el-dialog :visible.sync="searchTableVisible" width="80%" class="eldialog">
78
+      <div style="position: relative;">
79
+        <el-table
80
+          :data="schedulePatients"
81
+          :header-cell-style="{
82
+            backgroundColor: 'rgb(245, 247, 250)',
83
+            color: '#606266'
84
+          }"
85
+          :row-style="{ color: '#303133' }"
86
+          style="width: 100%"
87
+          border
88
+        >
89
+          <el-table-column label="姓名" width="120">
90
+            <template slot-scope="scope">
91
+              {{ scope.row.patient }}
92
+            </template>
93
+          </el-table-column>
94
+          <el-table-column label="透析日期" width="200">
95
+            <template slot-scope="scope">
96
+              {{ getDialysisDate(scope.row) }}
97
+            </template>
98
+          </el-table-column>
99
+          <el-table-column label="分区">
100
+            <template slot-scope="scope">
101
+              {{ scope.row.zone.name }}
102
+            </template>
103
+          </el-table-column>
104
+          <el-table-column label="班次" width="80">
105
+            <template slot-scope="scope">
106
+              {{ getSchedulesType(scope.row.schedule_type,scope.row) }}
107
+            </template>
108
+          </el-table-column>
109
+          <el-table-column label="机号" width="80">
110
+            <template slot-scope="scope">
111
+              {{ scope.row.number.number }}
112
+            </template>
113
+          </el-table-column>
114
+          <el-table-column label="透析模式" width="100">
115
+            <template slot-scope="scope">
116
+              {{ scope.row.mode.name }}
117
+            </template>
118
+          </el-table-column>
119
+          <el-table-column label="操作" align="center" width="300">
120
+            <template slot-scope="scope">
121
+              <span v-if="now_time <=scope.row.schedule_date">
122
+                <el-button
123
+                size="mini"
124
+                type="primary"
125
+                @click="CancelSchedule(scope.row.id)"
126
+              >
127
+                取消排班
128
+              </el-button>
121 129
               <el-button
122
-              size="mini"
123
-              type="primary"
124
-              @click="CancelSchedule(scope.row.id)"
125
-            >
126
-              取消排班
127
-            </el-button>
128
-            <el-button
129
-              size="mini"
130
-              type="primary"
131
-              @click="changeMachineNumber(scope.$index, scope.row)"
132
-            >
133
-              调整机号
134
-            </el-button>
135
-            <el-button
136
-              size="mini"
137
-              type="primary"
138
-              @click="changeMode(scope.$index, scope.row)"
139
-            >
140
-              调整模式
141
-            </el-button>
142
-            </span>
143
-
144
-          </template>
145
-        </el-table-column>
146
-      </el-table>
130
+                size="mini"
131
+                type="primary"
132
+                @click="changeMachineNumber(scope.$index, scope.row)"
133
+              >
134
+                调整机号
135
+              </el-button>
136
+              <el-button
137
+                size="mini"
138
+                type="primary"
139
+                @click="changeMode(scope.$index, scope.row)"
140
+              >
141
+                调整模式
142
+              </el-button>
143
+              </span>
144
+            </template>
145
+          </el-table-column>
146
+        </el-table>
147
+      </div>
147 148
     </el-dialog>
149
+    
148 150
     <div class="center-tab">
149 151
       <el-table
150 152
         :row-style="{ color: '#303133' }"
@@ -3328,6 +3330,21 @@ textarea{
3328 3330
 .backPurple{
3329 3331
   color: #f32424 !important;
3330 3332
 }
3333
+.eldialog{
3334
+  .el-dialog__headerbtn {
3335
+    // position: absolute;
3336
+    // top: 20px;
3337
+    // right: 20px;
3338
+    // padding: 0;
3339
+    // background: 0 0;
3340
+    // border: none;
3341
+    // outline: 0;
3342
+    // cursor: pointer;
3343
+    // font-size: 16px;
3344
+    z-index: 3 !important;
3345
+}
3346
+}
3347
+
3331 3348
 // .el-table td .cell{
3332 3349
 //   padding: 0px 0px !important;
3333 3350
 // }

+ 1 - 1
src/xt_pages/workforce/components/tableWeeks.vue 查看文件

@@ -907,7 +907,7 @@
907 907
             path: '/schedule/remind/print/setting/one?week_type=' + this.week_type + '&week_time=' + this.week_time + '&zone=' + str + '&prestatus=' + this.pre_status+"&type="+1
908 908
           })
909 909
         }
910
-        if(this.org_id != 9671 && this.org_id != 9675 && this.org_id != 10340){
910
+        if(this.org_id != 9671 && this.org_id != 9675 && this.org_id != 10340 && this.org_id != 0){
911 911
           var zone = this.zone
912 912
           console.log("zone23232",zone)
913 913
           var newArr = []

+ 31 - 29
src/xt_pages/workforce/remind_print_setting_one.vue 查看文件

@@ -18,22 +18,26 @@
18 18
       <div id="print_content">
19 19
         <div class="print_main_content">
20 20
           <div class="table_panel" v-loding="loading"  element-loading-text="拼命加载中">
21
-            <div v-for="(main_collection,index) in scheduleData" :key="index" :class="(org_id == 9671 || org_id == 10340) && parseInt((index+1)%8) == 0  ? 'page-break-after':''">
22
-             
23
-
24
-              <div class="signPrint" style="font-size:16px;">
25
-                <div style="font-size:24px;font-weight: 400;">姓名:
26
-                  <span v-if="type ==1 && printObj.name == 1">{{main_collection.patient.name}} </span>
27
-                  <span v-if="type ==2 && printObj.name == 1">{{main_collection.patient}} </span>
28
-                  <span v-if="type ==1 && printObj.name == 1">({{ main_collection.patient.dialysis_no }},
29
-                  <span> {{getGender(main_collection.patient.gender)}},</span> 
30
-                    {{getNewAge(main_collection.patient.id_card_no) }}岁)</span> 
31
-                  <span v-if="type ==2 && printObj.name == 1">({{ main_collection.dialysis_no }},
32
-                  <span>{{getGender(main_collection.gender) }},</span>  
33
-                    {{getNewAge(main_collection.id_card_no) }}岁)</span> 
34
-                  
35
-                </div>
36
-                <div class="printCell">
21
+            <div v-for="(main_collection,index) in scheduleData" :key="index" :class="(org_id == 9671 || org_id == 10340) && parseInt((index+1)%8) == 0  ? 'page-break-after':''"
22
+            style="display: inline-block; width: 42%; margin: 0px 35px 20px; 
23
+            box-sizing: border-box;
24
+            border: 1px solid black;
25
+            ">
26
+              <!-- <div style="display: flex;justify-content: space-between;flex-wrap: wrap;">
27
+                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 20px rgba(0, 0, 0, 0.06) inset; -->
28
+                <div class="signPrint" style="font-size:16px;width: 100%;padding:5px; word-wrap:break-word;">
29
+                  <div style="font-size:24px;font-weight: 400;">姓名:
30
+                    <span v-if="type ==1 && printObj.name == 1">{{main_collection.patient.name}} </span>
31
+                    <span v-if="type ==2 && printObj.name == 1">{{main_collection.patient}} </span>
32
+                    <span v-if="type ==1 && printObj.name == 1">({{ main_collection.patient.dialysis_no }},
33
+                    <span> {{getGender(main_collection.patient.gender)}},</span> 
34
+                      {{getNewAge(main_collection.patient.id_card_no) }}岁)</span> 
35
+                    <span v-if="type ==2 && printObj.name == 1">({{ main_collection.dialysis_no }},
36
+                    <span>{{getGender(main_collection.gender) }},</span>  
37
+                      {{getNewAge(main_collection.id_card_no) }}岁)</span> 
38
+                    
39
+                  </div>
40
+               <div class="printCell">
37 41
                   透析模式:
38 42
                     <span>{{getModeId(main_collection.mode_id)}}</span>
39 43
                   
@@ -186,9 +190,6 @@
186 190
                     分区/床号:
187 191
                     <span  style="width:auto;">{{main_collection.zone.name}}/</span>
188 192
                     {{ main_collection.number.number }}
189
-                    <!-- <span style="width:auto;" v-if="main_collection.schedule_type == 1">上午</span>
190
-                    <span style="width:auto;" v-if="main_collection.schedule_type == 2">下午</span>
191
-                    <span style="width:auto;" v-if="main_collection.schedule_type == 3">晚上</span> -->
192 193
                   </span>
193 194
                  
194 195
                 </div>
@@ -203,7 +204,8 @@
203 204
                  
204 205
                 </div>
205 206
               
206
-              </div>
207
+                </div> 
208
+              <!-- </div> -->
207 209
            </div>
208 210
           </div>
209 211
         </div>
@@ -381,12 +383,12 @@
381 383
         const style = '@media print {.signPrint{margin-left:30px;} .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } .printCell span{display: inline-block;width: 220px;} @page {margin-top:10px;}}'
382 384
         const style1 = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } .printCell span{display: inline-block;width: 220px;} @page {margin-top:10px;}}'
383 385
         const style2 = '@media print { .print_main_content { background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0; } .page-break-after{page-break-after:always;}.signPrint{width:40%;float: left;margin-left: 5%; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; margin-bottom: 20px;padding: 20px 10px;} .order_title_panl { text-align: center; } .main_title { font-size: 18px; line-height: 40px; font-weight: 500; } .table_panel { } .table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px; } thead tr td { border: 1px solid; text-align: center; font-size: 20px; padding: 15px 5px; } tbody tr td { border: 1px solid; text-align: center; font-size: 18px; padding: 10px 5px; } .proj { padding: 5px 0; text-align: left; } .proj_title { font-size: 16px; font-weight: 500; line-height: 25px; } .proj_item { font-size: 15px; line-height: 20px; } .zone_name { font-weight: 500; } .printCell span{display: inline-block;width: 220px;} @page {margin-top:10px;}}'
384
-        if (this.org_id == 9671 || this.org_id == 10340) {
386
+        if (this.org_id == 9671 || this.org_id == 10340 || this.org_id == 0) {
385 387
           printJS({
386 388
             printable: 'print_content',
387 389
             type: 'html',
388 390
             documentTitle: '  ',
389
-            style: style2,
391
+            style: style,
390 392
             scanStyles: false
391 393
           })
392 394
         } else if (this.org_id == 10188 || this.org_id == 10217) {
@@ -811,13 +813,13 @@
811 813
     }
812 814
   }
813 815
 }
814
-.signPrint{
815
-  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
816
-  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
817
-  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
818
-  margin-bottom: 20px;
819
-  padding: 20px 10px;
820
-}
816
+// .signPrint{
817
+//   // -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
818
+//   // -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
819
+//   // box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
820
+//   // margin-bottom: 20px;
821
+//   // padding: 20px 5px;
822
+// }
821 823
 .printCell{
822 824
   span{
823 825
     display: inline-block;