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
30e4ac19
Commit
30e4ac19
authored
1 year ago
by
王安伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'func_eccs_2250' into test
parents
6ef93918
300a798f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1224 additions
and
1194 deletions
+1224
-1194
index.vue
src/views/charge-query/index.vue
+347
-329
collectionDetail.vue
src/views/verification/collectionDetail.vue
+877
-865
No files found.
src/views/charge-query/index.vue
View file @
30e4ac19
<
template
>
<
template
>
<!-- 收费查询-账单查询 -->
<!-- 收费查询-账单查询 -->
<div
class=
"white_bg burt-container custom-info"
>
<div
class=
"white_bg burt-container custom-info"
>
<!-- form -->
<!-- form -->
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-row
:gutter=
"30"
>
<a-row
:gutter=
"30"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"病历号"
>
<a-form-model-item
label=
"病历号"
>
<a-input
v-model=
"form.mrnNo"
placeholder=
"请输入病历号"
allow-clear
/>
<a-input
v-model=
"form.mrnNo"
placeholder=
"请输入病历号"
allow-clear
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"客户姓名"
>
<a-form-model-item
label=
"客户姓名"
>
<a-input
v-model=
"form.patientName"
placeholder=
"请输入客户姓名"
allow-clear
/>
<a-input
v-model=
"form.patientName"
placeholder=
"请输入客户姓名"
allow-clear
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorIds"
placeholder=
"请选择保险公司"
allowClear
mode=
"multiple"
>
<a-select
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.corpCode"
:value=
"item.id"
>
v-model=
"form.payorId"
{{
item
.
longName
}}
placeholder=
"请选择保险公司"
</a-select-option>
allowClear
</a-select>
show-search
</a-form-model-item>
mode=
"multiple"
</a-col>
:filterOption=
"filterCode"
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
>
<a-form-model-item
label=
"看诊医生"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.corpCode"
:value=
"item.id"
>
<a-select
v-model=
"form.doctorCode"
placeholder=
"请选择看诊医生"
allowClear
>
{{
item
.
longName
}}
<a-select-option
v-for=
"item in doctorOptions"
:key=
"item.doctorCode"
:value=
"item.doctorCode"
>
</a-select-option>
{{
item
.
doctorDesc
}}
</a-select>
</a-select-option>
</a-form-model-item>
</a-select>
</a-col>
</a-form-model-item>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-col>
<a-form-model-item
label=
"看诊医生"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-select
v-model=
"form.doctorCode"
placeholder=
"请选择看诊医生"
allowClear
>
<a-form-model-item
label=
"收费时间"
>
<a-select-option
v-for=
"item in doctorOptions"
:key=
"item.doctorCode"
:value=
"item.doctorCode"
>
<a-range-picker
format=
"YYYY-MM-DD"
v-model=
"form.dateRange"
:placeholder=
"['开始时间','结束时间']"
@
change=
"onSelectVisitTime"
/>
{{
item
.
doctorDesc
}}
</a-form-model-item>
</a-select-option>
</a-col>
</a-select>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-form-model-item>
<a-form-model-item
label=
"是否已关联寄送单"
>
</a-col>
<a-select
v-model=
"form.isSend"
placeholder=
"请选择是否已关联寄送单"
allowClear
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-select-option
value=
"Y"
allow-clear
>
<a-form-model-item
label=
"收费时间"
>
是
<a-range-picker
</a-select-option>
format=
"YYYY-MM-DD"
<a-select-option
value=
"N"
allow-clear
>
v-model=
"form.dateRange"
否
:placeholder=
"['开始时间', '结束时间']"
</a-select-option>
@
change=
"onSelectVisitTime"
</a-select>
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"是否已回款"
>
<a-form-model-item
label=
"是否已关联寄送单"
>
<a-select
v-model=
"form.isEobBack"
placeholder=
"请选择是否已回款"
allowClear
>
<a-select
v-model=
"form.isSend"
placeholder=
"请选择是否已关联寄送单"
allowClear
>
<a-select-option
value=
"Y"
allow-clear
>
<a-select-option
value=
"Y"
allow-clear
>
是
</a-select-option>
是
<a-select-option
value=
"N"
allow-clear
>
否
</a-select-option>
</a-select-option>
</a-select>
<a-select-option
value=
"N"
allow-clear
>
</a-form-model-item>
否
</a-col>
</a-select-option>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-select>
<a-form-model-item
label=
"是否已回款"
>
</a-form-model-item>
<a-select
v-model=
"form.isEobBack"
placeholder=
"请选择是否已回款"
allowClear
>
</a-col>
<a-select-option
value=
"Y"
allow-clear
>
是
</a-select-option>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-select-option
value=
"N"
allow-clear
>
否
</a-select-option>
<a-form-model-item
label=
"账单类型"
>
</a-select>
<a-select
v-model=
"form.receiptType"
placeholder=
"请选择账单类型"
allowClear
>
</a-form-model-item>
<a-select-option
v-for=
"item in receiptTypeOptions"
:key=
"item.value"
:value=
"item.value"
>
</a-col>
{{
item
.
name
}}
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-select-option>
<a-form-model-item
label=
"账单类型"
>
</a-select>
<a-select
v-model=
"form.receiptType"
placeholder=
"请选择账单类型"
allowClear
>
</a-form-model-item>
<a-select-option
v-for=
"item in receiptTypeOptions"
:key=
"item.value"
:value=
"item.value"
>
</a-col>
{{
item
.
name
}}
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-select-option>
<a-form-model-item
label=
"账单编号"
>
</a-select>
<a-input
v-model=
"form.receiptNo"
placeholder=
"请输入账单编号"
allow-clear
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"账单编号"
>
<a-form-model-item
label=
"状态"
>
<a-input
v-model=
"form.receiptNo"
placeholder=
"请输入账单编号"
allow-clear
/>
<a-select
v-model=
"form.status"
placeholder=
"请选择状态"
allowClear
>
</a-form-model-item>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
</a-col>
{{
item
.
name
}}
<a-col
:xl=
"6"
:lg=
"6"
:sm=
"12"
>
</a-select-option>
<a-form-model-item
label=
"状态"
>
</a-select>
<a-select
v-model=
"form.status"
placeholder=
"请选择状态"
allowClear
>
</a-form-model-item>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
</a-col>
{{
item
.
name
}}
<a-col
:xl=
"8"
:lg=
"3"
:sm=
"3"
class=
"none-label"
>
</a-select-option>
<a-form-model-item
label=
"button"
>
</a-select>
<!--
<a-button>
更新数据
</a-button>
-->
</a-form-model-item>
<!--
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewCharge"
>
</a-col>
<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"
>
<Icon
name=
"ssiadd"
:size=
"14"
/>
新建预授权
</a-button>
-->
<Icon
name=
"ssiadd"
:size=
"14"
/>
新建预授权
</a-button>
-->
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"handlerReset"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"handlerReset"
>
<Icon
name=
"ssireset"
:size=
"14"
/>
重置
<Icon
name=
"ssireset"
:size=
"14"
/>
重置
</a-button>
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"handlerSearch"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"handlerSearch"
>
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
</a-button>
</a-button>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
</a-button>
</a-button>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
</a-row>
</a-row>
</a-form-model>
</a-form-model>
<!-- table -->
<!-- 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=
"index"
slot-scope=
"text, record, index"
>
<template
slot=
"index"
slot-scope=
"text, record, index"
>
{{
index
+
1
}}
{{
index
+
1
}}
</
template
>
</
template
>
<
template
slot=
"operation"
slot-scope=
"record"
>
<
template
slot=
"operation"
slot-scope=
"record"
>
<!--
<a-button
type=
"link"
@
click.stop=
"receiptEvt(record)"
>
结算
</a-button>
-->
<!--
<a-button
type=
"link"
@
click.stop=
"receiptEvt(record)"
>
结算
</a-button>
-->
<a-button
type=
"link"
class=
"success"
@
click.stop=
"detailEvt(record)"
>
查看
</a-button>
<a-button
type=
"link"
class=
"success"
@
click.stop=
"detailEvt(record)"
>
查看
</a-button>
<!--
<a-popconfirm
title=
"你确定要关闭吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData"
>
<!--
<a-popconfirm
title=
"你确定要关闭吗?"
ok-text=
"确定"
cancel-text=
"取消"
@
confirm=
"deleteData"
>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
<a-button
type=
"link"
class=
"danger"
>
删除
</a-button>
</a-popconfirm>
-->
</a-popconfirm>
-->
</
template
>
</
template
>
<
template
slot=
"isSend"
slot-scope=
"text"
>
<
template
slot=
"isSend"
slot-scope=
"text"
>
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
</
template
>
</
template
>
<
template
slot=
"isEob"
slot-scope=
"text"
>
<
template
slot=
"isEob"
slot-scope=
"text"
>
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
</
template
>
</
template
>
<
template
slot=
"isEobBack"
slot-scope=
"text"
>
<
template
slot=
"isEobBack"
slot-scope=
"text"
>
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
{{
text
==
'
Y
'
?
'
是
'
:
text
==
'
N
'
?
'
否
'
:
''
}}
</
template
>
</
template
>
<
template
slot=
"status"
slot-scope=
"text"
>
<
template
slot=
"status"
slot-scope=
"text"
>
<span
:style=
"
{color: text == 2 ? 'red' : ''}">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
<span
:style=
"
{ color: text == 2 ? 'red' : '' }">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
</
template
>
</
template
>
</a-table>
</a-table>
<!--分页-->
<!--分页-->
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"_getChargeList"
/>
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"_getChargeList"
/>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
BurtPagination
from
'
@/components/CUSTOMER/pagation
'
;
import
{
mapState
}
from
"
vuex
"
import
{
mapState
}
from
'
vuex
'
;
import
moment
from
"
moment
"
;
import
moment
from
'
moment
'
;
import
{
receiptTypeOptions
}
from
'
@/utils/utilsdictOptions.js
'
;
import
{
receiptTypeOptions
}
from
'
@/utils/utilsdictOptions.js
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
export
default
{
export
default
{
data
()
{
data
()
{
const
columns
=
[
const
columns
=
[
{
title
:
"
序号
"
,
dataIndex
:
"
index
"
,
key
:
"
index
"
,
align
:
'
center
'
,
width
:
80
,
scopedSlots
:
{
customRender
:
"
index
"
}},
{
{
title
:
"
收费时间
"
,
dataIndex
:
"
receiptDate
"
,
width
:
180
},
title
:
'
序号
'
,
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
width
:
180
},
dataIndex
:
'
index
'
,
{
title
:
"
账单类型
"
,
dataIndex
:
"
receiptTypeStr
"
,
width
:
130
},
key
:
'
index
'
,
{
title
:
"
状态
"
,
dataIndex
:
"
status
"
,
width
:
130
,
scopedSlots
:
{
customRender
:
"
status
"
}
},
align
:
'
center
'
,
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
width
:
180
},
width
:
80
,
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
width
:
120
,},
scopedSlots
:
{
customRender
:
'
index
'
}
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
width
:
200
},
},
{
title
:
"
保险卡
"
,
dataIndex
:
"
cardNo
"
,
width
:
200
},
{
title
:
'
收费时间
'
,
dataIndex
:
'
receiptDate
'
,
width
:
180
},
{
title
:
"
客户生日
"
,
dataIndex
:
"
birthday
"
,
width
:
200
},
{
title
:
'
账单编号
'
,
dataIndex
:
'
receiptNo
'
,
width
:
180
},
{
title
:
"
就诊医生
"
,
dataIndex
:
"
doctorName
"
,
width
:
150
},
{
title
:
'
账单类型
'
,
dataIndex
:
'
receiptTypeStr
'
,
width
:
130
},
{
title
:
"
是否已关联寄送单
"
,
dataIndex
:
"
isSend
"
,
width
:
180
,
scopedSlots
:
{
customRender
:
"
isSend
"
}
},
{
title
:
'
状态
'
,
dataIndex
:
'
status
'
,
width
:
130
,
scopedSlots
:
{
customRender
:
'
status
'
}
},
{
title
:
"
是否已回款
"
,
dataIndex
:
"
isEobBack
"
,
width
:
180
,
scopedSlots
:
{
customRender
:
"
isEobBack
"
}
},
{
title
:
'
病历号
'
,
dataIndex
:
'
mrnNo
'
,
width
:
180
},
{
title
:
"
应收金额
"
,
dataIndex
:
"
chargeAmount
"
,
width
:
180
},
{
title
:
'
客户姓名
'
,
dataIndex
:
'
patientName
'
,
width
:
120
},
{
title
:
"
折扣(%)
"
,
dataIndex
:
"
discountAmount
"
,
width
:
180
},
{
title
:
'
保险公司
'
,
dataIndex
:
'
payorName
'
,
width
:
200
},
{
title
:
"
减免金额
"
,
dataIndex
:
"
reduceAmount
"
,
width
:
180
},
{
title
:
'
保险卡
'
,
dataIndex
:
'
cardNo
'
,
width
:
200
},
{
title
:
"
应付金额
"
,
dataIndex
:
"
payableAmount
"
,
width
:
180
},
{
title
:
'
客户生日
'
,
dataIndex
:
'
birthday
'
,
width
:
200
},
{
title
:
"
客户自付
"
,
dataIndex
:
"
selfpaidAmount
"
,
width
:
180
},
{
title
:
'
就诊医生
'
,
dataIndex
:
'
doctorName
'
,
width
:
150
},
{
title
:
"
理赔金额
"
,
dataIndex
:
"
actualAmount
"
,
width
:
180
},
{
title
:
'
是否已关联寄送单
'
,
dataIndex
:
'
isSend
'
,
width
:
180
,
scopedSlots
:
{
customRender
:
'
isSend
'
}
},
{
title
:
"
保险已支付
"
,
dataIndex
:
"
backAmount
"
,
width
:
180
},
{
title
:
'
是否已回款
'
,
dataIndex
:
'
isEobBack
'
,
width
:
180
,
scopedSlots
:
{
customRender
:
'
isEobBack
'
}
},
{
title
:
"
保险欠费
"
,
dataIndex
:
"
insuranceArrearsAmount
"
,
width
:
180
},
{
title
:
'
应收金额
'
,
dataIndex
:
'
chargeAmount
'
,
width
:
180
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmount
"
,
width
:
180
},
{
title
:
'
折扣(%)
'
,
dataIndex
:
'
discountAmount
'
,
width
:
180
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
width
:
180
},
{
title
:
'
减免金额
'
,
dataIndex
:
'
reduceAmount
'
,
width
:
180
},
{
title
:
"
账龄
"
,
dataIndex
:
"
diffDay
"
,
width
:
180
},
{
title
:
'
应付金额
'
,
dataIndex
:
'
payableAmount
'
,
width
:
180
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
align
:
"
center
"
},
{
title
:
'
客户自付
'
,
dataIndex
:
'
selfpaidAmount
'
,
width
:
180
},
];
{
title
:
'
理赔金额
'
,
dataIndex
:
'
actualAmount
'
,
width
:
180
},
return
{
{
title
:
'
保险已支付
'
,
dataIndex
:
'
backAmount
'
,
width
:
180
},
columns
,
{
title
:
'
保险欠费
'
,
dataIndex
:
'
insuranceArrearsAmount
'
,
width
:
180
},
receiptTypeOptions
,
{
title
:
'
个人欠费
'
,
dataIndex
:
'
arrearsAmount
'
,
width
:
180
},
form
:
{},
{
title
:
'
备注
'
,
dataIndex
:
'
remark
'
,
width
:
200
},
pageForm
:
{
{
title
:
'
未清余额
'
,
dataIndex
:
'
residueBackAmount
'
,
width
:
180
},
doctorCode
:
""
,
{
title
:
'
账龄
'
,
dataIndex
:
'
diffDay
'
,
width
:
180
},
patientName
:
""
,
{
mrnNo
:
""
,
title
:
'
操作
'
,
paymentCode
:
""
,
key
:
'
operation
'
,
payorIds
:
[],
width
:
'
175px
'
,
visitTimeEnd
:
""
,
fixed
:
'
right
'
,
visitTimeStart
:
""
,
scopedSlots
:
{
customRender
:
'
operation
'
},
receiptType
:
""
,
align
:
'
center
'
receiptNo
:
""
}
},
];
patientTypeOptions
:
[
return
{
{
columns
,
name
:
"
商保
"
,
receiptTypeOptions
,
code
:
1
,
form
:
{},
},
pageForm
:
{
],
//客户类型
doctorCode
:
''
,
companyOptions
:
[],
//保险公司
patientName
:
''
,
doctorOptions
:
[],
//就诊医生
mrnNo
:
''
,
paymentOptions
:
[
paymentCode
:
''
,
{
payorIds
:
[],
name
:
"
商保
"
,
visitTimeEnd
:
''
,
code
:
1
,
visitTimeStart
:
''
,
},
receiptType
:
''
,
],
//支付方式
receiptNo
:
''
dataList
:
[],
},
pagination
:
{
patientTypeOptions
:
[
pageNum
:
1
,
{
pageSize
:
10
,
name
:
'
商保
'
,
total
:
0
,
code
:
1
},
}
receiptTypeDict
:
{
],
//客户类型
'
1
'
:
'
收费
'
,
companyOptions
:
[],
//保险公司
'
2
'
:
'
退费
'
doctorOptions
:
[],
//就诊医生
},
paymentOptions
:
[
statusOptions
:
[
{
{
name
:
'
商保
'
,
name
:
'
无效
'
,
code
:
1
code
:
2
}
},
],
//支付方式
{
dataList
:
[],
name
:
'
有效
'
,
pagination
:
{
code
:
1
pageNum
:
1
,
}
pageSize
:
10
,
]
total
:
0
};
},
},
receiptTypeDict
:
{
components
:
{
1
:
'
收费
'
,
BurtPagination
,
2
:
'
退费
'
},
},
computed
:
{
statusOptions
:
[
...
mapState
({
{
userInfo
:
(
state
)
=>
state
.
common
.
userInfo
name
:
'
无效
'
,
})
code
:
2
},
},
created
()
{
{
this
.
_getCompanyOptions
();
name
:
'
有效
'
,
this
.
_getDoctorListNoPage
();
//获取医生下拉选项
code
:
1
},
}
methods
:
{
]
moment
,
};
// 选择框筛选
},
filterCode
(
input
,
option
)
{
components
:
{
return
(
BurtPagination
option
.
componentOptions
.
children
[
0
].
text
},
.
toLowerCase
()
computed
:
{
.
indexOf
(
input
.
toLowerCase
())
>=
0
...
mapState
({
);
userInfo
:
(
state
)
=>
state
.
common
.
userInfo
})
},
},
// 获取列表数据
created
()
{
_getChargeList
()
{
this
.
_getCompanyOptions
();
const
data
=
{
this
.
_getDoctorListNoPage
();
//获取医生下拉选项
...
this
.
pageForm
,
},
...
this
.
pagination
,
methods
:
{
};
moment
,
this
.
$apis
.
GETCHARGELIST
(
data
).
then
((
res
)
=>
{
// 选择框筛选
let
content
=
res
.
content
||
{};
filterCode
(
input
,
option
)
{
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
return
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
().
indexOf
(
input
.
toLowerCase
())
>=
0
;
item
.
receiptTypeStr
=
this
.
receiptTypeDict
[
item
.
receiptType
]
||
''
},
return
item
// 获取列表数据
})
||
[];
_getChargeList
()
{
this
.
pagination
.
total
=
content
.
total
||
0
;
const
data
=
{
});
...
this
.
pageForm
,
},
...
this
.
pagination
// 获取保险公司下拉选项
};
_getCompanyOptions
()
{
this
.
$apis
.
GETCHARGELIST
(
data
).
then
((
res
)
=>
{
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
let
content
=
res
.
content
||
{};
this
.
companyOptions
=
res
.
content
||
[];
this
.
dataList
=
});
content
.
list
.
map
((
item
)
=>
{
},
item
.
receiptTypeStr
=
this
.
receiptTypeDict
[
item
.
receiptType
]
||
''
;
// 获取看诊医生下拉选项
return
item
;
_getDoctorListNoPage
(){
})
||
[];
this
.
$apis
.
GETDOCTORlISTNOPAGE
({
"
providerId
"
:
this
.
userInfo
.
providerId
}).
then
((
res
)
=>
{
this
.
pagination
.
total
=
content
.
total
||
0
;
if
(
res
.
returnCode
===
"
0000
"
)
{
});
this
.
doctorOptions
=
res
.
content
||
[];
},
}
else
{
// 获取保险公司下拉选项
this
.
$message
.
success
(
res
.
returnMsg
);
_getCompanyOptions
()
{
}
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
});
this
.
companyOptions
=
res
.
content
||
[];
},
});
// 选中就诊时间
},
onSelectVisitTime
(
date
,
dateString
)
{
// 获取看诊医生下拉选项
this
.
form
.
visitTimeStart
=
dateString
[
0
]
+
'
00:00:00
'
_getDoctorListNoPage
()
{
this
.
form
.
visitTimeEnd
=
dateString
[
1
]
+
'
23:59:59
'
this
.
$apis
.
GETDOCTORlISTNOPAGE
({
providerId
:
this
.
userInfo
.
providerId
}).
then
((
res
)
=>
{
console
.
log
(
date
,
dateString
);
if
(
res
.
returnCode
===
'
0000
'
)
{
},
this
.
doctorOptions
=
res
.
content
||
[];
// 重置
}
else
{
handlerReset
()
{
this
.
$message
.
success
(
res
.
returnMsg
);
this
.
form
=
{}
}
},
});
//查看
},
detailEvt
(
record
)
{
// 选中就诊时间
localStorage
.
setItem
(
'
chargeQueryDetail
'
,
JSON
.
stringify
(
record
));
onSelectVisitTime
(
date
,
dateString
)
{
const
{
receiptNo
}
=
record
;
this
.
form
.
visitTimeStart
=
dateString
[
0
]
+
'
00:00:00
'
;
this
.
$router
.
push
({
this
.
form
.
visitTimeEnd
=
dateString
[
1
]
+
'
23:59:59
'
;
name
:
"
chargeQueryDetail
"
,
console
.
log
(
date
,
dateString
);
query
:
{
receiptNo
},
},
});
// 重置
},
handlerReset
()
{
//账单结算
this
.
form
=
{};
receiptEvt
(
record
){
},
this
.
$modal
.
confirm
({
//查看
title
:
"
结算
"
,
detailEvt
(
record
)
{
content
:
"
确定结算该账单?
"
,
localStorage
.
setItem
(
'
chargeQueryDetail
'
,
JSON
.
stringify
(
record
));
okText
:
"
确定
"
,
const
{
receiptNo
}
=
record
;
cancelText
:
"
取消
"
,
this
.
$router
.
push
({
onOk
:
()
=>
{
name
:
'
chargeQueryDetail
'
,
this
.
$apis
.
RECEIPTSETTLEMENT
({
query
:
{
receiptNo
}
id
:
record
.
id
});
}).
then
((
res
)
=>
{
},
if
(
res
.
returnCode
===
"
0000
"
)
{
//账单结算
this
.
$message
.
success
(
'
结算成功
'
);
receiptEvt
(
record
)
{
this
.
_getChargeList
();
this
.
$modal
.
confirm
({
}
else
{
title
:
'
结算
'
,
this
.
$message
.
error
(
res
.
returnMsg
);
content
:
'
确定结算该账单?
'
,
}
okText
:
'
确定
'
,
});
cancelText
:
'
取消
'
,
},
onOk
:
()
=>
{
});
this
.
$apis
},
.
RECEIPTSETTLEMENT
({
handlerSearch
()
{
id
:
record
.
id
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
})
if
(
!
valid
)
{
.
then
((
res
)
=>
{
return
false
;
if
(
res
.
returnCode
===
'
0000
'
)
{
}
this
.
$message
.
success
(
'
结算成功
'
);
this
.
pagination
.
pageNum
=
1
;
this
.
_getChargeList
();
this
.
pageForm
=
this
.
$lodash
.
cloneDeep
({...
this
.
form
,
dateRange
:
undefined
});
}
else
{
this
.
_getChargeList
();
this
.
$message
.
error
(
res
.
returnMsg
);
});
}
},
});
// 新建账单信息
}
addNewCharge
()
{
});
// this.$router.push("/customer/edit");
},
},
handlerSearch
()
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
return
false
;
}
this
.
pagination
.
pageNum
=
1
;
this
.
pageForm
=
this
.
$lodash
.
cloneDeep
({
...
this
.
form
,
dateRange
:
undefined
});
this
.
_getChargeList
();
});
},
// 新建账单信息
addNewCharge
()
{
// this.$router.push("/customer/edit");
},
//导出报表
//导出报表
exportExcel
()
{
exportExcel
()
{
let
filter
=
{
let
filter
=
{
...
this
.
form
,
...
this
.
form
}
}
;
this
.
$apis
.
RceiptListReport
(
filter
).
then
(
res
=>
{
this
.
$apis
.
RceiptListReport
(
filter
).
then
(
(
res
)
=>
{
exportFile
(
res
,
'
账单报表.xls
'
);
exportFile
(
res
,
'
账单报表.xls
'
);
})
})
;
}
}
},
}
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.none-label {
.none-label {
text-align: right;
text-align: right;
.ant-form-item-label {
.ant-form-item-label {
opacity: 0;
opacity: 0;
}
}
}
}
.ant-btn .icon-class {
.ant-btn .icon-class {
.mg-r(10);
.mg-r(10);
}
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
src/views/verification/collectionDetail.vue
View file @
30e4ac19
<
template
>
<
template
>
<div
class=
"white_bg burt-container"
>
<div
ref=
"burt"
class=
"white_bg burt-container"
>
<Goback
title=
"回款详情"
/>
<Goback
ref=
"goback"
title=
"回款详情"
/>
<a-tabs
v-model=
"activeKey"
@
change=
"paneChange"
>
<a-tabs
v-model=
"activeKey"
@
change=
"paneChange"
>
<a-tab-pane
v-for=
"pane in panes"
:key=
"pane.key"
:tab=
"pane.title"
>
<a-tab-pane
v-for=
"pane in panes"
:key=
"pane.key"
:tab=
"pane.title"
>
<template
v-if=
"activeKey === '0'"
>
<a-form-model
ref=
"form"
:model=
"form"
>
<!-- form -->
<a-row
:gutter=
"30"
>
<a-form-model
ref=
"form"
layout=
"vertical"
:model=
"form"
>
<a-col
:lg=
"7"
:sm=
"12"
>
<a-row
:gutter=
"30"
>
<a-form-model-item
label=
"保险公司"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-select
<a-form-model-item
label=
"保险公司"
>
v-model=
"form.payorCode"
<a-select
placeholder=
"请选择保险公司"
v-model=
"form.payorCode"
allow-clear
placeholder=
"请选择保险公司"
show-search
allow-clear
:disabled=
"!isEdit"
show-search
style=
"min-width: 200px"
:disabled=
"!isEdit"
@
change=
"changePayor"
@
change=
"changePayor"
:filterOption=
"filterCode"
:filterOption=
"filterCode"
>
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.payorCode"
:value=
"item.payorCode"
>
<a-select-option
{{
item
.
longName
}}
v-for=
"item in companyOptions"
</a-select-option>
:key=
"item.payorCode"
</a-select>
:value=
"item.payorCode"
</a-form-model-item>
>
</a-col>
{{
item
.
longName
}}
<template
v-if=
"activeKey === '0'"
>
</a-select-option>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-select>
<a-form-model-item
label=
"回款日期"
>
</a-form-model-item>
<a-date-picker
</a-col>
format=
"YYYY-MM-DD"
<a-col
:lg=
"5"
:sm=
"12"
>
format-value=
"YYYY-MM-DD 00:00:00"
<a-form-model-item
label=
"回款日期"
>
v-model=
"form.backDate"
<a-date-picker
placeholder=
"选择日期"
format=
"YYYY-MM-DD"
allow-clear
format-value=
"YYYY-MM-DD 00:00:00"
:disabled=
"!isEdit"
v-model=
"form.backDate"
/>
placeholder=
"选择日期"
</a-form-model-item>
allow-clear
</a-col>
:disabled=
"!isEdit"
</
template
>
/>
<a-col
:lg=
"6"
:sm=
"12"
>
</a-form-model-item>
<a-form-model-item
label=
"回款金额(人民币)"
>
</a-col>
<a-input
<a-col
:lg=
"5"
:sm=
"12"
>
type=
"number"
<a-form-model-item
label=
"回款金额(人民币)"
>
v-model=
"form.backAmountCny"
<a-input
placeholder=
"请输入金额"
type=
"number"
allow-clear
v-model=
"form.backAmountCny"
:disabled=
"!isEdit"
placeholder=
"请输入金额"
/>
allow-clear
</a-form-model-item>
:disabled=
"!isEdit"
</a-col>
/>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-form-model-item>
<a-form-model-item
label=
"可核销余额"
>
</a-col>
<a-input
v-model=
"residueBackAmount"
disabled
/>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-form-model-item>
<a-form-model-item
label=
"可核销余额"
>
</a-col>
<a-input
v-model=
"residueBackAmount"
disabled
/>
<
template
v-if=
"activeKey === '0'"
>
</a-form-model-item>
<a-col
:lg=
"7"
:sm=
"12"
>
</a-col>
<a-form-model-item
label=
"回款金额(美元)"
>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-input
<a-form-model-item
label=
"回款金额(美元)"
>
type=
"number"
<a-input
v-model=
"form.backAmountUsd"
type=
"number"
placeholder=
"请输入金额"
v-model=
"form.backAmountUsd"
allow-clear
placeholder=
"请输入金额"
:disabled=
"!isEdit"
allow-clear
/>
:disabled=
"!isEdit"
</a-form-model-item>
/>
</a-col>
</a-form-model-item>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-col>
<a-form-model-item
label=
"汇率差"
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-input
v-model=
"form.backExchangeRate"
placeholder=
"请输入金额"
allow-clear
:disabled=
"!isEdit"
/>
<a-form-model-item
label=
"汇率差"
>
</a-form-model-item>
<a-input
</a-col>
v-model=
"form.backExchangeRate"
<a-col
:lg=
"6"
:sm=
"12"
>
placeholder=
"请输入金额"
<a-form-model-item
label=
"EOB编号"
>
allow-clear
<a-input
v-model=
"form.eobNos"
placeholder=
"请输入EOB编号"
allow-clear
:disabled=
"!isEdit"
/>
:disabled=
"!isEdit"
</a-form-model-item>
/>
</a-col>
</a-form-model-item>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-col>
<a-form-model-item
label=
"EOB备注"
>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-input
v-model=
"form.eobRemark"
placeholder=
"请输入EOB备注"
allow-clear
:disabled=
"!isEdit"
/>
<a-form-model-item
label=
"EOB编号"
>
</a-form-model-item>
<a-input
</a-col>
v-model=
"form.eobNos"
<a-col
:lg=
"5"
:sm=
"12"
>
placeholder=
"请输入EOB编号"
<a-form-model-item
label=
"上传附件"
>
allow-clear
<a-upload
:disabled=
"!isEdit"
name=
"file"
/>
:multiple=
"false"
</a-form-model-item>
:showUploadList=
"true"
</a-col>
:disabled=
"!isEdit"
<a-col
:lg=
"5"
:sm=
"12"
>
:fileList=
"fileList"
<a-form-model-item
label=
"EOB备注"
>
:customRequest=
"(file) => uploadFile(file)"
<a-input
:beforeUpload=
"() => beforeUpload()"
v-model=
"form.eobRemark"
:remove=
"(file) => removeFile(file)"
placeholder=
"请输入EOB备注"
>
allow-clear
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
</a-button>
:disabled=
"!isEdit"
</a-upload>
/>
</a-form-model-item>
</a-form-model-item>
</a-col>
</a-col>
</
template
>
<a-col
:lg=
"5"
:sm=
"12"
>
</a-row>
<a-form-model-item
label=
"上传附件"
>
</a-form-model>
<a-upload
<
template
v-if=
"activeKey === '1'"
>
name=
"file"
<div
class=
"bill-content"
>
:multiple=
"false"
<a-tabs
type=
"card"
v-model=
"activeKey1"
>
:showUploadList=
"true"
<a-tab-pane
v-for=
"pane in panes1"
:key=
"pane.key"
:tab=
"pane.title"
>
:disabled=
"!isEdit"
<div>
:fileList=
"fileList"
<a-row
class=
"search-form"
>
:customRequest=
"(file) => uploadFile(file)"
<a-form-model
:beforeUpload=
"() => beforeUpload()"
ref=
"searchForm"
:remove=
"(file) => removeFile(file)"
layout=
"inline"
>
:labelCol=
"
{ span: 9 }"
<a-button
type=
"primary"
>
:wrapperCol="{ span: 15 }"
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
:model="searchForm"
</a-button>
>
</a-upload>
<a-row
:gutter=
"30"
>
</a-form-model-item>
<a-col
:lg=
"5"
:sm=
"10"
>
</a-col>
<a-form-model-item
label=
"账单日期"
>
</a-row>
<a-range-picker
</a-form-model>
format=
"YYYY-MM-DD"
</
template
>
value-format=
"YYYY-MM-DD"
<
template
v-else
>
v-model=
"searchForm.billDate"
<!-- form -->
:placeholder=
"['开始时间', '结束时间']"
<a-form-model
/>
ref=
"form"
</a-form-model-item>
:labelCol=
"
{ span: 5 }"
</a-col>
:wrapperCol="{ span: 16 }"
<a-col
:lg=
"4"
:sm=
"10"
>
:model="form"
<a-form-model-item
label=
"病历号"
>
class="bill-form"
<a-input
>
v-model=
"searchForm.mrnNo"
<a-row
:gutter=
"30"
>
placeholder=
"请输入病历号"
<a-col
:lg=
"8"
:sm=
"12"
>
allow-clear
<a-form-model-item
label=
"保险公司"
>
:disabled=
"!isEdit"
<a-select
/>
v-model=
"form.payorCode"
</a-form-model-item>
placeholder=
"请选择保险公司"
</a-col>
allow-clear
<a-col
:lg=
"4"
:sm=
"12"
>
show-search
<a-form-model-item
label=
"客户名称"
>
:filter-option=
"filterOption"
<a-input
:disabled=
"!isEdit"
v-model=
"searchForm.patientName"
@
change=
"changePayor"
placeholder=
"请输入客户名称"
>
allow-clear
<a-select-option
:disabled=
"!isEdit"
v-for=
"item in companyOptions"
/>
:key=
"item.id"
</a-form-model-item>
:value=
"item.payorCode"
</a-col>
>
<a-col
:lg=
"4"
:sm=
"12"
>
{{
item
.
longName
}}
<a-form-model-item
label=
"状态"
>
</a-select-option>
<a-select
v-model=
"searchForm.rStatus"
placeholder=
"请选择状态"
allowClear
>
</a-select>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
</a-form-model-item>
{{
item
.
name
}}
</a-col>
</a-select-option>
<a-col
:lg=
"8"
:sm=
"12"
>
</a-select>
<a-form-model-item
label=
"可核销余额"
>
</a-form-model-item>
<a-input
v-model=
"residueBackAmount"
disabled
/>
</a-col>
</a-form-model-item>
<a-col
:lg=
"4"
:sm=
"12"
>
</a-col>
<a-form-model-item
label=
"账单编号"
>
</a-row>
<a-input
</a-form-model>
v-model=
"searchForm.receiptNo"
<div
class=
"bill-content"
>
placeholder=
"请输入账单编号"
<!-- 已关联账单 -->
allow-clear
<template
v-if=
"selectedRows.length > 0"
>
:disabled=
"!isEdit"
<div
class=
"table-title"
>
/>
<span>
已关联账单
</span>
</a-form-model-item>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
</a-col>
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
<a-col
:lg=
"2"
:sm=
"12"
>
</a-button>
<div
class=
"btn-div mar-bottom10 none-label"
>
</div>
<a-button
type=
"primary"
@
click=
"searchData"
>
<a-table
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
class=
"table-content"
</a-button>
:columns=
"selectedColumns"
</div>
:data-source=
"selectedRows"
</a-col>
:scroll=
"
{ x: '100%', y: 450 }"
</a-row>
:pagination="false"
</a-form-model>
>
</a-row>
<template
slot=
"status"
slot-scope=
"text"
>
</div>
<span
:style=
"
{color: text == 2 ? 'red' : ''}">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
<!-- 已关联账单 -->
</
template
>
<template
v-if=
"activeKey1 === '0'"
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<template
v-if=
"selectedRows.length > 0"
>
<a-button
<div
class=
"table-title"
>
type=
"link"
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
class=
"danger"
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
@
click.stop=
"delRecord(record, index)"
</a-button>
>
删除
</a-button
</div>
>
<a-table
</
template
>
class=
"table-content"
</a-table>
:rowClassName=
"rowClassName"
</template>
:columns=
"selectedColumns"
<!-- table -->
:data-source=
"selectedRows"
<
template
v-if=
"isEdit"
>
:scroll=
"
{ x: '100%', y: tableHeight }"
<a-row
class=
"search-form"
>
:pagination="false"
<a-form-model
>
ref=
"searchForm"
<template
slot=
"status"
slot-scope=
"text"
>
layout=
"inline"
<span
:style=
"
{ color: text == 2 ? 'red' : '' }">
{{
:labelCol=
"
{ span: 8 }"
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
:wrapperCol="{ span: 16 }"
}}
</span>
:model="searchForm"
</
template
>
>
<
template
slot=
"operation"
slot-scope=
"text, record, index"
>
<a-row
:gutter=
"30"
>
<a-button
type=
"link"
class=
"danger"
@
click.stop=
"delRecord(record, index)"
>
删除
</a-button>
<a-col
:lg=
"5"
:sm=
"10"
>
</
template
>
<a-form-model-item
label=
"账单日期"
>
</a-table>
<a-range-picker
</template>
format=
"YYYY-MM-DD"
</template>
value-format=
"YYYY-MM-DD"
<
template
v-else
>
v-model=
"searchForm.billDate"
<!-- table -->
:placeholder=
"['开始时间', '结束时间']"
<template
v-if=
"isEdit"
>
/>
<a-table
</a-form-model-item>
class=
"table-content all-list"
</a-col>
:columns=
"columns"
<a-col
:lg=
"4"
:sm=
"10"
>
:data-source=
"dataList"
<a-form-model-item
label=
"病历号"
>
:scroll=
"
{ x: '100%', y: tableHeight }"
<a-input
:pagination="false"
v-model=
"searchForm.mrnNo"
:rowKey="'id'"
placeholder=
"请输入病历号"
:row-selection="{
allow-clear
selectedRowKeys: selectedRowKeys,
:disabled=
"!isEdit"
onSelect: onSelectChange,
/>
onSelectAll: onSelectAll
</a-form-model-item>
}"
</a-col>
>
<a-col
:lg=
"4"
:sm=
"12"
>
<template
slot=
"status"
slot-scope=
"text"
>
<a-form-model-item
label=
"客户名称"
>
<span
:style=
"
{ color: text == 2 ? 'red' : '' }">
{{
<a-input
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
v-model=
"searchForm.patientName"
}}
</span>
placeholder=
"请输入客户名称"
</
template
>
allow-clear
</a-table>
:disabled=
"!isEdit"
<BurtPagination
class=
"pagination"
:pagination=
"pagination"
@
pageChange=
"pageChange"
/>
/>
</template>
</a-form-model-item>
</template>
</a-col>
</a-tab-pane>
<a-col
:lg=
"4"
:sm=
"12"
>
</a-tabs>
<a-form-model-item
label=
"状态"
>
</div>
<a-select
style=
"width: 160px;"
v-model=
"searchForm.rStatus"
placeholder=
"请选择状态"
allowClear
>
</template>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
</a-tab-pane>
{{
item
.
name
}}
<div
v-if=
"isEdit"
slot=
"tabBarExtraContent"
>
</a-select-option>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(0)"
>
</a-select>
<Icon
:name=
"backMoneyNo ? 'ssibaocun' : 'ssiadd'"
:size=
"14"
/>
暂存
</a-form-model-item>
</a-button>
</a-col>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"addNewEvt(1)"
>
<a-col
:lg=
"4"
:sm=
"12"
>
<Icon
:name=
"backMoneyNo ? 'ssibaocun' : 'ssiadd'"
:size=
"14"
/>
结案
<a-form-model-item
label=
"账单编号"
>
</a-button>
<a-input
</div>
v-model=
"searchForm.receiptNo"
</a-tabs>
placeholder=
"请输入账单编号"
</div>
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"2"
: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: '100%', y: 300 }"
:pagination="false"
:rowKey="'id'"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onSelect: onSelectChange,
onSelectAll: onSelectAll,
}"
>
<template
slot=
"status"
slot-scope=
"text"
>
<span
:style=
"
{color: text == 2 ? 'red' : ''}">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
</
template
>
</a-table>
<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>
</template>
<
script
>
<
script
>
import
Goback
from
"
@/components/CUSTOMER/goback
"
;
import
Goback
from
'
@/components/CUSTOMER/goback
'
;
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
BurtPagination
from
'
@/components/CUSTOMER/pagation
'
;
import
{
EOBStatusOptions
}
from
"
@/utils/utilsdictOptions.js
"
;
import
{
EOBStatusOptions
}
from
'
@/utils/utilsdictOptions.js
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
import
moment
from
"
moment
"
;
import
moment
from
'
moment
'
;
import
mixins
from
"
@/mixins
"
;
import
mixins
from
'
@/mixins
'
;
const
panes
=
[
{
title
:
'
基础信息
'
,
key
:
'
0
'
,
show
:
true
,
content
:
'
PaymentClaims
'
},
{
title
:
'
账单列表
'
,
key
:
'
1
'
,
show
:
false
,
content
:
'
Insurance
'
}
];
const
panes1
=
[
{
title
:
'
已关联账单
'
,
key
:
'
0
'
,
show
:
true
,
content
:
'
Associated
'
},
{
title
:
'
全部账单
'
,
key
:
'
1
'
,
show
:
false
,
content
:
'
Insurance
'
}
];
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
isEdit
:
false
,
isEdit
:
false
,
EOBStatusOptions
,
EOBStatusOptions
,
dialogShow
:
false
,
dialogShow
:
false
,
form
:
{
form
:
{
payorCode
:
""
,
payorCode
:
undefined
,
backDate
:
null
,
backDate
:
null
,
backAmountCny
:
""
,
backAmountCny
:
''
,
backAmountUsd
:
""
,
backAmountUsd
:
''
,
backExchangeRate
:
""
,
backExchangeRate
:
''
,
eobNos
:
""
,
// EOB编号
eobNos
:
''
,
// EOB编号
eobRemark
:
""
,
// EOB备注
eobRemark
:
''
// EOB备注
},
},
fileList
:
[],
// 上传文件列表
fileList
:
[],
// 上传文件列表
dataList
:
[],
dataList
:
[],
isEditNewEOB
:
false
,
//是否在新建回款
isEditNewEOB
:
false
,
//是否在新建回款
companyOptions
:
[],
//保险公司
companyOptions
:
[],
//保险公司
pagination
:
{
pagination
:
{
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
5
,
pageSize
:
5
,
total
:
0
,
total
:
0
},
},
selectedRowKeys
:
[],
// Check here to configure the default column
selectedRowKeys
:
[],
// Check here to configure the default column
selectedRows
:
[],
// Check here to configure the default column
selectedRows
:
[],
// Check here to configure the default column
backMoneyNo
:
""
,
backMoneyNo
:
''
,
editRules
:
{
editRules
:
{
backAmountUsd
:
[{
required
:
true
,
message
:
"
请输入
"
,
trigger
:
"
blur
"
}],
backAmountUsd
:
[{
required
:
true
,
message
:
'
请输入
'
,
trigger
:
'
blur
'
}],
backAmount
:
[{
required
:
true
,
message
:
"
请输入
"
,
trigger
:
"
blur
"
}],
backAmount
:
[{
required
:
true
,
message
:
'
请输入
'
,
trigger
:
'
blur
'
}]
},
},
searchForm
:
{
searchForm
:
{
billDate
:
[],
billDate
:
[],
mrnNo
:
""
,
// 病历号
mrnNo
:
''
,
// 病历号
patientName
:
""
,
// 客户名字
patientName
:
''
// 客户名字
},
},
savedStatus
:
false
,
//是否已保存
savedStatus
:
false
,
//是否已保存
relatedList
:
[],
relatedList
:
[],
panes
:
[
panes
:
Object
.
seal
(
panes
),
{
title
:
"
基础信息
"
,
key
:
"
0
"
,
show
:
true
,
content
:
"
PaymentClaims
"
},
panes1
:
Object
.
seal
(
panes1
),
{
title
:
"
账单列表
"
,
key
:
"
1
"
,
show
:
false
,
content
:
"
Insurance
"
},
activeKey
:
'
0
'
,
],
activeKey1
:
'
0
'
,
activeKey
:
"
0
"
,
statusOptions
:
[
statusOptions
:
[
{
{
name
:
'
无效
'
,
name
:
'
无效
'
,
code
:
2
code
:
2
},
},
{
{
name
:
'
有效
'
,
name
:
'
有效
'
,
code
:
1
code
:
1
}
}
],
]
tableHeight
:
200
// 表格高度
};
};
},
},
mixins
:
[
mixins
],
mixins
:
[
mixins
],
components
:
{
components
:
{
Goback
,
Goback
,
BurtPagination
,
BurtPagination
},
},
computed
:
{
computed
:
{
columns
()
{
columns
()
{
const
base
=
[
const
base
=
[
{
{
title
:
"
账单编号
"
,
title
:
'
账单编号
'
,
dataIndex
:
"
receiptNo
"
,
dataIndex
:
'
receiptNo
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
},
{
{
title
:
"
账单状态
"
,
title
:
'
账单状态
'
,
dataIndex
:
"
status
"
,
dataIndex
:
'
status
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
width
:
150
,
,
scopedSlots
:
{
customRender
:
"
status
"
}
scopedSlots
:
{
customRender
:
'
status
'
}
},
},
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
'
病历号
'
,
dataIndex
:
'
mrnNo
'
,
ellipsis
:
true
,
width
:
195
},
{
{
title
:
"
客户姓名
"
,
title
:
'
客户姓名
'
,
dataIndex
:
"
patientName
"
,
dataIndex
:
'
patientName
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
160
,
width
:
160
},
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
'
保险公司
'
,
dataIndex
:
'
payorName
'
,
ellipsis
:
true
,
width
:
195
},
{
{
title
:
"
账单日期
"
,
title
:
'
账单日期
'
,
dataIndex
:
"
receiptDate
"
,
dataIndex
:
'
receiptDate
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
180
,
width
:
180
},
},
{
{
title
:
"
收银
"
,
title
:
'
收银
'
,
dataIndex
:
"
receiptTellerName
"
,
dataIndex
:
'
receiptTellerName
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
120
,
width
:
120
},
},
{
{
title
:
"
理赔账单金额
"
,
title
:
'
理赔账单金额
'
,
dataIndex
:
"
actualAmount
"
,
dataIndex
:
'
actualAmount
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
},
{
{
title
:
"
回款金额
"
,
title
:
'
回款金额
'
,
dataIndex
:
"
writeOffAmount
"
,
dataIndex
:
'
writeOffAmount
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
},
{
{
title
:
"
个人欠费
"
,
title
:
'
个人欠费
'
,
dataIndex
:
"
arrearsAmountShow
"
,
dataIndex
:
'
arrearsAmountShow
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
},
{
{
title
:
"
未清余额
"
,
title
:
'
备注
'
,
dataIndex
:
"
residueBackAmount
"
,
dataIndex
:
'
remark
'
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
200
},
},
];
{
return
base
;
title
:
'
未清余额
'
,
},
dataIndex
:
'
residueBackAmount
'
,
selectedColumns
()
{
ellipsis
:
true
,
const
base
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
columns
));
width
:
150
const
changeAmount
=
this
.
changeAmount
;
}
base
[
8
]
=
{
];
title
:
"
回款金额
"
,
return
base
;
dataIndex
:
"
backAmount
"
,
},
ellipsis
:
true
,
selectedColumns
()
{
width
:
150
,
const
base
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
columns
));
customRender
:
(
val
,
row
)
=>
{
const
changeAmount
=
this
.
changeAmount
;
return
(
base
[
8
]
=
{
<
a
-
input
-
number
title
:
'
回款金额
'
,
v
-
model
=
{
row
.
backAmount
}
dataIndex
:
'
backAmount
'
,
allow
-
clear
ellipsis
:
true
,
disabled
=
{
!
this
.
isEdit
}
width
:
150
,
style
=
{{
"
color
"
:
row
.
backAmount
==
row
.
currentReceiptAmount
?
''
:
'
red
'
}}
customRender
:
(
val
,
row
)
=>
{
onBlur
=
{()
=>
{
return
(
changeAmount
(
row
);
<
a
-
input
-
number
}}
v
-
model
=
{
row
.
backAmount
}
/>
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
);
style
=
{{
color
:
row
.
backAmount
==
row
.
currentReceiptAmount
?
''
:
'
red
'
}}
},
onBlur
=
{()
=>
{
};
changeAmount
(
row
,
'
backAmount
'
);
base
[
10
]
=
{
}}
title
:
"
未清余额
"
,
/>
dataIndex
:
"
residueBackAmount
"
,
);
ellipsis
:
true
,
}
width
:
150
,
};
customRender
:
(
val
,
row
)
=>
{
base
[
10
].
customRender
=
(
val
,
row
)
=>
{
const
residueBackAmount
=
return
(
Number
(
row
.
currentReceiptAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
-
Number
(
row
.
arrearsAmount
||
0
);
<
a
-
input
return
Number
(
residueBackAmount
.
toFixed
(
2
));
v
-
model
=
{
row
.
remark
}
},
allow
-
clear
};
disabled
=
{
!
this
.
isEdit
}
base
[
9
]
=
{
onBlur
=
{()
=>
{
title
:
"
个人欠费
"
,
this
.
syncData
(
row
);
dataIndex
:
"
arrearsAmount
"
,
}}
ellipsis
:
true
,
/>
width
:
150
,
);
customRender
:
(
val
,
row
)
=>
{
};
return
(
base
[
11
]
=
{
<
a
-
input
-
number
title
:
'
未清余额
'
,
v
-
model
=
{
row
.
arrearsAmount
}
dataIndex
:
'
residueBackAmount
'
,
allow
-
clear
ellipsis
:
true
,
disabled
=
{
!
this
.
isEdit
}
width
:
150
,
onBlur
=
{()
=>
{
customRender
:
(
val
,
row
)
=>
{
changeAmount
(
row
);
const
residueBackAmount
=
}}
Number
(
row
.
currentReceiptAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
-
Number
(
row
.
arrearsAmount
||
0
);
/>
return
Number
(
residueBackAmount
.
toFixed
(
2
));
);
}
},
};
};
base
[
9
]
=
{
base
.
splice
(
8
,
0
,
{
title
:
'
个人欠费
'
,
title
:
"
余末金额
"
,
dataIndex
:
'
arrearsAmount
'
,
dataIndex
:
"
currentReceiptAmount
"
,
ellipsis
:
true
,
ellipsis
:
true
,
width
:
150
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
});
return
(
base
.
push
({
<
a
-
input
-
number
title
:
"
回款日期
"
,
v
-
model
=
{
row
.
arrearsAmount
}
dataIndex
:
"
backDate
"
,
allow
-
clear
ellipsis
:
true
,
disabled
=
{
!
this
.
isEdit
}
width
:
150
,
onBlur
=
{()
=>
{
});
changeAmount
(
row
,
'
arrearsAmount
'
);
if
(
this
.
isEdit
)
{
}}
base
.
push
({
/>
title
:
"
操作
"
,
);
dataIndex
:
"
operation
"
,
}
fixed
:
"
right
"
,
};
width
:
100
,
base
.
splice
(
8
,
0
,
{
scopedSlots
:
{
customRender
:
"
operation
"
},
title
:
'
余末金额
'
,
});
dataIndex
:
'
currentReceiptAmount
'
,
}
ellipsis
:
true
,
return
base
;
width
:
150
},
});
// 可核销余额
base
.
push
({
residueBackAmount
()
{
title
:
'
回款日期
'
,
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
dataIndex
:
'
backDate
'
,
this
.
selectedRows
.
forEach
((
item
)
=>
{
ellipsis
:
true
,
totalMoney
-=
Number
(
item
.
backAmount
);
width
:
150
});
});
return
Number
(
totalMoney
.
toFixed
(
2
));
if
(
this
.
isEdit
)
{
},
base
.
push
({
},
title
:
'
操作
'
,
created
()
{
dataIndex
:
'
operation
'
,
const
{
backMoneyNo
,
isEdit
}
=
this
.
$route
.
query
;
fixed
:
'
right
'
,
this
.
backMoneyNo
=
backMoneyNo
;
width
:
100
,
this
.
isEdit
=
isEdit
;
scopedSlots
:
{
customRender
:
'
operation
'
}
this
.
_getCompanyOptions
();
});
if
(
backMoneyNo
)
{
}
const
backMoneyDataDetail
=
JSON
.
parse
(
return
base
;
localStorage
.
getItem
(
"
backMoneyDataDetail
"
)
||
"
{}
"
},
);
// 可核销余额
this
.
form
=
backMoneyDataDetail
;
residueBackAmount
()
{
this
.
form
.
backDate
=
this
.
form
.
backDate
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
?
moment
(
this
.
form
.
backDate
).
format
(
"
YYYY-MM-DD 00:00:00
"
)
this
.
selectedRows
.
forEach
((
item
)
=>
{
:
null
;
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
(
backMoneyDataDetail
.
fileList
)
{
if
(
backMoneyDataDetail
.
fileList
)
{
this
.
fileList
=
backMoneyDataDetail
.
fileList
.
map
((
d
)
=>
{
this
.
fileList
=
backMoneyDataDetail
.
fileList
.
map
((
d
)
=>
{
const
file
=
{
const
file
=
{
uid
:
Math
.
random
()
*
10000
,
uid
:
Math
.
random
()
*
10000
,
name
:
d
.
fileName
,
name
:
d
.
fileName
,
status
:
"
done
"
,
status
:
'
done
'
,
url
:
d
.
fileUrl
,
url
:
d
.
fileUrl
};
};
return
file
;
return
file
;
});
});
}
}
this
.
getData
();
this
.
getData
();
}
}
this
.
_getNewEOBList
();
},
},
mounted
()
{
methods
:
{
this
.
calcTableHeight
();
moment
,
this
.
_getNewEOBList
();
// 选择框筛选
filterCode
(
input
,
option
)
{
return
(
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
()
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
},
},
paneChange
()
{
methods
:
{
this
.
panes
.
forEach
((
item
)
=>
{
moment
,
item
.
show
=
false
;
// 计算表格最大高度
});
calcTableHeight
()
{
this
.
panes
[
Number
(
this
.
activeKey
)].
show
=
true
;
const
dom
=
this
.
$refs
.
burt
;
},
const
containterH
=
dom
.
clientHeight
;
changeAmount
(
row
)
{
const
gobackH
=
document
.
querySelector
(
'
.back-container
'
).
clientHeight
;
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
const
style
=
window
.
getComputedStyle
(
dom
,
null
);
this
.
selectedRows
.
forEach
((
item
)
=>
{
const
paddingT
=
parseFloat
(
style
.
getPropertyValue
(
'
padding-top
'
));
totalMoney
-=
Number
(
item
.
backAmount
);
const
paddingB
=
parseFloat
(
style
.
getPropertyValue
(
'
padding-bottom
'
));
});
const
paddingSum
=
paddingT
+
paddingB
;
if
(
totalMoney
<
0
){
this
.
tableHeight
=
containterH
-
350
-
gobackH
-
paddingSum
;
this
.
$message
.
error
(
'
可核销余额不足
'
)
// 设置每页展示条数
}
const
pageSize
=
Math
.
floor
((
this
.
tableHeight
-
10
)
/
32
);
if
(
Number
(
row
.
actualAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
<
0
)
{
this
.
$set
(
this
.
pagination
,
'
pageSize
'
,
pageSize
);
this
.
$message
.
warning
(
"
录入账单回款金额大于账单金额
"
);
},
}
// 已关联账单表格行类名
},
rowClassName
(
record
)
{
onSelectChange
(
selectedRow
,
selected
)
{
return
record
.
hidden
?
'
hide_
'
:
''
;
selectedRow
[
'
backAmount
'
]
=
this
.
residueBackAmount
>
selectedRow
.
currentReceiptAmount
?
selectedRow
.
currentReceiptAmount
:
this
.
residueBackAmount
;
},
if
(
selected
)
{
// 已关联账单数据同步
this
.
selectedRowKeys
.
push
(
selectedRow
.
id
);
syncData
(
row
,
field
)
{
this
.
selectedRows
.
push
(
selectedRow
);
this
.
selectedRows
.
forEach
((
item
)
=>
{
}
else
{
if
(
item
.
id
===
row
.
id
)
{
const
index
=
this
.
selectedRowKeys
.
findIndex
(
item
[
field
]
=
row
[
field
];
(
item
)
=>
item
===
selectedRow
.
id
}
);
});
this
.
selectedRowKeys
.
splice
(
index
,
1
);
},
this
.
selectedRows
.
splice
(
index
,
1
);
// 账单查询
this
.
_confirmDelReceipt
([
selectedRow
]);
searchData
()
{
}
this
.
_getNewEOBList
();
this
.
addNewEvt
(
0
)
this
.
getData
();
},
},
onSelectAll
(
selected
,
selectedRows
,
changeRows
)
{
// 选择框筛选
console
.
log
(
selected
,
selectedRows
,
changeRows
);
filterCode
(
input
,
option
)
{
if
(
selected
)
{
return
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
().
indexOf
(
input
.
toLowerCase
())
>=
0
;
this
.
selectedRowKeys
=
this
.
selectedRowKeys
.
concat
(
},
changeRows
.
map
((
item
)
=>
item
.
id
)
paneChange
()
{
);
this
.
panes
.
forEach
((
item
)
=>
{
this
.
selectedRows
=
this
.
selectedRows
.
concat
(
changeRows
);
item
.
show
=
false
;
}
else
{
});
changeRows
.
forEach
((
item
)
=>
{
this
.
panes
[
Number
(
this
.
activeKey
)].
show
=
true
;
const
findIndex
=
this
.
selectedRowKeys
.
findIndex
(
},
(
rowId
)
=>
rowId
===
item
.
id
changeAmount
(
row
,
field
)
{
);
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
this
.
selectedRowKeys
.
splice
(
findIndex
,
1
);
this
.
selectedRows
.
forEach
((
item
)
=>
{
this
.
selectedRows
.
splice
(
findIndex
,
1
);
totalMoney
-=
Number
(
item
.
backAmount
);
});
});
this
.
_confirmDelReceipt
(
changeRows
);
if
(
totalMoney
<
0
)
{
}
this
.
$message
.
error
(
'
可核销余额不足
'
);
},
}
delRecord
(
record
,
index
)
{
if
(
Number
(
row
.
actualAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
<
0
)
{
this
.
selectedRowKeys
.
splice
(
index
,
1
);
this
.
$message
.
warning
(
'
录入账单回款金额大于账单金额
'
);
this
.
selectedRows
.
splice
(
index
,
1
);
}
if
(
record
.
relationed
)
{
this
.
syncData
(
row
,
field
);
// 已经关联的调用接口删除
},
this
.
_confirmDelReceipt
([
record
]);
onSelectChange
(
selectedRow
,
selected
)
{
}
selectedRow
[
'
backAmount
'
]
=
},
this
.
residueBackAmount
>
selectedRow
.
currentReceiptAmount
_confirmDelReceipt
(
records
)
{
?
selectedRow
.
currentReceiptAmount
console
.
log
(
records
);
:
this
.
residueBackAmount
;
if
(
!
this
.
backMoneyNo
)
return
;
if
(
selected
)
{
const
receiptVoList
=
records
this
.
selectedRowKeys
.
push
(
selectedRow
.
id
);
.
filter
((
item
)
=>
{
this
.
selectedRows
.
push
(
selectedRow
);
const
findIndex
=
this
.
relatedList
.
findIndex
(
}
else
{
(
rowId
)
=>
rowId
===
item
.
id
const
index
=
this
.
selectedRowKeys
.
findIndex
((
item
)
=>
item
===
selectedRow
.
id
);
);
this
.
selectedRowKeys
.
splice
(
index
,
1
);
return
findIndex
>
-
1
;
this
.
selectedRows
.
splice
(
index
,
1
);
})
this
.
_confirmDelReceipt
([
selectedRow
]);
.
map
((
item
)
=>
{
}
return
{
this
.
addNewEvt
(
0
);
id
:
item
.
id
,
},
};
onSelectAll
(
selected
,
selectedRows
,
changeRows
)
{
});
console
.
log
(
selected
,
selectedRows
,
changeRows
);
console
.
log
(
receiptVoList
);
if
(
selected
)
{
if
(
receiptVoList
.
length
===
0
)
return
;
this
.
selectedRowKeys
=
this
.
selectedRowKeys
.
concat
(
changeRows
.
map
((
item
)
=>
item
.
id
));
this
.
$apis
this
.
selectedRows
=
this
.
selectedRows
.
concat
(
changeRows
);
.
DELETERECEIPTRECORD
({
}
else
{
backMoneyNo
:
this
.
backMoneyNo
,
changeRows
.
forEach
((
item
)
=>
{
receiptVoList
,
const
findIndex
=
this
.
selectedRowKeys
.
findIndex
((
rowId
)
=>
rowId
===
item
.
id
);
})
this
.
selectedRowKeys
.
splice
(
findIndex
,
1
);
.
then
((
res
)
=>
{
this
.
selectedRows
.
splice
(
findIndex
,
1
);
if
(
res
.
returnCode
==
"
0000
"
)
{
});
this
.
_getNewEOBList
();
this
.
_confirmDelReceipt
(
changeRows
);
}
else
{
}
this
.
$message
.
error
(
res
.
returnMsg
);
},
}
delRecord
(
record
,
index
)
{
});
this
.
selectedRowKeys
.
splice
(
index
,
1
);
},
this
.
selectedRows
.
splice
(
index
,
1
);
// 修改保险公司
if
(
record
.
relationed
)
{
changePayor
()
{
// 已经关联的调用接口删除
if
(
this
.
_confirmDelReceipt
([
record
]);
this
.
selectedRowKeys
.
length
>
0
&&
}
(
this
.
form
.
id
||
this
.
savedStatus
)
},
)
{
_confirmDelReceipt
(
records
)
{
this
.
$modal
.
confirm
({
console
.
log
(
records
);
title
:
"
提示
"
,
if
(
!
this
.
backMoneyNo
)
return
;
content
:
"
是否解除已关联账单
"
,
const
receiptVoList
=
records
okText
:
"
确认
"
,
.
filter
((
item
)
=>
{
cancelText
:
"
取消
"
,
const
findIndex
=
this
.
relatedList
.
findIndex
((
rowId
)
=>
rowId
===
item
.
id
);
onOk
:
()
=>
{
return
findIndex
>
-
1
;
this
.
selectedRowKeys
=
[];
})
this
.
selectedRows
=
[];
.
map
((
item
)
=>
{
},
return
{
onCancel
:
()
=>
{},
id
:
item
.
id
});
};
}
});
this
.
_getNewEOBList
();
console
.
log
(
receiptVoList
);
},
if
(
receiptVoList
.
length
===
0
)
return
;
pageChange
(
pager
)
{
this
.
$apis
this
.
pagination
=
{
.
DELETERECEIPTRECORD
({
...
this
.
pagination
,
backMoneyNo
:
this
.
backMoneyNo
,
...
pager
,
receiptVoList
};
})
this
.
_getNewEOBList
();
.
then
((
res
)
=>
{
},
if
(
res
.
returnCode
==
'
0000
'
)
{
// 获取保险公司下拉选项
this
.
_getNewEOBList
();
_getCompanyOptions
()
{
}
else
{
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
this
.
$message
.
error
(
res
.
returnMsg
);
this
.
companyOptions
=
res
.
content
||
[];
}
});
});
},
},
// 获取已关联的账单
// 修改保险公司
getData
()
{
changePayor
()
{
this
.
$apis
if
(
this
.
selectedRowKeys
.
length
>
0
&&
(
this
.
form
.
id
||
this
.
savedStatus
))
{
.
QUERYBACKRECEIPTLIST
({
this
.
$modal
.
confirm
({
pageNum
:
1
,
title
:
'
提示
'
,
pageSize
:
999
,
content
:
'
是否解除已关联账单
'
,
backMoneyNo
:
this
.
backMoneyNo
,
okText
:
'
确认
'
,
payorCode
:
this
.
form
.
payorCode
,
cancelText
:
'
取消
'
,
})
onOk
:
()
=>
{
.
then
((
res
)
=>
{
this
.
selectedRowKeys
=
[];
if
(
res
.
returnCode
==
"
0000
"
)
{
this
.
selectedRows
=
[];
const
list
=
res
.
content
.
list
||
[];
},
this
.
selectedRowKeys
=
list
.
map
((
d
)
=>
d
.
id
);
onCancel
:
()
=>
{}
this
.
selectedRows
=
list
.
map
((
item
)
=>
{
});
item
.
relationed
=
true
;
}
return
item
;
this
.
_getNewEOBList
();
});
},
this
.
relatedList
=
list
.
map
((
d
)
=>
d
.
id
);
pageChange
(
pager
)
{
}
else
{
this
.
pagination
=
{
this
.
$message
.
error
(
res
.
returnMsg
);
...
this
.
pagination
,
}
...
pager
});
};
},
this
.
_getNewEOBList
();
// 获取所有账单
},
_getNewEOBList
()
{
// 获取保险公司下拉选项
let
billDate
=
this
.
searchForm
.
billDate
||
[];
_getCompanyOptions
()
{
this
.
$apis
this
.
$apis
.
GETCOMPANYOPTIONS
().
then
((
res
)
=>
{
.
QUERYBACKRECEIPTINFOLIST
({
this
.
companyOptions
=
res
.
content
||
[];
pageNum
:
this
.
pagination
.
pageNum
,
});
pageSize
:
this
.
pagination
.
pageSize
,
},
backMoneyNo
:
this
.
backMoneyNo
,
// 获取已关联的账单
payorCode
:
this
.
form
.
payorCode
,
getData
()
{
...
this
.
searchForm
,
let
billDate
=
this
.
searchForm
.
billDate
||
[];
receiptEndDate
:
billDate
[
1
]
?
billDate
[
1
]
+
"
23:59:59
"
:
undefined
,
this
.
$apis
receiptStartDate
:
billDate
[
0
]
?
billDate
[
0
]
+
"
00:00:00
"
:
undefined
,
.
QUERYBACKRECEIPTLIST
({
})
pageNum
:
1
,
.
then
((
res
)
=>
{
pageSize
:
999
,
if
(
res
.
returnCode
==
"
0000
"
)
{
backMoneyNo
:
this
.
backMoneyNo
,
let
content
=
res
.
content
||
{};
payorCode
:
this
.
form
.
payorCode
,
this
.
pagination
.
total
=
content
.
total
||
0
;
...
this
.
searchForm
,
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
receiptEndDate
:
billDate
[
1
]
?
billDate
[
1
]
+
'
23:59:59
'
:
undefined
,
item
.
arrearsAmountShow
=
item
.
arrearsAmount
receiptStartDate
:
billDate
[
0
]
?
billDate
[
0
]
+
'
00:00:00
'
:
undefined
item
.
arrearsAmount
=
''
})
return
item
.
then
((
res
)
=>
{
})
||
[];
if
(
res
.
returnCode
==
'
0000
'
)
{
}
else
{
const
list
=
res
.
content
.
list
||
[];
this
.
$message
.
error
(
res
.
returnMsg
);
let
ids
=
[];
}
this
.
selectedRows
=
list
.
map
((
item
)
=>
{
});
item
.
relationed
=
true
;
},
ids
.
push
(
item
.
id
);
//新建/保存回款
return
item
;
addNewEvt
(
backStatus
)
{
});
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
selectedRowKeys
=
this
.
$lodash
.
cloneDeep
(
ids
);
console
.
log
(
this
.
selectedRows
);
this
.
relatedList
=
this
.
$lodash
.
cloneDeep
(
ids
);
if
(
!
this
.
form
.
payorCode
)
{
}
else
{
this
.
$message
.
warning
(
"
请选择保险公司
"
);
this
.
$message
.
error
(
res
.
returnMsg
);
reject
();
}
return
;
});
}
},
if
(
!
this
.
form
.
backDate
)
{
// 获取所有账单
this
.
$message
.
warning
(
"
请选择回款日期
"
);
_getNewEOBList
()
{
reject
();
let
billDate
=
this
.
searchForm
.
billDate
||
[];
return
;
this
.
$apis
}
.
QUERYBACKRECEIPTINFOLIST
({
if
(
!
this
.
form
.
backAmountCny
)
{
pageNum
:
this
.
pagination
.
pageNum
,
this
.
$message
.
warning
(
"
请输入回款金额
"
);
pageSize
:
this
.
pagination
.
pageSize
,
reject
();
backMoneyNo
:
this
.
backMoneyNo
,
return
;
payorCode
:
this
.
form
.
payorCode
,
}
...
this
.
searchForm
,
let
receiptVoList
=
this
.
selectedRows
.
map
((
item
)
=>
{
receiptEndDate
:
billDate
[
1
]
?
billDate
[
1
]
+
'
23:59:59
'
:
undefined
,
return
{
receiptStartDate
:
billDate
[
0
]
?
billDate
[
0
]
+
'
00:00:00
'
:
undefined
id
:
item
.
id
,
})
backAmount
:
item
.
backAmount
,
.
then
((
res
)
=>
{
arrearsAmount
:
item
.
arrearsAmount
,
if
(
res
.
returnCode
==
'
0000
'
)
{
};
let
content
=
res
.
content
||
{};
});
this
.
pagination
.
total
=
content
.
total
||
0
;
const
valid
=
receiptVoList
.
some
((
item
)
=>
{
this
.
dataList
=
const
exist
=
!
item
.
backAmount
&&
item
.
backAmount
!==
0
content
.
list
.
map
((
item
)
=>
{
return
exist
;
item
.
arrearsAmountShow
=
item
.
arrearsAmount
;
});
item
.
arrearsAmount
=
''
;
if
(
valid
)
{
return
item
;
this
.
$message
.
warning
(
"
存在关联账单未输入回款金额
"
);
})
||
[];
reject
();
}
else
{
return
;
this
.
$message
.
error
(
res
.
returnMsg
);
}
}
});
},
//新建/保存回款
addNewEvt
(
backStatus
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
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
)
=>
{
return
{
id
:
item
.
id
,
backAmount
:
item
.
backAmount
,
arrearsAmount
:
item
.
arrearsAmount
,
remark
:
item
.
remark
};
});
const
valid
=
receiptVoList
.
some
((
item
)
=>
{
const
exist
=
!
item
.
backAmount
&&
item
.
backAmount
!==
0
;
return
exist
;
});
if
(
valid
)
{
this
.
$message
.
warning
(
'
存在关联账单未输入回款金额
'
);
reject
();
return
;
}
const
formData
=
{
const
formData
=
{
...
this
.
form
,
...
this
.
form
,
receiptVoList
,
receiptVoList
,
backDate
:
this
.
form
.
backDate
backDate
:
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
'
YYYY-MM-DD HH:mm:ss
'
)
:
''
,
?
moment
(
this
.
form
.
backDate
).
format
(
"
YYYY-MM-DD HH:mm:ss
"
)
backMoneyNo
:
this
.
backMoneyNo
,
//回款编号
:
""
,
backStatus
// 0暂存 1结案
backMoneyNo
:
this
.
backMoneyNo
,
//回款编号
};
backStatus
,
// 0暂存 1结案
};
// 上传附件格式转换
// 上传附件格式转换
formData
.
fileList
=
this
.
fileList
.
map
((
d
)
=>
{
formData
.
fileList
=
this
.
fileList
.
map
((
d
)
=>
{
const
file
=
{
const
file
=
{
fileName
:
d
.
name
,
fileName
:
d
.
name
,
fileUrl
:
d
.
url
,
fileUrl
:
d
.
url
};
};
return
file
;
return
file
;
});
});
this
.
$apis
.
SAVEBACKMONEY
(
formData
).
then
((
res
)
=>
{
this
.
$apis
.
SAVEBACKMONEY
(
formData
).
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
if
(
res
.
returnCode
==
'
0000
'
)
{
this
.
backMoneyNo
=
res
.
content
;
this
.
backMoneyNo
=
res
.
content
;
this
.
savedStatus
=
true
;
this
.
savedStatus
=
true
;
this
.
$message
.
success
(
"
成功
"
);
this
.
$message
.
success
(
'
成功
'
);
this
.
selectedRowKeys
=
[];
this
.
selectedRowKeys
=
[];
this
.
getData
();
this
.
getData
();
this
.
_getNewEOBList
();
this
.
_getNewEOBList
();
// this.$router.go(-1);
// this.$router.go(-1);
resolve
();
resolve
();
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
this
.
$message
.
error
(
res
.
returnMsg
);
reject
();
reject
();
}
}
});
});
});
});
},
},
/* ======== 上传区域 ======== */
/* ======== 上传区域 ======== */
// 上传之前
// 上传之前
beforeUpload
()
{
beforeUpload
()
{
const
len
=
this
.
fileList
.
length
;
const
len
=
this
.
fileList
.
length
;
if
(
len
>=
5
)
{
if
(
len
>=
5
)
{
this
.
$message
.
warning
(
"
不能超过5个文件
"
);
this
.
$message
.
warning
(
'
不能超过5个文件
'
);
return
false
;
return
false
;
}
}
return
true
;
return
true
;
},
},
// 删除文件
// 删除文件
removeFile
(
file
)
{
removeFile
(
file
)
{
let
index
;
let
index
;
this
.
fileList
.
forEach
((
item
,
i
)
=>
{
this
.
fileList
.
forEach
((
item
,
i
)
=>
{
if
(
item
.
uid
==
file
.
uid
)
{
if
(
item
.
uid
==
file
.
uid
)
{
index
=
i
;
index
=
i
;
}
}
});
});
this
.
fileList
.
splice
(
index
,
1
);
this
.
fileList
.
splice
(
index
,
1
);
return
true
;
return
true
;
},
},
// 上传文件
// 上传文件
uploadFile
(
fileData
)
{
uploadFile
(
fileData
)
{
let
formData
=
new
FormData
();
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
fileData
.
file
);
formData
.
append
(
'
file
'
,
fileData
.
file
);
this
.
$apis
.
UPLOADIMG
(
formData
).
then
((
res
)
=>
{
this
.
$apis
.
UPLOADIMG
(
formData
).
then
((
res
)
=>
{
fileData
.
onSuccess
();
fileData
.
onSuccess
();
let
tmp
=
{
let
tmp
=
{
uid
:
Math
.
random
()
*
10000
,
uid
:
Math
.
random
()
*
10000
,
name
:
res
.
original
,
name
:
res
.
original
,
status
:
"
done
"
,
status
:
'
done
'
,
url
:
res
.
url
,
url
:
res
.
url
};
};
this
.
fileList
.
push
(
tmp
);
this
.
fileList
.
push
(
tmp
);
this
.
$forceUpdate
();
this
.
$forceUpdate
();
});
});
},
},
//导出报表
//导出报表
exportExcel
()
{
exportExcel
()
{
let
filter
=
{
let
filter
=
{
backMoneyNo
:
this
.
backMoneyNo
,
backMoneyNo
:
this
.
backMoneyNo
,
payorCode
:
this
.
form
.
payorCode
,
payorCode
:
this
.
form
.
payorCode
}
}
;
this
.
$apis
.
EXPORTBACKRECEIPTLIST
(
filter
).
then
(
res
=>
{
this
.
$apis
.
EXPORTBACKRECEIPTLIST
(
filter
).
then
(
(
res
)
=>
{
exportFile
(
res
,
'
已关联账单.xls
'
);
exportFile
(
res
,
'
已关联账单.xls
'
);
})
})
;
},
},
// 保险公司支持输入搜索
// 保险公司支持输入搜索
filterOption
(
input
,
option
)
{
filterOption
(
input
,
option
)
{
return
option
.
componentOptions
.
children
[
0
].
text
.
indexOf
(
input
)
>=
0
return
option
.
componentOptions
.
children
[
0
].
text
.
indexOf
(
input
)
>=
0
;
}
}
},
}
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.none-label {
.none-label {
text-align: right;
text-align: right;
.ant-form-item-label {
.ant-form-item-label {
opacity: 0;
opacity: 0;
}
}
}
}
.table-title {
.table-title {
font-size: 15px;
font-size: 15px;
margin: 6px 0;
margin: 6px 0;
display: flex;
text-align: right;
align-items: center;
justify-content: space-between;
}
}
.table-content {
.table-content {
margin-bottom: 8px;
::v-deep {
tr.hide_ {
display: none;
}
td {
padding: 5px 16px !important;
}
}
}
}
.search-form {
.search-form {
margin-top: 24px;
.ant-form .ant-form-item {
.ant-form .ant-form-item {
margin-bottom: 4px;
margin-bottom: 4px;
}
}
}
}
.ant-btn .icon-class {
.ant-btn .icon-class {
.mg-r(10);
.mg-r(10);
}
}
.success.ant-btn-link {
.success.ant-btn-link {
color: #4cd964;
color: #4cd964;
}
}
.danger.ant-btn-link {
.danger.ant-btn-link {
color: #ff3b30;
color: #ff3b30;
}
}
.burt-container {
.burt-container {
height: calc(100vh - 86px);
height: calc(100vh - 86px);
display: flex;
display: flex;
flex-direction: column;
flex-direction: column;
::v-deep {
padding-bottom: 10px;
.ant-tabs {
::v-deep {
flex: 1;
.ant-form-item {
min-height: 0;
display: flex;
}
}
}
.ant-tabs {
flex: 1;
min-height: 0;
}
}
}
}
.bill-content {
.bill-content {
height: calc(100vh - 185px);
overflow-y: auto;
overflow-y: auto;
overflow-x: hidden;
overflow-x: hidden;
padding-right: 12px;
padding-right: 12px;
.pagination {
margin-top: 10px;
::v-deep .jump-page {
height: 30px;
}
}
}
}
::v-deep .bill-form {
::v-deep .bill-form {
.ant-form .ant-form-item {
.ant-form .ant-form-item {
margin-bottom: 4px !important;
margin-bottom: 4px !important;
}
}
}
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
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