28169 1 år sedan
förälder
incheckning
060b85b450

+ 1 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_fiftyThree.vue Visa fil

@@ -1147,7 +1147,7 @@ export default {
1147 1147
       "hemodialysis",
1148 1148
       "vascular_access_desc"
1149 1149
     );
1150
-    console.log("z=============",this.bloodAccessParOperaList)
1150
+   
1151 1151
     this.way_arr = getDataConfig("hemodialysis", "way");
1152 1152
     this.consciousness_arr = getDataConfig("hemodialysis", "consciousness");
1153 1153
     this.appetite_arr = getDataConfig("hemodialysis", "appetite");

+ 421 - 0
src/xt_pages/hospitalStation/batchStatementTemplate/hospitalBatchPrint.vue Visa fil

@@ -0,0 +1,421 @@
1
+<template>
2
+    <div id="statement-print" class="statement-print">
3
+      <div  v-for="(info,index) in infos">
4
+      <div class="statementTitle">广东省社会医疗保险医疗费用结算单</div>
5
+      <table class="statementTable" border="1">
6
+        <tr>
7
+          <td width="80">机构名称</td>
8
+          <td colspan="4">{{info.fixmedins_name}}</td>
9
+          <td width="80">机构编码</td>
10
+          <td colspan="4">{{info.fixmedins_code}}</td>
11
+          <td width="100">医保结算级别</td>
12
+          <td width="100" v-if="info.hosp_lv == '1'">三级特等</td>
13
+          <td width="100" v-if="info.hosp_lv == '2'">三级甲等</td>
14
+          <td width="100" v-if="info.hosp_lv == '3'">三级乙等</td>
15
+          <td width="100" v-if="info.hosp_lv == '4'">三级丙等</td>
16
+          <td width="100" v-if="info.hosp_lv == '5'">二级甲等</td>
17
+          <td width="100" v-if="info.hosp_lv == '6'">二级乙等</td>
18
+          <td width="100" v-if="info.hosp_lv == '7'">二级丙等</td>
19
+          <td width="100" v-if="info.hosp_lv == '8'">一级甲等</td>
20
+          <td width="100" v-if="info.hosp_lv == '9'">一级乙等</td>
21
+          <td width="100" v-if="info.hosp_lv == '10'">一级丙等</td>
22
+          <td width="100" v-if="info.hosp_lv == '11'">无等级</td>
23
+          <td width="100" v-else></td>
24
+  
25
+        </tr>
26
+        <tr>
27
+          <td width="90">就医登记号</td>
28
+          <td colspan="11">{{info.mdtrt_id}}</td>
29
+        </tr>
30
+        <tr>
31
+          <td width="80">姓名</td>
32
+          <td width="80">{{info.psn_name}}</td>
33
+          <td width="80">性别</td>
34
+          <td width="50" v-if="info.gend == '1'">男</td>
35
+          <td width="50" v-if="info.gend == '2'">女</td>
36
+  
37
+          <td width="80">出生日期</td>
38
+          <td width="100">{{info.brdy}}</td>
39
+          <td width="90">个人电脑号</td>
40
+          <td width="110">{{info.psn_no}}</td>
41
+          <td width="80">人员类别</td>
42
+          <td colspan="3" v-if="info.psn_type == '11'">在职</td>
43
+          <td colspan="3" v-if="info.psn_type == '1101'">职工在职</td>
44
+          <td colspan="3" v-if="info.psn_type == '1102'">公务员在职</td>
45
+          <td colspan="3" v-if="info.psn_type == '1103'">灵活就业人员在职</td>
46
+          <td colspan="3" v-if="info.psn_type == '1160'">地方其他扩展人员</td>
47
+  
48
+  
49
+          <td colspan="3" v-if="info.psn_type == '12'">退休人员</td>
50
+          <td colspan="3" v-if="info.psn_type == '1201'">职工退休</td>
51
+          <td colspan="3" v-if="info.psn_type == '1202'">公务员退休</td>
52
+          <td colspan="3" v-if="info.psn_type == '1203'">灵活就业人员退休</td>
53
+          <td colspan="3" v-if="info.psn_type == '1260'">地方其他扩展人员</td>
54
+  
55
+  
56
+          <td colspan="3" v-if="info.psn_type == '13'">离休</td>
57
+          <td colspan="3" v-if="info.psn_type == '1300'">离休人员</td>
58
+          <td colspan="3" v-if="info.psn_type == '1360'">地方其他扩展人员</td>
59
+  
60
+          <td colspan="3" v-if="info.psn_type == '14'">居民(未成年)</td>
61
+          <td colspan="3" v-if="info.psn_type == '1401'">新生儿</td>
62
+          <td colspan="3" v-if="info.psn_type == '1402'">学龄前儿童</td>
63
+          <td colspan="3" v-if="info.psn_type == '1403'">中小学生</td>
64
+          <td colspan="3" v-if="info.psn_type == '1404'">大学生</td>
65
+          <td colspan="3" v-if="info.psn_type == '1405'">未成年(未入学)</td>
66
+  
67
+  
68
+          <td colspan="3" v-if="info.psn_type == '15'">居民(成年)</td>
69
+          <td colspan="3" v-if="info.psn_type == '1501'">普通居民(成年)</td>
70
+          <td colspan="3" v-if="info.psn_type == '1560'">地方其他扩展身份</td>
71
+  
72
+          <td colspan="3" v-if="info.psn_type == '16'">居民(老年)</td>
73
+  
74
+  
75
+  
76
+        </tr>
77
+        <tr>
78
+          <td>单位名称</td>
79
+          <td colspan="5">{{info.emp_name}}</td>
80
+          <td width="80">联系电话</td>
81
+          <td width="110">{{info.patient.phone}}</td>
82
+          <td width="80">身份证号</td>
83
+          <td colspan="3">{{info.certno}}</td>
84
+        </tr>
85
+        <tr>
86
+          <td>住院号</td>
87
+          <td>{{info.number}}</td>
88
+          <td>科别</td>
89
+          <td width="100"></td>
90
+          <td>床号</td>
91
+          <td></td>
92
+          <td>入院日期</td>
93
+          <td>{{info.begndate}}</td>
94
+          <td>出院日期</td>
95
+          <td width="100">{{info.enddate}}</td>
96
+          <td>住院天数</td>
97
+          <td>{{getDay(info.begndate,info.enddate)}}</td>
98
+  
99
+        </tr>
100
+        <tr>
101
+          <td>险种</td>
102
+          <td colspan="2" v-if="info.insutype == '310'">职工基本医疗保险</td>
103
+          <td colspan="2" v-if="info.insutype == '320'">公务员医疗补助</td>
104
+          <td colspan="2" v-if="info.insutype == '330'">大额医疗费用补助</td>
105
+          <td colspan="2" v-if="info.insutype == '340'">离休人员医疗保障</td>
106
+          <td colspan="2" v-if="info.insutype == '390'">城乡居民基本医疗保险</td>
107
+          <td colspan="2" v-if="info.insutype == '392'">城乡居民大病医疗保险</td>
108
+          <td colspan="2" v-if="info.insutype == '510'">生育保险</td>
109
+          <td>入院第一诊断</td>
110
+          <td colspan="3">{{info.diagnosis}}</td>
111
+          <td>出院第一诊断</td>
112
+          <td colspan="4">{{info.diagnosis}}</td>
113
+  
114
+  
115
+        </tr>
116
+        <tr>
117
+          <td>业务类别</td>
118
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '11'">普通门诊</td>
119
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '12'">门诊挂号</td>
120
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '13'">急诊</td>
121
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '14'">门诊慢性病</td>
122
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '15'">门诊统筹</td>
123
+          <!--        <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '16'">门诊慢性病</td>-->
124
+          <td colspan="5" style="text-align:left;padding-left:10px;" v-if="info.med_type == '21'">普通住院</td>
125
+  
126
+          <td>结算时间</td>
127
+          <td colspan="5" style="text-align:left;padding-left:10px;">{{info.setl_time.split(' ')[0]}}</td>
128
+        </tr>
129
+        <tr>
130
+          <td colspan="12" style="text-align:left;padding-left:10px;">
131
+            本次就医:总费用{{info.medfee_sumamt}}元,基金支付{{info.fund_pay_sumamt}}元,个人支付{{info.psn_pay}}元。
132
+            (起付线 {{info.act_pay_dedc}}元, 先自付 {{info.preselfpay_amt}}元, 段内自付 {{(info.psn_pay - info.preselfpay_amt).toFixed(2)}} )
133
+  
134
+          </td>
135
+        </tr>
136
+        <tr>
137
+          <td>费用名称</td>
138
+          <td colspan="2">总费用</td>
139
+          <td>自费</td>
140
+          <td colspan="2">部分项目自付</td>
141
+          <td>费用名称</td>
142
+          <td colspan="2">总费用</td>
143
+          <td>自费</td>
144
+          <td colspan="2">部分项目自付</td>
145
+        </tr>
146
+        <tr>
147
+          <td>床位费</td>
148
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.bed_cost_total}}</td>
149
+          <td style="text-align:right;padding-right:10px;">{{info.bed_cost_self_total}}</td>
150
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.bed_cost_part_self_total}}</td>
151
+          <td>西成药</td>
152
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.western_medicine_cost_total}}</td>
153
+          <td style="text-align:right;padding-right:10px;">{{info.western_medicine_cost_self_total}}</td>
154
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.western_medicine_cost_part_self_total}}</td>
155
+        </tr>
156
+        <tr>
157
+          <td>中药费</td>
158
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
159
+          <td style="text-align:right;padding-right:10px;">0</td>
160
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
161
+          <td>中成药</td>
162
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.chinese_traditional_medicine_cost_total}}
163
+          </td>
164
+          <td style="text-align:right;padding-right:10px;">{{info.chinese_traditional_medicine_cost_self_total}}</td>
165
+          <td colspan="2" style="text-align:right;padding-right:10px;">
166
+            {{info.chinese_traditional_medicine_cost_part_self_total}}
167
+          </td>
168
+        </tr>
169
+        <tr>
170
+          <td>中草药</td>
171
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
172
+          <td style="text-align:right;padding-right:10px;">0</td>
173
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
174
+          <td>检查费</td>
175
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.check_cost_total}}</td>
176
+          <td style="text-align:right;padding-right:10px;">{{info.check_cost_self_total}}</td>
177
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.check_cost_part_self_total}}</td>
178
+        </tr>
179
+        <tr>
180
+          <td>治疗费</td>
181
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.treat_cost_total}}</td>
182
+          <td style="text-align:right;padding-right:10px;">{{info.treat_cost_self_total}}</td>
183
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.treat_cost_part_self_total}}</td>
184
+          <td>放射费</td>
185
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
186
+          <td style="text-align:right;padding-right:10px;">0</td>
187
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
188
+        </tr>
189
+        <tr>
190
+          <td>手术费</td>
191
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.operation_cost_total}}</td>
192
+          <td style="text-align:right;padding-right:10px;">{{info.operation_cost_self_total}}</td>
193
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.operation_cost_part_self_total}}</td>
194
+          <td>化验费</td>
195
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.laboratory_cost_total}}</td>
196
+          <td style="text-align:right;padding-right:10px;">{{info.laboratory_cost_self_total}}</td>
197
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.laboratory_cost_part_self_total}}</td>
198
+        </tr>
199
+        <tr>
200
+          <td>输血费</td>
201
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
202
+          <td style="text-align:right;padding-right:10px;">0</td>
203
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
204
+          <td>输氧费</td>
205
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
206
+          <td style="text-align:right;padding-right:10px;">0</td>
207
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
208
+        </tr>
209
+        <tr>
210
+          <td>其他</td>
211
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.other_cost_total}}</td>
212
+          <td style="text-align:right;padding-right:10px;">{{info.other_cost_self_total}}</td>
213
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.other_cost_part_self_total}}</td>
214
+          <td>麻醉费</td>
215
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
216
+          <td style="text-align:right;padding-right:10px;">0</td>
217
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
218
+        </tr>
219
+        <tr>
220
+          <td>材料费</td>
221
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.material_cost_total}}</td>
222
+          <td style="text-align:right;padding-right:10px;">{{info.material_cost_self_total}}</td>
223
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{info.material_cost_part_self_total}}</td>
224
+          <td>特殊检查费</td>
225
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
226
+          <td style="text-align:right;padding-right:10px;">0</td>
227
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
228
+        </tr>
229
+        <tr>
230
+          <td>特殊治疗费</td>
231
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
232
+          <td style="text-align:right;padding-right:10px;">0</td>
233
+          <td colspan="2" style="text-align:right;padding-right:10px;">0</td>
234
+          <td style="text-align:right;padding-right:10px;"></td>
235
+          <td colspan="2" style="text-align:right;padding-right:10px;"></td>
236
+          <td style="text-align:right;padding-right:10px;"></td>
237
+          <td colspan="2" style="text-align:right;padding-right:10px;"></td>
238
+        </tr>
239
+        <tr>
240
+          <td>合计</td>
241
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_total) +
242
+            parseFloat(info.operation_cost_total) + parseFloat(info.other_cost_total) +
243
+            parseFloat(info.material_cost_total) + parseFloat(info.western_medicine_cost_total) +
244
+            parseFloat(info.chinese_traditional_medicine_cost_total) + parseFloat(info.check_cost_total) +
245
+            parseFloat(info.laboratory_cost_total) + parseFloat(info.treat_cost_total)).toFixed(2) }}
246
+          </td>
247
+          <td style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_self_total )+
248
+            parseFloat(info.operation_cost_self_total) + parseFloat(info.other_cost_self_total) +
249
+            parseFloat(info.material_cost_self_total) + parseFloat(info.western_medicine_cost_self_total) +
250
+            parseFloat(info.chinese_traditional_medicine_cost_self_total) + parseFloat(info.check_cost_self_total) +
251
+            parseFloat(info.laboratory_cost_self_total) + parseFloat(info.treat_cost_self_total)).toFixed(2)}}
252
+          </td>
253
+          <td colspan="2" style="text-align:right;padding-right:10px;">{{(parseFloat(info.bed_cost_part_self_total) +
254
+            parseFloat(info.operation_cost_part_self_total) + parseFloat(info.other_cost_part_self_total) +
255
+            parseFloat(info.material_cost_part_self_total) + parseFloat(info.western_medicine_cost_part_self_total) +
256
+            parseFloat(info.chinese_traditional_medicine_cost_part_self_total) +
257
+            parseFloat(info.check_cost_part_self_total) + parseFloat(info.laboratory_cost_part_self_total) +
258
+            parseFloat(info.treat_cost_part_self_total)).toFixed(2)}}
259
+          </td>
260
+          <td style="text-align:right;padding-right:10px;"></td>
261
+          <td colspan="2" style="text-align:right;padding-right:10px;"></td>
262
+          <td style="text-align:right;padding-right:10px;"></td>
263
+          <td colspan="2" style="text-align:right;padding-right:10px;"></td>
264
+        </tr>
265
+        <tr>
266
+          <td colspan="3" style="text-align:left;padding-left:10px;">基本医疗保险统筹基金支付</td>
267
+          <td colspan="3">{{info.hifp_pay}}</td>
268
+          <td colspan="3" style="text-align:left;padding-left:10px;">大额基金支付</td>
269
+          <td colspan="3">{{info.hifob_pay}}</td>
270
+        </tr>
271
+        <tr>
272
+          <td colspan="3" style="text-align:left;padding-left:10px;">大病基金支付</td>
273
+          <td colspan="3">{{info.hifmi_pay}}</td>
274
+          <td colspan="3" style="text-align:left;padding-left:10px;">补充保险基金支付</td>
275
+          <td colspan="3">{{info.hifes_pay}}</td>
276
+        </tr>
277
+        <tr>
278
+          <td colspan="3" style="text-align:left;padding-left:10px;">医疗救助基金支付</td>
279
+          <td colspan="3">{{info.maf_pay}}</td>
280
+          <td colspan="3" style="text-align:left;padding-left:10px;">公务员基金支付</td>
281
+          <td colspan="3">{{info.cvlserv_pay}}</td>
282
+        </tr>
283
+  
284
+        <tr>
285
+          <td colspan="3" style="text-align:left;padding-left:10px;">其他基金支付</td>
286
+          <td colspan="3">{{info.oth_pay}}</td>
287
+          <td colspan="3" style="text-align:left;padding-left:10px;">个人账户支付</td>
288
+          <td colspan="3">{{info.acct_pay}}</td>
289
+        </tr>
290
+        <tr>
291
+          <td>收款人:</td>
292
+          <td colspan="2">{{info.charge_admin.user_name}}</td>
293
+          <td>审核人:</td>
294
+          <td colspan="2">{{info.p_admin.user_name}}</td>
295
+          <td>制单人:</td>
296
+          <td colspan="2">{{info.p_admin.user_name}}</td>
297
+          <td>打印日期</td>
298
+          <td colspan="2">{{getNowTime()}}</td>
299
+        </tr>
300
+        <tr>
301
+          <td colspan="12" style="text-align:left;padding-left:10px;line-height:20px;">
302
+            注: 1、部分项目自付金额是指基本医疗保险范围内的项目需参保人先按规定比例自付的金额。<br/>
303
+            &ensp;&ensp;&ensp;2、此表由医院打印。<br/>
304
+            &ensp;&ensp;&ensp;3、此表一式两份,医院、参保人各一份。
305
+          </td>
306
+        </tr>
307
+        <tr>
308
+          <td colspan="12" style="text-align:left;padding-left:10px;">
309
+            病人家属签字:
310
+          </td>
311
+        </tr>
312
+      </table>
313
+    </div>
314
+    </div>
315
+  </template>
316
+  <script>
317
+  
318
+  export default {
319
+    name: 'hospitalBatchPrint',
320
+    props: {
321
+      infos:{
322
+        type: Array,
323
+        default: function() {
324
+          return []
325
+        }
326
+      },
327
+      info: {
328
+        type: Object,
329
+        default: function() {
330
+          return {}
331
+        }
332
+      }, p_admin: {
333
+        type: Object,
334
+        default: function() {
335
+          return {}
336
+        }
337
+      }, charge_admin: {
338
+        type: Object,
339
+        default: function() {
340
+          return {}
341
+        },
342
+      },his: {
343
+        type: Object,
344
+        default: function() {
345
+          return {}
346
+        },
347
+      },his_record: {
348
+        type: Object,
349
+        default: function() {
350
+          return {}
351
+        },
352
+      },patient:{
353
+        type: Object,
354
+        default: function() {
355
+          return {}
356
+        },
357
+  
358
+      }
359
+    },methods:{
360
+      getDay(dateString1,dateString2){
361
+        var  startDate = Date.parse(dateString1);
362
+        var  endDate = Date.parse(dateString2);
363
+        if (startDate>endDate){
364
+          return 0;
365
+        }
366
+        if (startDate==endDate){
367
+          return 1;
368
+        }
369
+        var days=(endDate - startDate)/(1*24*60*60*1000);
370
+        return  days+1;
371
+  
372
+      },
373
+      getNowTime: function () {
374
+        let dateTime;
375
+        let yy = new Date().getFullYear();
376
+        let mm = new Date().getMonth() + 1;
377
+        let dd = new Date().getDate();
378
+        // let hh = new Date().getHours();
379
+        // let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes()
380
+        //   :
381
+        //   new Date().getMinutes();
382
+        // let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds()
383
+        //   :
384
+        //   new Date().getSeconds();
385
+        dateTime = yy + '-' + mm + '-' + dd
386
+        return dateTime
387
+      },
388
+  
389
+    }
390
+  }
391
+  
392
+  
393
+  </script>
394
+  
395
+  
396
+  <style lang="scss" scoped>
397
+  .statement-print {
398
+    -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 60px rgba(0, 0, 0, 0.06) inset;
399
+    -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
400
+    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
401
+    margin-bottom: 20px;
402
+    padding: 20px 10px;
403
+  }
404
+  
405
+  .statementTitle {
406
+    font-size: 28px;
407
+    text-align: center;
408
+    font-weight: bold;
409
+    margin-bottom: 10px;
410
+  }
411
+  
412
+  .statementTable {
413
+    width: 100%;
414
+    text-align: center;
415
+    border-collapse: collapse;
416
+    line-height: 40px;
417
+    font-size: 14px;
418
+    border-color: #000;
419
+  }
420
+  </style>
421
+  

