Commit 37fa8424 by yuzhenWang

修改明细字段发布测试

parent 03497a45
...@@ -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) {
......
<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()
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment