Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
yuzhenWang
yd-csf-front
Commits
37fa8424
Commit
37fa8424
authored
Apr 29, 2026
by
yuzhenWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改明细字段发布测试
parent
03497a45
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
628 additions
and
195 deletions
+628
-195
src/api/financial/commission.js
+8
-1
src/views/financialCenter/receivables.vue
+620
-194
No files found.
src/api/financial/commission.js
View file @
37fa8424
...
@@ -490,7 +490,6 @@ export function billBatchSave(data) {
...
@@ -490,7 +490,6 @@ export function billBatchSave(data) {
})
})
}
}
// 拆分出账查询-计算目标金额
// 拆分出账查询-计算目标金额
export
function
billCalculateToAmount
(
data
)
{
export
function
billCalculateToAmount
(
data
)
{
return
request
({
return
request
({
...
@@ -499,6 +498,14 @@ export function billCalculateToAmount(data) {
...
@@ -499,6 +498,14 @@ export function billCalculateToAmount(data) {
data
:
data
data
:
data
})
})
}
}
// 应收款管理--明细列表
export
function
newQueryCommissionExpectedByPage
(
data
)
{
return
request
({
url
:
'csf/api/CommissionExpected/queryCommissionExpectedByPage/new'
,
method
:
'post'
,
data
:
data
})
}
// 应收款管理修改应收记录状态
// 应收款管理修改应收记录状态
export
function
CommissionExpectedChangeStatus
(
data
)
{
export
function
CommissionExpectedChangeStatus
(
data
)
{
...
...
src/views/financialCenter/receivables.vue
View file @
37fa8424
<
template
>
<
template
>
<div>
<div>
<CommonPage
:operationBtnList=
"operationBtnList"
:visibleDefaultButtons=
"visibleDefaultButtons"
<CommonPage
:showSearchForm=
"true"
:show-pagination=
"true"
:total=
"pageTotal"
:current-page=
"currentPage"
:operationBtnList=
"operationBtnList"
:page-size=
"pageSize"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
>
:visibleDefaultButtons=
"visibleDefaultButtons"
:showSearchForm=
"true"
:show-pagination=
"true"
:total=
"pageTotal"
:current-page=
"currentPage"
:page-size=
"pageSize"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
>
<!-- 搜索区域 -->
<!-- 搜索区域 -->
<template
#
searchForm
>
<template
#
searchForm
>
<SearchForm
ref=
"searchFormRef"
:config=
"searchConfig"
/>
<SearchForm
ref=
"searchFormRef"
:config=
"searchConfig"
/>
...
@@ -13,38 +21,42 @@
...
@@ -13,38 +21,42 @@
<div
class=
"statistics-container"
v-if=
"statisticsData.totalPolicyCount > 0"
>
<div
class=
"statistics-container"
v-if=
"statisticsData.totalPolicyCount > 0"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"statisticsData.totalAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"statisticsData.totalAmount"
:formatter=
"value => formatCurrency(value)"
>
<template
#
title
>
<template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
应收款总金额
</div>
应收款总金额
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"statisticsData.totalPaidAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"statisticsData.totalPaidAmount"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
已入账金额
</div>
已入账金额
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"statisticsData.pendingPaidAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"statisticsData.pendingPaidAmount"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
待入账金额(估)
</div>
待入账金额(估)
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"statisticsData.paidAmountRatio"
:formatter=
"value=>formatCurrency(value,'',2)+'%'"
>
<el-statistic
:value=
"statisticsData.paidAmountRatio"
:formatter=
"value => formatCurrency(value, '', 2) + '%'"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
已入账比例
</div>
已入账比例
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
...
@@ -54,11 +66,24 @@
...
@@ -54,11 +66,24 @@
</el-row>
</el-row>
</div>
</div>
<!-- 应收款管理列表 -->
<!-- 应收款管理列表 -->
<el-table
:data=
"tableData"
height=
"400"
border
highlight-current-row
style=
"width: 100%"
<el-table
v-loading=
"loading"
>
:data=
"tableData"
<el-table-column
v-for=
"(column, index) in receivableReportTableColumns"
:key=
"index"
:fixed=
"column.fixed"
height=
"400"
:prop=
"column.prop"
:label=
"column.label"
:width=
"column.width"
:sortable=
"column.sortable"
border
:formatter=
"column.formatter"
/>
highlight-current-row
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
v-for=
"(column, index) in receivableReportTableColumns"
:key=
"index"
:fixed=
"column.fixed"
:prop=
"column.prop"
:label=
"column.label"
:width=
"column.width"
:sortable=
"column.sortable"
:formatter=
"column.formatter"
/>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"viewDetail(scope.row)"
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"viewDetail(scope.row)"
>
...
@@ -70,69 +95,98 @@
...
@@ -70,69 +95,98 @@
</template>
</template>
</CommonPage>
</CommonPage>
<CommonDialog
dialogTitle=
"应收明细"
dialogWidth=
"80%"
:openDialog=
"detailDialogVisible"
:showAction=
"false"
<CommonDialog
:showClose=
"true"
@
close=
"detailDialogVisible = false"
>
dialogTitle=
"应收明细"
dialogWidth=
"80%"
:openDialog=
"detailDialogVisible"
:showAction=
"false"
:showClose=
"true"
@
close=
"detailDialogVisible = false"
>
<div
class=
"statistics-container"
v-if=
"detailRecordStatistics.totalPolicyCount > 0"
>
<div
class=
"statistics-container"
v-if=
"detailRecordStatistics.totalPolicyCount > 0"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.totalAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"detailRecordStatistics.totalAmount"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
应入账总金额
</div>
应入账总金额
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.totalPaidAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"detailRecordStatistics.totalPaidAmount"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
已入账金额
</div>
已入账金额
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.totalUnpaidAmount"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"detailRecordStatistics.pendingPaidAmount"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
待入账金额
</div>
待入账金额
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.paidAmountRatio"
:formatter=
"value=>formatCurrency(value,'',2)+'%'"
>
<el-statistic
:value=
"detailRecordStatistics.paidAmountRatio"
:formatter=
"value => formatCurrency(value, '', 2) + '%'"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
已入账比例
</div>
已入账比例
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<!-- <el-col :xs="24" :sm="12" :md="4" class="text-center mb-4">
<el-statistic :value="detailRecordStatistics.totalPolicyCount">
<template #title>
<div style="display: inline-flex; align-items: center">总保单数</div>
</template>
</el-statistic>
</el-col> -->
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.totalPolicyCount"
>
<el-statistic
:value=
"detailRecordStatistics.totalPremium"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
总保费
</div>
总保单数
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-col
:xs=
"24"
:sm=
"12"
:md=
"4"
class=
"text-center mb-4"
>
<el-statistic
:value=
"detailRecordStatistics.totalPremium"
:formatter=
"value=>formatCurrency(value)"
>
<el-statistic
:value=
"detailRecordStatistics.fromTotalPremium"
:formatter=
"value => formatCurrency(value)"
>
<
template
#
title
>
<
template
#
title
>
<div
style=
"display: inline-flex; align-items: center"
>
<div
style=
"display: inline-flex; align-items: center"
>
原币种保费
</div>
总保费
</div>
</
template
>
</
template
>
</el-statistic>
</el-statistic>
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
<el-table
:data=
"receivableReportTableData"
border
style=
"width: 100%;margin-bottom: 10px;min-height: 300px;"
>
<el-table
<el-table-column
v-for=
"item in receivableReportItemTableColumns"
:key=
"item.property"
:prop=
"item.prop"
:data=
"receivableReportTableData"
:label=
"item.label"
:width=
"item.width"
:formatter=
"item.formatter"
/>
border
style=
"width: 100%; margin-bottom: 10px; min-height: 300px"
>
<el-table-column
v-for=
"item in receivableReportItemTableColumns"
:key=
"item.property"
:prop=
"item.prop"
:label=
"item.label"
:width=
"item.width"
:formatter=
"item.formatter"
/>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<
template
#
default=
"{ row }"
>
<
template
#
default=
"{ row }"
>
<el-popover
placement=
"right"
:width=
"200"
trigger=
"click"
>
<el-popover
placement=
"right"
:width=
"200"
trigger=
"click"
>
...
@@ -150,16 +204,34 @@
...
@@ -150,16 +204,34 @@
</template>
</template>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-pagination
v-model:current-page=
"detailPageInfo.currentPage"
v-model:page-size=
"detailPageInfo.pageSize"
<el-pagination
:page-sizes=
"[50, 100, 200, 300]"
size=
"default"
layout=
"total, sizes, prev, pager, next, jumper"
v-model:current-page=
"detailPageInfo.currentPage"
:total=
"detailPageInfo.total"
@
size-change=
"handleSizeChangeDetailRecord"
v-model:page-size=
"detailPageInfo.pageSize"
@
current-change=
"handleCurrentChangeDetailRecord"
/>
:page-sizes=
"[50, 100, 200, 300]"
size=
"default"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"detailPageInfo.total"
@
size-change=
"handleSizeChangeDetailRecord"
@
current-change=
"handleCurrentChangeDetailRecord"
/>
</CommonDialog>
</CommonDialog>
<CommonDialog
dialogTitle=
"入账记录"
dialogWidth=
"80%"
:openDialog=
"entryRecordDialogTableVisible"
<CommonDialog
:showAction=
"false"
:showClose=
"true"
@
close=
"entryRecordDialogTableVisible = false"
>
dialogTitle=
"入账记录"
dialogWidth=
"80%"
:openDialog=
"entryRecordDialogTableVisible"
:showAction=
"false"
:showClose=
"true"
@
close=
"entryRecordDialogTableVisible = false"
>
<el-table
:data=
"entryRecordDialogTableData"
border
style=
"width: 100%"
>
<el-table
:data=
"entryRecordDialogTableData"
border
style=
"width: 100%"
>
<el-table-column
v-for=
"item in entryRecordDialogTableColumns"
:key=
"item.property"
<el-table-column
:prop=
"item.property"
:label=
"item.label"
:width=
"item.width"
:formatter=
"item.formatter"
/>
v-for=
"item in entryRecordDialogTableColumns"
:key=
"item.property"
:prop=
"item.property"
:label=
"item.label"
:width=
"item.width"
:formatter=
"item.formatter"
/>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleClick(scope.row)"
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleClick(scope.row)"
>
...
@@ -170,25 +242,51 @@
...
@@ -170,25 +242,51 @@
</el-table>
</el-table>
</CommonDialog>
</CommonDialog>
<CommonDialog
dialogTitle=
"操作记录"
dialogWidth=
"80%"
:openDialog=
"actionRecordsDialogVisible"
:showAction=
"false"
<CommonDialog
:showClose=
"true"
@
close=
"actionRecordsDialogVisible = false"
>
dialogTitle=
"操作记录"
dialogWidth=
"80%"
:openDialog=
"actionRecordsDialogVisible"
:showAction=
"false"
:showClose=
"true"
@
close=
"actionRecordsDialogVisible = false"
>
<el-table
:data=
"actionRecordsDialogTableData"
border
style=
"width: 100%"
>
<el-table
:data=
"actionRecordsDialogTableData"
border
style=
"width: 100%"
>
<el-table-column
v-for=
"item in actionRecordsDialogTableColumns"
:key=
"item.property"
<el-table-column
:prop=
"item.property"
:label=
"item.label"
:width=
"item.width"
/>
v-for=
"item in actionRecordsDialogTableColumns"
:key=
"item.property"
:prop=
"item.property"
:label=
"item.label"
:width=
"item.width"
/>
</el-table>
</el-table>
</CommonDialog>
</CommonDialog>
<CommonDialog
dialogTitle=
"设置入账状态"
dialogWidth=
"80%"
:openDialog=
"setStatusDialogTableVisible"
<CommonDialog
@
close=
"setStatusDialogTableVisible = false"
@
confirm=
"handleConfirmSetStatus"
>
dialogTitle=
"设置入账状态"
<SearchForm
ref=
"setCommissionRecordStatusFormRef"
:config=
"setCommissionRecordStatusFormConfig"
/>
dialogWidth=
"80%"
:openDialog=
"setStatusDialogTableVisible"
@
close=
"setStatusDialogTableVisible = false"
@
confirm=
"handleConfirmSetStatus"
>
<SearchForm
ref=
"setCommissionRecordStatusFormRef"
:config=
"setCommissionRecordStatusFormConfig"
/>
</CommonDialog>
</CommonDialog>
<!-- 新增应收款管理 -->
<!-- 新增应收款管理 -->
<CommonDialog
:dialogTitle=
"editStatus === 'add' ? '新增应收款' : '更新应收款'"
dialogWidth=
"80%"
<CommonDialog
:dialogTitle=
"editStatus === 'add' ? '新增应收款' : '更新应收款'"
dialogWidth=
"80%"
:openDialog=
"addReceivablesDialogVisible"
:openDialog=
"addReceivablesDialogVisible"
@
close=
"addReceivablesDialogVisible = false; resetAddReceivablesForm()"
@
close=
"((addReceivablesDialogVisible = false), resetAddReceivablesForm())"
@
confirm=
"handleConfirmAddReceivables"
>
@
confirm=
"handleConfirmAddReceivables"
<SearchForm
ref=
"addRecordRef"
:config=
"addReceivablesFormConfig"
v-model=
"addReceivablesFormModel"
/>
>
<SearchForm
ref=
"addRecordRef"
:config=
"addReceivablesFormConfig"
v-model=
"addReceivablesFormModel"
/>
</CommonDialog>
</CommonDialog>
</div>
</div>
</template>
</template>
...
@@ -196,12 +294,19 @@
...
@@ -196,12 +294,19 @@
<
script
setup
name=
"Receivables"
>
<
script
setup
name=
"Receivables"
>
import
CommonPage
from
'@/components/commonPage'
import
CommonPage
from
'@/components/commonPage'
import
CommonDialog
from
'@/components/commonDialog'
import
CommonDialog
from
'@/components/commonDialog'
import
{
ref
,
reactive
,
onMounted
,
computed
,
nextTick
}
from
'vue'
import
{
ref
,
reactive
,
onMounted
,
computed
,
nextTick
}
from
'vue'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
MoreFilled
}
from
'@element-plus/icons-vue'
import
{
MoreFilled
}
from
'@element-plus/icons-vue'
import
{
import
{
receivedFortuneList
,
updateCommissionExpected
,
commissionEntryEditRecords
,
newQueryCommissionExpectedByPage
,
exportReceivedFortune
,
commissionExpectedRecord
,
addReceivedFortune
,
receivableReport
,
CommissionExpectedChangeStatus
receivedFortuneList
,
updateCommissionExpected
,
commissionEntryEditRecords
,
exportReceivedFortune
,
commissionExpectedRecord
,
addReceivedFortune
,
receivableReport
,
CommissionExpectedChangeStatus
}
from
'@/api/financial/commission'
}
from
'@/api/financial/commission'
import
{
numberWithCommas
}
from
'@/utils/index'
import
{
numberWithCommas
}
from
'@/utils/index'
import
SearchForm
from
'@/components/SearchForm/SearchForm.vue'
import
SearchForm
from
'@/components/SearchForm/SearchForm.vue'
...
@@ -216,11 +321,17 @@ const commissionBizTypeOptions = [
...
@@ -216,11 +321,17 @@ const commissionBizTypeOptions = [
{
value
:
'R'
,
label
:
'关联保单应收单'
},
{
value
:
'R'
,
label
:
'关联保单应收单'
},
{
value
:
'U'
,
label
:
'非关联保单应收单'
}
{
value
:
'U'
,
label
:
'非关联保单应收单'
}
]
]
//是否实收
const
typeOptions
=
[
{
value
:
1
,
label
:
'预计'
},
{
value
:
2
,
label
:
'实收'
}
]
const
editStatus
=
ref
(
'add'
)
const
editStatus
=
ref
(
'add'
)
// 新增应收款管理
// 新增应收款管理
const
addReceivablesFormModel
=
ref
({
const
addReceivablesFormModel
=
ref
({
commissionBizType
:
'U'
,
commissionBizType
:
'U'
})
})
const
addReceivablesDialogVisible
=
ref
(
false
)
const
addReceivablesDialogVisible
=
ref
(
false
)
const
addRecordRef
=
ref
(
null
)
const
addRecordRef
=
ref
(
null
)
...
@@ -236,27 +347,25 @@ const addReceivablesFormConfig = [
...
@@ -236,27 +347,25 @@ const addReceivablesFormConfig = [
type
:
'input'
,
type
:
'input'
,
prop
:
'policyNo'
,
prop
:
'policyNo'
,
label
:
'保单号'
,
label
:
'保单号'
,
visible
:
(
formData
)
=>
formData
.
commissionBizType
==
'R'
visible
:
formData
=>
formData
.
commissionBizType
==
'R'
},
{
},
{
type
:
'input'
,
type
:
'input'
,
prop
:
'commissionPeriod'
,
prop
:
'commissionPeriod'
,
label
:
'佣金期数'
,
label
:
'佣金期数'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
visible
:
(
formData
)
=>
formData
.
commissionBizType
===
'R'
,
visible
:
formData
=>
formData
.
commissionBizType
===
'R'
,
rules
:
[
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}
]
},
},
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'totalPeriod'
,
prop
:
'totalPeriod'
,
label
:
'总期数'
,
label
:
'总期数'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
visible
:
(
formData
)
=>
formData
.
commissionBizType
===
'R'
,
visible
:
formData
=>
formData
.
commissionBizType
===
'R'
,
rules
:
[
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}
},
]
{
},
{
type
:
'date'
,
type
:
'date'
,
prop
:
'commissionDate'
,
prop
:
'commissionDate'
,
label
:
'入账日(估)'
,
label
:
'入账日(估)'
,
...
@@ -275,34 +384,38 @@ const addReceivablesFormConfig = [
...
@@ -275,34 +384,38 @@ const addReceivablesFormConfig = [
label
:
'入账金额'
,
label
:
'入账金额'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
decimalDigits
:
4
,
decimalDigits
:
4
,
visible
:
(
formData
)
=>
formData
.
commissionBizType
===
'U'
,
visible
:
formData
=>
formData
.
commissionBizType
===
'U'
,
rules
:
[
rules
:
[
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
pattern
:
/^
\d
+
(\.\d{1,4})?
$/
,
message
:
'最多四位小数'
,
trigger
:
'blur'
}
{
pattern
:
/^
\d
+
(\.\d{1,4})?
$/
,
message
:
'最多四位小数'
,
trigger
:
'blur'
}
]
]
},
{
},
{
type
:
'input'
,
type
:
'input'
,
prop
:
'commissionRatio'
,
prop
:
'commissionRatio'
,
label
:
'入账比例(%)'
,
label
:
'入账比例(%)'
,
visible
:
(
formData
)
=>
formData
.
commissionBizType
===
'R'
,
visible
:
formData
=>
formData
.
commissionBizType
===
'R'
,
rules
:
[
rules
:
[
{
required
:
true
,
message
:
'请输入入账比例'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入入账比例'
,
trigger
:
'blur'
},
{
pattern
:
/^-
?\d
+
(\.\d{1,4})?
$/
,
message
:
'最多四位小数'
,
trigger
:
'blur'
}
{
pattern
:
/^-
?\d
+
(\.\d{1,4})?
$/
,
message
:
'最多四位小数'
,
trigger
:
'blur'
}
]
]
},
{
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'currency'
,
prop
:
'currency'
,
label
:
'入账币种'
,
label
:
'入账币种'
,
dictType
:
'bx_currency_type'
dictType
:
'bx_currency_type'
},
{
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'commissionType'
,
prop
:
'commissionType'
,
label
:
'入账项目'
,
label
:
'入账项目'
,
dictType
:
'csf_commission_type'
,
dictType
:
'csf_commission_type'
,
onChangeExtraFields
:
{
onChangeExtraFields
:
{
commissionName
:
'itemLabel'
,
commissionName
:
'itemLabel'
}
},
},
},
{
{
type
:
'select'
,
type
:
'select'
,
prop
:
'reconciliationCompanyBizId'
,
prop
:
'reconciliationCompanyBizId'
,
label
:
'对账公司'
,
label
:
'对账公司'
,
...
@@ -314,10 +427,10 @@ const addReceivablesFormConfig = [
...
@@ -314,10 +427,10 @@ const addReceivablesFormConfig = [
valueKey
:
'reconciliationCompanyBizId'
,
valueKey
:
'reconciliationCompanyBizId'
,
labelKey
:
'name'
,
labelKey
:
'name'
,
onChangeExtraFields
:
{
onChangeExtraFields
:
{
reconciliationCompany
:
'name'
,
// 自动同步 raw.name 到 reconciliationCompany
reconciliationCompany
:
'name'
,
// 自动同步 raw.name 到 reconciliationCompany
reconciliationCompanyCode
:
'code'
reconciliationCompanyCode
:
'code'
},
},
transform
:
(
res
)
=>
{
transform
:
res
=>
{
console
.
log
(
'对账公司'
,
res
)
console
.
log
(
'对账公司'
,
res
)
return
res
.
data
.
records
||
[]
return
res
.
data
.
records
||
[]
}
}
...
@@ -325,7 +438,7 @@ const addReceivablesFormConfig = [
...
@@ -325,7 +438,7 @@ const addReceivablesFormConfig = [
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'remark'
,
prop
:
'remark'
,
label
:
'备注'
,
label
:
'备注'
}
}
]
]
// 弹窗表单重置
// 弹窗表单重置
...
@@ -334,8 +447,6 @@ const resetAddReceivablesForm = () => {
...
@@ -334,8 +447,6 @@ const resetAddReceivablesForm = () => {
editStatus
.
value
=
'add'
editStatus
.
value
=
'add'
}
}
const
handleConfirmAddReceivables
=
async
()
=>
{
const
handleConfirmAddReceivables
=
async
()
=>
{
if
(
editStatus
.
value
===
'add'
)
{
if
(
editStatus
.
value
===
'add'
)
{
const
p
=
addRecordRef
.
value
.
getFormData
()
const
p
=
addRecordRef
.
value
.
getFormData
()
...
@@ -369,11 +480,8 @@ const handleConfirmAddReceivables = async () => {
...
@@ -369,11 +480,8 @@ const handleConfirmAddReceivables = async () => {
ElMessage
.
error
(
'修改应收款失败'
)
ElMessage
.
error
(
'修改应收款失败'
)
}
}
}
}
}
}
const
searchFormRef
=
ref
(
null
)
const
searchFormRef
=
ref
(
null
)
const
searchParams
=
ref
({})
const
searchParams
=
ref
({})
const
searchConfig
=
ref
([
const
searchConfig
=
ref
([
...
@@ -401,9 +509,7 @@ const searchConfig = ref([
...
@@ -401,9 +509,7 @@ const searchConfig = ref([
prop
:
'commissionPeriod'
,
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
label
:
'入账期数'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
rules
:
[
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}
]
},
},
{
{
type
:
'select'
,
type
:
'select'
,
...
@@ -423,7 +529,7 @@ const searchConfig = ref([
...
@@ -423,7 +529,7 @@ const searchConfig = ref([
multiple
:
true
,
multiple
:
true
,
valueKey
:
'reconciliationCompanyBizId'
,
valueKey
:
'reconciliationCompanyBizId'
,
labelKey
:
'name'
,
labelKey
:
'name'
,
transform
:
(
res
)
=>
{
transform
:
res
=>
{
console
.
log
(
res
)
console
.
log
(
res
)
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
}
}
...
@@ -440,10 +546,11 @@ const searchConfig = ref([
...
@@ -440,10 +546,11 @@ const searchConfig = ref([
multiple
:
true
,
multiple
:
true
,
valueKey
:
'insuranceCompanyBizId'
,
valueKey
:
'insuranceCompanyBizId'
,
labelKey
:
'fullName'
,
labelKey
:
'fullName'
,
transform
:
(
res
)
=>
{
transform
:
res
=>
{
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
}
}
},
{
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'productLaunchBizId'
,
prop
:
'productLaunchBizId'
,
label
:
'产品计划'
,
label
:
'产品计划'
,
...
@@ -461,15 +568,17 @@ const searchConfig = ref([
...
@@ -461,15 +568,17 @@ const searchConfig = ref([
debounceWait
:
500
,
// 自定义防抖时间
debounceWait
:
500
,
// 自定义防抖时间
valueKey
:
'productLaunchBizId'
,
valueKey
:
'productLaunchBizId'
,
labelKey
:
'productName'
,
labelKey
:
'productName'
,
transform
:
(
res
)
=>
{
transform
:
res
=>
{
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
}
}
},
{
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'commissionBizType'
,
prop
:
'commissionBizType'
,
label
:
'应收单类型'
,
label
:
'应收单类型'
,
options
:
commissionBizTypeOptions
,
options
:
commissionBizTypeOptions
},
{
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'teamBizId'
,
prop
:
'teamBizId'
,
label
:
'出单团队'
,
label
:
'出单团队'
,
...
@@ -480,10 +589,10 @@ const searchConfig = ref([
...
@@ -480,10 +589,10 @@ const searchConfig = ref([
debounceWait
:
500
,
// 自定义防抖时间
debounceWait
:
500
,
// 自定义防抖时间
valueKey
:
'teamBizId'
,
valueKey
:
'teamBizId'
,
labelKey
:
'teamName'
,
labelKey
:
'teamName'
,
transform
:
(
res
)
=>
{
transform
:
res
=>
{
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
}
}
},
}
])
])
// 分页相关
// 分页相关
...
@@ -492,18 +601,22 @@ const pageSize = ref(10)
...
@@ -492,18 +601,22 @@ const pageSize = ref(10)
const
pageTotal
=
ref
(
0
)
const
pageTotal
=
ref
(
0
)
const
loading
=
ref
(
false
)
const
loading
=
ref
(
false
)
// 应收单类型通过value转成label
// 应收单类型通过value转成label
const
getCommissionBizTypeLabel
=
(
value
)
=>
{
const
getCommissionBizTypeLabel
=
value
=>
{
const
item
=
commissionBizTypeOptions
.
find
(
item
=>
item
.
value
===
value
)
const
item
=
commissionBizTypeOptions
.
find
(
item
=>
item
.
value
===
value
)
return
item
?.
label
||
''
return
item
?.
label
||
''
}
}
// 是否实收通过value转成label
const
getTypeLabel
=
value
=>
{
const
item
=
typeOptions
.
find
(
item
=>
item
.
value
===
value
)
return
item
?.
label
||
''
}
// 表格操作菜单
// 表格操作菜单
const
dropdownItems
=
[
const
dropdownItems
=
[
{
label
:
'入账记录'
,
value
:
'entryRecord'
},
{
label
:
'入账记录'
,
value
:
'entryRecord'
},
{
label
:
'设置状态'
,
value
:
'setStatus'
},
{
label
:
'设置状态'
,
value
:
'setStatus'
},
{
label
:
'更新数据'
,
value
:
'updateData'
},
{
label
:
'更新数据'
,
value
:
'updateData'
}
]
]
// 弹窗状态
// 弹窗状态
...
@@ -551,13 +664,7 @@ const handleExport = async () => {
...
@@ -551,13 +664,7 @@ const handleExport = async () => {
const
response
=
await
exportReceivedFortune
(
params
)
const
response
=
await
exportReceivedFortune
(
params
)
// 文件名设置为应收款导出_yyyy-MM-dd hh:mm:ss.xlsx,不需要-,用字符串
// 文件名设置为应收款导出_yyyy-MM-dd hh:mm:ss.xlsx,不需要-,用字符串
const
fileName
=
`应收款导出_
${
new
Date
().
toLocaleString
().
replace
(
/
\/
/g
,
''
).
replace
(
/:/g
,
''
).
replace
(
/
\s
/g
,
''
)}
.xlsx`
const
fileName
=
`应收款导出_
${
new
Date
().
toLocaleString
().
replace
(
/
\/
/g
,
''
).
replace
(
/:/g
,
''
).
replace
(
/
\s
/g
,
''
)}
.xlsx`
await
safeDownload
(
await
safeDownload
(
response
,
fileName
,
'application/vnd.ms-excel;charset=utf-8'
)
response
,
fileName
,
'application/vnd.ms-excel;charset=utf-8'
)
}
}
const
handleReset
=
()
=>
{
const
handleReset
=
()
=>
{
...
@@ -571,9 +678,7 @@ const handleReset = () => {
...
@@ -571,9 +678,7 @@ const handleReset = () => {
const
handleQuery
=
()
=>
{
const
handleQuery
=
()
=>
{
loadTableData
()
loadTableData
()
}
}
const
visibleDefaultButtons
=
ref
([
const
visibleDefaultButtons
=
ref
([
'add'
,
'export'
,
'reset'
,
'query'
])
'add'
,
'export'
,
'reset'
,
'query'
])
// 按钮配置
// 按钮配置
const
operationBtnList
=
ref
([
const
operationBtnList
=
ref
([
{
key
:
'add'
,
direction
:
'left'
,
click
:
handleAdd
},
{
key
:
'add'
,
direction
:
'left'
,
click
:
handleAdd
},
...
@@ -584,12 +689,12 @@ const operationBtnList = ref([
...
@@ -584,12 +689,12 @@ const operationBtnList = ref([
])
])
// 分页事件
// 分页事件
const
handleSizeChange
=
(
val
)
=>
{
const
handleSizeChange
=
val
=>
{
pageSize
.
value
=
val
pageSize
.
value
=
val
loadTableData
()
loadTableData
()
}
}
const
handleCurrentChange
=
(
val
)
=>
{
const
handleCurrentChange
=
val
=>
{
currentPage
.
value
=
val
currentPage
.
value
=
val
loadTableData
()
loadTableData
()
}
}
...
@@ -629,7 +734,7 @@ const loadTableData = async () => {
...
@@ -629,7 +734,7 @@ const loadTableData = async () => {
}
}
// 入账记录查询
// 入账记录查询
const
loadEntryRecordData
=
async
(
cbd
)
=>
{
const
loadEntryRecordData
=
async
cbd
=>
{
loading
.
value
=
true
loading
.
value
=
true
try
{
try
{
const
params
=
{
commissionExpectedBizId
:
cbd
}
const
params
=
{
commissionExpectedBizId
:
cbd
}
...
@@ -645,7 +750,7 @@ const loadEntryRecordData = async (cbd) => {
...
@@ -645,7 +750,7 @@ const loadEntryRecordData = async (cbd) => {
}
}
// 入账操作记录查询
// 入账操作记录查询
const
loadEntryEditRecordData
=
async
(
cbd
)
=>
{
const
loadEntryEditRecordData
=
async
cbd
=>
{
loading
.
value
=
true
loading
.
value
=
true
try
{
try
{
const
params
=
{
commissionBizId
:
cbd
}
const
params
=
{
commissionBizId
:
cbd
}
...
@@ -671,8 +776,18 @@ const handleSelect = async (e, row) => {
...
@@ -671,8 +776,18 @@ const handleSelect = async (e, row) => {
{
property
:
'totalPeriod'
,
label
:
'总期数'
,
width
:
'150'
},
{
property
:
'totalPeriod'
,
label
:
'总期数'
,
width
:
'150'
},
{
property
:
'exchangeRate'
,
label
:
'结算汇率(实)'
,
width
:
'150'
},
{
property
:
'exchangeRate'
,
label
:
'结算汇率(实)'
,
width
:
'150'
},
{
property
:
'currency'
,
label
:
'入账币种'
,
width
:
'150'
},
{
property
:
'currency'
,
label
:
'入账币种'
,
width
:
'150'
},
{
property
:
'amount'
,
label
:
'入账金额'
,
width
:
'150'
,
formatter
:(
row
)
=>
formatCurrency
(
row
.
amount
||
0
)
},
{
{
property
:
'currentCommissionRatio'
,
label
:
'入账比例'
,
width
:
'150'
,
formatter
:
(
row
)
=>
`
${
row
.
currentCommissionRatio
||
''
}
%`
},
property
:
'amount'
,
label
:
'入账金额'
,
width
:
'150'
,
formatter
:
row
=>
formatCurrency
(
row
.
amount
||
0
)
},
{
property
:
'currentCommissionRatio'
,
label
:
'入账比例'
,
width
:
'150'
,
formatter
:
row
=>
`
${
row
.
currentCommissionRatio
||
''
}
%`
},
{
property
:
'commissionDate'
,
label
:
'入账日'
,
width
:
'150'
},
{
property
:
'commissionDate'
,
label
:
'入账日'
,
width
:
'150'
},
{
property
:
'commissionStatusName'
,
label
:
'入账状态'
,
width
:
'150'
}
{
property
:
'commissionStatusName'
,
label
:
'入账状态'
,
width
:
'150'
}
]
]
...
@@ -688,12 +803,13 @@ const handleSelect = async (e, row) => {
...
@@ -688,12 +803,13 @@ const handleSelect = async (e, row) => {
label
:
'入账状态'
,
label
:
'入账状态'
,
dictType
:
'csf_expected_commission_status'
,
dictType
:
'csf_expected_commission_status'
,
defaultValue
:
selectedRow
.
value
.
status
||
''
defaultValue
:
selectedRow
.
value
.
status
||
''
},
{
},
{
type
:
'textarea'
,
type
:
'textarea'
,
prop
:
'statusDesc'
,
prop
:
'statusDesc'
,
label
:
'修改理由'
,
label
:
'修改理由'
,
defaultValue
:
selectedRow
.
value
.
statusDesc
||
''
defaultValue
:
selectedRow
.
value
.
statusDesc
||
''
},
}
]
]
setStatusDialogTableVisible
.
value
=
true
setStatusDialogTableVisible
.
value
=
true
}
else
if
(
e
===
'updateData'
)
{
}
else
if
(
e
===
'updateData'
)
{
...
@@ -703,17 +819,16 @@ const handleSelect = async (e, row) => {
...
@@ -703,17 +819,16 @@ const handleSelect = async (e, row) => {
nextTick
(()
=>
{
nextTick
(()
=>
{
// 3. 此时 addRecordRef.value 一定存在了
// 3. 此时 addRecordRef.value 一定存在了
if
(
addRecordRef
.
value
&&
selectedRow
.
value
)
{
if
(
addRecordRef
.
value
&&
selectedRow
.
value
)
{
addReceivablesFormModel
.
value
=
{
...
selectedRow
.
value
};
addReceivablesFormModel
.
value
=
{
...
selectedRow
.
value
}
console
.
log
(
'赋值成功:'
,
addReceivablesFormModel
.
value
);
console
.
log
(
'赋值成功:'
,
addReceivablesFormModel
.
value
)
}
}
});
})
console
.
log
(
'更新数据'
,
selectedRow
.
value
)
console
.
log
(
'更新数据'
,
selectedRow
.
value
)
}
}
}
}
// 查看比对记录
// 查看比对记录
const
handleClick
=
async
(
row
)
=>
{
const
handleClick
=
async
row
=>
{
actionRecordsDialogVisible
.
value
=
true
actionRecordsDialogVisible
.
value
=
true
actionRecordsDialogTableColumns
.
value
=
[
actionRecordsDialogTableColumns
.
value
=
[
{
property
:
'checkMonth'
,
label
:
'检核年月'
,
width
:
'100'
},
{
property
:
'checkMonth'
,
label
:
'检核年月'
,
width
:
'100'
},
...
@@ -743,7 +858,8 @@ const handleConfirmSetStatus = () => {
...
@@ -743,7 +858,8 @@ const handleConfirmSetStatus = () => {
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(
async
()
=>
{
})
.
then
(
async
()
=>
{
try
{
try
{
const
res
=
await
CommissionExpectedChangeStatus
({
const
res
=
await
CommissionExpectedChangeStatus
({
commissionExpectedBizId
:
selectedRow
.
value
.
commissionExpectedBizId
,
commissionExpectedBizId
:
selectedRow
.
value
.
commissionExpectedBizId
,
...
@@ -760,7 +876,8 @@ const handleConfirmSetStatus = () => {
...
@@ -760,7 +876,8 @@ const handleConfirmSetStatus = () => {
console
.
error
(
'修改状态失败:'
,
error
)
console
.
error
(
'修改状态失败:'
,
error
)
ElMessage
.
error
(
'修改状态失败'
)
ElMessage
.
error
(
'修改状态失败'
)
}
}
}).
catch
(()
=>
{
})
.
catch
(()
=>
{
ElMessage
.
info
(
'已取消修改'
)
ElMessage
.
info
(
'已取消修改'
)
})
})
}
}
...
@@ -776,54 +893,360 @@ onMounted(async () => {
...
@@ -776,54 +893,360 @@ onMounted(async () => {
}
}
})
})
// 格式化函数(每次渲染都会调用,所以能拿到最新字典)
// 格式化函数(每次渲染都会调用,所以能拿到最新字典)
const
formatStatus
=
(
row
,
column
)
=>
{
const
formatStatus
=
(
row
,
column
)
=>
{
return
getDictLabel
(
'csf_expected_commission_status'
,
row
.
status
)
// 实时查缓存
return
getDictLabel
(
'csf_expected_commission_status'
,
row
.
status
)
// 实时查缓存
}
}
const
detailDialogVisible
=
ref
(
false
)
const
detailDialogVisible
=
ref
(
false
)
const
receivableReportTableData
=
ref
([])
const
receivableReportTableData
=
ref
([])
const
receivableReportTableColumns
=
ref
([
const
receivableReportTableColumns
=
ref
([
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'150'
,
fixed
:
'left'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
{
prop
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
reconciliationCompany
||
'-'
},
prop
:
'policyNo'
,
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'100'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
label
:
'保单号'
,
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'100'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
sortable
:
true
,
{
prop
:
'commissionDate'
,
label
:
'入账日(估)'
,
sortable
:
true
,
width
:
'130'
,
},
width
:
'150'
,
{
prop
:
'commissionRatio'
,
label
:
'产品对应来佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
fixed
:
'left'
,
{
prop
:
'hkdAmount'
,
label
:
'预估入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
hkdAmount
||
0
)
},
formatter
:
row
=>
row
.
policyNo
||
'-'
{
prop
:
'paidRatio'
,
label
:
'已入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
paidRatio
||
0
)
+
'%'
||
'-'
},
},
{
prop
:
'paidAmount'
,
label
:
'已入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
{
prop
:
'unpaidRatio'
,
label
:
'待入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
unpaidRatio
||
0
)
+
'%'
||
'-'
},
prop
:
'reconciliationCompany'
,
{
prop
:
'unpaidAmount'
,
label
:
'待入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
unpaidAmount
||
0
)
},
label
:
'对账公司'
,
{
prop
:
'exchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
},
sortable
:
true
,
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
width
:
'150'
,
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
formatter
:
row
=>
row
.
reconciliationCompany
||
'-'
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
premium
||
0
)
},
},
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
policyCurrency
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'100'
,
formatter
:
row
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'100'
,
formatter
:
row
=>
row
.
totalPeriod
||
'-'
},
{
prop
:
'commissionDate'
,
label
:
'入账日(估)'
,
sortable
:
true
,
width
:
'130'
},
{
prop
:
'commissionRatio'
,
label
:
'产品对应来佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'hkdAmount'
,
label
:
'预估入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
hkdAmount
||
0
)
},
{
prop
:
'paidRatio'
,
label
:
'已入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
paidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'paidAmount'
,
label
:
'已入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
prop
:
'unpaidRatio'
,
label
:
'待入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
unpaidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'unpaidAmount'
,
label
:
'待入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
unpaidAmount
||
0
)
},
{
prop
:
'exchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
productName
||
'-'
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
premium
||
0
)
},
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
policyCurrency
||
'-'
}
])
])
// 应收明细
// 应收明细
const
receivableReportItemTableColumns
=
ref
([
const
receivableReportItemTableColumns
=
ref
([
{
prop
:
'commissionBizType'
,
label
:
'应收单类型'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
getCommissionBizTypeLabel
(
row
.
commissionBizType
)
||
'-'
},
{
{
prop
:
'receivableNo'
,
label
:
'应收款编号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
receivableNo
||
'-'
},
prop
:
'type'
,
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
label
:
'是否实收'
,
{
prop
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
reconciliationCompany
||
'-'
},
sortable
:
true
,
{
prop
:
'status'
,
label
:
'入账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatStatus
(
row
)
||
'-'
},
width
:
'150'
,
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
formatter
:
row
=>
getTypeLabel
(
row
.
type
)
||
'-'
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
},
{
prop
:
'commissionName'
,
label
:
'入账项目'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
(
row
)
=>
row
.
commissionName
||
'-'
},
{
{
prop
:
'commissionDate'
,
label
:
'入账日(估)'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
(
row
)
=>
row
.
commissionDate
||
'-'
},
prop
:
'commissionBizType'
,
{
prop
:
'commissionRatio'
,
label
:
'产品对应来佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
label
:
'应收单类型'
,
{
prop
:
'expectedAmount'
,
label
:
'预估入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
expectedAmount
||
0
)
},
sortable
:
true
,
{
prop
:
'paidRatio'
,
label
:
'实佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
paidRatio
||
0
)
+
'%'
||
'-'
},
width
:
'150'
,
{
prop
:
'paidAmount'
,
label
:
'已入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
formatter
:
row
=>
getCommissionBizTypeLabel
(
row
.
commissionBizType
)
||
'-'
{
prop
:
'pendingRatio'
,
label
:
'实佣率缺口'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
pendingRatio
||
0
)
+
'%'
||
'-'
},
},
{
prop
:
'pendingAmount'
,
label
:
'待入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
pendingAmount
||
0
)
},
{
{
prop
:
'defaultExchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
},
prop
:
'no'
,
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
label
:
'应收单编号'
,
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
sortable
:
true
,
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
premium
||
0
)
},
width
:
'150'
,
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
policyCurrency
||
'-'
},
formatter
:
row
=>
row
.
no
||
'-'
{
prop
:
'currency'
,
label
:
'入账币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
currency
||
'-'
},
},
{
prop
:
'statusDesc'
,
label
:
'入账状态修改理由'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
statusDesc
||
'-'
},
// {
{
prop
:
'remark'
,
label
:
'备注'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
remark
||
'-'
},
// prop: 'receivableNo',
// label: '应收款编号',
// sortable: true,
// width: '150',
// formatter: row => row.receivableNo || '-'
// },
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
row
=>
row
.
policyNo
||
'-'
},
{
prop
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
row
=>
row
.
reconciliationCompany
||
'-'
},
{
prop
:
'status'
,
label
:
'入账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatStatus
(
row
)
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
totalPeriod
||
'-'
},
{
prop
:
'commissionName'
,
label
:
'入账项目'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
row
=>
row
.
commissionName
||
'-'
},
{
prop
:
'commissionDateMonth'
,
label
:
'入账年月(估)'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
row
=>
row
.
commissionDateMonth
||
'-'
},
{
prop
:
'commissionDate'
,
label
:
'入账年月(实)'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
row
=>
row
.
commissionDate
||
'-'
},
{
prop
:
'totalRevenueRatio'
,
label
:
'累积已入账比例'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
row
=>
(
row
.
totalRevenueRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'commissionRatio'
,
label
:
'产品对应来佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'realRate'
,
label
:
'实佣率'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
realRate
||
0
)
+
'%'
||
'-'
},
{
prop
:
'gapRate'
,
label
:
'达成率缺口'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
gapRate
||
0
)
+
'%'
||
'-'
},
{
prop
:
'realExchangeRate'
,
label
:
'结算汇率实'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realExchangeRate
||
'-'
},
{
prop
:
'realAmount'
,
label
:
'已入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realAmount
||
'-'
},
//还不确定字段
{
prop
:
'realReconciliationYearMonth'
,
label
:
'检核年月'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realReconciliationYearMonth
||
'-'
},
{
prop
:
'revenueRatio'
,
label
:
'本次入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
(
row
.
revenueRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'pendingAmount'
,
label
:
'待入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
pendingAmount
||
0
)
},
{
prop
:
'expectedAmount'
,
label
:
'预计入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
expectedAmount
||
0
)
},
{
prop
:
'defaultExchangeRate'
,
label
:
'结算汇率估'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
defaultExchangeRate
||
'-'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
productName
||
'-'
},
//还不确定字段
{
prop
:
'issueNumber'
,
label
:
'年期'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
issueNumber
||
'-'
},
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
policyCurrency
||
'-'
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
formatCurrency
(
row
.
premium
||
0
)
},
{
prop
:
'realRemark'
,
label
:
'备注'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realRemark
||
'-'
},
{
prop
:
'realUpdaterName'
,
label
:
'操作人'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realUpdaterName
||
'-'
},
{
prop
:
'realUpdateTime'
,
label
:
'操作时间'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
row
=>
row
.
realUpdateTime
||
'-'
}
// {
// prop: 'pendingRatio',
// label: '实佣率缺口',
// sortable: true,
// width: '120',
// formatter: row => (row.pendingRatio || 0) + '%' || '-'
// },
// { prop: 'defaultExchangeRate', label: '结算汇率(估)', sortable: true, width: '120' },
// {
// prop: 'currency',
// label: '入账币种',
// sortable: true,
// width: '120',
// formatter: row => row.currency || '-'
// },
// {
// prop: 'statusDesc',
// label: '入账状态修改理由',
// sortable: true,
// width: '120',
// formatter: row => row.statusDesc || '-'
// },
])
])
const
detailRecordStatistics
=
ref
({})
const
detailRecordStatistics
=
ref
({})
...
@@ -834,7 +1257,7 @@ const detailPageInfo = ref({
...
@@ -834,7 +1257,7 @@ const detailPageInfo = ref({
total
:
0
total
:
0
})
})
// 获取
入账报告
// 获取
应收明细
const
receivedFortuneListData
=
async
()
=>
{
const
receivedFortuneListData
=
async
()
=>
{
loading
.
value
=
true
loading
.
value
=
true
try
{
try
{
...
@@ -845,18 +1268,21 @@ const receivedFortuneListData = async () => {
...
@@ -845,18 +1268,21 @@ const receivedFortuneListData = async () => {
pageNo
:
detailPageInfo
.
value
.
currentPage
,
pageNo
:
detailPageInfo
.
value
.
currentPage
,
pageSize
:
detailPageInfo
.
value
.
pageSize
pageSize
:
detailPageInfo
.
value
.
pageSize
}
}
const
response
=
await
receivedFortuneList
(
params
)
const
response
=
await
newQueryCommissionExpectedByPage
(
params
)
receivableReportTableData
.
value
=
response
.
data
.
page
.
records
||
[]
receivableReportTableData
.
value
=
response
.
data
.
page
.
records
||
[]
detailPageInfo
.
value
.
total
=
response
.
data
.
page
.
total
||
0
detailPageInfo
.
value
.
total
=
response
.
data
.
page
.
total
||
0
detailPageInfo
.
value
.
pageSize
=
response
.
data
.
page
.
size
||
50
detailPageInfo
.
value
.
pageSize
=
response
.
data
.
page
.
size
||
50
// 统计信息
// 统计信息
detailRecordStatistics
.
value
=
{
// detailRecordStatistics.value = {
totalAmount
:
response
.
data
.
expectedStatisticsVO
.
totalAmount
,
// totalAmount: response.data.expectedStatisticsVO.totalAmount,
totalPaidAmount
:
response
.
data
.
expectedStatisticsVO
.
totalPaidAmount
,
// totalPaidAmount: response.data.expectedStatisticsVO.totalPaidAmount,
pendingPaidAmount
:
response
.
data
.
expectedStatisticsVO
.
pendingPaidAmount
,
// pendingPaidAmount: response.data.expectedStatisticsVO.pendingPaidAmount,
paidAmountRatio
:
response
.
data
.
expectedStatisticsVO
.
paidAmountRatio
,
// paidAmountRatio: response.data.expectedStatisticsVO.paidAmountRatio,
totalPolicyCount
:
response
.
data
.
expectedStatisticsVO
.
totalPolicyCount
,
// totalPolicyCount: response.data.expectedStatisticsVO.totalPolicyCount,
totalPremium
:
response
.
data
.
expectedStatisticsVO
.
totalPremium
// totalPremium: response.data.expectedStatisticsVO.totalPremium
// }
if
(
response
.
data
.
expectedStatisticsVO
)
{
detailRecordStatistics
.
value
=
response
.
data
.
expectedStatisticsVO
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
'加载数据失败:'
,
error
)
console
.
error
(
'加载数据失败:'
,
error
)
...
@@ -866,18 +1292,18 @@ const receivedFortuneListData = async () => {
...
@@ -866,18 +1292,18 @@ const receivedFortuneListData = async () => {
}
}
}
}
const
selectedDetailRecordRow
=
ref
({})
const
selectedDetailRecordRow
=
ref
({})
const
viewDetail
=
(
row
)
=>
{
const
viewDetail
=
row
=>
{
selectedDetailRecordRow
.
value
=
row
selectedDetailRecordRow
.
value
=
row
detailDialogVisible
.
value
=
true
detailDialogVisible
.
value
=
true
receivedFortuneListData
()
receivedFortuneListData
()
}
}
// 分页事件
// 分页事件
const
handleSizeChangeDetailRecord
=
(
val
)
=>
{
const
handleSizeChangeDetailRecord
=
val
=>
{
detailPageInfo
.
value
.
pageSize
=
val
detailPageInfo
.
value
.
pageSize
=
val
receivedFortuneListData
()
receivedFortuneListData
()
}
}
// 分页事件
// 分页事件
const
handleCurrentChangeDetailRecord
=
(
val
)
=>
{
const
handleCurrentChangeDetailRecord
=
val
=>
{
detailPageInfo
.
value
.
currentPage
=
val
detailPageInfo
.
value
.
currentPage
=
val
receivedFortuneListData
()
receivedFortuneListData
()
}
}
...
...
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