+ 463 - 0
src/xt_pages/hospitalStation/hospitalBatchStatementPrint.vue Visa fil

@@ -0,0 +1,463 @@
1
+<template>
2
+    <div>
3
+      <template>
4
+        <el-button
5
+          style="position:fixed;right:25px;z-index:999"
6
+          :loading="loading"
7
+          size="small"
8
+          icon="el-icon-printer"
9
+          @click="printThisPage"
10
+          type="primary"
11
+        >打印
12
+        </el-button
13
+        >
14
+      </template>
15
+  
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
+        <hospital-batch-print :infos="infos"></hospital-batch-print>
18
+      </div>
19
+    </div>
20
+  </template>
21
+  
22
+  <script>
23
+  import { uParseTime } from '@/utils/tools'
24
+  import axios from 'axios'
25
+  import HospitalBatchPrint from './batchStatementTemplate/hospitalBatchPrint.vue'
26
+  
27
+  export default {
28
+    name: 'hospitalBatchStatementPrint',
29
+    components: {
30
+      HospitalBatchPrint,
31
+    },
32
+    props: {
33
+      paramsObj: Object
34
+    },
35
+    data() {
36
+      return {
37
+        record_date: '',
38
+        patientTableData: [],
39
+        advicePrint: [],
40
+        hisPatient: {},
41
+        patient: {},
42
+        search_input: '',
43
+        loading: false,
44
+        patient_id: 0,
45
+        prescription_id: 0,
46
+        ids: '',
47
+        info: null,
48
+        org_id: '',
49
+        list:[],
50
+        infos:[],
51
+      }
52
+    },
53
+    methods: {
54
+      getType(med_chrgitm_type) {
55
+        switch (med_chrgitm_type) {
56
+          case '01':
57
+            return '床位费'
58
+            break
59
+          case '02':
60
+            return '诊察费'
61
+  
62
+            break
63
+          case '03':
64
+            return '检查费'
65
+  
66
+            break
67
+          case '04':
68
+            return '化验费'
69
+            break
70
+          case '05':
71
+            return '治疗费'
72
+  
73
+            break
74
+          case '06':
75
+            return '手术费'
76
+  
77
+            break
78
+          case '07':
79
+            return '护理费'
80
+  
81
+            break
82
+          case '08':
83
+            return '材料费'
84
+  
85
+            break
86
+          case '09':
87
+            return '西药费'
88
+  
89
+            break
90
+          case '10':
91
+            return '中药饮片费'
92
+  
93
+            break
94
+          case '11':
95
+            return '中成药费'
96
+  
97
+            break
98
+          case '12':
99
+            return '一般诊疗费'
100
+  
101
+            break
102
+          case '13':
103
+            return '挂号费'
104
+  
105
+            break
106
+          case '14':
107
+            return '其他费'
108
+  
109
+            break
110
+  
111
+        }
112
+  
113
+      },
114
+      printThisPage() {
115
+        var ptime = Math.round(new Date().getTime() / 1000)
116
+        this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')
117
+  
118
+        if (this.org_id == 10265) {
119
+  
120
+          const style =
121
+            '@media print {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoMain{display: flex;flex-wrap: wrap;padding:0 10px;margin-top:10px;}.infoMain .infoP{width: 33%;}.chargeBox{border: 1px solid #000;}.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}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar div{width:150px;}}';
122
+          const style1 = "@media print{#prescription-print{font-size:14px;}.title{text-align: center;font-size: 22px;font-weight: bold;}.row{display: flex;justify-content: space-between;}.under_line{border-bottom: 1px solid #999;width: 95%;text-align: center;margin-left: 2px;display: inline-block;}.inline_block{display: inline-block;}.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: 14px;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;}}";
123
+          printJS({
124
+            printable: "prescription-print",
125
+            type: "html",
126
+            style: style1,
127
+            scanStyles: false
128
+          });
129
+  
130
+        } else {
131
+  
132
+          const style =
133
+            '@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;}}'
134
+          printJS({
135
+            printable: 'statement-print',
136
+            type: 'html',
137
+            style: style,
138
+            scanStyles: false
139
+          })
140
+  
141
+        }
142
+  
143
+        // if (this.org_template_info.template_id == 1) {
144
+        //   printJS({
145
+        //     printable: "dialysis-print-box",
146
+        //     type: "html",
147
+        //     style: style,
148
+        //     scanStyles: false
149
+        //   });
150
+        // }
151
+      },
152
+      getJiaTotal(items) {
153
+        console.log(items)
154
+        let total = 0
155
+        for (let i = 0; i < items.length; i++) {
156
+          if (items[i].chrgitm_lv == "01") {
157
+            total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
158
+  
159
+          }
160
+        }
161
+        return total.toFixed(2)
162
+      },
163
+      getYiTotal(items) {
164
+        let total = 0
165
+        for (let i = 0; i < items.length; i++) {
166
+          if (items[i].chrgitm_lv == "02") {
167
+            total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
168
+  
169
+            // total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
170
+          }
171
+        }
172
+        return total.toFixed(2)
173
+      },
174
+      getBingTotal(items) {
175
+  
176
+        let total = 0
177
+        for (let i = 0; i < items.length; i++) {
178
+          if (items[i].chrgitm_lv == "03") {
179
+            total = parseFloat(total) + (parseFloat(items[i].cnt) * parseFloat(items[i].pric))
180
+  
181
+            // total = Number(total) + Number((parseFloat(items[i].count) * parseFloat(items[i].price)).toFixed(2))
182
+          }
183
+        }
184
+        return total.toFixed(2)
185
+      },
186
+      getInfo(order_ids) {
187
+        var that = this
188
+        axios.get('http://127.0.0.1:9532/api/settle/query/batch', {
189
+          params: {
190
+            order_ids: order_ids,
191
+            admin_user_id: this.$store.getters.xt_user.user.id
192
+          }
193
+        })
194
+          .then(function(response) {
195
+            if (response.data.state == 0) {
196
+              this.$message.error(response.data.msg)
197
+              return false
198
+            } else {
199
+              let infos = []
200
+              for(var i  = 0; i < response.data.data.infos; i++){
201
+                var info = response.data.data.infos[i]
202
+                that.info['patient'] = info.patient
203
+                that.info['diagnosis'] = info.diagnosis
204
+                that.info['p_admin'] = info.printor_admin
205
+                that.info['charge_admin'] = info.charge_admin
206
+                that.info['fixmedins_name'] = info.org_name
207
+                that.info['fixmedins_code'] = info.org_code
208
+                that.info['order'] = info.order
209
+                that.info['date'] = info.date
210
+                that.info['number'] = info.number
211
+                that.info['order_infos'] = info.order_infos
212
+                that.info['diagnosis'] = info.diagnosis
213
+                that.info['dia_config'] = info.dia_config
214
+                that.info['doctor_info'] = info.doctor_info
215
+                that.info['bed_cost_total'] = info.bedCostTotal
216
+                that.info['bed_cost_self_total'] = info.bedCostSelfTotal
217
+                that.info['bed_cost_part_self_total'] = info.bedCostPartSelfTotal
218
+                that.info['operation_cost_total'] = info.operationCostTotal
219
+                that.info['operation_cost_self_total'] = info.operationCostSelfTotal
220
+                that.info['operation_cost_part_self_total'] = info.operationCostPartSelfTotal
221
+                that.info['other_cost_total'] = info.otherCostTotal
222
+                that.info['other_cost_self_total'] = info.otherCostSelfTotal
223
+                that.info['other_cost_part_self_total'] = info.otherCostPartSelfTotal
224
+                that.info['material_cost_total'] = info.materialCostTotal
225
+                that.info['material_cost_self_total'] = info.materialCostSelfTotal
226
+                that.info['material_cost_part_self_total'] = info.materialCostPartSelfTotal
227
+                that.info['western_medicine_cost_total'] = info.westernMedicineCostTotal
228
+                that.info['western_medicine_cost_self_total'] = info.westernMedicineCostSelfTotal
229
+                that.info['western_medicine_cost_part_self_total'] = info.westernMedicineCostPartSelfTotal
230
+                that.info['chinese_traditional_medicine_cost_total'] = info.chineseTraditionalMedicineCostTotal
231
+                that.info['chinese_traditional_medicine_cost_self_total'] = info.chineseTraditionalMedicineCostSelfTotal
232
+                that.info['chinese_traditional_medicine_cost_part_self_total'] = info.chineseTraditionalMedicineCostPartSelfTotal
233
+                that.info['check_cost_total'] = info.checkCostTotal
234
+                that.info['check_cost_self_total'] = info.checkCostSelfTotal
235
+                that.info['check_cost_part_self_total'] = info.checkCostPartSelfTotal
236
+                that.info['laboratory_cost_total'] = info.laboratoryCostTotal
237
+                that.info['laboratory_cost_self_total'] = info.laboratoryCostSelfTotal
238
+                that.info['laboratory_cost_part_self_total'] = info.laboratoryCostPartSelfTotal
239
+                that.info['treat_cost_total'] = info.treatCostTotal
240
+                that.info['treat_cost_self_total'] = info.treatCostSelfTotal
241
+                that.info['treat_cost_part_self_total'] = info.treatCostPartSelfTotal
242
+                that.info['date'] = info.date
243
+                that.info['number'] = info.number
244
+                that.info['order_infos'] = info.order_infos
245
+                that.info['diagnosis'] = info.diagnosis
246
+                that.info['his'] = info.his_hospital
247
+                infos.push(that.info)
248
+              }
249
+              that.infos = infos
250
+  
251
+            }
252
+          })
253
+          .catch(function(error) {
254
+          })
255
+      }
256
+      },
257
+    created() {
258
+      this.getInfo(this.paramsObj.order_ids)
259
+      this.org_id = this.$store.getters.xt_user.org_id
260
+    },
261
+    watch: {
262
+      paramsObj: {//深度监听,可监听到对象、数组的变化
263
+        handler(val, oldVal) {
264
+          this.paramsObj = val
265
+          this.getInfo(this.paramsObj.order_ids)
266
+  
267
+        },
268
+        deep: true
269
+      }
270
+    }
271
+  
272
+  }
273
+  </script>
274
+  
275
+  <style>
276
+  .dialysis-print-order {
277
+    width: 960px;
278
+    margin: 0 auto;
279
+  }
280
+  
281
+  .dialysis-print-order .order-yy-name {
282
+    margin: auto;
283
+    text-align: center;
284
+    font-size: 20px;
285
+    letter-spacing: 5px;
286
+  }
287
+  
288
+  .dialysis-print-order .order-title {
289
+    margin: auto;
290
+    font-weight: 600;
291
+    text-align: center;
292
+    font-size: 22px;
293
+    padding: 10px;
294
+  }
295
+  
296
+  .dialysis-print-order .table-box {
297
+    width: 100%;
298
+    line-height: 23px;
299
+    font-size: 14px;
300
+  }
301
+  
302
+  .dialysis-print-order .print-table {
303
+    width: 100%;
304
+    text-align: center;
305
+    border-collapse: collapse;
306
+    line-height: 40px;
307
+    font-size: 14px;
308
+    border-color: #000;
309
+  }
310
+  
311
+  .dialysis-print-order .print-table-no {
312
+    width: 100%;
313
+    text-align: center;
314
+    border-collapse: collapse;
315
+    font-size: 14px;
316
+  }
317
+  
318
+  .dialysis-print-order .under-line {
319
+    border-bottom: 1px solid #999;
320
+    width: 95%;
321
+    text-align: center;
322
+    margin-left: 2px;
323
+  }
324
+  
325
+  .dialysis-print-order .title-box {
326
+    text-align: center;
327
+    font-size: 16px;
328
+  }
329
+  
330
+  .dialysis-print-order .radio-lebel-box {
331
+    font-weight: 400;
332
+    cursor: pointer;
333
+  }
334
+  
335
+  .dialysis-print-order .radio-no {
336
+    opacity: 0;
337
+    outline: none;
338
+    position: absolute;
339
+    margin: 0;
340
+    width: 0;
341
+    height: 0;
342
+    z-index: -1;
343
+  }
344
+  
345
+  .dialysis-print-order .radio-inner {
346
+    white-space: nowrap;
347
+    cursor: pointer;
348
+    outline: none;
349
+    display: inline-block;
350
+    line-height: 1;
351
+    position: relative;
352
+    vertical-align: middle;
353
+  }
354
+  
355
+  .dialysis-print-order .radio-fang {
356
+    display: inline-block;
357
+    position: relative;
358
+    border: 1px solid #000;
359
+    box-sizing: border-box;
360
+    width: 14px;
361
+    height: 14px;
362
+    background-color: #fff;
363
+    z-index: 1;
364
+    transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
365
+    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
366
+  }
367
+  
368
+  .dialysis-print-order .is-checked-radio::after {
369
+    content: "√";
370
+    font-size: 15px;
371
+  }
372
+  
373
+  .dialysis-print-order .print-table-no tr td {
374
+    padding: 8px 5px;
375
+    line-height: 25px;
376
+  }
377
+  
378
+  .dialysis-print-order .print-table tr td {
379
+    padding: 1px 1px;
380
+    /*line-height: 25px;*/
381
+  }
382
+  
383
+  .es-img {
384
+    height: 30px;
385
+  }
386
+  
387
+  .advice-name {
388
+    text-align: left;
389
+  }
390
+  
391
+  .advice-children {
392
+    display: flex;
393
+  }
394
+  
395
+  .title-box-pro {
396
+    border: 0 #fff;
397
+    line-height: 25px;
398
+    height: 25px;
399
+    text-align: left;
400
+    padding-left: 10px !important;
401
+  }
402
+  
403
+  .title-box-pro-tr {
404
+    border: 0 #fff;
405
+  }
406
+  
407
+  .text-align-left {
408
+    text-align: left !important;
409
+    padding-left: 10px !important;
410
+    font-size: 14px !important;
411
+    line-height: 25px;
412
+  }
413
+  
414
+  .print-table-tr-new td {
415
+    line-height: 20px !important;
416
+  }
417
+  
418
+  .border-top-solid {
419
+    border: solid 1px #000;
420
+  }
421
+  
422
+  .print-template-two tr {
423
+    line-height: 30px;
424
+  }
425
+  
426
+  .table-box1 {
427
+    border: 1px solid #000;
428
+    width: 100%;
429
+    line-height: 30px;
430
+    font-size: 14px;
431
+    border-collapse: collapse;
432
+  }
433
+  
434
+  .table-box1 tr {
435
+    border-bottom: 1px solid #000;
436
+  }
437
+  </style>
438
+  
439
+  <style lang="scss">
440
+  
441
+  .newContainer {
442
+  
443
+  .dialysisPage::-webkit-scrollbar {
444
+    height: 15px;
445
+  }
446
+  
447
+  .el-date-editor {
448
+  
449
+  .el-input__inner {
450
+    padding-right: 0px;
451
+  }
452
+  
453
+  }
454
+  .el-table td, .el-table th {
455
+    text-align: center;
456
+  }
457
+  
458
+  }
459
+  .newContainer::-webkit-scrollbar {
460
+    height: 15px !important;
461
+  }
462
+  </style>
463
+  

