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
124358e9
Commit
124358e9
authored
Apr 30, 2026
by
yuzhenWang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'wyz' into 'test'
修改出账检核新增和结算汇率 See merge request
!117
parents
9bb9460c
35494bf9
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
370 additions
and
112 deletions
+370
-112
src/api/financial/commission.js
+1
-1
src/components/SearchForm/SearchForm.vue
+3
-3
src/utils/2.js
+56
-51
src/views/financialCenter/financialBilling.vue
+285
-41
src/views/financialCenter/receivables.vue
+10
-10
src/views/sign/policyReceipts/premiumRecon.vue
+15
-6
No files found.
src/api/financial/commission.js
View file @
124358e9
...
@@ -360,7 +360,7 @@ export function updateCommissionRecord(data) {
...
@@ -360,7 +360,7 @@ export function updateCommissionRecord(data) {
})
})
}
}
// 新增出账检核记录
//
出账检核---
新增出账检核记录
export
function
addCheckRecordaddBatch
(
data
)
{
export
function
addCheckRecordaddBatch
(
data
)
{
return
request
({
return
request
({
url
:
'/csf/api/fortune/addBatch'
,
url
:
'/csf/api/fortune/addBatch'
,
...
...
src/components/SearchForm/SearchForm.vue
View file @
124358e9
...
@@ -574,7 +574,7 @@ watch(
...
@@ -574,7 +574,7 @@ watch(
// ✅ 在这里同步 modelValue(包括 extra 字段)
// ✅ 在这里同步 modelValue(包括 extra 字段)
localModel
.
value
=
syncModelFromProps
(
props
.
modelValue
,
internalConfig
.
value
)
localModel
.
value
=
syncModelFromProps
(
props
.
modelValue
,
internalConfig
.
value
)
console
.
log
(
'子组件监测config变化'
,
localModel
.
value
)
//
console.log('子组件监测config变化', localModel.value)
},
},
{
immediate
:
true
}
{
immediate
:
true
}
)
)
...
@@ -587,7 +587,7 @@ watch(
...
@@ -587,7 +587,7 @@ watch(
if
(
!
newVal
||
!
internalConfig
.
value
)
return
if
(
!
newVal
||
!
internalConfig
.
value
)
return
// ✅ 同样使用 sync 函数
// ✅ 同样使用 sync 函数
localModel
.
value
=
syncModelFromProps
(
newVal
,
internalConfig
.
value
)
localModel
.
value
=
syncModelFromProps
(
newVal
,
internalConfig
.
value
)
console
.
log
(
'子组件监测 modelValue 变化:'
,
localModel
.
value
)
//
console.log('子组件监测 modelValue 变化:', localModel.value)
},
},
{
deep
:
true
}
{
deep
:
true
}
)
)
...
@@ -676,7 +676,7 @@ function syncModelFromProps(newModelValue, newConfig) {
...
@@ -676,7 +676,7 @@ function syncModelFromProps(newModelValue, newConfig) {
synced
[
key
]
=
newModelValue
[
key
]
synced
[
key
]
=
newModelValue
[
key
]
}
}
}
}
console
.
log
(
'🚀 子组件 进行modelvalue处理:'
,
synced
)
//
console.log('🚀 子组件 进行modelvalue处理:', synced)
return
synced
return
synced
}
}
function
getNestedValue
(
obj
,
path
)
{
function
getNestedValue
(
obj
,
path
)
{
...
...
src/utils/2.js
View file @
124358e9
{
{
"paymentMethod"
:
"CHECK"
,
"id"
:
2
,
"paymentAmount"
:
"111"
,
"fortuneBizId"
:
"fortune_LCESmX7iy1TJRcaE"
,
"paymentCurrency"
:
"HKD"
,
"reconciliationYearMonth"
:
null
,
"paymentRel"
:
"SBR"
,
"fortuneBizType"
:
"R"
,
"payer"
:
"111"
,
"isPart"
:
0
,
"payingBank"
:
"bank_1002"
,
"expectedFortuneBizId"
:
"expected_fortune_kVBKKtNB38QcFKI6"
,
"paymentAccount"
:
"1111"
,
"payableNo"
:
"R-CSF26000001"
,
"currency"
:
""
,
"policyNo"
:
"111"
,
"paymentVoucherList"
:
[
"policyCurrency"
:
"美元"
,
{
"premium"
:
10000
,
"fileName"
:
"icon5.png"
,
"productName"
:
"来佣000"
,
"fileType"
:
"png"
,
"insuranceCompany"
:
"友邦保險"
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/b4241a95a39d4655a79c706d7ec37f85.png"
,
"commissionBizId"
:
"commission_b9els2m9Lkocu4RB"
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/b4241a95a39d4655a79c706d7ec37f85.png"
"commissionExpectedBizId"
:
"commission_expected_mUlJXrNqmpioXbsY"
,
},
"commissionPaidAmount"
:
38981
,
{
"commissionPaidRatio"
:
50
,
"fileName"
:
"cardSix1.png"
,
"fortunePeriod"
:
1
,
"fileType"
:
"png"
,
"fortuneTotalPeriod"
:
1
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/41bd22390f6a4a69a5ed8d9c8758ef94.png"
,
"broker"
:
"张平"
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/41bd22390f6a4a69a5ed8d9c8758ef94.png"
"brokerBizId"
:
"client_user_mdeCtfYb9oRbYnAF"
,
}
"team"
:
"AGHS"
,
],
"teamBizId"
:
"dept_fgUS1281YFdsq3"
,
"accountVerificationList"
:
[
"fortuneName"
:
"销售佣金"
,
{
"fortuneType"
:
"1"
,
"fileName"
:
"icon6.png"
,
"ruleAmount"
:
-
100
,
"fileType"
:
"png"
,
"ruleCurrency"
:
"HKD"
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/ce6f4781b8f3443f92eddbf13ecefe42.png"
,
"exchangeRate"
:
1
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/ce6f4781b8f3443f92eddbf13ecefe42.png"
"originalCurrency"
:
null
,
},
"originalAmount"
:
null
,
{
"originalToHkdRate"
:
null
,
"fileName"
:
"icon4.png"
,
"payoutCurrency"
:
null
,
"fileType"
:
"png"
,
"payoutAmount"
:
null
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/24e9786aa52d48caba0bfc48e7f4f146.png"
,
"hkdToPayoutRate"
:
null
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/24e9786aa52d48caba0bfc48e7f4f146.png"
"hkdAmount"
:
-
100
,
}
"fortunePaidAmount"
:
0
,
],
"fortuneUnpaidAmount"
:
-
100
,
"apiPremiumRemittanceFileDtoList"
:
[
"currentPaymentAmount"
:
-
100
,
{
"currentPaymentHkdAmount"
:
-
100
,
"fileName"
:
"icon5.png"
,
"currentPaymentRatio"
:
0
,
"fileType"
:
"png"
,
"fortuneUnpaidRatio"
:
100
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/bca0400a90ae4c1da2373e3cf4de0fc7.png"
,
"status"
:
"0"
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/bca0400a90ae4c1da2373e3cf4de0fc7.png"
"payoutDate"
:
null
,
},
"actualPayoutDate"
:
null
,
{
"isTax"
:
0
,
"fileName"
:
"homeSelect1.png"
,
"taxAmount"
:
null
,
"fileType"
:
"png"
,
"netAmount"
:
null
,
"fileUrl"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/138932043c6244cb8a006c2ab81b4bab.png"
,
"salaryBizId"
:
null
,
"url"
:
"https://yd-ali-oss.oss-cn-shanghai-finance-1-pub.aliyuncs.com/png/2026/01/13/138932043c6244cb8a006c2ab81b4bab.png"
"baseRuleBizId"
:
null
,
}
"settlementBizId"
:
"1"
,
],
"calculationFormula"
:
null
,
"id"
:
1768282536268
"remark"
:
null
,
"creatorId"
:
null
,
"reconciliationOperator"
:
null
,
"updaterId"
:
null
,
"createTime"
:
"2026-04-17 15:47:21"
,
"updateTime"
:
"2026-04-27 14:53:11"
}
}
src/views/financialCenter/financialBilling.vue
View file @
124358e9
...
@@ -307,7 +307,7 @@
...
@@ -307,7 +307,7 @@
<
script
setup
>
<
script
setup
>
import
{
round
}
from
'lodash-es'
// 或者自己实现小数保留
import
{
round
}
from
'lodash-es'
// 或者自己实现小数保留
import
{
ref
,
reactive
,
nextTick
}
from
'vue'
import
{
ref
,
reactive
,
nextTick
,
watch
}
from
'vue'
import
CommonPage
from
'@/components/commonPage'
import
CommonPage
from
'@/components/commonPage'
import
editTable
from
'@/components/Table/editTable.vue'
import
editTable
from
'@/components/Table/editTable.vue'
import
CommonDialog
from
'@/components/commonDialog'
import
CommonDialog
from
'@/components/commonDialog'
...
@@ -534,16 +534,37 @@ const settingBillTimeConfig = ref([
...
@@ -534,16 +534,37 @@ const settingBillTimeConfig = ref([
])
])
const
rateExchangeConfig
=
[
const
rateExchangeConfig
=
[
{
{
type
:
'select'
,
prop
:
'ruleCurrency'
,
label
:
'保单币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'必填项'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'originalCurrency'
,
label
:
'原币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'必填项'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'payoutCurrency'
,
label
:
'发放币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'必填项'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
type
:
'input'
,
prop
:
'originalAmount'
,
prop
:
'originalAmount'
,
label
:
'
本期出账
原币种金额'
,
label
:
'原币种金额'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'
exchange
Rate'
,
prop
:
'
originalToHkd
Rate'
,
label
:
'
结算汇率
'
,
label
:
'
汇率3(原币种->港币)
'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
// defaultValue: 1
...
@@ -551,7 +572,38 @@ const rateExchangeConfig = [
...
@@ -551,7 +572,38 @@ const rateExchangeConfig = [
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'hkdAmount'
,
prop
:
'hkdAmount'
,
label
:
'港币出账金额'
,
label
:
'港币金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'hkdToPayoutRate'
,
label
:
'汇率1(港币->发放币种)'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
},
{
type
:
'input'
,
prop
:
'payoutAmount'
,
label
:
'实际发放金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'exchangeRate'
,
label
:
'汇率2(保单币种->港币)入账检核汇率'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
},
{
type
:
'input'
,
prop
:
'ruleAmount'
,
label
:
'保单币种金额'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
}
}
...
@@ -581,23 +633,54 @@ const confirmRateExchange = async () => {
...
@@ -581,23 +633,54 @@ const confirmRateExchange = async () => {
}
}
const
handleInputChange
=
async
(
formType
,
prop
,
value
,
item
)
=>
{
const
handleInputChange
=
async
(
formType
,
prop
,
value
,
item
)
=>
{
if
(
formType
==
'rateExchange'
)
{
if
(
formType
==
'rateExchange'
)
{
if
(
prop
===
'exchangeRate'
&&
value
&&
rateExchangeForm
.
value
.
originalAmount
)
{
// 1.计算港币金额
// 计算本次出账原币种金额
if
(
prop
===
'originalToHkdRate'
&&
value
&&
rateExchangeForm
.
value
.
originalAmount
)
{
// 计算港币金额 原币种金额*原币种->港币
const
originalAmount
=
rateExchangeForm
.
value
.
originalAmount
const
originalAmount
=
rateExchangeForm
.
value
.
originalAmount
const
exchange
Rate
=
value
const
originalToHkd
Rate
=
value
const
hkdAmount
=
multiply
(
originalAmount
,
exchange
Rate
,
2
)
const
hkdAmount
=
multiply
(
originalAmount
,
originalToHkd
Rate
,
2
)
await
nextTick
()
await
nextTick
()
rateExchangeForm
.
value
.
hkdAmount
=
hkdAmount
rateExchangeForm
.
value
.
hkdAmount
=
hkdAmount
}
else
if
(
prop
===
'originalAmount'
&&
value
&&
rateExchangeForm
.
value
.
exchange
Rate
)
{
}
else
if
(
prop
===
'originalAmount'
&&
value
&&
rateExchangeForm
.
value
.
originalToHkd
Rate
)
{
// 计算港币金额
// 计算港币金额
const
originalAmount
=
rateExchangeForm
.
value
.
originalAmount
const
originalAmount
=
rateExchangeForm
.
value
.
originalAmount
const
exchange
Rate
=
value
const
originalToHkd
Rate
=
value
const
hkdAmount
=
multiply
(
originalAmount
,
exchange
Rate
,
2
)
const
hkdAmount
=
multiply
(
originalAmount
,
originalToHkd
Rate
,
2
)
await
nextTick
()
await
nextTick
()
rateExchangeForm
.
value
.
hkdAmount
=
hkdAmount
rateExchangeForm
.
value
.
hkdAmount
=
hkdAmount
}
else
if
((
prop
===
'exchangeRate'
||
prop
===
'originalAmount'
)
&&
!
value
)
{
}
//2.计算实际发放金额 港币金额*港币->发放币种汇率
if
(
prop
==
'hkdAmount'
&&
value
&&
rateExchangeForm
.
value
.
hkdToPayoutRate
)
{
// 计算实际发放金额
const
hkdToPayoutRate
=
rateExchangeForm
.
value
.
hkdToPayoutRate
const
hkdAmount
=
value
const
payoutAmount
=
multiply
(
hkdAmount
,
hkdToPayoutRate
,
2
)
await
nextTick
()
rateExchangeForm
.
value
.
payoutAmount
=
payoutAmount
}
else
if
(
prop
==
'hkdToPayoutRate'
&&
value
&&
rateExchangeForm
.
value
.
hkdAmount
)
{
// 计算实际发放金额
const
hkdToPayoutRate
=
value
const
hkdAmount
=
rateExchangeForm
.
value
.
hkdAmount
const
payoutAmount
=
multiply
(
hkdAmount
,
hkdToPayoutRate
,
2
)
await
nextTick
()
rateExchangeForm
.
value
.
payoutAmount
=
payoutAmount
}
//3.计算保单币种金额 港币金额*保单币种->港币汇率
if
(
prop
==
'hkdAmount'
&&
value
&&
rateExchangeForm
.
value
.
exchangeRate
)
{
// 计算保单币种金额
const
exchangeRate
=
rateExchangeForm
.
value
.
exchangeRate
const
hkdAmount
=
value
const
ruleAmount
=
multiply
(
hkdAmount
,
exchangeRate
,
2
)
await
nextTick
()
rateExchangeForm
.
value
.
ruleAmount
=
ruleAmount
}
else
if
(
prop
==
'exchangeRate'
&&
value
&&
rateExchangeForm
.
value
.
hkdAmount
)
{
// 计算保单币种金额
const
exchangeRate
=
value
const
hkdAmount
=
rateExchangeForm
.
value
.
hkdAmount
const
ruleAmount
=
multiply
(
hkdAmount
,
exchangeRate
,
2
)
await
nextTick
()
await
nextTick
()
rateExchangeForm
.
value
.
hkdAmount
=
''
rateExchangeForm
.
value
.
ruleAmount
=
ruleAmount
}
}
}
else
if
(
formType
==
'addCheckRecord'
)
{
}
else
if
(
formType
==
'addCheckRecord'
)
{
await
nextTick
()
await
nextTick
()
...
@@ -724,16 +807,24 @@ const addCheckRecordFormRef = ref(null)
...
@@ -724,16 +807,24 @@ const addCheckRecordFormRef = ref(null)
const
addCheckRecordFormDialogFlag
=
ref
(
false
)
const
addCheckRecordFormDialogFlag
=
ref
(
false
)
const
addCheckRecordConfig
=
[
const
addCheckRecordConfig
=
[
{
{
type
:
'month'
,
prop
:
'reconciliationYearMonth'
,
label
:
'检核年月'
,
placeholder
:
'检核年月'
},
{
type
:
'select'
,
type
:
'select'
,
prop
:
'fortuneBizType'
,
prop
:
'fortuneBizType'
,
label
:
'应付单类型'
,
label
:
'应付单类型'
,
options
:
fortuneBizTypeOptions
options
:
fortuneBizTypeOptions
,
rules
:
[{
required
:
true
,
message
:
'应付单类型必填'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'select'
,
type
:
'select'
,
prop
:
'status'
,
prop
:
'status'
,
label
:
'出账状态'
,
label
:
'出账状态'
,
dictType
:
'csf_expected_fortune_status'
dictType
:
'csf_expected_fortune_status'
,
rules
:
[{
required
:
true
,
message
:
'出账状态必填'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'input'
,
type
:
'input'
,
...
@@ -747,7 +838,7 @@ const addCheckRecordConfig = [
...
@@ -747,7 +838,7 @@ const addCheckRecordConfig = [
label
:
'佣金期数'
,
label
:
'佣金期数'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
visible
:
formData
=>
formData
.
fortuneBizType
===
'R'
,
visible
:
formData
=>
formData
.
fortuneBizType
===
'R'
,
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
rules
:
[{
required
:
true
,
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'input'
,
type
:
'input'
,
...
@@ -757,32 +848,41 @@ const addCheckRecordConfig = [
...
@@ -757,32 +848,41 @@ const addCheckRecordConfig = [
visible
:
formData
=>
formData
.
fortuneBizType
===
'R'
,
visible
:
formData
=>
formData
.
fortuneBizType
===
'R'
,
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
rules
:
[{
pattern
:
/^
\d
+$/
,
message
:
'只能输入正整数'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'date'
,
type
:
'date'
,
prop
:
'
actualP
ayoutDate'
,
prop
:
'
p
ayoutDate'
,
label
:
'出账日
(实)
'
,
label
:
'出账日
期
'
,
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
maxDate
:
'today'
maxDate
:
'today'
,
rules
:
[{
required
:
true
,
message
:
'出账日期必填'
,
trigger
:
'blur'
}]
},
},
// {
// type: 'input',
// prop: 'amount',
// label: '出账金额',
// inputType: 'decimalNumber',
// decimalDigits: 4,
// rules: [{ pattern: /^-?\d+(\.\d+)?$/, message: '请输入有效的数字', trigger: 'blur' }]
// },
// {
// type: 'select',
// prop: 'currency',
// label: '出账币种',
// dictType: 'bx_currency_type'
// },
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'amount'
,
prop
:
'fortuneName'
,
label
:
'出账金额'
,
label
:
'出账项目名称'
,
inputType
:
'decimalNumber'
,
rules
:
[{
required
:
true
,
message
:
'出账项目名称必填'
,
trigger
:
'blur'
}]
decimalDigits
:
4
,
rules
:
[{
pattern
:
/^-
?\d
+
(\.\d
+
)?
$/
,
message
:
'请输入有效的数字'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'currency'
,
label
:
'出账币种'
,
dictType
:
'bx_currency_type'
},
},
{
{
type
:
'select'
,
type
:
'select'
,
prop
:
'fortuneType'
,
prop
:
'fortuneType'
,
label
:
'出账项目'
,
label
:
'出账项目类型'
,
dictType
:
'csf_fortune_type'
dictType
:
'csf_fortune_type'
,
rules
:
[{
required
:
true
,
message
:
'出账项目类型必填'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'select'
,
type
:
'select'
,
...
@@ -797,20 +897,116 @@ const addCheckRecordConfig = [
...
@@ -797,20 +897,116 @@ const addCheckRecordConfig = [
labelKey
:
'realName'
,
labelKey
:
'realName'
,
onChangeExtraFields
:
{
onChangeExtraFields
:
{
broker
:
'realName'
,
// 自动同步 raw.name 到 reconciliationCompany
broker
:
'realName'
,
// 自动同步 raw.name 到 reconciliationCompany
reconciliationCompanyCode
:
'code'
,
reconciliationCompanyCode
:
'code'
team
:
'deptName'
,
//
team: 'deptName',
teamBizId
:
'deptBizId'
//
teamBizId: 'deptBizId'
},
},
transform
:
res
=>
{
transform
:
res
=>
{
return
res
?.
data
.
records
||
[]
return
res
?.
data
.
records
||
[]
}
},
rules
:
[{
required
:
true
,
message
:
'转介人必填'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'teamBizId'
,
label
:
'所属团队'
,
api
:
'/csf/api/team/page'
,
keywordField
:
'teamName'
,
requestParams
:
{
pageNo
:
1
,
pageSize
:
200
},
placeholder
:
'输入所属团队名称搜索'
,
debounceWait
:
500
,
// 自定义防抖时间
valueKey
:
'teamBizId'
,
labelKey
:
'teamName'
,
onChangeExtraFields
:
{
// broker: 'realName', // 自动同步 raw.name 到 reconciliationCompany
// reconciliationCompanyCode: 'code',
team
:
'teamName'
,
teamBizId
:
'teamBizId'
},
transform
:
res
=>
{
return
res
?.
data
.
records
||
[]
},
rules
:
[{
required
:
true
,
message
:
'所属团队必填'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'ruleCurrency'
,
label
:
'保单币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'保单币种必填'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'originalCurrency'
,
label
:
'原币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'原币种必填'
,
trigger
:
'blur'
}]
},
{
type
:
'select'
,
prop
:
'payoutCurrency'
,
label
:
'发放币种'
,
dictType
:
'bx_currency_type'
,
rules
:
[{
required
:
true
,
message
:
'发放币种必填'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'originalAmount'
,
label
:
'原币种金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'originalToHkdRate'
,
label
:
'汇率3(原币种->港币)'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
},
{
type
:
'input'
,
prop
:
'hkdAmount'
,
label
:
'港币金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'hkdToPayoutRate'
,
label
:
'汇率1(港币->发放币种)'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
},
{
type
:
'input'
,
prop
:
'payoutAmount'
,
label
:
'实际发放金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
},
{
{
type
:
'input'
,
type
:
'input'
,
prop
:
'exchangeRate'
,
prop
:
'exchangeRate'
,
label
:
'
结算
汇率'
,
label
:
'
汇率2(保单币种->港币)入账检核
汇率'
,
inputType
:
'decimal'
,
inputType
:
'decimal'
,
decimalDigits
:
2
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
// defaultValue: 1
},
{
type
:
'input'
,
prop
:
'ruleAmount'
,
label
:
'保单币种金额'
,
inputType
:
'decimal'
,
rules
:
[{
required
:
true
,
message
:
'只能输入正整数和小数'
,
trigger
:
'blur'
}]
},
{
type
:
'input'
,
prop
:
'remark'
,
label
:
'备注'
}
}
]
]
...
@@ -853,6 +1049,7 @@ const dialogFlag = ref(false)
...
@@ -853,6 +1049,7 @@ const dialogFlag = ref(false)
// 按钮事件处理
// 按钮事件处理
const
handleAdd
=
()
=>
{
const
handleAdd
=
()
=>
{
addCheckRecordFormModel
.
value
=
{}
addCheckRecordFormDialogFlag
.
value
=
true
addCheckRecordFormDialogFlag
.
value
=
true
}
}
const
handleImport
=
()
=>
{
const
handleImport
=
()
=>
{
...
@@ -947,13 +1144,27 @@ const handleSelect = (e, row) => {
...
@@ -947,13 +1144,27 @@ const handleSelect = (e, row) => {
settingBillTimeForm
.
value
=
{}
settingBillTimeForm
.
value
=
{}
settingBillYearMonthFlag
.
value
=
true
settingBillYearMonthFlag
.
value
=
true
}
else
if
(
e
==
'editExchangeRate'
)
{
}
else
if
(
e
==
'editExchangeRate'
)
{
rateExchangeForm
.
value
=
{
originalAmount
:
row
.
amount
}
rateExchangeForm
.
value
=
{
originalAmount
:
row
.
originalAmount
?
formatCurrency
(
row
.
originalAmount
)
:
''
,
ruleCurrency
:
row
.
ruleCurrency
,
originalCurrency
:
row
.
originalCurrency
,
payoutCurrency
:
row
.
payoutCurrency
,
hkdToPayoutRate
:
row
.
hkdToPayoutRate
?
row
.
hkdToPayoutRate
:
''
,
exchangeRate
:
row
.
exchangeRate
?
row
.
exchangeRate
:
''
,
originalToHkdRate
:
row
.
originalToHkdRate
?
row
.
originalToHkdRate
:
''
,
payoutAmount
:
row
.
payoutAmount
?
formatCurrency
(
row
.
payoutAmount
)
:
''
,
ruleAmount
:
row
.
ruleAmount
?
formatCurrency
(
row
.
ruleAmount
)
:
''
,
hkdAmount
:
row
.
hkdAmount
?
formatCurrency
(
row
.
hkdAmount
)
:
''
}
rateExchangeFlag
.
value
=
true
rateExchangeFlag
.
value
=
true
}
}
}
}
const
addCheckRecordaddBatchapi
=
async
data
=>
{
const
addCheckRecordaddBatchapi
=
async
data
=>
{
const
formData
=
addCheckRecordFormRef
.
value
.
getFormData
()
let
formData
=
await
addCheckRecordFormRef
.
value
.
validate
()
// const formData = addCheckRecordFormRef.value.getFormData()
console
.
log
(
'新增出账检核记录:'
,
formData
)
console
.
log
(
'新增出账检核记录:'
,
formData
)
// return
const
params
=
[{
...
formData
}]
const
params
=
[{
...
formData
}]
try
{
try
{
const
res
=
await
addCheckRecordaddBatch
(
params
)
const
res
=
await
addCheckRecordaddBatch
(
params
)
...
@@ -1070,6 +1281,39 @@ const onSubmit = data => {
...
@@ -1070,6 +1281,39 @@ const onSubmit = data => {
}
}
onMounted
(
async
()
=>
{})
onMounted
(
async
()
=>
{})
// 检测addCheckRecordFormModel
watch
(
()
=>
addCheckRecordFormModel
.
value
,
// 推荐使用 getter 形式,避免直接监听 ref 对象
newVal
=>
{
if
(
newVal
)
{
//3.计算保单币种金额 港币金额*保单币种->港币汇率
if
(
newVal
.
hkdAmount
!=
null
&&
newVal
.
exchangeRate
!=
null
)
{
const
calculated1
=
multiply
(
newVal
.
hkdAmount
,
newVal
.
exchangeRate
,
2
)
if
(
addCheckRecordFormModel
.
value
.
ruleAmount
!==
calculated1
)
{
addCheckRecordFormModel
.
value
.
ruleAmount
=
Number
(
calculated1
).
toFixed
(
2
)
console
.
log
(
'===================================='
)
console
.
log
(
'calculated1'
,
addCheckRecordFormModel
.
value
.
ruleAmount
)
console
.
log
(
'===================================='
)
}
}
// 计算港币金额 原币种金额*原币种->港币
if
(
newVal
.
originalToHkdRate
!=
null
&&
newVal
.
originalAmount
!=
null
)
{
const
calculated2
=
multiply
(
newVal
.
originalAmount
,
newVal
.
originalToHkdRate
,
2
)
if
(
addCheckRecordFormModel
.
value
.
hkdAmount
!==
calculated2
)
{
addCheckRecordFormModel
.
value
.
hkdAmount
=
Number
(
calculated2
).
toFixed
(
2
)
}
}
//2.计算实际发放金额 港币金额*港币->发放币种汇率
if
(
newVal
.
hkdAmount
!=
null
&&
newVal
.
hkdToPayoutRate
!=
null
)
{
const
calculated3
=
multiply
(
newVal
.
hkdAmount
,
newVal
.
hkdToPayoutRate
,
2
)
if
(
addCheckRecordFormModel
.
value
.
payoutAmount
!==
calculated3
)
{
addCheckRecordFormModel
.
value
.
payoutAmount
=
Number
(
calculated3
).
toFixed
(
2
)
}
}
}
},
{
deep
:
true
,
immediate
:
true
}
// immediate: true 可以让初始值也计算一次
)
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
...
...
src/views/financialCenter/receivables.vue
View file @
124358e9
...
@@ -613,17 +613,17 @@ const searchConfig = ref([
...
@@ -613,17 +613,17 @@ const searchConfig = ref([
type
:
'input'
,
type
:
'input'
,
prop
:
'insured'
,
prop
:
'insured'
,
label
:
'受保人(中文/英文)'
label
:
'受保人(中文/英文)'
},
{
type
:
'input'
,
prop
:
'signer'
,
label
:
'签单员'
},
{
type
:
'input'
,
prop
:
'brokerName'
,
label
:
'转介人(主)'
}
}
// {
// type: 'input',
// prop: 'signer',
// label: '签单员'
// },
// {
// type: 'input',
// prop: 'brokerName',
// label: '转介人(主)'
// }
])
])
// 分页相关
// 分页相关
...
...
src/views/sign/policyReceipts/premiumRecon.vue
View file @
124358e9
...
@@ -153,7 +153,7 @@
...
@@ -153,7 +153,7 @@
ref=
"addCheckRecordFormRef"
ref=
"addCheckRecordFormRef"
:config=
"addCheckRecordConfig"
:config=
"addCheckRecordConfig"
v-model=
"addCheckRecordFormModel"
v-model=
"addCheckRecordFormModel"
@
select-change=
"
onSelectChange
"
@
select-change=
"
(prop, value, item) => onSelectChange('addCheckRecord', prop, value, item)
"
/>
/>
<div>
<div>
<el-button
type=
"primary"
icon=
"plus"
@
click=
"addRemittance"
style=
"margin-bottom: 10px"
<el-button
type=
"primary"
icon=
"plus"
@
click=
"addRemittance"
style=
"margin-bottom: 10px"
...
@@ -246,7 +246,7 @@
...
@@ -246,7 +246,7 @@
:config=
"remittanceConfig"
:config=
"remittanceConfig"
v-model=
"remittanceFormModel"
v-model=
"remittanceFormModel"
@
uploadSuccess=
"handleUploadSuccess"
@
uploadSuccess=
"handleUploadSuccess"
@
select-change=
"
onSelectChange
"
@
select-change=
"
(prop, value, item) => onSelectChange('remittance', prop, value, item)
"
/>
/>
<div
<div
v-if=
"remittanceFormModel.apiPremiumRemittanceFileDtoList.length > 0"
v-if=
"remittanceFormModel.apiPremiumRemittanceFileDtoList.length > 0"
...
@@ -316,7 +316,7 @@ import useUserStore from '@/store/modules/user'
...
@@ -316,7 +316,7 @@ import useUserStore from '@/store/modules/user'
import
{
loadDicts
,
getDictLabel
}
from
'@/utils/useDict'
import
{
loadDicts
,
getDictLabel
}
from
'@/utils/useDict'
import
{
getToken
}
from
'@/utils/auth'
import
{
getToken
}
from
'@/utils/auth'
import
{
getNowTime
,
formatToDate
,
formatToDateTime
}
from
'@/utils/date'
import
{
getNowTime
,
formatToDate
,
formatToDateTime
}
from
'@/utils/date'
let
tempPolicyNo
=
ref
(
''
)
const
previewVisible
=
ref
(
false
)
const
previewVisible
=
ref
(
false
)
const
currentFileUrl
=
ref
(
''
)
const
currentFileUrl
=
ref
(
''
)
const
currentFileName
=
ref
(
''
)
const
currentFileName
=
ref
(
''
)
...
@@ -849,9 +849,10 @@ const handleUploadSuccess = (prop, Model) => {
...
@@ -849,9 +849,10 @@ const handleUploadSuccess = (prop, Model) => {
}
}
}
}
// 下拉框改变
// 下拉框改变
async
function
onSelectChange
(
prop
,
value
,
item
)
{
async
function
onSelectChange
(
type
,
prop
,
value
,
item
)
{
console
.
log
(
'【Select 变更】字段:'
,
prop
,
'新值:'
,
value
,
'配置:'
,
item
)
console
.
log
(
'【Select 变更】字段:'
,
prop
,
'新值:'
,
value
,
'配置:'
,
item
)
// 汇款弹窗
if
(
type
==
'remittance'
)
{
// 示例:你可以在这里做任何事
// 示例:你可以在这里做任何事
if
(
prop
===
'policyNo'
)
{
if
(
prop
===
'policyNo'
)
{
checkPolicyNo
(
value
)
checkPolicyNo
(
value
)
...
@@ -861,7 +862,13 @@ async function onSelectChange(prop, value, item) {
...
@@ -861,7 +862,13 @@ async function onSelectChange(prop, value, item) {
remittanceFormModel
.
value
.
payer
=
''
remittanceFormModel
.
value
.
payer
=
''
}
}
if
(
value
==
'TBR'
||
value
==
'SBR'
)
{
if
(
value
==
'TBR'
||
value
==
'SBR'
)
{
getPolicyInfo
(
currentRow
.
value
.
policyNo
,
'remittance'
,
value
)
getPolicyInfo
(
tempPolicyNo
.
value
,
'remittance'
,
value
)
}
}
}
else
if
(
type
==
'addCheckRecord'
)
{
//新增保费对账弹窗
if
(
prop
===
'policyNo'
&&
value
)
{
tempPolicyNo
.
value
=
value
}
}
}
}
}
}
...
@@ -1321,8 +1328,10 @@ const handleSelect = (command, row) => {
...
@@ -1321,8 +1328,10 @@ const handleSelect = (command, row) => {
}
else
if
(
command
===
'settingResult'
)
{
}
else
if
(
command
===
'settingResult'
)
{
affirmFormModel
.
value
=
{}
affirmFormModel
.
value
=
{}
settingAffirmLoading
.
value
=
false
settingAffirmLoading
.
value
=
false
showAffirm
.
value
=
true
showAffirm
.
value
=
true
currentRow
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
currentRow
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
tempPolicyNo
.
value
=
currentRow
.
value
.
policyNo
getPolicyInfo
(
row
.
policyNo
,
'affirm'
)
getPolicyInfo
(
row
.
policyNo
,
'affirm'
)
}
}
}
}
...
...
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