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
d3c07fd9
Commit
d3c07fd9
authored
Jul 03, 2023
by
王安伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【商保系统】-回款管理-账单列表和已关联账单分tab展示支持搜索;回款单关联账单以及账单报表,增加备注列
parent
9644dc39
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
872 additions
and
865 deletions
+872
-865
index.vue
src/views/charge-query/index.vue
+1
-0
collectionDetail.vue
src/views/verification/collectionDetail.vue
+871
-865
No files found.
src/views/charge-query/index.vue
View file @
d3c07fd9
...
...
@@ -165,6 +165,7 @@ export default {
{
title
:
"
保险已支付
"
,
dataIndex
:
"
backAmount
"
,
width
:
180
},
{
title
:
"
保险欠费
"
,
dataIndex
:
"
insuranceArrearsAmount
"
,
width
:
180
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmount
"
,
width
:
180
},
{
title
:
"
备注
"
,
dataIndex
:
"
remark
"
,
width
:
200
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
width
:
180
},
{
title
:
"
账龄
"
,
dataIndex
:
"
diffDay
"
,
width
:
180
},
{
title
:
"
操作
"
,
key
:
"
operation
"
,
width
:
"
175px
"
,
fixed
:
"
right
"
,
scopedSlots
:
{
customRender
:
"
operation
"
},
align
:
"
center
"
},
...
...
src/views/verification/collectionDetail.vue
View file @
d3c07fd9
<
template
>
<div
class=
"white_bg burt-container"
>
<div
ref=
"burt"
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-form-model
ref=
"form"
:model=
"form"
>
<a-row
:gutter=
"30"
>
<a-col
:lg=
"6
"
:sm=
"12"
>
<a-col
:lg=
"7
"
:sm=
"12"
>
<a-form-model-item
label=
"保险公司"
>
<a-select
v-model=
"form.payorCode"
...
...
@@ -15,19 +13,17 @@
allow-clear
show-search
:disabled=
"!isEdit"
style=
"min-width: 200px"
@
change=
"changePayor"
:filterOption=
"filterCode"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.payorCode"
:value=
"item.payorCode"
>
<a-select-option
v-for=
"item in companyOptions"
:key=
"item.payorCode"
:value=
"item.payorCode"
>
{{
item
.
longName
}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<template
v-if=
"activeKey === '0'"
>
<a-col
:lg=
"5"
:sm=
"12"
>
<a-form-model-item
label=
"回款日期"
>
<a-date-picker
...
...
@@ -40,7 +36,8 @@
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
</
template
>
<a-col
:lg=
"6"
:sm=
"12"
>
<a-form-model-item
label=
"回款金额(人民币)"
>
<a-input
type=
"number"
...
...
@@ -56,7 +53,8 @@
<a-input
v-model=
"residueBackAmount"
disabled
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
<
template
v-if=
"activeKey === '0'"
>
<a-col
:lg=
"7"
:sm=
"12"
>
<a-form-model-item
label=
"回款金额(美元)"
>
<a-input
type=
"number"
...
...
@@ -67,34 +65,19 @@
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"6
"
:sm=
"12"
>
<a-col
:lg=
"5
"
: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-col
:lg=
"6
"
: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-input
v-model=
"form.eobRemark"
placeholder=
"请输入EOB备注"
allow-clear
:disabled=
"!isEdit"
/>
</a-form-model-item>
</a-col>
<a-col
:lg=
"5"
:sm=
"12"
>
...
...
@@ -109,90 +92,24 @@
:beforeUpload=
"() => beforeUpload()"
:remove=
"(file) => removeFile(file)"
>
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
</a-button>
<a-button
type=
"primary"
>
<Icon
name=
"ssiupload"
:size=
"18"
/>
上传文件
</a-button>
</a-upload>
</a-form-model-item>
</a-col>
</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
show-search
:filter-option=
"filterOption"
: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>
<
template
v-if=
"activeKey === '1'"
>
<div
class=
"bill-content"
>
<!-- 已关联账单 -->
<template
v-if=
"selectedRows.length > 0"
>
<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: '100%', y: 450 }"
:pagination="false"
>
<template
slot=
"status"
slot-scope=
"text"
>
<span
:style=
"
{color: text == 2 ? 'red' : ''}">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
</
template
>
<
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-tabs
type=
"card"
v-model=
"activeKey1"
@
change=
"paneChange"
>
<a-tab-pane
v-for=
"pane in panes1"
:key=
"pane.key"
:tab=
"pane.title"
>
<div>
<a-row
class=
"search-form"
>
<a-form-model
ref=
"searchForm"
layout=
"inline"
:labelCol=
"
{ span: 8
}"
:wrapperCol="{ span: 16
}"
:labelCol=
"
{ span: 9
}"
:wrapperCol="{ span: 15
}"
:model="searchForm"
>
<a-row
:gutter=
"30"
>
...
...
@@ -228,7 +145,7 @@
</a-col>
<a-col
:lg=
"4"
:sm=
"12"
>
<a-form-model-item
label=
"状态"
>
<a-select
style=
"width: 160px;"
v-model=
"searchForm.rStatus"
placeholder=
"请选择状态"
allowClear
>
<a-select
v-model=
"searchForm.rStatus"
placeholder=
"请选择状态"
allowClear
>
<a-select-option
v-for=
"item in statusOptions"
:key=
"item.code"
:value=
"item.code"
>
{{
item
.
name
}}
</a-select-option>
...
...
@@ -247,7 +164,7 @@
</a-col>
<a-col
:lg=
"2"
:sm=
"12"
>
<div
class=
"btn-div mar-bottom10 none-label"
>
<a-button
type=
"primary"
@
click=
"_getNewEOBList
"
>
<a-button
type=
"primary"
@
click=
"searchData
"
>
<Icon
name=
"ssisearch_active"
:size=
"14"
/>
查询
</a-button>
</div>
...
...
@@ -255,28 +172,61 @@
</a-row>
</a-form-model>
</a-row>
<div
class=
"table-title"
>
账单列表
</div>
</div>
<!-- 已关联账单 -->
<template
v-if=
"activeKey1 === '0'"
>
<template
v-if=
"selectedRows.length > 0"
>
<div
class=
"table-title"
>
<a-button
class=
"mar-left10"
type=
"primary"
@
click=
"exportExcel"
>
<Icon
name=
"ssidaochu"
:size=
"14"
/>
导出
</a-button>
</div>
<a-table
class=
"table-content"
:rowClassName=
"rowClassName"
:columns=
"selectedColumns"
:data-source=
"selectedRows"
:scroll=
"
{ x: '100%', y: tableHeight }"
:pagination="false"
>
<template
slot=
"status"
slot-scope=
"text"
>
<span
:style=
"
{ color: text == 2 ? 'red' : '' }">
{{
text
==
1
?
'
有效
'
:
text
==
2
?
'
无效
'
:
''
}}
</span>
</
template
>
<
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>
</template>
<
template
v-else
>
<!-- table -->
<template
v-if=
"isEdit"
>
<a-table
class=
"table-content"
:columns=
"columns"
:data-source=
"dataList"
:scroll=
"
{ x: '100%', y: 300
}"
:scroll=
"
{ x: '100%', y: tableHeight
}"
:pagination="false"
:rowKey="'id'"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onSelect: onSelectChange,
onSelectAll: onSelectAll,
onSelectAll: onSelectAll
}"
>
<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
>
</a-table>
<BurtPagination
:pagination=
"pagination"
@
pageChange=
"pageChange"
/>
<BurtPagination
class=
"pagination"
:pagination=
"pagination"
@
pageChange=
"pageChange"
/>
</template>
</template>
</a-tab-pane>
</a-tabs>
</div>
</template>
</a-tab-pane>
...
...
@@ -293,12 +243,20 @@
</template>
<
script
>
import
Goback
from
"
@/components/CUSTOMER/goback
"
;
import
BurtPagination
from
"
@/components/CUSTOMER/pagation
"
;
import
{
EOBStatusOptions
}
from
"
@/utils/utilsdictOptions.js
"
;
import
Goback
from
'
@/components/CUSTOMER/goback
'
;
import
BurtPagination
from
'
@/components/CUSTOMER/pagation
'
;
import
{
EOBStatusOptions
}
from
'
@/utils/utilsdictOptions.js
'
;
import
{
exportFile
}
from
'
@/utils/index
'
;
import
moment
from
"
moment
"
;
import
mixins
from
"
@/mixins
"
;
import
moment
from
'
moment
'
;
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
{
data
()
{
return
{
...
...
@@ -306,13 +264,13 @@ export default {
EOBStatusOptions
,
dialogShow
:
false
,
form
:
{
payorCode
:
""
,
payorCode
:
undefined
,
backDate
:
null
,
backAmountCny
:
""
,
backAmountUsd
:
""
,
backExchangeRate
:
""
,
eobNos
:
""
,
// EOB编号
eobRemark
:
""
,
// EOB备注
backAmountCny
:
''
,
backAmountUsd
:
''
,
backExchangeRate
:
''
,
eobNos
:
''
,
// EOB编号
eobRemark
:
''
// EOB备注
},
fileList
:
[],
// 上传文件列表
dataList
:
[],
...
...
@@ -321,106 +279,112 @@ export default {
pagination
:
{
pageNum
:
1
,
pageSize
:
5
,
total
:
0
,
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
"
}],
backAmountUsd
:
[{
required
:
true
,
message
:
'
请输入
'
,
trigger
:
'
blur
'
}],
backAmount
:
[{
required
:
true
,
message
:
'
请输入
'
,
trigger
:
'
blur
'
}]
},
searchForm
:
{
billDate
:
[],
mrnNo
:
""
,
// 病历号
patientName
:
""
,
// 客户名字
mrnNo
:
''
,
// 病历号
patientName
:
''
// 客户名字
},
savedStatus
:
false
,
//是否已保存
relatedList
:
[],
panes
:
[
{
title
:
"
基础信息
"
,
key
:
"
0
"
,
show
:
true
,
content
:
"
PaymentClaims
"
},
{
title
:
"
账单列表
"
,
key
:
"
1
"
,
show
:
false
,
content
:
"
Insurance
"
},
],
activeKey
:
"
0
"
,
panes
:
Object
.
seal
(
panes
),
panes1
:
Object
.
seal
(
panes1
),
activeKey
:
'
0
'
,
activeKey1
:
'
0
'
,
statusOptions
:
[
{
name
:
'
无效
'
,
code
:
2
code
:
2
},
{
name
:
'
有效
'
,
code
:
1
}
]
],
tableHeight
:
200
// 表格高度
};
},
mixins
:
[
mixins
],
components
:
{
Goback
,
BurtPagination
,
BurtPagination
},
computed
:
{
columns
()
{
const
base
=
[
{
title
:
"
账单编号
"
,
dataIndex
:
"
receiptNo
"
,
title
:
'
账单编号
'
,
dataIndex
:
'
receiptNo
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
{
title
:
"
账单状态
"
,
dataIndex
:
"
status
"
,
title
:
'
账单状态
'
,
dataIndex
:
'
status
'
,
ellipsis
:
true
,
width
:
150
,
scopedSlots
:
{
customRender
:
"
status
"
}
width
:
150
,
scopedSlots
:
{
customRender
:
'
status
'
}
},
{
title
:
"
病历号
"
,
dataIndex
:
"
mrnNo
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
'
病历号
'
,
dataIndex
:
'
mrnNo
'
,
ellipsis
:
true
,
width
:
195
},
{
title
:
"
客户姓名
"
,
dataIndex
:
"
patientName
"
,
title
:
'
客户姓名
'
,
dataIndex
:
'
patientName
'
,
ellipsis
:
true
,
width
:
160
,
width
:
160
},
{
title
:
"
保险公司
"
,
dataIndex
:
"
payorName
"
,
ellipsis
:
true
,
width
:
195
},
{
title
:
'
保险公司
'
,
dataIndex
:
'
payorName
'
,
ellipsis
:
true
,
width
:
195
},
{
title
:
"
账单日期
"
,
dataIndex
:
"
receiptDate
"
,
title
:
'
账单日期
'
,
dataIndex
:
'
receiptDate
'
,
ellipsis
:
true
,
width
:
180
,
width
:
180
},
{
title
:
"
收银
"
,
dataIndex
:
"
receiptTellerName
"
,
title
:
'
收银
'
,
dataIndex
:
'
receiptTellerName
'
,
ellipsis
:
true
,
width
:
120
,
width
:
120
},
{
title
:
"
理赔账单金额
"
,
dataIndex
:
"
actualAmount
"
,
title
:
'
理赔账单金额
'
,
dataIndex
:
'
actualAmount
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
{
title
:
"
回款金额
"
,
dataIndex
:
"
writeOffAmount
"
,
title
:
'
回款金额
'
,
dataIndex
:
'
writeOffAmount
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
{
title
:
"
个人欠费
"
,
dataIndex
:
"
arrearsAmountShow
"
,
title
:
'
个人欠费
'
,
dataIndex
:
'
arrearsAmountShow
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
},
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
title
:
'
备注
'
,
dataIndex
:
'
remark
'
,
ellipsis
:
true
,
width
:
150
,
width
:
200
},
{
title
:
'
未清余额
'
,
dataIndex
:
'
residueBackAmount
'
,
ellipsis
:
true
,
width
:
150
}
];
return
base
;
},
...
...
@@ -428,8 +392,8 @@ export default {
const
base
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
columns
));
const
changeAmount
=
this
.
changeAmount
;
base
[
8
]
=
{
title
:
"
回款金额
"
,
dataIndex
:
"
backAmount
"
,
title
:
'
回款金额
'
,
dataIndex
:
'
backAmount
'
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
...
...
@@ -438,29 +402,40 @@ export default {
v
-
model
=
{
row
.
backAmount
}
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
style
=
{{
"
color
"
:
row
.
backAmount
==
row
.
currentReceiptAmount
?
''
:
'
red
'
}}
style
=
{{
color
:
row
.
backAmount
==
row
.
currentReceiptAmount
?
''
:
'
red
'
}}
onBlur
=
{()
=>
{
changeAmount
(
row
);
changeAmount
(
row
,
'
backAmount
'
);
}}
/>
);
},
}
};
base
[
10
]
=
{
title
:
"
未清余额
"
,
dataIndex
:
"
residueBackAmount
"
,
base
[
10
].
customRender
=
(
val
,
row
)
=>
{
return
(
<
a
-
input
v
-
model
=
{
row
.
remark
}
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
onBlur
=
{()
=>
{
this
.
syncData
(
row
);
}}
/>
);
};
base
[
11
]
=
{
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
"
,
title
:
'
个人欠费
'
,
dataIndex
:
'
arrearsAmount
'
,
ellipsis
:
true
,
width
:
150
,
customRender
:
(
val
,
row
)
=>
{
...
...
@@ -470,31 +445,31 @@ export default {
allow
-
clear
disabled
=
{
!
this
.
isEdit
}
onBlur
=
{()
=>
{
changeAmount
(
row
);
changeAmount
(
row
,
'
arrearsAmount
'
);
}}
/>
);
},
}
};
base
.
splice
(
8
,
0
,
{
title
:
"
余末金额
"
,
dataIndex
:
"
currentReceiptAmount
"
,
title
:
'
余末金额
'
,
dataIndex
:
'
currentReceiptAmount
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
});
base
.
push
({
title
:
"
回款日期
"
,
dataIndex
:
"
backDate
"
,
title
:
'
回款日期
'
,
dataIndex
:
'
backDate
'
,
ellipsis
:
true
,
width
:
150
,
width
:
150
});
if
(
this
.
isEdit
)
{
base
.
push
({
title
:
"
操作
"
,
dataIndex
:
"
operation
"
,
fixed
:
"
right
"
,
title
:
'
操作
'
,
dataIndex
:
'
operation
'
,
fixed
:
'
right
'
,
width
:
100
,
scopedSlots
:
{
customRender
:
"
operation
"
},
scopedSlots
:
{
customRender
:
'
operation
'
}
});
}
return
base
;
...
...
@@ -506,7 +481,7 @@ export default {
totalMoney
-=
Number
(
item
.
backAmount
);
});
return
Number
(
totalMoney
.
toFixed
(
2
));
},
}
},
created
()
{
const
{
backMoneyNo
,
isEdit
}
=
this
.
$route
.
query
;
...
...
@@ -514,13 +489,9 @@ export default {
this
.
isEdit
=
isEdit
;
this
.
_getCompanyOptions
();
if
(
backMoneyNo
)
{
const
backMoneyDataDetail
=
JSON
.
parse
(
localStorage
.
getItem
(
"
backMoneyDataDetail
"
)
||
"
{}
"
);
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
;
this
.
form
.
backDate
=
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
'
YYYY-MM-DD 00:00:00
'
)
:
null
;
// 如果有上传附件则显示列表
if
(
backMoneyDataDetail
.
fileList
)
{
...
...
@@ -528,8 +499,8 @@ export default {
const
file
=
{
uid
:
Math
.
random
()
*
10000
,
name
:
d
.
fileName
,
status
:
"
done
"
,
url
:
d
.
fileUrl
,
status
:
'
done
'
,
url
:
d
.
fileUrl
};
return
file
;
});
...
...
@@ -538,15 +509,41 @@ export default {
}
this
.
_getNewEOBList
();
},
mounted
()
{
this
.
calcTableHeight
();
},
methods
:
{
moment
,
// 计算表格最大高度
calcTableHeight
()
{
const
dom
=
this
.
$refs
.
burt
;
const
containterH
=
dom
.
clientHeight
;
const
style
=
window
.
getComputedStyle
(
dom
,
null
);
const
paddingT
=
parseFloat
(
style
.
getPropertyValue
(
'
padding-top
'
));
const
paddingB
=
parseFloat
(
style
.
getPropertyValue
(
'
padding-bottom
'
));
const
paddingSum
=
paddingT
+
paddingB
;
this
.
tableHeight
=
containterH
-
400
-
paddingSum
;
},
// 已关联账单表格行类名
rowClassName
(
record
)
{
return
record
.
hidden
?
'
hide_
'
:
''
;
},
// 已关联账单数据同步
syncData
(
row
,
field
)
{
this
.
selectedRows
.
forEach
((
item
)
=>
{
if
(
item
.
id
===
row
.
id
)
{
item
[
field
]
=
row
[
field
];
}
});
},
// 账单查询
searchData
()
{
this
.
_getNewEOBList
();
this
.
getData
();
},
// 选择框筛选
filterCode
(
input
,
option
)
{
return
(
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
()
.
indexOf
(
input
.
toLowerCase
())
>=
0
);
return
option
.
componentOptions
.
children
[
0
].
text
.
toLowerCase
().
indexOf
(
input
.
toLowerCase
())
>=
0
;
},
paneChange
()
{
this
.
panes
.
forEach
((
item
)
=>
{
...
...
@@ -554,45 +551,43 @@ export default {
});
this
.
panes
[
Number
(
this
.
activeKey
)].
show
=
true
;
},
changeAmount
(
row
)
{
changeAmount
(
row
,
field
)
{
let
totalMoney
=
Number
(
this
.
form
.
backAmountCny
||
0
);
this
.
selectedRows
.
forEach
((
item
)
=>
{
totalMoney
-=
Number
(
item
.
backAmount
);
});
if
(
totalMoney
<
0
)
{
this
.
$message
.
error
(
'
可核销余额不足
'
)
if
(
totalMoney
<
0
)
{
this
.
$message
.
error
(
'
可核销余额不足
'
);
}
if
(
Number
(
row
.
actualAmount
||
0
)
-
Number
(
row
.
backAmount
||
0
)
<
0
)
{
this
.
$message
.
warning
(
"
录入账单回款金额大于账单金额
"
);
this
.
$message
.
warning
(
'
录入账单回款金额大于账单金额
'
);
}
this
.
syncData
(
row
,
field
);
},
onSelectChange
(
selectedRow
,
selected
)
{
selectedRow
[
'
backAmount
'
]
=
this
.
residueBackAmount
>
selectedRow
.
currentReceiptAmount
?
selectedRow
.
currentReceiptAmount
:
this
.
residueBackAmount
;
selectedRow
[
'
backAmount
'
]
=
this
.
residueBackAmount
>
selectedRow
.
currentReceiptAmount
?
selectedRow
.
currentReceiptAmount
:
this
.
residueBackAmount
;
if
(
selected
)
{
this
.
selectedRowKeys
.
push
(
selectedRow
.
id
);
this
.
selectedRows
.
push
(
selectedRow
);
}
else
{
const
index
=
this
.
selectedRowKeys
.
findIndex
(
(
item
)
=>
item
===
selectedRow
.
id
);
const
index
=
this
.
selectedRowKeys
.
findIndex
((
item
)
=>
item
===
selectedRow
.
id
);
this
.
selectedRowKeys
.
splice
(
index
,
1
);
this
.
selectedRows
.
splice
(
index
,
1
);
this
.
_confirmDelReceipt
([
selectedRow
]);
}
this
.
addNewEvt
(
0
)
this
.
addNewEvt
(
0
);
},
onSelectAll
(
selected
,
selectedRows
,
changeRows
)
{
console
.
log
(
selected
,
selectedRows
,
changeRows
);
if
(
selected
)
{
this
.
selectedRowKeys
=
this
.
selectedRowKeys
.
concat
(
changeRows
.
map
((
item
)
=>
item
.
id
)
);
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
);
const
findIndex
=
this
.
selectedRowKeys
.
findIndex
((
rowId
)
=>
rowId
===
item
.
id
);
this
.
selectedRowKeys
.
splice
(
findIndex
,
1
);
this
.
selectedRows
.
splice
(
findIndex
,
1
);
});
...
...
@@ -612,14 +607,12 @@ export default {
if
(
!
this
.
backMoneyNo
)
return
;
const
receiptVoList
=
records
.
filter
((
item
)
=>
{
const
findIndex
=
this
.
relatedList
.
findIndex
(
(
rowId
)
=>
rowId
===
item
.
id
);
const
findIndex
=
this
.
relatedList
.
findIndex
((
rowId
)
=>
rowId
===
item
.
id
);
return
findIndex
>
-
1
;
})
.
map
((
item
)
=>
{
return
{
id
:
item
.
id
,
id
:
item
.
id
};
});
console
.
log
(
receiptVoList
);
...
...
@@ -627,10 +620,10 @@ export default {
this
.
$apis
.
DELETERECEIPTRECORD
({
backMoneyNo
:
this
.
backMoneyNo
,
receiptVoList
,
receiptVoList
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
if
(
res
.
returnCode
==
'
0000
'
)
{
this
.
_getNewEOBList
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
...
...
@@ -639,20 +632,17 @@ export default {
},
// 修改保险公司
changePayor
()
{
if
(
this
.
selectedRowKeys
.
length
>
0
&&
(
this
.
form
.
id
||
this
.
savedStatus
)
)
{
if
(
this
.
selectedRowKeys
.
length
>
0
&&
(
this
.
form
.
id
||
this
.
savedStatus
))
{
this
.
$modal
.
confirm
({
title
:
"
提示
"
,
content
:
"
是否解除已关联账单
"
,
okText
:
"
确认
"
,
cancelText
:
"
取消
"
,
title
:
'
提示
'
,
content
:
'
是否解除已关联账单
'
,
okText
:
'
确认
'
,
cancelText
:
'
取消
'
,
onOk
:
()
=>
{
this
.
selectedRowKeys
=
[];
this
.
selectedRows
=
[];
},
onCancel
:
()
=>
{},
onCancel
:
()
=>
{}
});
}
this
.
_getNewEOBList
();
...
...
@@ -660,7 +650,7 @@ export default {
pageChange
(
pager
)
{
this
.
pagination
=
{
...
this
.
pagination
,
...
pager
,
...
pager
};
this
.
_getNewEOBList
();
},
...
...
@@ -672,22 +662,28 @@ export default {
},
// 获取已关联的账单
getData
()
{
let
billDate
=
this
.
searchForm
.
billDate
||
[];
this
.
$apis
.
QUERYBACKRECEIPTLIST
({
pageNum
:
1
,
pageSize
:
999
,
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
"
)
{
if
(
res
.
returnCode
==
'
0000
'
)
{
const
list
=
res
.
content
.
list
||
[];
this
.
selectedRowKeys
=
list
.
map
((
d
)
=>
d
.
id
)
;
let
ids
=
[]
;
this
.
selectedRows
=
list
.
map
((
item
)
=>
{
item
.
relationed
=
true
;
ids
.
push
(
item
.
id
);
return
item
;
});
this
.
relatedList
=
list
.
map
((
d
)
=>
d
.
id
);
this
.
selectedRowKeys
=
this
.
$lodash
.
cloneDeep
(
ids
);
this
.
relatedList
=
this
.
$lodash
.
cloneDeep
(
ids
);
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
}
...
...
@@ -703,17 +699,18 @@ export default {
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
,
receiptEndDate
:
billDate
[
1
]
?
billDate
[
1
]
+
'
23:59:59
'
:
undefined
,
receiptStartDate
:
billDate
[
0
]
?
billDate
[
0
]
+
'
00:00:00
'
:
undefined
})
.
then
((
res
)
=>
{
if
(
res
.
returnCode
==
"
0000
"
)
{
if
(
res
.
returnCode
==
'
0000
'
)
{
let
content
=
res
.
content
||
{};
this
.
pagination
.
total
=
content
.
total
||
0
;
this
.
dataList
=
content
.
list
.
map
(
item
=>
{
item
.
arrearsAmountShow
=
item
.
arrearsAmount
item
.
arrearsAmount
=
''
return
item
this
.
dataList
=
content
.
list
.
map
((
item
)
=>
{
item
.
arrearsAmountShow
=
item
.
arrearsAmount
;
item
.
arrearsAmount
=
''
;
return
item
;
})
||
[];
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
...
...
@@ -723,19 +720,18 @@ export default {
//新建/保存回款
addNewEvt
(
backStatus
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
console
.
log
(
this
.
selectedRows
);
if
(
!
this
.
form
.
payorCode
)
{
this
.
$message
.
warning
(
"
请选择保险公司
"
);
this
.
$message
.
warning
(
'
请选择保险公司
'
);
reject
();
return
;
}
if
(
!
this
.
form
.
backDate
)
{
this
.
$message
.
warning
(
"
请选择回款日期
"
);
this
.
$message
.
warning
(
'
请选择回款日期
'
);
reject
();
return
;
}
if
(
!
this
.
form
.
backAmountCny
)
{
this
.
$message
.
warning
(
"
请输入回款金额
"
);
this
.
$message
.
warning
(
'
请输入回款金额
'
);
reject
();
return
;
}
...
...
@@ -744,14 +740,15 @@ export default {
id
:
item
.
id
,
backAmount
:
item
.
backAmount
,
arrearsAmount
:
item
.
arrearsAmount
,
remark
:
item
.
remark
};
});
const
valid
=
receiptVoList
.
some
((
item
)
=>
{
const
exist
=
!
item
.
backAmount
&&
item
.
backAmount
!==
0
const
exist
=
!
item
.
backAmount
&&
item
.
backAmount
!==
0
;
return
exist
;
});
if
(
valid
)
{
this
.
$message
.
warning
(
"
存在关联账单未输入回款金额
"
);
this
.
$message
.
warning
(
'
存在关联账单未输入回款金额
'
);
reject
();
return
;
}
...
...
@@ -759,38 +756,37 @@ export default {
const
formData
=
{
...
this
.
form
,
receiptVoList
,
backDate
:
this
.
form
.
backDate
?
moment
(
this
.
form
.
backDate
).
format
(
"
YYYY-MM-DD HH:mm:ss
"
)
:
""
,
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
)
=>
{
const
file
=
{
fileName
:
d
.
name
,
fileUrl
:
d
.
url
,
fileUrl
:
d
.
url
};
return
file
;
});
console
.
log
(
formData
);
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.$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
();
}
else
{
this
.
$message
.
error
(
res
.
returnMsg
);
reject
();
}
});
//
// this.$router.go(-1);
//
resolve();
//
} else {
//
this.$message.error(res.returnMsg);
//
reject();
//
}
//
});
});
},
...
...
@@ -799,7 +795,7 @@ export default {
beforeUpload
()
{
const
len
=
this
.
fileList
.
length
;
if
(
len
>=
5
)
{
this
.
$message
.
warning
(
"
不能超过5个文件
"
);
this
.
$message
.
warning
(
'
不能超过5个文件
'
);
return
false
;
}
return
true
;
...
...
@@ -818,14 +814,14 @@ export default {
// 上传文件
uploadFile
(
fileData
)
{
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
fileData
.
file
);
formData
.
append
(
'
file
'
,
fileData
.
file
);
this
.
$apis
.
UPLOADIMG
(
formData
).
then
((
res
)
=>
{
fileData
.
onSuccess
();
let
tmp
=
{
uid
:
Math
.
random
()
*
10000
,
name
:
res
.
original
,
status
:
"
done
"
,
url
:
res
.
url
,
status
:
'
done
'
,
url
:
res
.
url
};
this
.
fileList
.
push
(
tmp
);
...
...
@@ -833,20 +829,20 @@ export default {
});
},
//导出报表
exportExcel
()
{
exportExcel
()
{
let
filter
=
{
backMoneyNo
:
this
.
backMoneyNo
,
payorCode
:
this
.
form
.
payorCode
,
}
this
.
$apis
.
EXPORTBACKRECEIPTLIST
(
filter
).
then
(
res
=>
{
payorCode
:
this
.
form
.
payorCode
}
;
this
.
$apis
.
EXPORTBACKRECEIPTLIST
(
filter
).
then
(
(
res
)
=>
{
exportFile
(
res
,
'
已关联账单.xls
'
);
})
})
;
},
// 保险公司支持输入搜索
filterOption
(
input
,
option
)
{
return
option
.
componentOptions
.
children
[
0
].
text
.
indexOf
(
input
)
>=
0
filterOption
(
input
,
option
)
{
return
option
.
componentOptions
.
children
[
0
].
text
.
indexOf
(
input
)
>=
0
;
}
}
},
};
</
script
>
...
...
@@ -860,15 +856,19 @@ export default {
.table-title {
font-size: 15px;
margin: 6px 0;
display: flex;
align-items: center;
justify-content: space-between;
text-align: right;
}
.table-content {
margin-bottom: 8px;
::v-deep {
tr.hide_ {
display: none;
}
td {
padding: 5px 16px !important;
}
}
}
.search-form {
margin-top: 24px;
.ant-form .ant-form-item {
margin-bottom: 4px;
}
...
...
@@ -886,7 +886,11 @@ export default {
height: calc(100vh - 86px);
display: flex;
flex-direction: column;
padding-bottom: 10px;
::v-deep {
.ant-form-item {
display: flex;
}
.ant-tabs {
flex: 1;
min-height: 0;
...
...
@@ -894,10 +898,12 @@ export default {
}
}
.bill-content {
height: calc(100vh - 400px);
overflow-y: auto;
overflow-x: hidden;
padding-right: 12px;
.pagination {
margin-top: 10px;
}
}
::v-deep .bill-form {
.ant-form .ant-form-item {
...
...
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