+ 4 - 1
src/xt_pages/management/components/UserForm.vue Visa fil

@@ -1141,7 +1141,10 @@ export default {
1141 1141
         { id: 1, name: "费森细菌过滤器" },
1142 1142
         { id: 2, name: "日机装细菌过滤器" },
1143 1143
         { id: 3, name: "贝朗机细菌过滤器" },
1144
-        { id: 4, name: "东丽机细菌过滤器" }
1144
+        { id: 4, name: "东丽机细菌过滤器" },
1145
+        {id:5,name:"山外山细菌过滤器"},
1146
+        {id:6,name:"尼普洛细菌过滤器"},
1147
+        {id:7,name:"威高细菌过滤器"}
1145 1148
       ],
1146 1149
       autograph: [],
1147 1150
       selectCulture: [],

+ 4 - 1
src/xt_pages/management/home.vue Visa fil

@@ -2820,7 +2820,10 @@ export default {
2820 2820
           { id: 1, name: '费森细菌过滤器' },
2821 2821
           { id: 2, name: '日机装细菌过滤器' },
2822 2822
           { id: 3, name: '贝朗机细菌过滤器' },
2823
-          { id: 4, name: '东丽机细菌过滤器' }
2823
+          { id: 4, name: '东丽机细菌过滤器' },
2824
+          {id:5,name:"山外山细菌过滤器"},
2825
+          {id:6,name:"尼普洛细菌过滤器"},
2826
+          {id:7,name:"威高细菌过滤器"}
2824 2827
         ],
