优化跳转

This commit is contained in:
zwgczx committed 2026-03-25 10:40:19 +08:00
1 parent cd9cffe588
commit 1f941ca65f
36 files changed
+1899 -321

No files matched your search

+5 -30
View File
@@ -1,6 +1,7 @@
import { serviceList } from '@/sql'
import { roundTo } from '@/lib/decimal'
import { roundTo, toFiniteNumber, toFiniteNumberOrZero } from '@/lib/decimal'
import { getBenchmarkBudgetSplitByScale, getScaleBudgetFeeSplit } from '@/lib/pricingScaleFee'
export { toFiniteNumber, toFiniteNumberOrZero }
interface ScaleMethodRowLike {
id: string
@@ -168,21 +169,6 @@ interface ExportMethod5DetailLike {
remark: string
}
export const toFiniteNumber = (value: unknown): number | null => {
if (typeof value === 'number') {
return Number.isFinite(value) ? value : null
}
if (typeof value === 'string') {
const trimmed = value.trim()
if (!trimmed) return null
const num = Number(trimmed)
return Number.isFinite(num) ? num : null
}
return null
}
export const toFiniteNumberOrZero = (value: unknown): number => toFiniteNumber(value) ?? 0
export const toSafeInteger = (value: unknown): number | null => {
const num = Number(value)
if (!Number.isInteger(num)) return null
@@ -579,17 +565,7 @@ export const buildServiceFee = (
method4: { fee: number } | null
) => {
const subtotal = toFiniteNumber(row?.subtotal)
if (subtotal != null) return subtotal
const methodSum = sumNumbers([method1?.fee, method2?.fee, method3?.fee, method4?.fee])
if (methodSum !== 0) return methodSum
return sumNumbers([
toFiniteNumber(row?.investScale),
toFiniteNumber(row?.landScale),
toFiniteNumber(row?.workload),
toFiniteNumber(row?.hourly)
])
return subtotal != null ? toMoney(subtotal) : 0
}
export const buildMethod0 = (payload: RateMethodRowLike | null | undefined) => {
@@ -644,8 +620,7 @@ export const buildServiceFinalFee = (
method4: { fee: number } | null
) => {
const finalFee = toFiniteNumber(row?.finalFee)
if (finalFee != null) return finalFee
if (finalFee != null) return toMoney(finalFee)
const subtotal = toFiniteNumber(row?.subtotal)
if (subtotal != null) return subtotal
return sumNumbers([method1?.fee, method2?.fee, method3?.fee, method4?.fee])
return subtotal != null ? toMoney(subtotal) : 0
}