修复传值少了十位数

This commit is contained in:
wintsa 2026-05-28 09:39:55 +08:00
parent 9508f1390e
commit 66bfe8b46e

View File

@ -324,9 +324,14 @@ export const resolveScaleMethodFee = (row: ScaleMethodRowLike, mode: 'cost' | 'a
workRatio: row.workRatio
})
: null
const basicFee = allUnchecked ? null : (toFiniteNumber(row.budgetFee) ?? computedSplit?.total ?? null)
const basicFeeBasic = allUnchecked ? null : (toFiniteNumber(row.budgetFeeBasic) ?? computedSplit?.basic ?? null)
const basicFeeOptional = allUnchecked ? null : (toFiniteNumber(row.budgetFeeOptional) ?? computedSplit?.optional ?? null)
const basicFee = allUnchecked
? null
: (benchmarkBudgetBasic != null && benchmarkBudgetOptional != null
? roundTo(benchmarkBudgetBasic + benchmarkBudgetOptional, 2)
: null)
const basicFeeBasic = allUnchecked ? null : benchmarkBudgetBasic
const basicFeeOptional = allUnchecked ? null : benchmarkBudgetOptional
const serviceFee = allUnchecked ? null : (toFiniteNumber(row.budgetFee) ?? computedSplit?.total ?? null)
const basicFormula = typeof row.basicFormula === 'string' && row.basicFormula.trim()
? row.basicFormula
: (basicChecked ? (benchmarkSplit?.basicFormula ?? '') : '')
@ -337,6 +342,7 @@ export const resolveScaleMethodFee = (row: ScaleMethodRowLike, mode: 'cost' | 'a
basicFee,
basicFeeBasic,
basicFeeOptional,
serviceFee,
basicFormula,
optionalFormula
}
@ -462,11 +468,12 @@ export const buildMethod1 = (rows: ScaleMethodRowLike[] | undefined) => {
const cost = toFiniteNumber(row.amount)
const feeResolved = resolveScaleMethodFee(row, 'cost')
const basicFee = feeResolved.basicFee
if (basicFee != null) hasTotalValue = true
const serviceFee = feeResolved.serviceFee
if (serviceFee != null) hasTotalValue = true
const basicFeeBasic = feeResolved.basicFeeBasic
const basicFeeOptional = feeResolved.basicFeeOptional
const remark = typeof row.remark === 'string' ? row.remark : ''
if (basicFee == null) return null
if (basicFee == null && serviceFee == null) return null
return {
proNum,
major,
@ -480,7 +487,7 @@ export const buildMethod1 = (rows: ScaleMethodRowLike[] | undefined) => {
majorCoe: toFiniteNumberOrZero(row.majorFactor),
processCoe: toFiniteNumber(row.workStageFactor) ?? 1,
proportion: toFiniteNumber(row.workRatio) ?? 1,
fee: toMoney(basicFee),
fee: toMoney(serviceFee),
remark
}
})
@ -513,11 +520,12 @@ export const buildMethod2 = (rows: ScaleMethodRowLike[] | undefined) => {
const area = toFiniteNumber(row.landArea)
const feeResolved = resolveScaleMethodFee(row, 'area')
const basicFee = feeResolved.basicFee
if (basicFee != null) hasTotalValue = true
const serviceFee = feeResolved.serviceFee
if (serviceFee != null) hasTotalValue = true
const basicFeeBasic = feeResolved.basicFeeBasic
const basicFeeOptional = feeResolved.basicFeeOptional
const remark = typeof row.remark === 'string' ? row.remark : ''
if (basicFee == null) return null
if (basicFee == null && serviceFee == null) return null
return {
proNum,
major,
@ -531,7 +539,7 @@ export const buildMethod2 = (rows: ScaleMethodRowLike[] | undefined) => {
majorCoe: toFiniteNumberOrZero(row.majorFactor),
processCoe: toFiniteNumber(row.workStageFactor) ?? 1,
proportion: toFiniteNumber(row.workRatio) ?? 1,
fee: toMoney(basicFee),
fee: toMoney(serviceFee),
remark
}
})