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
de175da7
Commit
de175da7
authored
Mar 06, 2026
by
Sweet Zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' into dev
parents
14446ff2
dd858657
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
144 additions
and
55 deletions
+144
-55
src/components/SearchForm/SearchForm.vue
+38
-1
src/views/financialCenter/payables.vue
+10
-9
src/views/financialCenter/receivables.vue
+8
-8
src/views/sign/policyReceipts/premiumRecon.vue
+1
-3
src/views/sign/underwritingMain/index.vue
+25
-4
src/views/sign/underwritingMain/policyDetail.vue
+62
-30
No files found.
src/components/SearchForm/SearchForm.vue
View file @
de175da7
...
@@ -579,7 +579,7 @@ async function loadRemoteOptionsForInit(item) {
...
@@ -579,7 +579,7 @@ async function loadRemoteOptionsForInit(item) {
// ==================== 加载远程 API 选项(首次 focus 时加载,无搜索词) ====================
// ==================== 加载远程 API 选项(首次 focus 时加载,无搜索词) ====================
async
function
loadRemoteOptions
(
item
)
{
async
function
loadRemoteOptions
(
item
)
{
const
{
prop
,
api
,
requestParams
,
keywordField
,
debounceWait
,
...
rest
}
=
item
const
{
prop
,
api
,
requestParams
,
keywordField
,
debounceWait
,
...
rest
}
=
item
if
(
!
api
||
remoteOptions
.
value
[
prop
]?.
length
>
0
)
return
if
(
!
api
)
return
try
{
try
{
remoteLoading
.
value
[
prop
]
=
true
remoteLoading
.
value
[
prop
]
=
true
...
@@ -728,6 +728,43 @@ defineExpose({
...
@@ -728,6 +728,43 @@ defineExpose({
})
})
localModel
.
value
=
{
...
resetData
}
localModel
.
value
=
{
...
resetData
}
nextTick
(()
=>
formRef
.
value
?.
clearValidate
())
nextTick
(()
=>
formRef
.
value
?.
clearValidate
())
},
// ✅ 新增:强制刷新某个字段的远程选项
async
refreshRemoteOptions
(
targetProp
)
{
console
.
log
(
`[SearchForm] 收到刷新请求:
${
targetProp
}
`
)
// 1. 查找配置项
const
item
=
internalConfig
.
value
.
find
(
i
=>
i
.
prop
===
targetProp
)
if
(
!
item
)
{
console
.
warn
(
`[SearchForm] 未找到 prop 为
${
targetProp
}
的配置项`
)
return
}
if
(
item
.
type
!==
'select'
||
!
item
.
api
)
{
console
.
warn
(
`[SearchForm] 字段
${
targetProp
}
不是远程 Select 或没有 API`
)
return
}
console
.
log
(
`[SearchForm] 开始强制加载
${
targetProp
}
的数据,API:
${
item
.
api
}
`
)
// 2. 关键:在调用前,先清空旧数据,防止子组件内部的 "已加载则跳过" 逻辑生效
// 如果你的 loadRemoteOptions 里有 "if (remoteOptions.value[prop]?.length > 0) return"
// 这里必须先清空
remoteOptions
.
value
[
targetProp
]
=
[]
remoteLoading
.
value
[
targetProp
]
=
true
// 手动开启 loading
try
{
// 3. 调用内部加载函数
// 注意:直接调用 loadRemoteOptions,它会读取最新的 requestParams
await
loadRemoteOptions
(
item
)
console
.
log
(
`[SearchForm]
${
targetProp
}
加载完成`
)
}
catch
(
error
)
{
console
.
error
(
`[SearchForm]
${
targetProp
}
加载失败`
,
error
)
throw
error
}
finally
{
remoteLoading
.
value
[
targetProp
]
=
false
}
}
}
})
})
</
script
>
</
script
>
...
...
src/views/financialCenter/payables.vue
View file @
de175da7
...
@@ -215,23 +215,24 @@ const detailDialogVisible = ref(false)
...
@@ -215,23 +215,24 @@ const detailDialogVisible = ref(false)
// 应付明细列表
// 应付明细列表
const
payableReportListTableColumns
=
ref
([
const
payableReportListTableColumns
=
ref
([
{
prop
:
'fortuneBizType'
,
label
:
'应付款类型'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
getFortuneBizTypeLabel
(
row
.
fortuneBizType
)
||
'-'
},
//
{ prop: 'fortuneBizType', label: '应付款类型', sortable: true, width: '120', formatter: (row) => getFortuneBizTypeLabel(row.fortuneBizType) || '-' },
{
prop
:
'payableNo'
,
label
:
'应付账款编号'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
payableNo
||
'-'
},
//
{ prop: 'payableNo', label: '应付账款编号', sortable: true, width: '120', formatter: (row) => row.payableNo || '-' },
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'1
2
0'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'1
3
0'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
prop
:
'broker'
,
label
:
'转介人'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
broker
||
'-'
},
{
prop
:
'broker'
,
label
:
'转介人'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
broker
||
'-'
},
{
prop
:
'fortuneName'
,
label
:
'出账项目'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
fortuneName
||
'-'
},
{
prop
:
'status'
,
label
:
'出账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
getDictLabel
(
'csf_expected_fortune_status'
,
row
.
status
)
||
'-'
},
{
prop
:
'status'
,
label
:
'出账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
getDictLabel
(
'csf_expected_fortune_status'
,
row
.
status
)
||
'-'
},
{
prop
:
'currency'
,
label
:
'出账币种'
,
sortable
:
true
,
width
:
'1
2
0'
,
formatter
:
(
row
)
=>
row
.
currency
||
'-'
},
{
prop
:
'currency'
,
label
:
'出账币种'
,
sortable
:
true
,
width
:
'1
0
0'
,
formatter
:
(
row
)
=>
row
.
currency
||
'-'
},
{
prop
:
'fortunePeriod'
,
label
:
'出账期数'
,
sortable
:
true
,
width
:
'1
2
0'
,
formatter
:
(
row
)
=>
row
.
fortunePeriod
||
'-'
},
{
prop
:
'fortunePeriod'
,
label
:
'出账期数'
,
sortable
:
true
,
width
:
'1
0
0'
,
formatter
:
(
row
)
=>
row
.
fortunePeriod
||
'-'
},
{
prop
:
'fortuneTotalPeriod'
,
label
:
'出账总期数'
,
sortable
:
true
,
width
:
'1
2
0'
,
formatter
:
(
row
)
=>
row
.
fortuneTotalPeriod
||
'-'
},
{
prop
:
'fortuneTotalPeriod'
,
label
:
'出账总期数'
,
sortable
:
true
,
width
:
'1
0
0'
,
formatter
:
(
row
)
=>
row
.
fortuneTotalPeriod
||
'-'
},
{
prop
:
'payoutDate'
,
label
:
'出账日(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
payoutDate
||
'-'
},
{
prop
:
'payoutDate'
,
label
:
'出账日(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
payoutDate
||
'-'
},
{
prop
:
'actualPayoutDate'
,
label
:
'出账日(实)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
actualPayoutDate
||
'-'
},
{
prop
:
'actualPayoutDate'
,
label
:
'出账日(实)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
actualPayoutDate
||
'-'
},
{
prop
:
'commissionRatio'
,
label
:
'
出账比例
'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'commissionRatio'
,
label
:
'
发佣率(对应职级)
'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
commissionRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'
amount'
,
label
:
'应出账金额(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
a
mount
||
0
)
},
{
prop
:
'
hkdAmount'
,
label
:
'应出账金额(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
hkdA
mount
||
0
)
},
{
prop
:
'paidRatio'
,
label
:
'已出账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
paidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'paidRatio'
,
label
:
'已出账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
paidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'paidAmount'
,
label
:
'已出账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
prop
:
'paidAmount'
,
label
:
'已出账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
prop
:
'unpaidRatio'
,
label
:
'待出账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
unpaidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'unpaidRatio'
,
label
:
'待出账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
unpaidRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'unpaidAmount'
,
label
:
'待出账金额(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
unpaidAmount
||
0
)
},
{
prop
:
'unpaidAmount'
,
label
:
'待出账金额(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
unpaidAmount
||
0
)
},
{
prop
:
'brokerRatio'
,
label
:
'持有比例'
,
sortable
:
true
,
width
:
'1
2
0'
,
formatter
:
(
row
)
=>
(
row
.
brokerRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'brokerRatio'
,
label
:
'持有比例'
,
sortable
:
true
,
width
:
'1
0
0'
,
formatter
:
(
row
)
=>
(
row
.
brokerRatio
||
0
)
+
'%'
||
'-'
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
premium
||
0
)
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
premium
||
0
)
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
...
...
src/views/financialCenter/receivables.vue
View file @
de175da7
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<!-- 应收款管理列表 -->
<!-- 应收款管理列表 -->
<el-table
:data=
"tableData"
height=
"400"
border
highlight-current-row
style=
"width: 100%"
<el-table
:data=
"tableData"
height=
"400"
border
highlight-current-row
style=
"width: 100%"
v-loading=
"loading"
>
v-loading=
"loading"
>
<el-table-column
v-for=
"(column, index) in receivableReportTableColumns"
:key=
"index"
<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"
:prop=
"column.prop"
:label=
"column.label"
:width=
"column.width"
:sortable=
"column.sortable"
:formatter=
"column.formatter"
/>
:formatter=
"column.formatter"
/>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<el-table-column
fixed=
"right"
label=
"操作"
min-width=
"120"
>
...
@@ -106,7 +106,7 @@
...
@@ -106,7 +106,7 @@
</div>
</div>
<el-table
:data=
"receivableReportTableData"
border
style=
"width: 100%;margin-bottom: 10px;min-height: 300px;"
>
<el-table
:data=
"receivableReportTableData"
border
style=
"width: 100%;margin-bottom: 10px;min-height: 300px;"
>
<el-table-column
v-for=
"item in receivableReportItemTableColumns"
:key=
"item.property"
:prop=
"item.prop"
<el-table-column
v-for=
"item in receivableReportItemTableColumns"
:key=
"item.property"
:prop=
"item.prop"
:label=
"item.label"
:width=
"item.width"
/>
: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"
>
...
@@ -744,13 +744,13 @@ onMounted(async () => {
...
@@ -744,13 +744,13 @@ 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'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
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
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
reconciliationCompany
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
...
@@ -761,10 +761,10 @@ const receivableReportTableColumns = ref([
...
@@ -761,10 +761,10 @@ const receivableReportTableColumns = ref([
{
prop
:
'paidAmount'
,
label
:
'已入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
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
:
'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
:
'unpaidAmount'
,
label
:
'待入账金额HKD'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
unpaidAmount
||
0
)
},
{
prop
:
'exchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
exchangeRate
||
0
)
},
{
prop
:
'exchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
pr
oductName
||
'-'
},
{
prop
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
pr
emium
||
'-'
},
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
policyCurrency
||
'-'
},
{
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
policyCurrency
||
'-'
},
])
])
const
receivableReportItemTableColumns
=
ref
([
const
receivableReportItemTableColumns
=
ref
([
...
@@ -772,7 +772,7 @@ const receivableReportItemTableColumns = ref([
...
@@ -772,7 +772,7 @@ const receivableReportItemTableColumns = ref([
{
prop
:
'receivableNo'
,
label
:
'应收款编号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
receivableNo
||
'-'
},
{
prop
:
'receivableNo'
,
label
:
'应收款编号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
receivableNo
||
'-'
},
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
prop
:
'policyNo'
,
label
:
'保单号'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
policyNo
||
'-'
},
{
prop
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
reconciliationCompany
||
'-'
},
{
prop
:
'reconciliationCompany'
,
label
:
'对账公司'
,
sortable
:
true
,
width
:
'150'
,
formatter
:
(
row
)
=>
row
.
reconciliationCompany
||
'-'
},
{
prop
:
'status'
,
label
:
'入账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatStatus
(
row
.
status
)
||
'-'
},
{
prop
:
'status'
,
label
:
'入账状态'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatStatus
(
row
)
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'commissionPeriod'
,
label
:
'入账期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
commissionPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
{
prop
:
'totalPeriod'
,
label
:
'入账总期数'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
totalPeriod
||
'-'
},
{
prop
:
'commissionName'
,
label
:
'入账项目'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
(
row
)
=>
row
.
commissionName
||
'-'
},
{
prop
:
'commissionName'
,
label
:
'入账项目'
,
sortable
:
true
,
width
:
'130'
,
formatter
:
(
row
)
=>
row
.
commissionName
||
'-'
},
...
@@ -783,7 +783,7 @@ const receivableReportItemTableColumns = ref([
...
@@ -783,7 +783,7 @@ const receivableReportItemTableColumns = ref([
{
prop
:
'paidAmount'
,
label
:
'已入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
prop
:
'paidAmount'
,
label
:
'已入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
paidAmount
||
0
)
},
{
prop
:
'pendingRatio'
,
label
:
'待入账比例'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
(
row
.
pendingRatio
||
0
)
+
'%'
||
'-'
},
{
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
:
'pendingAmount'
,
label
:
'待入账金额'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
pendingAmount
||
0
)
},
{
prop
:
'defaultExchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
defaultExchangeRate
||
0
)
},
{
prop
:
'defaultExchangeRate'
,
label
:
'结算汇率(估)'
,
sortable
:
true
,
width
:
'120'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'insuranceCompany'
,
label
:
'保险公司'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
insuranceCompany
||
'-'
},
{
prop
:
'productName'
,
label
:
'产品计划'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
row
.
productName
||
'-'
},
{
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
:
'premium'
,
label
:
'期交保费'
,
sortable
:
true
,
width
:
'120'
,
formatter
:
(
row
)
=>
formatCurrency
(
row
.
premium
||
0
)
},
...
...
src/views/sign/policyReceipts/premiumRecon.vue
View file @
de175da7
...
@@ -593,8 +593,6 @@ const remittanceConfig = [
...
@@ -593,8 +593,6 @@ const remittanceConfig = [
validator
:
(
rule
,
value
,
callback
)
=>
{
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
||
value
==
null
)
{
if
(
value
===
''
||
value
==
null
)
{
callback
(
new
Error
(
'请输入付款金额'
))
callback
(
new
Error
(
'请输入付款金额'
))
}
else
if
(
!
/^
\d
+$/
.
test
(
String
(
value
)))
{
callback
(
new
Error
(
'只能输入正整数'
))
}
else
{
}
else
{
callback
()
callback
()
}
}
...
@@ -636,7 +634,7 @@ const remittanceConfig = [
...
@@ -636,7 +634,7 @@ const remittanceConfig = [
label
:
'付款银行'
,
label
:
'付款银行'
,
api
:
'/base/api/bank/page'
,
api
:
'/base/api/bank/page'
,
keywordField
:
'policyNo'
,
keywordField
:
'policyNo'
,
requestParams
:
{
pageNo
:
1
,
pageSize
:
2
0
},
requestParams
:
{
pageNo
:
1
,
pageSize
:
5
0
},
debounceWait
:
500
,
// 自定义防抖时间
debounceWait
:
500
,
// 自定义防抖时间
valueKey
:
'bankBizId'
,
valueKey
:
'bankBizId'
,
...
...
src/views/sign/underwritingMain/index.vue
View file @
de175da7
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
</CommonPage>
</CommonPage>
<!-- 弹窗-->
<!-- 弹窗-->
<CommonDialog
dialogTitle=
'修改状态'
dialogWidth=
'80%'
:openDialog=
editStatusDialogFlag
:showAction=
'true'
<CommonDialog
dialogTitle=
'修改状态'
dialogWidth=
'80%'
:openDialog=
editStatusDialogFlag
:showAction=
'true'
:showClose=
'true'
@
close=
'editStatusDialogFlag = false'
@
confirm=
'handleEditStatusSubmit'
>
:showClose=
'true'
@
close=
'editStatusDialogFlag = false'
@
confirm=
'handleEditStatusSubmit'
v-loading=
"statusLoading"
>
<SearchForm
ref=
"editStatusFormRef"
:config=
"editStatusFormConfig"
v-model=
"editStatusFormData"
/>
<SearchForm
ref=
"editStatusFormRef"
:config=
"editStatusFormConfig"
v-model=
"editStatusFormData"
/>
</CommonDialog>
</CommonDialog>
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
<!-- 查看详情、更新数据 -->
<!-- 查看详情、更新数据 -->
<CommonDialog
:dialogTitle=
'mode === "viewDetail" ? "查看详情" : "更新数据"'
dialogWidth=
'80%'
<CommonDialog
:dialogTitle=
'mode === "viewDetail" ? "查看详情" : "更新数据"'
dialogWidth=
'80%'
:openDialog=
viewDetailDialogFlag
:showAction=
'false'
:showClose=
'true'
@
close=
'viewDetailDialogFlag
=
false'
:openDialog=
viewDetailDialogFlag
:showAction=
'false'
:showClose=
'true'
@
close=
'viewDetailDialogFlag
=
false'
@
confirm=
'handleUpdateSubmit'
>
@
confirm=
'handleUpdateSubmit'
>
<PolicyDetail
v-model=
"policyDetailFormData"
:policyBizId=
"selectedRow.policyBizId"
:mode=
"mode"
<PolicyDetail
v-model=
"policyDetailFormData"
:policyBizId=
"selectedRow.policyBizId"
:mode=
"mode"
ref=
"policyDetailFormRef"
@
submit=
"onSubmit"
@
cancel=
"viewDetailDialogFlag = false"
ref=
"policyDetailFormRef"
@
submit=
"onSubmit"
@
cancel=
"viewDetailDialogFlag = false"
...
@@ -94,7 +94,7 @@ import {
...
@@ -94,7 +94,7 @@ import {
getExpectedCommissionList
,
getExpectedCommissionList
,
changePolicyStatus
,
changePolicyStatus
,
policyFollowReport
,
policyFollowReport
,
saveMailingInfo
,
updatePolicyfollow
,
batchSaveBrokers
,
saveInitialPayment
saveMailingInfo
,
updatePolicyfollow
,
batchSaveBrokers
,
saveInitialPayment
,
updatePolicyProduct
}
from
'@/api/sign/underwritingMain'
}
from
'@/api/sign/underwritingMain'
import
PolicyDetail
from
'./policyDetail.vue'
import
PolicyDetail
from
'./policyDetail.vue'
...
@@ -106,11 +106,13 @@ const currentPage = ref(1)
...
@@ -106,11 +106,13 @@ const currentPage = ref(1)
const
pageSize
=
ref
(
10
)
const
pageSize
=
ref
(
10
)
const
pageTotal
=
ref
(
0
)
const
pageTotal
=
ref
(
0
)
const
loading
=
ref
(
false
)
const
loading
=
ref
(
false
)
const
statusLoading
=
ref
(
false
)
// 搜索表单数据
// 搜索表单数据
const
searchFormData
=
reactive
({})
const
searchFormData
=
reactive
({})
const
selectedRow
=
ref
(
null
)
const
selectedRow
=
ref
(
null
)
// 弹窗相关
// 弹窗相关
const
editStatusDialogFlag
=
ref
(
false
)
const
editStatusDialogFlag
=
ref
(
false
)
// 修改状态
// 修改状态
const
editStatusFormData
=
ref
({})
const
editStatusFormData
=
ref
({})
const
editStatusFormRef
=
ref
(
null
)
const
editStatusFormRef
=
ref
(
null
)
...
@@ -139,6 +141,7 @@ const viewRelatedDetail = (row) => {
...
@@ -139,6 +141,7 @@ const viewRelatedDetail = (row) => {
}
}
// 提交修改状态
// 提交修改状态
const
handleEditStatusSubmit
=
async
()
=>
{
const
handleEditStatusSubmit
=
async
()
=>
{
statusLoading
.
value
=
true
;
try
{
try
{
await
editStatusFormRef
.
value
.
validate
()
await
editStatusFormRef
.
value
.
validate
()
const
res
=
await
changePolicyStatus
({
const
res
=
await
changePolicyStatus
({
...
@@ -146,13 +149,16 @@ const handleEditStatusSubmit = async () => {
...
@@ -146,13 +149,16 @@ const handleEditStatusSubmit = async () => {
...
editStatusFormData
.
value
...
editStatusFormData
.
value
})
})
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
statusLoading
.
value
=
false
;
ElMessage
.
success
(
'修改状态成功'
)
ElMessage
.
success
(
'修改状态成功'
)
editStatusDialogFlag
.
value
=
false
editStatusDialogFlag
.
value
=
false
loadTableData
()
loadTableData
()
}
else
{
}
else
{
statusLoading
.
value
=
false
;
ElMessage
.
error
(
res
.
msg
||
'修改状态失败'
)
ElMessage
.
error
(
res
.
msg
||
'修改状态失败'
)
}
}
}
catch
(
error
)
{
}
catch
(
error
)
{
statusLoading
.
value
=
false
;
console
.
error
(
'修改状态失败'
,
error
)
console
.
error
(
'修改状态失败'
,
error
)
}
}
}
}
...
@@ -177,7 +183,7 @@ const onSubmit = async (data) => {
...
@@ -177,7 +183,7 @@ const onSubmit = async (data) => {
}
else
{
}
else
{
ElMessage
.
error
(
res
.
msg
||
'保存邮寄信息失败'
)
ElMessage
.
error
(
res
.
msg
||
'保存邮寄信息失败'
)
}
}
}
else
if
(
data
.
activeTab
===
'basic'
||
data
.
activeTab
===
'productPlan'
)
{
}
else
if
(
data
.
activeTab
===
'basic'
)
{
params
=
{
params
=
{
policyBizId
:
selectedRow
.
value
.
policyBizId
,
policyBizId
:
selectedRow
.
value
.
policyBizId
,
...
data
,
...
data
,
...
@@ -186,10 +192,25 @@ const onSubmit = async (data) => {
...
@@ -186,10 +192,25 @@ const onSubmit = async (data) => {
const
res
=
await
updatePolicyfollow
(
params
)
const
res
=
await
updatePolicyfollow
(
params
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
data
.
activeTab
===
'basic'
?
'保存基本信息成功'
:
'保存产品计划成功'
)
ElMessage
.
success
(
data
.
activeTab
===
'basic'
?
'保存基本信息成功'
:
'保存产品计划成功'
)
loadTableData
()
// viewDetailDialogFlag.value = false
// viewDetailDialogFlag.value = false
}
else
{
}
else
{
ElMessage
.
error
(
res
.
msg
||
(
data
.
activeTab
===
'basic'
?
'保存基本信息失败'
:
'保存产品计划失败'
))
ElMessage
.
error
(
res
.
msg
||
(
data
.
activeTab
===
'basic'
?
'保存基本信息失败'
:
'保存产品计划失败'
))
}
}
}
else
if
(
data
.
activeTab
===
'productPlan'
)
{
params
=
{
policyBizId
:
selectedRow
.
value
.
policyBizId
,
...
data
,
activeTab
:
undefined
}
const
res
=
await
updatePolicyProduct
(
params
)
if
(
res
.
code
===
200
)
{
ElMessage
.
success
(
'保存产品计划成功'
)
loadTableData
()
// viewDetailDialogFlag.value = false
}
else
{
ElMessage
.
error
(
res
.
msg
||
(
'保存产品计划失败'
))
}
}
else
if
(
data
.
activeTab
===
'introducer'
)
{
}
else
if
(
data
.
activeTab
===
'introducer'
)
{
params
=
{
params
=
{
policyBizId
:
selectedRow
.
value
.
policyBizId
,
policyBizId
:
selectedRow
.
value
.
policyBizId
,
...
...
src/views/sign/underwritingMain/policyDetail.vue
View file @
de175da7
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<el-tabs
v-model=
"activeTab"
@
tab-click=
"handleTabClick"
:before-leave=
"handleBeforeLeave"
>
<el-tabs
v-model=
"activeTab"
@
tab-click=
"handleTabClick"
:before-leave=
"handleBeforeLeave"
>
<el-tab-pane
label=
"基础信息"
name=
"basic"
></el-tab-pane>
<el-tab-pane
label=
"基础信息"
name=
"basic"
></el-tab-pane>
<el-tab-pane
label=
"产品计划"
name=
"productPlan"
></el-tab-pane>
<el-tab-pane
label=
"产品计划"
name=
"productPlan"
></el-tab-pane>
<
el-tab-pane
label=
"首期缴费"
name=
"firstPayment"
></el-tab-pane
>
<
!--
<el-tab-pane
label=
"首期缴费"
name=
"firstPayment"
></el-tab-pane>
--
>
<el-tab-pane
label=
"介绍人"
name=
"introducer"
></el-tab-pane>
<el-tab-pane
label=
"介绍人"
name=
"introducer"
></el-tab-pane>
<el-tab-pane
label=
"邮寄信息"
name=
"postal"
></el-tab-pane>
<el-tab-pane
label=
"邮寄信息"
name=
"postal"
></el-tab-pane>
<el-tab-pane
label=
"关联记录"
name=
"related"
></el-tab-pane>
<el-tab-pane
label=
"关联记录"
name=
"related"
></el-tab-pane>
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
</div>
</div>
<!-- 附加计划(可编辑表格) -->
<!-- 附加计划(可编辑表格) -->
<div
class=
"section"
>
<
!--
<
div
class=
"section"
>
<h3
class=
"sectionTitle"
>
附加计划
</h3>
<h3
class=
"sectionTitle"
>
附加计划
</h3>
<EditableTable
<EditableTable
v-model=
"localData.additionalPlans"
v-model=
"localData.additionalPlans"
...
@@ -59,11 +59,10 @@
...
@@ -59,11 +59,10 @@
@
batch-save=
"handleBatchSave"
@
batch-save=
"handleBatchSave"
:disabled=
"props.mode === 'viewDetail'"
:disabled=
"props.mode === 'viewDetail'"
/>
/>
</div>
</div>
-->
</div>
</div>
<!-- 首期缴费 Tab 内容 -->
<!-- 首期缴费 Tab 内容 -->
<div
v-else-if=
"activeTab === 'firstPayment'"
class=
"tab-content"
>
<div
v-else-if=
"activeTab === 'firstPayment'"
class=
"tab-content"
>
<!-- 签单信息 -->
<div
class=
"section"
>
<div
class=
"section"
>
<h3
class=
"sectionTitle"
>
缴费信息
</h3>
<h3
class=
"sectionTitle"
>
缴费信息
</h3>
<SearchForm
<SearchForm
...
@@ -498,7 +497,8 @@ const policyInfoFormConfig = ref([
...
@@ -498,7 +497,8 @@ const policyInfoFormConfig = ref([
reconciliationCompany
:
'name'
,
reconciliationCompany
:
'name'
,
reconciliationCode
:
'code'
,
reconciliationCode
:
'code'
,
}
},
rules
:
[{
required
:
true
,
message
:
'请选择出单经纪公司'
,
trigger
:
'blur'
}],
},
},
{
{
type
:
'input'
,
type
:
'input'
,
...
@@ -613,11 +613,11 @@ const basicPlanFormConfig = ref([
...
@@ -613,11 +613,11 @@ const basicPlanFormConfig = ref([
{
{
type
:
'select'
,
type
:
'select'
,
prop
:
'productCate'
,
prop
:
'productCate'
,
label
:
'保险
险种
'
,
label
:
'保险
种类
'
,
api
:
'/insurance/base/api/insuranceCategory/page'
,
api
:
'/insurance/base/api/insuranceCategory/page'
,
keywordField
:
'name'
,
keywordField
:
'name'
,
requestParams
:
{
pageNo
:
1
,
pageSize
:
20
},
requestParams
:
{
pageNo
:
1
,
pageSize
:
20
},
placeholder
:
'输入保险
险种
名称搜索'
,
placeholder
:
'输入保险
种类
名称搜索'
,
debounceWait
:
500
,
// 自定义防抖时间
debounceWait
:
500
,
// 自定义防抖时间
valueKey
:
'insuranceCategoryBizId'
,
valueKey
:
'insuranceCategoryBizId'
,
labelKey
:
'name'
,
labelKey
:
'name'
,
...
@@ -650,7 +650,7 @@ const basicPlanFormConfig = ref([
...
@@ -650,7 +650,7 @@ const basicPlanFormConfig = ref([
valueKey
:
'productName'
,
valueKey
:
'productName'
,
labelKey
:
'productName'
,
labelKey
:
'productName'
,
transform
:
res
=>
{
transform
:
res
=>
{
console
.
log
(
'======子组件选择选项后,父组件接收的值
:'
,
res
?.
data
.
records
||
[])
console
.
log
(
'======子组件选择选项后,父组件接收的值
产品名称
:'
,
res
?.
data
.
records
||
[])
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
},
},
onChangeExtraFields
:
{
onChangeExtraFields
:
{
...
@@ -668,6 +668,12 @@ const basicPlanFormConfig = ref([
...
@@ -668,6 +668,12 @@ const basicPlanFormConfig = ref([
},
},
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'issueNumber'
,
label
:
'供款期数'
,
inputType
:
'decimal'
},
{
type
:
'input'
,
prop
:
'guaranteePeriod'
,
prop
:
'guaranteePeriod'
,
label
:
'保障期限'
label
:
'保障期限'
},
},
...
@@ -677,12 +683,6 @@ const basicPlanFormConfig = ref([
...
@@ -677,12 +683,6 @@ const basicPlanFormConfig = ref([
label
:
'保额(重疾险)'
label
:
'保额(重疾险)'
},
},
{
{
type
:
'input'
,
prop
:
'issueNumber'
,
label
:
'供款期数'
,
inputType
:
'decimal'
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'policyCurrency'
,
prop
:
'policyCurrency'
,
label
:
'保单币种'
,
label
:
'保单币种'
,
...
@@ -694,7 +694,6 @@ const basicPlanFormConfig = ref([
...
@@ -694,7 +694,6 @@ const basicPlanFormConfig = ref([
label
:
'每期保费'
,
label
:
'每期保费'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
decimalDigits
:
2
,
decimalDigits
:
2
,
visible
:
formData
=>
formData
.
commissionBizType
==
'R'
,
rules
:
[
rules
:
[
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
pattern
:
/^
\d
+
(\.\d{1,2})?
$/
,
message
:
'最多两位小数'
,
trigger
:
'blur'
}
{
pattern
:
/^
\d
+
(\.\d{1,2})?
$/
,
message
:
'最多两位小数'
,
trigger
:
'blur'
}
...
@@ -706,7 +705,6 @@ const basicPlanFormConfig = ref([
...
@@ -706,7 +705,6 @@ const basicPlanFormConfig = ref([
label
:
'保单征费'
,
label
:
'保单征费'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
decimalDigits
:
2
,
decimalDigits
:
2
,
visible
:
formData
=>
formData
.
commissionBizType
==
'R'
,
rules
:
[
rules
:
[
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入金额'
,
trigger
:
'blur'
},
{
pattern
:
/^
\d
+
(\.\d{1,2})?
$/
,
message
:
'最多两位小数'
,
trigger
:
'blur'
}
{
pattern
:
/^
\d
+
(\.\d{1,2})?
$/
,
message
:
'最多两位小数'
,
trigger
:
'blur'
}
...
@@ -719,6 +717,13 @@ const basicPlanFormConfig = ref([
...
@@ -719,6 +717,13 @@ const basicPlanFormConfig = ref([
dictType
:
'sys_no_yes'
dictType
:
'sys_no_yes'
},
},
{
{
type
:
'input'
,
prop
:
'prepaymentPeriod'
,
label
:
'预缴年期'
,
inputType
:
'decimal'
,
visible
:
formData
=>
formData
.
isPrepay
==
'1'
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'isTraceable'
,
prop
:
'isTraceable'
,
label
:
'是否追溯'
,
label
:
'是否追溯'
,
...
@@ -727,7 +732,8 @@ const basicPlanFormConfig = ref([
...
@@ -727,7 +732,8 @@ const basicPlanFormConfig = ref([
{
{
type
:
'date'
,
type
:
'date'
,
prop
:
'retroactiveDate'
,
prop
:
'retroactiveDate'
,
label
:
'回溯日期'
label
:
'回溯日期'
,
visible
:
formData
=>
formData
.
isTraceable
==
'1'
},
},
{
{
type
:
'select'
,
type
:
'select'
,
...
@@ -1199,21 +1205,47 @@ const viewRecordDetail = e => {
...
@@ -1199,21 +1205,47 @@ const viewRecordDetail = e => {
})
})
}
}
const
handleSelectChange
=
async
(
prop
,
value
,
item
,
type
)
=>
{
const
handleSelectChange
=
async
(
prop
,
value
,
item
,
type
)
=>
{
await
nextTick
()
console
.
log
(
'🔔 父组件收到 selectChange:'
,
prop
,
value
,
type
)
// console.log('======子组件选择选项后,父组件接收的值 :', basicPlanFormData.value)
await
nextTick
()
// 确保 DOM 和响应式数据更新
if
(
type
===
'basicPlan'
)
{
if
(
type
===
'basicPlan'
)
{
const
params
=
{
// 只有当改变的是“保险公司”时,才刷新“产品名称”
tenantBizId
:
userStore
.
projectInfo
.
tenantBizId
,
if
(
prop
===
'insuranceCompanyBizId'
)
{
projectBizId
:
userStore
.
projectInfo
.
projectBizId
,
console
.
log
(
'🔄 检测到保险公司变更,准备刷新产品列表...'
)
fieldBizId
:
'field_olk1qZe81qHHKXbw'
,
fieldValueBizId
:
'field_value_uOfJH5ucA2YwJpbn'
,
// 1. 检查 Ref 是否存在
insuranceCompanyBizIdList
:
[
basicPlanFormData
.
value
.
insuranceCompanyBizId
],
if
(
!
basicPlanFormRef
.
value
)
{
categoryCodeList
:
[
basicPlanFormData
.
value
.
insuranceCategoryCode
],
console
.
error
(
'❌ basicPlanFormRef 为空,无法调用方法'
)
pageNo
:
1
,
return
pageSize
:
100
}
// 2. 检查方法是否存在
if
(
typeof
basicPlanFormRef
.
value
.
refreshRemoteOptions
!==
'function'
)
{
console
.
error
(
'❌ refreshRemoteOptions 方法未暴露或不存在'
)
console
.
log
(
'当前暴露的方法:'
,
Object
.
keys
(
basicPlanFormRef
.
value
))
return
}
try
{
// 3. 可选:先清空产品字段的值,避免选中了旧公司的产品
basicPlanFormData
.
value
.
productName
=
''
basicPlanFormData
.
value
.
productLaunchBizId
=
''
basicPlanFormData
.
value
.
insuranceCategoryCode
=
''
// 如果分类也依赖公司,可能也要清空
console
.
log
(
'🚀 正在调用子组件 refreshRemoteOptions...'
)
// 4. 调用刷新
await
basicPlanFormRef
.
value
.
refreshRemoteOptions
(
'productName'
)
console
.
log
(
'✅ 产品列表刷新指令执行完毕'
)
// ElMessage.success('产品列表已更新')
}
catch
(
err
)
{
console
.
error
(
'💥 刷新产品列表出错:'
,
err
)
ElMessage
.
error
(
'产品列表更新失败,请重试'
)
}
}
}
console
.
log
(
'====父组件拿到值,去调用产品列表查询接口'
,
params
)
getProductLists
(
params
)
}
}
}
}
...
...
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