update point tier rule

This commit is contained in:
Timi
2026-08-14 18:26:11 +08:00
parent 3b5ff75772
commit a43694daa3
16 changed files with 940 additions and 32 deletions
+29
View File
@@ -0,0 +1,29 @@
import type { PointRuleTierForm } from "@/types/Point";
export function resolveNonNegativeInteger(value: string): number | undefined {
if (!value.trim()) {
return undefined;
}
const numberValue = Number(value);
return Number.isSafeInteger(numberValue) && !(numberValue < 0) ? numberValue : undefined;
}
export function getTierMinValue(tierList: PointRuleTierForm[], index: number): number | undefined {
if (index === 0) {
return 0;
}
const previousMax = resolveNonNegativeInteger(tierList[index - 1]?.maxText || "");
if (previousMax === undefined || !Number.isSafeInteger(previousMax + 1)) {
return undefined;
}
return previousMax + 1;
}
export function getTierMinText(tierList: PointRuleTierForm[], index: number): string {
const min = getTierMinValue(tierList, index);
return min === undefined ? "待填写" : String(min);
}
export function isLastTier(tierList: PointRuleTierForm[], index: number): boolean {
return index === tierList.length - 1;
}