2825 2828
         DisinfectionMode: [
2826 2829
           { id: 0, name: '请选择' },

+ 13 - 13
src/xt_permission.js Visa fil

@@ -12,19 +12,19 @@ const permissionWhiteList = loginWhiteList.concat(['/']) // 权限验证白名
12 12
 
13 13
 router.beforeEach((to, from, next) => {
14 14
   // 线上注释
15
-  // if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
-  //   store.dispatch('VerifyConfigList', []).then(() => {
17
-  //     next()
18
-  //   })
19
-  // }
20
-  // if (store.getters.permission_routers === undefined) {
21
-  //   store.dispatch('xt_GenerateRoutes', []).then(() => {
22
-  //     next()
23
-  //   })
24
-  // } else {
25
-  //   next()
26
-  // }
27
-  // return
15
+  if (!store.getters.configlist || store.getters.configlist === undefined || store.getters.configlist.length <= 0) {
16
+    store.dispatch('VerifyConfigList', []).then(() => {
17
+      next()
18
+    })
19
+  }
20
+  if (store.getters.permission_routers === undefined) {
21
+    store.dispatch('xt_GenerateRoutes', []).then(() => {
22
+      next()
23
+    })
24
+  } else {
25
+    next()
26
+  }
27
+  return
28 28
   // 线上注释
29 29
   NProgress.start()
30 30
   // console.log(store.getters.current_role_urls.indexOf(to.path))