Commit 124358e9 by yuzhenWang

Merge branch 'wyz' into 'test'

修改出账检核新增和结算汇率

See merge request !117
parents 9bb9460c 35494bf9
...@@ -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',
......
...@@ -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) {
......
{ {
"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"
} }
...@@ -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: 'exchangeRate', prop: 'originalToHkdRate',
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 exchangeRate = value const originalToHkdRate = value
const hkdAmount = multiply(originalAmount, exchangeRate, 2) const hkdAmount = multiply(originalAmount, originalToHkdRate, 2)
await nextTick() await nextTick()
rateExchangeForm.value.hkdAmount = hkdAmount rateExchangeForm.value.hkdAmount = hkdAmount
} else if (prop === 'originalAmount' && value && rateExchangeForm.value.exchangeRate) { } else if (prop === 'originalAmount' && value && rateExchangeForm.value.originalToHkdRate) {
// 计算港币金额 // 计算港币金额
const originalAmount = rateExchangeForm.value.originalAmount const originalAmount = rateExchangeForm.value.originalAmount
const exchangeRate = value const originalToHkdRate = value
const hkdAmount = multiply(originalAmount, exchangeRate, 2) const hkdAmount = multiply(originalAmount, originalToHkdRate, 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: 'actualPayoutDate', prop: 'payoutDate',
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>
......
...@@ -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: '转介人(主)'
// }
]) ])
// 分页相关 // 分页相关
......
...@@ -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')
} }
} }
......
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