|
@@ -54,6 +54,7 @@
|
54
|
54
|
<el-table :data="tableData" border :row-style="{ color: '#303133' }"
|
55
|
55
|
:header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
|
56
|
56
|
show-summary
|
|
57
|
+ v-loading="settle_loading"
|
57
|
58
|
max-height="600"
|
58
|
59
|
:span-method="merge"
|
59
|
60
|
:summary-method="getTotal"
|
|
@@ -64,7 +65,7 @@
|
64
|
65
|
</el-table-column>
|
65
|
66
|
<el-table-column align="center" prop="item_name" label="结算日期">
|
66
|
67
|
<template slot-scope="scope">
|
67
|
|
- {{scope.row.setl_time?scope.row.setl_time:getTimes(scope.row.settle_accounts_date)}}
|
|
68
|
+ {{scope.row.setl_time?scope.row.setl_time.split(" ")[0]:getTimes(scope.row.settle_accounts_date)}}
|
68
|
69
|
</template>
|
69
|
70
|
</el-table-column>
|
70
|
71
|
|
|
@@ -118,6 +119,7 @@
|
118
|
119
|
},
|
119
|
120
|
data() {
|
120
|
121
|
return {
|
|
122
|
+ settle_loading:false,
|
121
|
123
|
crumbs: [],
|
122
|
124
|
tempArr: [],
|
123
|
125
|
sameRowArr: [],
|
|
@@ -179,11 +181,15 @@
|
179
|
181
|
type: this.item_type,
|
180
|
182
|
keyword: this.keywords
|
181
|
183
|
}
|
|
184
|
+ this.settle_loading = true
|
182
|
185
|
GetSummarySettle(params).then(response => {
|
183
|
186
|
if (response.data.state == 0) {
|
|
187
|
+ this.settle_loading = false
|
|
188
|
+
|
184
|
189
|
this.$message.error(response.data.msg)
|
185
|
190
|
return false
|
186
|
191
|
} else {
|
|
192
|
+ this.settle_loading = false
|
187
|
193
|
this.tableData = []
|
188
|
194
|
let data = response.data.data.patients
|
189
|
195
|
|
|
@@ -312,10 +318,24 @@
|
312
|
318
|
let list = []
|
313
|
319
|
for (let i = 0; i < this.tableData.length; i++) {
|
314
|
320
|
let order = this.tableData[i]
|
315
|
|
- let name = ''
|
|
321
|
+ let name = order.other_name
|
316
|
322
|
let time = ''
|
317
|
323
|
let balance_accounts = ""
|
318
|
324
|
let med_type = ""
|
|
325
|
+ let medfee_sumamt = ""
|
|
326
|
+ let fund_pay_sumamt = ""
|
|
327
|
+ let acct_pay = ""
|
|
328
|
+ let psn_cash_pay = ""
|
|
329
|
+ let total = ""
|
|
330
|
+ if(order.setl_time.length == 0){
|
|
331
|
+
|
|
332
|
+ time = this.getTimes(order.settle_accounts_date)
|
|
333
|
+
|
|
334
|
+ }else {
|
|
335
|
+
|
|
336
|
+ time = order.setl_time.split(" ")[0]
|
|
337
|
+
|
|
338
|
+ }
|
319
|
339
|
|
320
|
340
|
if (order.is_medicine_insurance == 0) {
|
321
|
341
|
balance_accounts = '自费'
|
|
@@ -333,136 +353,34 @@
|
333
|
353
|
med_type = '普通门诊'
|
334
|
354
|
}
|
335
|
355
|
|
336
|
|
- let number = ''
|
337
|
|
-
|
338
|
|
- let department = ''
|
339
|
|
- let doctor_name = ''
|
340
|
|
- let order_status = ''
|
341
|
|
- let charge_name = ''
|
342
|
|
- let insutypeName = ''
|
343
|
|
-
|
344
|
|
-
|
345
|
|
-
|
346
|
|
-
|
|
356
|
+ medfee_sumamt = order.medfee_sumamt
|
|
357
|
+ fund_pay_sumamt = order.fund_pay_sumamt
|
|
358
|
+ acct_pay = order.acct_pay
|
|
359
|
+ psn_cash_pay = order.psn_cash_pay
|
|
360
|
+ total = order.total
|
347
|
361
|
|
348
|
|
- if (order.patient != null && order.patient.name.length > 0) {
|
349
|
|
- name = order.patient.name
|
350
|
|
-
|
351
|
|
- }
|
352
|
|
-
|
353
|
|
- if (order.p_info != null && order.p_info.department != null && order.p_info.department.name.length > 0) {
|
354
|
|
- department = order.p_info.department.name
|
355
|
|
-
|
356
|
|
- }
|
357
|
|
-
|
358
|
|
- if (order.p_info != null && order.p_info.doctor.length > 0) {
|
359
|
|
- doctor_name = order.p_info.doctor
|
360
|
|
- }
|
361
|
|
-
|
362
|
|
- if (order.creator != null) {
|
363
|
|
- charge_name = this.getName(order.creator)
|
364
|
|
- }
|
365
|
|
- if (order.insutype == '390') {
|
366
|
|
-
|
367
|
|
- insutypeName = '城乡居民基本医疗保险'
|
368
|
|
- } else if (order.insutype == '310') {
|
369
|
|
- insutypeName = '职工基本医疗保险'
|
370
|
|
-
|
371
|
|
- }
|
372
|
|
-
|
373
|
|
- if (order.order_status == 1) {
|
374
|
|
- order_status = '待结算'
|
375
|
|
- }
|
376
|
|
-
|
377
|
|
- if (order.order_status == 2) {
|
378
|
|
- order_status = '已结算'
|
379
|
|
- }
|
380
|
|
-
|
381
|
|
- if (order.order_status == 3) {
|
382
|
|
- order_status = '已退费'
|
383
|
|
- }
|
384
|
|
-
|
385
|
|
- if (order.settle_type == 2) {
|
386
|
|
- time = this.getTimes(order.settle_start_time)
|
387
|
|
- } else {
|
388
|
|
- time = this.getTimes(order.settle_accounts_date)
|
389
|
|
- }
|
390
|
|
-
|
391
|
|
- var hifmi_pay = 0.00
|
392
|
|
-
|
393
|
|
- if (order.setl_detail.length > 0) {
|
394
|
|
- var jsonObj = JSON.parse(order.setl_detail)
|
395
|
|
- for (let i = 0; i < jsonObj.length; i++) {
|
396
|
|
- if (order.insutype == '310') {
|
397
|
|
- if (jsonObj[i].fund_pay_type == '310300') {
|
398
|
|
- hifmi_pay = jsonObj[i].fund_payamt
|
399
|
|
- }
|
400
|
|
-
|
401
|
|
- } else if (order.insutype == '390') {
|
402
|
|
- if (order.fund_pay_type == '390200') {
|
403
|
|
- hifmi_pay = jsonObj[i].fund_payamt
|
404
|
|
- }
|
405
|
|
- }
|
406
|
|
- }
|
407
|
|
- }
|
408
|
|
- var hifmi_pay = 0.00
|
409
|
|
-
|
410
|
|
- if (order.setl_detail.length > 0) {
|
411
|
|
- var jsonObj = JSON.parse(order.setl_detail)
|
412
|
|
- for (let i = 0; i < jsonObj.length; i++) {
|
413
|
|
- if (order.insutype == '310') {
|
414
|
|
- if (jsonObj[i].fund_pay_type == '310300') {
|
415
|
|
- hifmi_pay = jsonObj[i].fund_payamt
|
416
|
|
- }
|
417
|
|
- }
|
418
|
|
- if (order.insutype == '390') {
|
419
|
|
- if (jsonObj[i].fund_pay_type == '390200') {
|
420
|
|
- hifmi_pay = jsonObj[i].fund_payamt
|
421
|
|
- }
|
422
|
|
- }
|
423
|
|
- }
|
424
|
|
- }
|
425
|
362
|
|
426
|
363
|
let obj = {
|
427
|
|
- '就诊号': order.mdtrt_id,
|
428
|
364
|
'患者姓名': name,
|
429
|
|
- '开处时间': time,
|
430
|
|
- '险种类型': insutypeName,
|
431
|
|
- '应收金额': order.medfee_sumamt,
|
432
|
|
- '实收金额': order.medfee_sumamt,
|
433
|
|
- '医保统筹金额': order.hifp_pay,
|
434
|
|
- '大额基金金额': order.hifob_pay,
|
435
|
|
- '大病基金金额': hifmi_pay,
|
436
|
|
- '补充保险基金金额': order.hifes_pay,
|
437
|
|
- '医疗救助基金金额': order.maf_pay,
|
438
|
|
- '公务员基金': order.cvlserv_pay,
|
439
|
|
- '个人支付基金': order.psn_cash_pay,
|
440
|
|
- '个人账户支付金额': order.acct_pay,
|
441
|
|
- '科室': department,
|
442
|
|
- '医生姓名': doctor_name,
|
443
|
|
- '收费类别': balance_accounts,
|
444
|
|
- '收费者姓名': charge_name,
|
445
|
|
- '总金额': order.medfee_sumamt,
|
446
|
|
- '现金支付': '',
|
447
|
|
- '账户支付': '',
|
448
|
|
- '支付宝支付': '',
|
449
|
|
- '微信支付': '',
|
450
|
|
- '其他支付': '',
|
451
|
|
- '收费时间': order.setl_time,
|
452
|
|
- '收费状态': order_status,
|
453
|
|
- '退费日期': ''
|
|
365
|
+ '结算日期': time,
|
|
366
|
+ '结算类型': balance_accounts,
|
|
367
|
+ '处方类型': med_type,
|
|
368
|
+ '医疗费总额': medfee_sumamt,
|
|
369
|
+ '基金支付金额': fund_pay_sumamt,
|
|
370
|
+ '个人账户支付金额': acct_pay,
|
|
371
|
+ '个人支付基金': psn_cash_pay,
|
|
372
|
+ '费用总额':total,
|
454
|
373
|
}
|
455
|
|
-
|
456
|
374
|
list.push(obj)
|
457
|
375
|
}
|
458
|
376
|
import('@/vendor/Export2Excel').then(excel => {
|
459
|
|
- const tHeader = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
|
460
|
|
- const filterVal = ['就诊号', '患者姓名', '开处时间', '险种类型', '应收金额', '实收金额', '医保统筹金额', '大额基金金额', '大病基金金额', '补充保险基金金额', '医疗救助基金金额', '公务员基金', '个人支付基金', '个人账户支付金额', '科室', '医生姓名', '收费类别', '收费者姓名', '总金额', '现金支付', '账户支付', '支付宝支付', '微信支付', '其他支付', '收费时间', '收费状态', '退费日期']
|
|
377
|
+ const tHeader = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
|
|
378
|
+ const filterVal = [ '患者姓名', '结算日期', '结算类型', '处方类型', '医疗费总额', '基金支付金额', '个人账户支付金额', '个人支付基金', '费用总额']
|
461
|
379
|
const data = this.formatJson(filterVal, list)
|
462
|
380
|
excel.export_json_to_excel({
|
463
|
381
|
header: tHeader,
|
464
|
382
|
data,
|
465
|
|
- filename: '消费明细'
|
|
383
|
+ filename: '结算明细'
|
466
|
384
|
})
|
467
|
385
|
})
|
468
|
386
|
|