修复传值少了十位数

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