优化跳转
This commit is contained in:
1 parent
cd9cffe588
commit
1f941ca65f
36 files changed
+1899
-321
No files matched your search
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user