Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bims
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
孙海亮
bims
Commits
0f66ee66
Commit
0f66ee66
authored
May 30, 2023
by
suqh
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'func-eccs-2152' into test
parents
d77d3f44
b6ab0bac
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2613 additions
and
2015 deletions
+2613
-2015
verification.js
src/api/apis_moudles/verification.js
+21
-18
verification.js
src/api/funcs_modules/verification.js
+97
-79
utilsdictOptions.js
src/utils/utilsdictOptions.js
+70
-64
detail.vue
src/views/charge-query/detail.vue
+391
-391
index.vue
src/views/charge-query/index.vue
+340
-323
lpjManageDetail.vue
src/views/charge-query/lpjManageDetail.vue
+585
-559
index.vue
src/views/customer/edit/index.vue
+4
-4
index.vue
src/views/home/index.vue
+26
-26
subMenu.vue
src/views/layout/components/menu/subMenu.vue
+0
-73
index.vue
src/views/layout/index.vue
+72
-75
collection.vue
src/views/verification/collection.vue
+338
-208
collectionDetail.vue
src/views/verification/collectionDetail.vue
+669
-195
No files found.
src/api/apis_moudles/verification.js
View file @
0f66ee66
...
...
@@ -14,5 +14,8 @@ export default {
eobReceipListExport
:
"
/backstage/auth/eobReceipListExport
"
,
//EOB关联账单导出
queryBackReceiptList
:
"
/backstage/auth/queryBackReceiptList
"
,
//回销关联账单列表查询
queryReceiptInfoList
:
"
/backstage/auth/queryReceiptInfoList
"
,
//回销账单列表查询
deleteReceiptRecord
:
"
/backstage/auth/deleteBackReceipt
"
,
// 删除已关联账单
exportBackMoneyReport
:
"
/backstage/auth/backMoneyListExport
"
,
// 回款列表导出
exportBackReceiptList
:
"
/backstage/auth/exportBackReceiptList
"
,
// 关联账单列表导出
};
src/api/funcs_modules/verification.js
View file @
0f66ee66
...
...
@@ -62,6 +62,21 @@ const QUERYBACKRECEIPTINFOLIST = (data) => {
return
req
.
post
(
apis
.
queryReceiptInfoList
,
data
);
};
// 删除已关联账单
const
DELETERECEIPTRECORD
=
(
data
)
=>
{
return
req
.
post
(
apis
.
deleteReceiptRecord
,
data
);
};
// 回款列表导出
const
EXPORTBACKMONEYREPORT
=
(
data
)
=>
{
return
req
.
post
(
apis
.
exportBackMoneyReport
,
data
,
{
responseType
:
"
blob
"
});
};
// 关联账单导出
const
EXPORTBACKRECEIPTLIST
=
(
data
)
=>
{
return
req
.
post
(
apis
.
exportBackReceiptList
,
data
,
{
responseType
:
"
blob
"
});
};
// 对象数组
export
default
{
QUERYEOBLIST
,
...
...
@@ -76,5 +91,8 @@ export default {
DELETEBACKMONEY
,
EOBRECEIPLISTEXPORT
,
QUERYBACKRECEIPTLIST
,
QUERYBACKRECEIPTINFOLIST
QUERYBACKRECEIPTINFOLIST
,
DELETERECEIPTRECORD
,
EXPORTBACKMONEYREPORT
,
EXPORTBACKRECEIPTLIST
};
\ No newline at end of file
src/utils/utilsdictOptions.js
View file @
0f66ee66
...
...
@@ -52,6 +52,11 @@ const MoneyUnitOptions = [
{
name
:
'
欧元
'
,
value
:
'
04
'
},
];
// 账单类型
const
receiptTypeOptions
=
[
{
name
:
'
收费
'
,
value
:
'
1
'
},
{
name
:
'
退费
'
,
value
:
'
2
'
},
];
module
.
exports
=
{
...
...
@@ -62,4 +67,5 @@ module.exports = {
ApplyStatusOptions
,
ApproveStatusOptions
,
MoneyUnitOptions
,
receiptTypeOptions
}
\ No newline at end of file
src/views/charge-query/detail.vue
View file @
0f66ee66
...
...
@@ -4,26 +4,17 @@
<Goback
title=
"账单详情"
/>
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-row
:gutter=
"30"
>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"病历号"
>
<a-input
v-model=
"form.mrnNo"
placeholder=
"请输入病历号"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户姓名"
>
<a-input
v-model=
"form.patientName"
placeholder=
"请输入客户姓名"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"4"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户类型"
>
<a-select
v-model=
"form.patientType"
placeholder=
"请选择客户类型"
allowClear
>
<a-select-option
v-for=
"item in patientTypeOptions"
:key=
"item.code"
:value=
"item.code"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorId"
placeholder=
"请选择保险公司"
allowClear
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.corpCode"
:value=
"item.id"
>
...
...
@@ -32,29 +23,16 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"看诊医生"
>
<a-select
v-model=
"form.doctorCode"
placeholder=
"请选择看诊医生"
allowClear
>
<a-select-option
v-for=
"item in doctorOptions"
:key=
"item.doctorCode"
:value=
"item.doctorCode"
>
{{
item
.
doctorDesc
}}
</a-select-option>
</a-select>
<a-input
v-model=
"form.doctorName"
placeholder=
"请输入看诊医生"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"
就诊时间"
>
<a-form-model-item
label=
"
收费时间"
>
<a-date-picker
value-format=
"YYYY-MM-DD 00:00:00"
v-model=
"form.receiptDate"
placeholder=
"就诊时间"
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"3"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"支付方式"
>
<a-select
v-model=
"form.paymentCode"
placeholder=
"请选择支付方式"
allowClear
>
<a-select-option
v-for=
"item in paymentOptions"
:key=
"item.code"
:value=
"item.code"
allow-clear
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"16"
:lg=
"12"
:sm=
"12"
class=
"none-label"
>
<a-form-model-item
label=
"button"
>
<!--
<a-button>
更新数据
</a-button>
...
...
@@ -79,7 +57,7 @@
</a-popconfirm>
</
template
>
<
template
slot=
"footer"
>
<div
class=
"total"
>
总计:
<span>
{{
form
.
chargeAmount
||
0
}}
</span></div>
<div
class=
"total"
>
总计:
<span>
{{
sumAmount
||
0
}}
</span></div>
</
template
>
</a-table>
<!--分页-->
...
...
@@ -130,7 +108,7 @@ export default {
{
title
:
"
单位
"
,
dataIndex
:
"
itemUnitDesc
"
,
width
:
180
},
{
title
:
"
金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
180
},
{
title
:
"
折扣(%)
"
,
dataIndex
:
"
discountAmount
"
,
width
:
180
},
{
title
:
"
折后金额
"
,
dataIndex
:
"
actualAmount
"
,
width
:
180
},
// { title: "折后金额", dataIndex: "actualAmount", width: 180 },
{
title
:
"
减免金额
"
,
dataIndex
:
"
reduceAmount
"
,
width
:
180
},
{
title
:
"
实际金额
"
,
dataIndex
:
"
paidAmount
"
,
width
:
180
},
// { title: "免赔额", dataIndex: "deductible", width: 180 },
...
...
@@ -204,7 +182,14 @@ export default {
computed
:
{
...
mapState
({
userInfo
:
(
state
)
=>
state
.
common
.
userInfo
}),
sumAmount
()
{
let
total
=
0
this
.
dataList
.
forEach
(
item
=>
{
total
+=
Number
(
item
.
paidAmount
||
0
)
})
return
Number
(
total
.
toFixed
(
2
))
}
},
filters
:
{
payStyleFilters
(
value
)
{
...
...
@@ -221,6 +206,7 @@ export default {
this
.
receiptNo
=
receiptNo
||
""
;
let
chargeQueryDetail
=
localStorage
.
getItem
(
'
chargeQueryDetail
'
);
this
.
form
=
chargeQueryDetail
?
JSON
.
parse
(
chargeQueryDetail
):
{};
console
.
log
(
this
.
form
)
this
.
_getChargeListDetail
();
this
.
_getCompanyOptions
();
//获取保险公司下拉选项
...
...
@@ -232,6 +218,7 @@ export default {
_getChargeListDetail
()
{
const
data
=
{
receiptNo
:
this
.
receiptNo
,
basereceiptId
:
this
.
form
.
externalId
,
...
this
.
pager
,
};
this
.
$apis
.
GETCHARGELISTDETAIL
(
data
).
then
((
res
)
=>
{
...
...
@@ -249,7 +236,20 @@ export default {
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
console
.
log
(
"
获取保险公司下拉选项
"
,
res
);
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
companyOptions
=
res
.
content
||
[];
let
existPayor
=
false
this
.
companyOptions
=
res
.
content
.
map
(
item
=>
{
item
.
id
=
Number
(
item
.
id
)
if
(
item
.
id
===
this
.
form
.
payorId
)
{
existPayor
=
true
}
return
item
})
||
[];
if
(
!
existPayor
)
{
this
.
companyOptions
.
push
({
id
:
this
.
form
.
payorId
,
longName
:
this
.
form
.
payorName
})
}
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
...
...
src/views/charge-query/index.vue
View file @
0f66ee66
...
...
@@ -4,26 +4,17 @@
<!-- form -->
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-row
:gutter=
"30"
>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"病历号"
>
<a-input
v-model=
"form.mrnNo"
placeholder=
"请输入病历号"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户姓名"
>
<a-input
v-model=
"form.patientName"
placeholder=
"请输入客户姓名"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"4"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户类型"
>
<a-select
v-model=
"form.patientType"
placeholder=
"请选择客户类型"
allowClear
>
<a-select-option
v-for=
"item in patientTypeOptions"
:key=
"item.code"
:value=
"item.code"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorId"
placeholder=
"请选择保险公司"
allowClear
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.corpCode"
:value=
"item.id"
>
...
...
@@ -32,7 +23,7 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
4"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"看诊医生"
>
<a-select
v-model=
"form.doctorCode"
placeholder=
"请选择看诊医生"
allowClear
>
<a-select-option
v-for=
"item in doctorOptions"
:key=
"item.doctorCode"
:value=
"item.doctorCode"
>
...
...
@@ -41,21 +32,12 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
5"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"
就诊时间"
>
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"
收费时间"
>
<a-range-picker
format=
"YYYY-MM-DD"
v-model=
"form.dateRange"
:placeholder=
"['开始时间','结束时间']"
@
change=
"onSelectVisitTime"
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"3"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"支付方式"
>
<a-select
v-model=
"form.paymentCode"
placeholder=
"请选择支付方式"
allowClear
>
<a-select-option
v-for=
"item in paymentOptions"
:key=
"item.code"
:value=
"item.code"
allow-clear
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"3"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"是否已关联寄送单"
>
<a-select
v-model=
"form.isSend"
placeholder=
"请选择是否已关联寄送单"
allowClear
>
<a-select-option
value=
"Y"
allow-clear
>
...
...
@@ -67,9 +49,9 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
3"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"是否已
关联EOB"
>
<a-select
v-model=
"form.isEob
"
placeholder=
"请选择是否已关联EOB"
allowClear
>
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"是否已
回款"
>
<a-select
v-model=
"form.isEob
Back"
placeholder=
"请选择是否已回款"
allowClear
>
<a-select-option
value=
"Y"
allow-clear
>
是
</a-select-option>
...
...
@@ -79,19 +61,30 @@
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
3"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"
是否已回款"
>
<a-select
v-model=
"form.
isEobBack"
placeholder=
"请选择是否已回款"
allowClear
>
<a-select-option
value=
"Y"
allow-clear
>
是
<a-col
:xl=
"
6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"
账单类型"
>
<a-select
v-model=
"form.
receiptType"
placeholder=
"请选择账单类型"
allowClear
>
<a-select-option
v-for=
"item in receiptTypeOptions"
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
name
}}
</a-select-option>
<a-select-option
value=
"N"
allow-clear
>
否
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"账单编号"
>
<a-input
v-model=
"form.receiptNo"
placeholder=
"请输入账单编号"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"状态"
>
<a-select
v-model=
"form.status"
placeholder=
"请选择状态"
allowClear
>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:xl=
"
6"
:lg=
"3"
:sm=
"3"
class=
"none-label"
>
<a-col
:xl=
"
8"
:lg=
"3"
:sm=
"3"
class=
"none-label"
>
<a-form-model-item
label=
"button"
>
<!--
<a-button>
更新数据
</a-button>
-->
<!--
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewCharge"
>
...
...
@@ -131,6 +124,9 @@
<
template
slot=
"isEobBack"
slot-scope=
"text"
>
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
</
template
>
<
template
slot=
"status"
slot-scope=
"text"
>
{{
text
==
'
1
'
?
'
有效
'
:
text
==
'
2
'
?
'
无效
'
:
''
}}
</
template
>
</a-table>
<!--分页-->
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"_getChargeList"
/>
...
...
@@ -141,35 +137,37 @@
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
{
mapState
}
from
"
vuex
"
import
moment
from
"
moment
"
;
import
{
receiptTypeOptions
}
from
'
@/utils/utilsdictOptions.js
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
export
default
{
data
()
{
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
index
"
,
key
:
"
index
"
,
align
:
'
center
'
,
width
:
80
,
scopedSlots
:
{
customRender
:
"
index
"
}},
{
title
:
"
就诊时间
"
,
dataIndex
:
"
receiptDate
"
,
width
:
180
},
{
title
:
"
收费时间
"
,
dataIndex
:
"
receiptDate
"
,
width
:
180
},
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
width
:
180
},
{
title
:
"
账单类型
"
,
dataIndex
:
"
receiptTypeStr
"
,
width
:
130
},
{
title
:
"
状态
"
,
dataIndex
:
"
status
"
,
width
:
130
},
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
width
:
180
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
width
:
120
,},
{
title
:
"
客户类型
"
,
dataIndex
:
"
patientType
"
,
width
:
180
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
width
:
200
},
{
title
:
"
就诊医生
"
,
dataIndex
:
"
doctorName
"
,
width
:
150
},
{
title
:
"
是否已关联寄送单
"
,
dataIndex
:
"
isSend
"
,
width
:
180
,
scopedSlots
:
{
customRender
:
"
isSend
"
}
},
{
title
:
"
是否已关联EOB
"
,
dataIndex
:
"
isEob
"
,
width
:
180
,
scopedSlots
:
{
customRender
:
"
isEob
"
}
},
{
title
:
"
是否已回款
"
,
dataIndex
:
"
isEobBack
"
,
width
:
180
,
scopedSlots
:
{
customRender
:
"
isEobBack
"
}
},
{
title
:
"
账单金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
180
},
{
title
:
"
应收金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
180
},
{
title
:
"
折扣(%)
"
,
dataIndex
:
"
discountAmount
"
,
width
:
180
},
{
title
:
"
折后金额
"
,
dataIndex
:
"
actualAmount
"
,
width
:
180
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
reduceAmount
"
,
width
:
180
},
{
title
:
"
应付金额
"
,
dataIndex
:
"
payableAmount
"
,
width
:
180
},
{
title
:
"
客户自付
"
,
dataIndex
:
"
selfpaidAmount
"
,
width
:
180
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
reduceAmount1
"
,
width
:
180
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
claimsAmount
"
,
width
:
180
},
{
title
:
"
保险已支付
"
,
dataIndex
:
"
insurancePaidAmount
"
,
width
:
180
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
outstandAmount
"
,
width
:
180
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
actualAmount
"
,
width
:
180
},
{
title
:
"
保险已支付
"
,
dataIndex
:
"
backAmount
"
,
width
:
180
},
{
title
:
"
保险欠费
"
,
dataIndex
:
"
insuranceArrearsAmount
"
,
width
:
180
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
personalArrearsAmount
"
,
width
:
180
},
{
title
:
"
发票号码
"
,
dataIndex
:
"
receiptNo
"
,
width
:
180
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmount
"
,
width
:
180
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
width
:
180
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
align
:
"
center
"
},
];
return
{
columns
,
receiptTypeOptions
,
form
:
{},
pageForm
:
{
doctorCode
:
""
,
...
...
@@ -179,6 +177,8 @@ export default {
payorId
:
0
,
visitTimeEnd
:
""
,
visitTimeStart
:
""
,
receiptType
:
""
,
receiptNo
:
""
},
patientTypeOptions
:
[
{
...
...
@@ -200,6 +200,20 @@ export default {
pageSize
:
10
,
total
:
0
,
},
receiptTypeDict
:
{
'
1
'
:
'
收费
'
,
'
2
'
:
'
退费
'
},
statusOptions
:
[
{
name
:
'
无效
'
,
code
:
2
},
{
name
:
'
有效
'
,
code
:
1
}
]
};
},
components
:
{
...
...
@@ -224,7 +238,10 @@ export default {
};
this
.
$apis
.
GETCHARGELIST
(
data
).
then
((
res
)
=>
{
let
content
=
res
.
content
||
{};
this
.
dataList
=
content
.
list
||
[];
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
item
.
receiptTypeStr
=
this
.
receiptTypeDict
[
item
.
receiptType
]
||
''
return
item
})
||
[];
this
.
pagination
.
total
=
content
.
total
||
0
;
});
},
...
...
src/views/charge-query/lpjManageDetail.vue
View file @
0f66ee66
...
...
@@ -76,8 +76,8 @@
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"searchForm"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"
就诊日期"
>
<a-range-picker
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
v-model=
"searchForm.visitTimeStart"
:placeholder=
"['选择
就诊开始日期', '选择就诊结束日期']"
/>
<a-form-model-item
label=
"
账单日期"
>
<a-range-picker
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
v-model=
"searchForm.visitTimeStart"
:placeholder=
"['选择
账单开始日期', '选择账单结束日期']"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
...
...
@@ -91,6 +91,20 @@
</a-form-model-item>
</a-col>
</a-row>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"账单编号"
>
<a-input
v-model=
"searchForm.receiptNo"
placeholder=
"请输入账单编号"
allow-clear
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"状态"
>
<a-select
v-model=
"searchForm.rStatus"
placeholder=
"请选择状态"
allow-clear
>
<a-select-option
:key=
"item.code"
:value=
"item.code"
v-for=
"item in statusOptions"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row
:gutter=
"30"
>
<a-col
:sm=
"24"
class=
"none-label"
>
<div
class=
"btn-div flex"
>
...
...
@@ -119,6 +133,9 @@
<
template
slot=
"sendSts"
slot-scope=
"text"
>
{{
text
==
1
?
'
已寄送
'
:
'
未寄送
'
}}
</
template
>
<
template
slot=
"status"
slot-scope=
"text"
>
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record"
>
<!--
<a-button
type=
"link"
@
click.stop=
"editEvt(record)"
>
修改
</a-button>
-->
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(record)"
>
删除
</a-button>
...
...
@@ -220,6 +237,16 @@ export default {
sendDate
:
[{
required
:
true
,
message
:
"
请选择寄送日期
"
,
trigger
:
"
change
"
}],
trackingNo
:
[{
required
:
true
,
message
:
"
请输入寄送单号
"
,
trigger
:
"
blur
"
}],
},
statusOptions
:
[
{
name
:
'
无效
'
,
code
:
2
},
{
name
:
'
有效
'
,
code
:
1
}
]
};
},
components
:
{
...
...
@@ -229,20 +256,19 @@ export default {
computed
:
{
columns
()
{
const
base
=
[
{
title
:
"
就诊日期
"
,
dataIndex
:
"
receiptDate
"
,
width
:
160
,
scopedSlots
:
{
customRender
:
"
receiptDate
"
}
},
{
title
:
"
账单日期
"
,
dataIndex
:
"
receiptDate
"
,
width
:
160
,
scopedSlots
:
{
customRender
:
"
receiptDate
"
}
},
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
key
:
"
mrnNo
"
,
align
:
'
center
'
,
width
:
136
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
width
:
160
},
{
title
:
"
保险卡号
"
,
dataIndex
:
"
memberCardNo
"
,
width
:
180
},
{
title
:
"
客户生日
"
,
dataIndex
:
"
birthday
"
,
width
:
160
},
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
key
:
"
receiptNo
"
,
align
:
'
center
'
,
width
:
136
},
{
title
:
"
状态
"
,
dataIndex
:
"
status
"
,
key
:
"
status
"
,
align
:
'
center
'
,
width
:
136
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
250
},
{
title
:
"
应收金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
折扣金额
"
,
dataIndex
:
"
discountAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
discountAmount2
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
客户自付
"
,
dataIndex
:
"
selfpaidAmount
"
,
width
:
100
,
align
:
'
center
'
,
customRender
:
(
val
,
row
)
=>
{
return
<
a
-
input
v
-
model
=
{
row
.
selfpaidAmount
}
allow
-
clear
/>
}
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
paidAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
reduceAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
客户自付
"
,
dataIndex
:
"
selfpaidAmount
"
,
width
:
100
,
align
:
'
center
'
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
actualAmount
"
,
width
:
100
,
align
:
'
center
'
},
];
if
(
this
.
sendBatchNo
&&
!
this
.
isEditNewBill
&&
this
.
isEdit
){
// 编辑状态下已经保存的数据才可进行操作
return
base
.
concat
([
...
...
src/views/customer/edit/index.vue
View file @
0f66ee66
...
...
@@ -42,14 +42,14 @@
<a-form-model-item
label=
"出生日期"
prop=
"birthday"
>
<a-date-picker
v-model=
"form.birthday"
allow-clear
placeholder=
"请选择出生日期"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
<a-form-model-item
label=
"客户公司名称"
prop=
"corpName"
>
<
!--
<
a-form-model-item
label=
"客户公司名称"
prop=
"corpName"
>
<a-select
v-model=
"form.corpName"
placeholder=
"请选择客户公司名称"
show-search
allow-clear
:filterOption=
"filterCode"
@
change=
"corpChange"
@
search=
"corpSearch"
>
<a-select-option
v-for=
"item in comCorpCode"
:key=
"item.id"
:value=
"item.id + '$_' + item.longName"
>
{{
item
.
longName
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model-item>
-->
<a-form-model-item
label=
"保单生效日期"
prop=
"startDate"
>
<a-date-picker
allow-clear
v-model=
"form.startDate"
placeholder=
"请选择保单生效日期"
value-format=
"YYYY-MM-DD 00:00:00"
@
change=
"startDateChange"
></a-date-picker>
</a-form-model-item>
...
...
@@ -85,7 +85,7 @@
<a-date-picker
allow-clear
v-model=
"form.endDate"
placeholder=
"请选择保单终止日期"
value-format=
"YYYY-MM-DD 00:00:00"
></a-date-picker>
</a-form-model-item>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<
!--
<
a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险计划"
prop=
"planName"
>
<a-select
v-model=
"form.planName"
placeholder=
"请选择保险计划"
show-search
allow-clear
:filterOption=
"filterCode"
@
search=
"codeSearch"
>
...
...
@@ -94,7 +94,7 @@
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-col>
-->
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"其他备注"
prop=
"remark"
>
<a-input
allow-clear
v-model=
"form.remark"
placeholder=
"请输入备注信息"
></a-input>
...
...
src/views/home/index.vue
View file @
0f66ee66
...
...
@@ -16,7 +16,7 @@ export default{
<
style
lang=
"less"
scoped
>
.burt-container{
height: calc(100vh -
116px);
height: calc(100vh -
86px);
padding: 0;
img{
width: 100%;
...
...
src/views/layout/components/menu/subMenu.vue
deleted
100644 → 0
View file @
d77d3f44
<
template
>
<div
class=
"sub-menu"
>
<router-link
tag=
"button"
:class=
"
{ btn: true, 'btn-active': isVisit(item.path) }"
v-for="(item, index) in menuStack"
:key="item.path"
:to="item.path"
>
{{
item
.
title
}}
<Icon
v-if=
"menuStack.length>1"
@
click=
"(e)=>closeMenu(e, index)"
:name=
"isVisit(item.path) ? 'ssiclose_active' : 'ssiclose'"
:size=
"16"
/>
</router-link>
<slot
name=
"tips"
/>
</div>
</
template
>
<
script
>
import
{
mapState
}
from
"
vuex
"
;
export
default
{
computed
:
{
...
mapState
({
menuStack
:
(
state
)
=>
state
.
common
.
menuStack
,
}),
},
methods
:
{
isVisit
(
val
)
{
const
path
=
this
.
$route
.
path
;
return
path
===
val
;
},
closeMenu
(
e
,
index
)
{
e
.
stopPropagation
();
const
menuStack
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
menuStack
));
const
isVisit
=
this
.
isVisit
(
menuStack
[
index
].
path
);
menuStack
.
splice
(
index
,
1
);
this
.
$store
.
commit
(
"
common/setMenuStack
"
,
menuStack
);
if
(
isVisit
)
{
// 关闭的是当前正在查看的
const
i
=
Math
.
max
(
0
,
index
-
1
);
this
.
$router
.
push
(
menuStack
[
i
].
path
||
"
/
"
);
}
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.sub-menu {
width: 100%;
overflow-x: auto;
white-space: nowrap;
.mg-b(16);
.btn {
.fs(14);
.lh(20);
.pa(8, 13, 8, 13);
.mg-r(40);
color: #252631;
font-weight: bold;
border: none;
background-color: #fff;
border-radius: 5px;
cursor: pointer;
}
.btn-active {
color: #fff;
background-color: #2b63ff;
}
}
</
style
>
src/views/layout/index.vue
View file @
0f66ee66
...
...
@@ -5,7 +5,6 @@
<Menu></Menu>
<Loading
/>
<div
class=
"content"
>
<SubMenu></SubMenu>
<router-view
/>
</div>
</div>
...
...
@@ -15,14 +14,12 @@
<
script
>
import
Header
from
"
./components/Header.vue
"
;
import
Menu
from
"
./components/menu
"
;
import
SubMenu
from
"
./components/menu/subMenu.vue
"
;
import
Loading
from
"
@/components/Loading/Loading.vue
"
;
export
default
{
components
:
{
Header
,
Menu
,
SubMenu
,
Loading
},
data
()
{
...
...
src/views/verification/collection.vue
View file @
0f66ee66
...
...
@@ -5,8 +5,16 @@
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorCode"
placeholder=
"请选择保险公司"
allowClear
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.id"
:value=
"item.payorCode"
>
<a-select
v-model=
"form.payorCode"
placeholder=
"请选择保险公司"
allowClear
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.id"
:value=
"item.payorCode"
>
{{
item
.
longName
}}
</a-select-option>
</a-select>
...
...
@@ -14,12 +22,44 @@
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"EOB编号"
>
<a-input
v-model=
"form.eobNo"
placeholder=
"EOB编号"
/>
<a-input
v-model=
"form.eobNo"
placeholder=
"EOB编号"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"创建时间"
>
<a-range-picker
format=
"YYYY-MM-DD"
v-model=
"form.dateRange"
:placeholder=
"['开始时间','结束时间']"
@
change=
"onSelectVisitTime"
/>
<a-range-picker
format=
"YYYY-MM-DD"
v-model=
"form.dateRange"
:placeholder=
"['开始时间', '结束时间']"
@
change=
"onSelectVisitTime"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"状态"
>
<a-select
v-model=
"form.backStatus"
placeholder=
"请选择状态"
allowClear
>
<a-select-option
v-for=
"item in backStatusOptions"
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
name
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"回款金额"
>
<a-input
v-model=
"form.backAmountCny"
placeholder=
"回款金额"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"回款编号"
>
<a-input
v-model=
"form.backMoneyNo"
placeholder=
"回款编号"
/>
</a-form-model-item>
</a-col>
<a-col
:md=
"24"
class=
"none-label"
>
...
...
@@ -27,25 +67,47 @@
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"handlerSearch"
>
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click.stop=
"handlerReset"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click.stop=
"handlerReset"
>
<Icon
name=
"ssireset"
:size=
"14"
/>
重置
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新建回款
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<!-- table -->
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: true }" :pagination="false" >
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: true }"
:pagination="false"
>
<template
slot=
"eobSts"
slot-scope=
"text"
>
{{
text
==
1
?
'
待回款
'
:
'
已回款
'
}}
{{
text
==
1
?
"
待回款
"
:
"
已回款
"
}}
</
template
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
@
click.stop=
"editEvt(record, true)"
>
修改
</a-button>
<a-button
type=
"link"
class=
"success"
@
click.stop=
"editEvt(record)"
>
查看
</a-button>
<a-button
v-if=
"record.backMoneyNo"
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button>
<a-button
type=
"link"
@
click.stop=
"editEvt(record, true)"
>
修改
</a-button
>
<a-button
type=
"link"
class=
"success"
@
click.stop=
"editEvt(record)"
>
查看
</a-button
>
<a-button
v-if=
"record.backMoneyNo"
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(index)"
>
删除
</a-button
>
</
template
>
</a-table>
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"getData"
/>
...
...
@@ -55,26 +117,48 @@
<
script
>
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
moment
from
"
moment
"
;
import
{
exportFile
}
from
'
@/utils/index
'
;
const
columns
=
[
{
title
:
"
回款编号
"
,
dataIndex
:
"
backMoneyNo
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
110
},
{
title
:
"
回款金额(人民币)
"
,
dataIndex
:
"
backAmountCny
"
,
ellipsis
:
true
,
width
:
190
,},
{
title
:
"
余额
"
,
dataIndex
:
"
residueBackAmount
"
,
ellipsis
:
true
,
width
:
130
,},
{
title
:
"
EOB编号
"
,
dataIndex
:
"
eobNos
"
,
ellipsis
:
true
,
width
:
140
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
110
},
{
title
:
"
回款金额(人民币)
"
,
dataIndex
:
"
backAmountCny
"
,
ellipsis
:
true
,
width
:
190
,
},
{
title
:
"
未核销余额
"
,
dataIndex
:
"
residueBackAmount
"
,
ellipsis
:
true
,
width
:
130
,
},
{
title
:
"
EOB备注
"
,
dataIndex
:
"
eobRemark
"
,
ellipsis
:
true
,
width
:
140
},
{
title
:
"
创建时间
"
,
dataIndex
:
"
createDate
"
,
ellipsis
:
true
,
width
:
110
},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
},
{
title
:
"
状态
"
,
dataIndex
:
"
backStatusStr
"
,
ellipsis
:
true
,
width
:
90
},
{
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
fixed
:
"
right
"
,
width
:
"
200px
"
,
align
:
"
center
"
,
},
];
export
default
{
data
()
{
return
{
columns
,
form
:
{
payorCode
:
''
,
eobNo
:
''
,
payorCode
:
""
,
eobNo
:
""
,
dateRange
:
[],
//创建时间范围
startDate
:
''
,
endDate
:
''
startDate
:
""
,
endDate
:
""
,
backStatus
:
""
,
backAmountCny
:
""
,
// 回款金额
backMoneyNo
:
""
,
// 回款编号
},
dataList
:
[],
companyOptions
:
[],
//保险公司
...
...
@@ -83,12 +167,17 @@ export default {
pageSize
:
10
,
total
:
0
,
},
backStatusOptions
:
[
{
name
:
'
全部
'
,
value
:
''
},
{
name
:
'
已结案
'
,
value
:
'
1
'
},
{
name
:
'
暂存
'
,
value
:
'
0
'
}
]
};
},
components
:
{
BurtPagination
,
},
created
()
{
created
()
{
this
.
getData
();
this
.
_getCompanyOptions
();
},
...
...
@@ -102,12 +191,13 @@ export default {
// 重置
handlerReset
()
{
this
.
form
=
{
payorCode
:
''
,
eobNo
:
''
,
payorCode
:
""
,
eobNo
:
""
,
dateRange
:
[],
//创建时间范围
startDate
:
''
,
endDate
:
''
}
startDate
:
""
,
endDate
:
""
,
backStatus
:
""
};
},
// 获取保险公司下拉选项
_getCompanyOptions
()
{
...
...
@@ -117,15 +207,16 @@ export default {
},
// 选中就诊时间
onSelectVisitTime
(
date
,
dateString
)
{
this
.
form
.
startDate
=
dateString
[
0
]
+
''
this
.
form
.
endDate
=
dateString
[
1
]
+
''
this
.
form
.
startDate
=
dateString
[
0
]
+
""
;
this
.
form
.
endDate
=
dateString
[
1
]
+
""
;
},
handlerSearch
()
{
this
.
pagination
.
pageNum
=
1
;
this
.
getData
();
},
getData
()
{
this
.
$apis
.
QUERYBACKMONEYLIST
({
this
.
$apis
.
QUERYBACKMONEYLIST
({
...
this
.
form
,
dateRange
:
undefined
,
pageNum
:
this
.
pagination
.
pageNum
,
...
...
@@ -135,42 +226,71 @@ export default {
if
(
res
.
returnCode
==
"
0000
"
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
content
.
list
||
[];
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
item
.
backStatusStr
=
item
.
backStatus
===
'
0
'
?
'
暂存
'
:
'
已结案
'
return
item
})
||
[];
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
//新建回款
addNewEvt
()
{
addNewEvt
()
{
this
.
$router
.
push
({
path
:
'
/verification/collectionDetail
'
,
path
:
"
/verification/collectionDetail
"
,
query
:
{
isEdit
:
true
}
})
isEdit
:
true
,
}
,
})
;
},
//编辑回款
editEvt
(
record
,
isEdit
)
{
editEvt
(
record
,
isEdit
)
{
const
{
backMoneyNo
}
=
record
;
localStorage
.
setItem
(
'
backMoneyDataDetail
'
,
JSON
.
stringify
(
record
));
localStorage
.
setItem
(
"
backMoneyDataDetail
"
,
JSON
.
stringify
(
record
));
console
.
log
(
isEdit
,
record
.
backStatus
)
// 已结案状态,二次确认
if
(
isEdit
&&
record
.
backStatus
===
"
1
"
)
{
this
.
$modal
.
confirm
({
title
:
"
修改
"
,
content
:
"
处于已结案状态,是否确定修改该条记录?
"
,
okText
:
"
确认
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$router
.
push
({
path
:
'
/verification/collectionDetail
'
,
path
:
"
/verification/collectionDetail
"
,
query
:
{
backMoneyNo
,
isEdit
isEdit
,
},
});
},
onCancel
:
()
=>
{},
});
return
;
}
})
this
.
$router
.
push
({
path
:
"
/verification/collectionDetail
"
,
query
:
{
backMoneyNo
,
isEdit
,
},
});
},
//删除记录
delRecord
(
index
)
{
let
content
=
"
确定删除该条记录?
"
if
(
this
.
dataList
[
index
].
backStatus
===
"
1
"
)
{
content
=
"
处于已结案状态,确定删除该条记录?
"
}
this
.
$modal
.
confirm
({
title
:
"
删除
"
,
content
:
"
确定删除该条记录?
"
,
content
,
okText
:
"
确认
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
$apis
.
DELETEBACKMONEY
({
this
.
$apis
.
DELETEBACKMONEY
({
backMoneyNo
:
this
.
dataList
[
index
].
backMoneyNo
,
})
.
then
((
res
)
=>
{
...
...
@@ -184,6 +304,16 @@ export default {
},
onCancel
:
()
=>
{},
});
},
//导出报表
exportExcel
(){
let
filter
=
{
...
this
.
form
,
dateRange
:
undefined
,
}
this
.
$apis
.
EXPORTBACKMONEYREPORT
(
filter
).
then
(
res
=>
{
exportFile
(
res
,
'
回款列表.xls
'
);
})
}
},
};
...
...
src/views/verification/collectionDetail.vue
View file @
0f66ee66
<
template
>
<div
class=
"white_bg burt-container"
>
<Goback
title=
"回款详情"
/>
<a-tabs
v-model=
"activeKey"
@
change=
"paneChange"
>
<a-tab-pane
v-for=
"pane in panes"
:key=
"pane.key"
:tab=
"pane.title"
>
<template
v-if=
"activeKey === '0'"
>
<!-- form -->
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorCode"
placeholder=
"请选择保险公司"
allow-clear
:disabled=
"!isEdit"
@
change=
"_getNewEOBList"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.id"
:value=
"item.payorCode"
>
<a-select
v-model=
"form.payorCode"
placeholder=
"请选择保险公司"
allow-clear
:disabled=
"!isEdit"
@
change=
"changePayor"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.id"
:value=
"item.payorCode"
>
{{
item
.
longName
}}
</a-select-option>
</a-select>
...
...
@@ -15,71 +28,246 @@
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"回款日期"
>
<a-date-picker
format=
"YYYY-MM-DD"
format-value=
"YYYY-MM-DD 00:00:00"
v-model=
"form.backDate"
placeholder=
"选择日期"
allow-clear
:disabled=
"!isEdit"
/>
<a-date-picker
format=
"YYYY-MM-DD"
format-value=
"YYYY-MM-DD 00:00:00"
v-model=
"form.backDate"
placeholder=
"选择日期"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"回款金额(人民币)"
>
<a-input
type=
"number"
v-model=
"form.backAmountCny"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
<a-input
type=
"number"
v-model=
"form.backAmountCny"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"可核销余额"
>
<a-input
v-model=
"residueBackAmount"
disabled
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"回款金额(美元)"
>
<a-input
type=
"number"
v-model=
"form.backAmountUsd"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
<a-input
type=
"number"
v-model=
"form.backAmountUsd"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"汇率差"
>
<a-input
v-model=
"form.backExchangeRate"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
<a-input
v-model=
"form.backExchangeRate"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"EOB编号"
>
<a-input
v-model=
"form.eobNos"
placeholder=
"请输入EOB编号"
allow-clear
:disabled=
"!isEdit"
/>
<a-input
v-model=
"form.eobNos"
placeholder=
"请输入EOB编号"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"EOB备注"
>
<a-input
v-model=
"form.eobRemark"
placeholder=
"请输入EOB备注"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"上传附件"
>
<a-upload
name=
"file"
:multiple=
"false"
:showUploadList=
"true"
:disabled=
"!isEdit"
<a-upload
name=
"file"
:multiple=
"false"
:showUploadList=
"true"
:disabled=
"!isEdit"
:fileList=
"fileList"
:customRequest=
"(file)=>uploadFile(file)"
:beforeUpload=
"()=>beforeUpload()"
:remove=
"(file)=>removeFile(file)"
>
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
</a-button>
:customRequest=
"(file) => uploadFile(file)"
:beforeUpload=
"() => beforeUpload()"
:remove=
"(file) => removeFile(file)"
>
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
</a-button>
</a-upload>
</a-form-model-item>
</a-col>
<a-col
:md=
"24"
:lg=
"7"
class=
"none-label"
v-if=
"isEdit"
>
<a-form-model-item
label=
"button"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(0)"
>
<Icon
:name=
"backMoneyNo?'ssibaocun':'ssiadd'"
:size=
"14"
/>
暂存
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(1)"
>
<Icon
:name=
"backMoneyNo?'ssibaocun':'ssiadd'"
:size=
"14"
/>
结案
</a-button>
</a-row>
</a-form-model>
</
template
>
<
template
v-else
>
<!-- form -->
<a-form-model
ref=
"form"
:labelCol=
"
{ span: 5 }"
:wrapperCol="{ span: 16 }"
:model="form"
class="bill-form"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorCode"
placeholder=
"请选择保险公司"
allow-clear
:disabled=
"!isEdit"
@
change=
"changePayor"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.id"
:value=
"item.payorCode"
>
{{
item
.
longName
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col
:lg=
"8"
:sm=
"12"
>
<a-form-model-item
label=
"可核销余额"
>
<a-input
v-model=
"residueBackAmount"
disabled
/>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<div
class=
"bill-content"
>
<!-- 已关联账单 -->
<template
v-if=
"selectedRows.length > 0"
>
<div
class=
"table-title"
>
已关联账单
</div>
<a-table
class=
"table-content"
:columns=
"selectedColumns"
:data-source=
"selectedRows"
:scroll=
"
{ x: true }" :pagination="false">
<div
class=
"table-title"
>
<span>
已关联账单
</span>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
</a-button>
</div>
<a-table
class=
"table-content"
:columns=
"selectedColumns"
:data-source=
"selectedRows"
:scroll=
"
{ x: true, y: 450 }"
:pagination="false"
>
<template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(record, index)"
>
删除
</a-button
>
</
template
>
</a-table>
</template>
<!-- table -->
<
template
v-if=
"isEdit"
>
<a-row
class=
"search-form"
>
<a-form-model
ref=
"searchForm"
layout=
"inline"
:labelCol=
"
{ span: 8 }"
:wrapperCol="{ span: 16 }"
:model="searchForm"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6"
:sm=
"10"
>
<a-form-model-item
label=
"账单日期"
>
<a-range-picker
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
v-model=
"searchForm.billDate"
:placeholder=
"['开始时间', '结束时间']"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"10"
>
<a-form-model-item
label=
"病历号"
>
<a-input
v-model=
"searchForm.mrnNo"
placeholder=
"请输入病历号"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户名称"
>
<a-input
v-model=
"searchForm.patientName"
placeholder=
"请输入客户名称"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"4"
:sm=
"12"
>
<div
class=
"btn-div mar-bottom10 none-label"
>
<a-button
type=
"primary"
@
click=
"_getNewEOBList"
>
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
</a-button>
</div>
</a-col>
</a-row>
</a-form-model>
</a-row>
<div
class=
"table-title"
>
账单列表
</div>
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"{ x: true }"
:pagination=
"false"
:rowKey=
"'id'"
:row-selection=
"{ selectedRowKeys: selectedRowKeys, onSelect: onSelectChange, onSelectAll: onSelectAll }"
>
<a-table
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: true, y: 300 }"
:pagination="false"
:rowKey="'id'"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onSelect: onSelectChange,
onSelectAll: onSelectAll,
}"
>
</a-table>
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"pageChange"
/>
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"pageChange"
/>
</
template
>
</div>
</template>
</a-tab-pane>
<div
v-if=
"isEdit"
slot=
"tabBarExtraContent"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(0)"
>
<Icon
:name=
"backMoneyNo ? 'ssibaocun' : 'ssiadd'"
:size=
"14"
/>
暂存
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(1)"
>
<Icon
:name=
"backMoneyNo ? 'ssibaocun' : 'ssiadd'"
:size=
"14"
/>
结案
</a-button>
</div>
</a-tabs>
</div>
</template>
<
script
>
import
Goback
from
"
@/components/CUSTOMER/goback
"
;
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
{
EOBStatusOptions
}
from
'
@/utils/utilsdictOptions.js
'
import
{
EOBStatusOptions
}
from
"
@/utils/utilsdictOptions.js
"
;
import
{
exportFile
}
from
'
@/utils/index
'
;
import
moment
from
"
moment
"
;
import
mixins
from
"
@/mixins
"
;
export
default
{
...
...
@@ -89,12 +277,13 @@ export default {
EOBStatusOptions
,
dialogShow
:
false
,
form
:
{
payorCode
:
''
,
payorCode
:
""
,
backDate
:
null
,
backAmountCny
:
''
,
backAmountUsd
:
''
,
backExchangeRate
:
''
,
eobNos
:
''
// EOB编号
backAmountCny
:
""
,
backAmountUsd
:
""
,
backExchangeRate
:
""
,
eobNos
:
""
,
// EOB编号
eobRemark
:
""
,
// EOB备注
},
fileList
:
[],
// 上传文件列表
dataList
:
[],
...
...
@@ -102,16 +291,30 @@ export default {
companyOptions
:
[],
//保险公司
pagination
:
{
pageNum
:
1
,
pageSize
:
10
,
pageSize
:
5
,
total
:
0
,
},
selectedRowKeys
:
[],
// Check here to configure the default column
selectedRows
:
[],
// Check here to configure the default column
backMoneyNo
:
''
,
backMoneyNo
:
""
,
editRules
:
{
backAmountUsd
:
[{
required
:
true
,
message
:
"
请输入
"
,
trigger
:
"
blur
"
}],
backAmount
:
[{
required
:
true
,
message
:
"
请输入
"
,
trigger
:
"
blur
"
}],
},
searchForm
:
{
billDate
:
[],
mrnNo
:
""
,
// 病历号
patientName
:
""
,
// 客户名字
},
savedStatus
:
false
,
//是否已保存
relatedList
:
[],
panes
:
[
{
title
:
"
基础信息
"
,
key
:
"
0
"
,
show
:
true
,
content
:
"
PaymentClaims
"
},
{
title
:
"
账单列表
"
,
key
:
"
1
"
,
show
:
false
,
content
:
"
Insurance
"
},
],
activeKey
:
"
0
"
,
};
},
mixins
:
[
mixins
],
...
...
@@ -122,48 +325,172 @@ export default {
computed
:
{
columns
()
{
const
base
=
[
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
ellipsis
:
true
,
width
:
150
},
// { title: "病历号", dataIndex: "mrnNo", ellipsis: true, width: 195 },
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
ellipsis
:
true
,
width
:
110
},
// { title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 160 },
{
title
:
"
账单日期
"
,
dataIndex
:
"
createDate
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
收银
"
,
dataIndex
:
"
receiptTellerName
"
,
ellipsis
:
true
,
width
:
120
,},
{
title
:
"
账单金额
"
,
dataIndex
:
"
actualAmount
"
,
ellipsis
:
true
,
width
:
150
,},
{
title
:
"
回款金额
"
,
dataIndex
:
"
backAmount
"
,
ellipsis
:
true
,
width
:
150
},
{
title
:
"
余额
"
,
dataIndex
:
"
residueBackAmount
"
,
ellipsis
:
true
,
width
:
150
,},
{
title
:
"
回款日期
"
,
dataIndex
:
"
receiptDate
"
,
ellipsis
:
true
,
width
:
150
,},
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
ellipsis
:
true
,
width
:
150
,
},
{
title
:
"
账单状态
"
,
dataIndex
:
"
status
"
,
ellipsis
:
true
,
width
:
150
,
},
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
ellipsis
:
true
,
width
:
160
,
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
"
账单日期
"
,
dataIndex
:
"
receiptDate
"
,
ellipsis
:
true
,
width
:
180
,
},
{
title
:
"
收银
"
,
dataIndex
:
"
receiptTellerName
"
,
ellipsis
:
true
,
width
:
120
,
},
{
title
:
"
理赔账单金额
"
,
dataIndex
:
"
actualAmount
"
,
ellipsis
:
true
,
width
:
150
,
},
{
title
:
"
回款金额
"
,
dataIndex
:
"
writeOffAmount
"
,
ellipsis
:
true
,
width
:
150
,
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmountShow
"
,
ellipsis
:
true
,
width
:
150
,
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
ellipsis
:
true
,
width
:
150
,
},
];
return
base
return
base
;
},
selectedColumns
()
{
const
base
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
columns
))
base
[
5
]
=
{
title
:
"
回款金额
"
,
dataIndex
:
"
backAmount
"
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
return
<
a
-
input
-
number
v
-
model
=
{
row
.
backAmount
}
allow
-
clear
/>
}
}
return
base
const
base
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
columns
));
const
changeAmount
=
this
.
changeAmount
;
base
[
8
]
=
{
title
:
"
回款金额
"
,
dataIndex
:
"
backAmount
"
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
return
(
<
a
-
input
-
number
v
-
model
=
{
row
.
backAmount
}
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
onBlur
=
{()
=>
{
changeAmount
(
row
);
}}
/>
);
},
};
base
[
10
]
=
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
const
residueBackAmount
=
Number
(
row
.
currentReceiptAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
-
Number
(
row
.
arrearsAmount
||
0
);
return
Number
(
residueBackAmount
.
toFixed
(
2
));
},
};
base
[
9
]
=
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmount
"
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
return
(
<
a
-
input
-
number
v
-
model
=
{
row
.
arrearsAmount
}
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
onBlur
=
{()
=>
{
changeAmount
(
row
);
}}
/>
);
},
};
base
.
splice
(
8
,
0
,
{
title
:
"
余末金额
"
,
dataIndex
:
"
currentReceiptAmount
"
,
ellipsis
:
true
,
width
:
150
,
});
base
.
push
({
title
:
"
回款日期
"
,
dataIndex
:
"
backDate
"
,
ellipsis
:
true
,
width
:
150
,
});
if
(
this
.
isEdit
)
{
base
.
push
({
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
fixed
:
"
right
"
,
width
:
100
,
scopedSlots
:
{
customRender
:
"
operation
"
},
});
}
return
base
;
},
created
(){
const
{
backMoneyNo
,
isEdit
}
=
this
.
$route
.
query
// 可核销余额
residueBackAmount
()
{
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
this
.
selectedRows
.
forEach
((
item
)
=>
{
totalMoney
-=
Number
(
item
.
backAmount
);
});
return
Number
(
totalMoney
.
toFixed
(
2
));
},
},
created
()
{
const
{
backMoneyNo
,
isEdit
}
=
this
.
$route
.
query
;
this
.
backMoneyNo
=
backMoneyNo
;
this
.
isEdit
=
isEdit
;
this
.
_getCompanyOptions
();
if
(
backMoneyNo
){
const
backMoneyDataDetail
=
JSON
.
parse
(
localStorage
.
getItem
(
'
backMoneyDataDetail
'
)
||
'
{}
'
);
this
.
form
=
backMoneyDataDetail
this
.
form
.
backDate
=
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
)
:
null
if
(
backMoneyNo
)
{
const
backMoneyDataDetail
=
JSON
.
parse
(
localStorage
.
getItem
(
"
backMoneyDataDetail
"
)
||
"
{}
"
);
this
.
form
=
backMoneyDataDetail
;
this
.
form
.
backDate
=
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
"
YYYY-MM-DD 00:00:00
"
)
:
null
;
// 如果有上传附件则显示列表
if
(
backMoneyDataDetail
.
fileList
)
{
this
.
fileList
=
backMoneyDataDetail
.
fileList
.
map
(
d
=>
{
if
(
backMoneyDataDetail
.
fileList
)
{
this
.
fileList
=
backMoneyDataDetail
.
fileList
.
map
(
(
d
)
=>
{
const
file
=
{
uid
:
Math
.
random
()
*
10000
,
uid
:
Math
.
random
()
*
10000
,
name
:
d
.
fileName
,
status
:
'
done
'
,
status
:
"
done
"
,
url
:
d
.
fileUrl
,
}
return
file
})
}
;
return
file
;
})
;
}
this
.
getData
();
}
...
...
@@ -171,35 +498,112 @@ export default {
},
methods
:
{
moment
,
paneChange
()
{
this
.
panes
.
forEach
((
item
)
=>
{
item
.
show
=
false
;
});
this
.
panes
[
Number
(
this
.
activeKey
)].
show
=
true
;
},
changeAmount
(
row
)
{
if
(
Number
(
row
.
actualAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
<
0
)
{
this
.
$message
.
warning
(
"
录入账单回款金额大于账单金额
"
);
}
},
onSelectChange
(
selectedRow
,
selected
)
{
if
(
selected
)
{
this
.
selectedRowKeys
.
push
(
selectedRow
.
id
)
this
.
selectedRows
.
push
(
selectedRow
)
if
(
selected
)
{
this
.
selectedRowKeys
.
push
(
selectedRow
.
id
)
;
this
.
selectedRows
.
push
(
selectedRow
)
;
}
else
{
const
index
=
this
.
selectedRowKeys
.
findIndex
(
item
=>
item
===
selectedRow
.
id
)
this
.
selectedRowKeys
.
splice
(
index
,
1
)
this
.
selectedRows
.
splice
(
index
,
1
)
const
index
=
this
.
selectedRowKeys
.
findIndex
(
(
item
)
=>
item
===
selectedRow
.
id
);
this
.
selectedRowKeys
.
splice
(
index
,
1
);
this
.
selectedRows
.
splice
(
index
,
1
);
this
.
_confirmDelReceipt
([
selectedRow
]);
}
},
onSelectAll
(
selected
,
selectedRows
,
changeRows
)
{
console
.
log
(
selected
,
selectedRows
,
changeRows
)
if
(
selected
)
{
this
.
selectedRowKeys
=
this
.
selectedRowKeys
.
concat
(
changeRows
.
map
(
item
=>
item
.
id
))
this
.
selectedRows
=
this
.
selectedRows
.
concat
(
changeRows
)
console
.
log
(
selected
,
selectedRows
,
changeRows
);
if
(
selected
)
{
this
.
selectedRowKeys
=
this
.
selectedRowKeys
.
concat
(
changeRows
.
map
((
item
)
=>
item
.
id
)
);
this
.
selectedRows
=
this
.
selectedRows
.
concat
(
changeRows
);
}
else
{
changeRows
.
forEach
(
item
=>
{
const
findIndex
=
this
.
selectedRowKeys
.
findIndex
(
rowId
=>
rowId
===
item
.
id
)
this
.
selectedRowKeys
.
splice
(
findIndex
,
1
)
this
.
selectedRows
.
splice
(
findIndex
,
1
)
changeRows
.
forEach
((
item
)
=>
{
const
findIndex
=
this
.
selectedRowKeys
.
findIndex
(
(
rowId
)
=>
rowId
===
item
.
id
);
this
.
selectedRowKeys
.
splice
(
findIndex
,
1
);
this
.
selectedRows
.
splice
(
findIndex
,
1
);
});
this
.
_confirmDelReceipt
(
changeRows
);
}
},
delRecord
(
record
,
index
)
{
this
.
selectedRowKeys
.
splice
(
index
,
1
);
this
.
selectedRows
.
splice
(
index
,
1
);
if
(
record
.
relationed
)
{
// 已经关联的调用接口删除
this
.
_confirmDelReceipt
([
record
]);
}
},
_confirmDelReceipt
(
records
)
{
console
.
log
(
records
);
if
(
!
this
.
backMoneyNo
)
return
;
const
receiptVoList
=
records
.
filter
((
item
)
=>
{
const
findIndex
=
this
.
relatedList
.
findIndex
(
(
rowId
)
=>
rowId
===
item
.
id
);
return
findIndex
>
-
1
;
})
.
map
((
item
)
=>
{
return
{
id
:
item
.
id
,
};
});
console
.
log
(
receiptVoList
);
if
(
receiptVoList
.
length
===
0
)
return
;
this
.
$apis
.
DELETERECEIPTRECORD
({
backMoneyNo
:
this
.
backMoneyNo
,
receiptVoList
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
_getNewEOBList
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
// 修改保险公司
changePayor
()
{
if
(
this
.
selectedRowKeys
.
length
>
0
&&
(
this
.
form
.
id
||
this
.
savedStatus
)
)
{
this
.
$modal
.
confirm
({
title
:
"
提示
"
,
content
:
"
是否解除已关联账单
"
,
okText
:
"
确认
"
,
cancelText
:
"
取消
"
,
onOk
:
()
=>
{
this
.
selectedRowKeys
=
[];
this
.
selectedRows
=
[];
},
onCancel
:
()
=>
{},
});
}
this
.
_getNewEOBList
();
},
pageChange
(
pager
)
{
this
.
pagination
=
{
...
this
.
pagination
,
...
pager
}
this
.
_getNewEOBList
()
...
pager
,
}
;
this
.
_getNewEOBList
()
;
},
// 获取保险公司下拉选项
_getCompanyOptions
()
{
...
...
@@ -209,58 +613,85 @@ export default {
},
// 获取已关联的账单
getData
()
{
this
.
$apis
.
QUERYBACKRECEIPTLIST
({
this
.
$apis
.
QUERYBACKRECEIPTLIST
({
pageNum
:
1
,
pageSize
:
999
,
backMoneyNo
:
this
.
backMoneyNo
,
payorCode
:
this
.
form
.
payorCode
payorCode
:
this
.
form
.
payorCode
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
const
list
=
res
.
content
.
list
||
[];
this
.
selectedRowKeys
=
list
.
map
(
d
=>
d
.
id
)
this
.
selectedRows
=
list
this
.
selectedRowKeys
=
list
.
map
((
d
)
=>
d
.
id
);
this
.
selectedRows
=
list
.
map
((
item
)
=>
{
item
.
relationed
=
true
;
return
item
;
});
this
.
relatedList
=
list
.
map
((
d
)
=>
d
.
id
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
// 获取所有账单
_getNewEOBList
(){
this
.
$apis
.
QUERYBACKRECEIPTINFOLIST
({
_getNewEOBList
()
{
let
billDate
=
this
.
searchForm
.
billDate
||
[];
this
.
$apis
.
QUERYBACKRECEIPTINFOLIST
({
pageNum
:
this
.
pagination
.
pageNum
,
pageSize
:
this
.
pagination
.
pageSize
,
payorCode
:
this
.
form
.
payorCode
backMoneyNo
:
this
.
backMoneyNo
,
payorCode
:
this
.
form
.
payorCode
,
...
this
.
searchForm
,
receiptEndDate
:
billDate
[
1
]
?
billDate
[
1
]
+
"
23:59:59
"
:
undefined
,
receiptStartDate
:
billDate
[
0
]
?
billDate
[
0
]
+
"
00:00:00
"
:
undefined
,
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
content
.
list
||
[];
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
item
.
arrearsAmountShow
=
item
.
arrearsAmount
item
.
arrearsAmount
=
''
return
item
})
||
[];
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
});
},
//新建/保存回款
addNewEvt
(
backStatus
){
return
new
Promise
((
resolve
,
reject
)
=>
{
console
.
log
(
this
.
selectedRows
)
if
(
!
this
.
form
.
backAmountCny
){
addNewEvt
(
backStatus
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
console
.
log
(
this
.
selectedRows
);
if
(
!
this
.
form
.
payorCode
)
{
this
.
$message
.
warning
(
"
请选择保险公司
"
);
reject
();
return
;
}
if
(
!
this
.
form
.
backDate
)
{
this
.
$message
.
warning
(
"
请选择回款日期
"
);
reject
();
return
;
}
if
(
!
this
.
form
.
backAmountCny
)
{
this
.
$message
.
warning
(
"
请输入回款金额
"
);
reject
();
return
;
}
let
receiptVoList
=
this
.
selectedRows
.
map
(
item
=>
{
let
receiptVoList
=
this
.
selectedRows
.
map
(
(
item
)
=>
{
return
{
id
:
item
.
id
,
backAmount
:
item
.
backAmount
,
}
})
const
valid
=
receiptVoList
.
some
(
item
=>
{
return
!
item
.
backAmount
})
if
(
valid
)
{
arrearsAmount
:
item
.
arrearsAmount
,
};
});
const
valid
=
receiptVoList
.
some
((
item
)
=>
{
const
exist
=
!
item
.
backAmount
&&
item
.
backAmount
!==
0
return
exist
;
});
if
(
valid
)
{
this
.
$message
.
warning
(
"
存在关联账单未输入回款金额
"
);
reject
();
return
;
...
...
@@ -269,27 +700,30 @@ export default {
const
formData
=
{
...
this
.
form
,
receiptVoList
,
backDate
:
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
):
''
,
backDate
:
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
"
YYYY-MM-DD HH:mm:ss
"
)
:
""
,
backMoneyNo
:
this
.
backMoneyNo
,
//回款编号
backStatus
// 0暂存 1结案
}
backStatus
,
// 0暂存 1结案
}
;
// 上传附件格式转换
formData
.
fileList
=
this
.
fileList
.
map
(
d
=>
{
formData
.
fileList
=
this
.
fileList
.
map
(
(
d
)
=>
{
const
file
=
{
fileName
:
d
.
name
,
fileUrl
:
d
.
url
}
return
file
})
fileUrl
:
d
.
url
,
}
;
return
file
;
})
;
this
.
$apis
.
SAVEBACKMONEY
(
formData
)
.
then
((
res
)
=>
{
this
.
$apis
.
SAVEBACKMONEY
(
formData
).
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
backMoneyNo
=
res
.
content
;
this
.
savedStatus
=
true
;
this
.
$message
.
success
(
"
成功
"
);
this
.
selectedRowKeys
=
[];
this
.
getData
();
this
.
_getNewEOBList
();
// this.$router.go(-1);
resolve
();
...
...
@@ -298,21 +732,21 @@ export default {
reject
();
}
});
})
})
;
},
/* ======== 上传区域 ======== */
// 上传之前
beforeUpload
(){
beforeUpload
()
{
const
len
=
this
.
fileList
.
length
;
if
(
len
>=
5
)
{
this
.
$message
.
warning
(
'
不能超过5个文件
'
);
if
(
len
>=
5
)
{
this
.
$message
.
warning
(
"
不能超过5个文件
"
);
return
false
;
}
return
true
;
},
// 删除文件
removeFile
(
file
){
removeFile
(
file
)
{
let
index
;
this
.
fileList
.
forEach
((
item
,
i
)
=>
{
if
(
item
.
uid
==
file
.
uid
)
{
...
...
@@ -323,21 +757,30 @@ export default {
return
true
;
},
// 上传文件
uploadFile
(
fileData
){
uploadFile
(
fileData
)
{
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
fileData
.
file
);
this
.
$apis
.
UPLOADIMG
(
formData
)
.
then
((
res
)
=>
{
this
.
$apis
.
UPLOADIMG
(
formData
).
then
((
res
)
=>
{
fileData
.
onSuccess
();
let
tmp
=
{
uid
:
Math
.
random
()
*
10000
,
uid
:
Math
.
random
()
*
10000
,
name
:
res
.
original
,
status
:
'
done
'
,
status
:
"
done
"
,
url
:
res
.
url
,
}
}
;
this
.
fileList
.
push
(
tmp
);
this
.
$forceUpdate
();
});
},
//导出报表
exportExcel
(){
let
filter
=
{
backMoneyNo
:
this
.
backMoneyNo
,
payorCode
:
this
.
form
.
payorCode
,
}
this
.
$apis
.
EXPORTBACKRECEIPTLIST
(
filter
).
then
(
res
=>
{
exportFile
(
res
,
'
已关联账单.xls
'
);
})
}
},
...
...
@@ -353,11 +796,20 @@ export default {
}
.table-title {
font-size: 15px;
margin: 12px 0 6px;
margin: 6px 0;
display: flex;
align-items: center;
justify-content: space-between;
}
.table-content {
margin-bottom: 8px;
}
.search-form {
margin-top: 24px;
.ant-form .ant-form-item {
margin-bottom: 4px;
}
}
.ant-btn .icon-class {
.mg-r(10);
}
...
...
@@ -367,4 +819,26 @@ export default {
.danger.ant-btn-link {
color: #ff3b30;
}
.burt-container {
height: calc(100vh - 86px);
display: flex;
flex-direction: column;
::v-deep {
.ant-tabs {
flex: 1;
min-height: 0;
}
}
}
.bill-content {
height: calc(100vh - 380px);
overflow-y: auto;
overflow-x: hidden;
padding-right: 12px;
}
::v-deep .bill-form {
.ant-form .ant-form-item {
margin-bottom: 4px !important;
}
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment