Browse Source

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

XMLWAN 2 years ago
parent
commit
eb37440e04

+ 3 - 2
src/xt_pages/device/main.vue View File

@@ -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>-->

+ 1 - 1
src/xt_pages/dialysis/details/consumable/dialysisGood.vue View File

@@ -79,7 +79,7 @@
79 79
              {{scope.row.device_number.zone.name}}  {{scope.row.device_number.number}}
80 80
            </template>
81 81
         </el-table-column>
82
-        <el-table-column  align="center"  width="55" label="姓名">
82
+        <el-table-column  align="center"  width="80" label="姓名">
83 83
            <template slot-scope="scope">
84 84
             {{scope.row.patient.name}}
85 85
            </template>

+ 1 - 1
src/xt_pages/management/components/UserForm.vue View File

@@ -106,7 +106,7 @@
106 106
         <el-table-column label="运行" align="center" min-width="110px">
107 107
           <template slot-scope="scope">{{ scope.row.move }}</template>
108 108
         </el-table-column>
109
-        <el-table-column label="机表消毒" align="center" min-width="110px">
109
+        <el-table-column label="机表(床单元、床旁桌)消毒" align="center" min-width="110px">
110 110
           <el-table-column label="消毒方式" align="center" min-width="110px">
111 111
             <template slot-scope="scope">{{
112 112
               scope.row.disinfect_type

+ 4 - 3
src/xt_pages/management/home.vue View File

@@ -1108,7 +1108,7 @@
1108 1108
                                 </el-row>
1109 1109
                                 <el-row>
1110 1110
                                   <el-col :span="3">
1111
-                                      <el-form-item label="①机表"></el-form-item>
1111
+                                      <el-form-item label="①机表(床单位、床旁桌)"></el-form-item>
1112 1112
                                   </el-col>
1113 1113
                                   <el-col :span="10">
1114 1114
                                      <el-form-item label="消毒方式:" required prop="disinfect_type">
@@ -1347,7 +1347,7 @@
1347 1347
                                   </div>
1348 1348
                                 </el-row>
1349 1349
                              </el-form>
1350
-
1350
+                           
1351 1351
                           </el-tab-pane>
1352 1352
                            <el-tab-pane label="使用登记列表" name="second">
1353 1353
                              <user-form ref="userForm" :userdata="userdata"></user-form>
@@ -2655,6 +2655,7 @@
2655 2655
   import {saveOxygenates,saveHardWater,saveWater,saveDevicePH} from '@/api/device'
2656 2656
 const cityOptions = ['HD', 'HDF', 'HD+HP', 'HP', 'HF', 'SCUF', 'IUF', 'HFHD', 'HFHD+HP', 'PHF', 'HFR', 'HDF+HP', 'CRRT', '腹水回输']
2657 2657
 const moment = require('moment')
2658
+
2658 2659
 export default {
2659 2660
     name: 'home',
2660 2661
     components: {
@@ -2665,7 +2666,7 @@ export default {
2665 2666
       UserForm,
2666 2667
       QualityForm,
2667 2668
       RepairForm,
2668
-      RemanderForm
2669
+      RemanderForm,
2669 2670
     },
2670 2671
     data() {
2671 2672
       return {

+ 31 - 9
src/xt_pages/outpatientCharges/components/chargeDialog.vue View File

@@ -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
         })

+ 1 - 1
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -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

+ 22 - 0
src/xt_pages/outpatientTool/components/settle.vue View File

@@ -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">

+ 16 - 19
src/xt_pages/user/firstDiseasePrint.vue View File

@@ -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;">
@@ -43,30 +41,28 @@
43 41
                 </div> 
44 42
             </div>
45 43
 
46
-             <div class="inline_block" style="width:100%;height:100%">
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">
46
+              <div v-html="hosDetail.tentative_diagnosis" class="printP" style="text-indent:20px;">
49 47
               </div>
50 48
              </div>
51 49
 
52
-             <div class="inline_block" style="width:100%;height:100%">
50
+             <div class="inline_block" style="width:100%;">
53 51
               <span style="font-size:20px"> 诊断依据:</span>
54
-              <span v-html="hosDetail.diagnostic_basis" class="printP" style="text-indent:20px">
55
-              </span>
52
+              <div v-html="hosDetail.diagnostic_basis" class="printP" style="text-indent:20px; margin-bottom: 0px;">
53
+              </div>
56 54
              </div>
57 55
 
58 56
              <div class="inline_block" style="width:100%;">
59 57
                 <span  style="font-size:20px">鉴别诊断:</span> 
60
-                <span v-html="hosDetail.differential_diagnosis" class="printP" style="text-indent:20px">
61
-
62
-                </span>
58
+                <div v-html="hosDetail.differential_diagnosis" class="printP" style="text-indent:20px">
59
+                </div>
63 60
               </div>
64 61
 
65 62
               <div class="inline_block" style="width:100%;">
66 63
                  <span style="font-size:20px">诊疗计划:</span>
67
-                <span v-html="hosDetail.treatment_plan" class="printP" style="text-indent:20px">
68
-
69
-                </span>
64
+                <div v-html="hosDetail.treatment_plan" class="printP" style="text-indent:20px">
65
+                </div>
70 66
               </div>
71 67
 
72 68
              <div class="inline_block" style="float:right;margin-right:50px">
@@ -96,6 +92,7 @@ import BreadCrumb from '@/xt_pages/components/bread-crumb'
96 92
 import {getFirstDetail,getPatientInfo} from "@/api/patient"
97 93
 import { getAllDoctorList } from "@/api/device"
98 94
 import { getDataConfig } from "@/utils/data";
95
+import print from "print-js";
99 96
 export default {
100 97
   name: 'dialysisPrintOrderOne',
101 98
   components: {
@@ -133,7 +130,7 @@ export default {
133 130
     printThisPage() {
134 131
         var ptime = Math.round(new Date().getTime() / 1000)
135 132
         this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
136
-        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;}'
137 134
         printJS({
138 135
             printable: 'dialysis-print-box',
139 136
             type: 'html',
@@ -231,12 +228,12 @@ export default {
231 228
       return count + 1
232 229
     },
233 230
     printAction: function() {
234
-      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;}'
235 232
       printJS({
236 233
         printable: 'print_content',
237 234
         type: 'html',
238 235
         documentTitle: '  ',
239
-        style: style,
236
+        // style: style,
240 237
         scanStyles: false
241 238
       })
242 239
     },
@@ -299,7 +296,7 @@ export default {
299 296
 <style>
300 297
 .borderBox  p{
301 298
   font-weight: bold;
302
-  margin: 10px 0;
299
+  /* margin: 10px 0; */
303 300
 }
304 301
 .dialysis-print-order {
305 302
   width: 960px;
@@ -318,7 +315,7 @@ export default {
318 315
   font-weight: 600;
319 316
   text-align: center;
320 317
   font-size: 22px;
321
-  padding: 10px 20px 20px 20px;
318
+  /* padding: 10px 20px 20px 20px; */
322 319
 }
323 320
 
324 321
 .dialysis-print-order .table-box {

+ 1 - 1
src/xt_pages/workforce/components/editTableData.vue View File

@@ -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 View File

@@ -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>