From f119e85798a64ad9bd6716c840b67c1219f3b896 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 20 Aug 2026 16:09:23 +0800 Subject: [PATCH] point tier rule allow greater than 0 for min --- src/pages/point/PointRuleEdit.vue | 1 + .../point/component/PointRuleTierEditor.vue | 28 ++++++++++++++++--- src/types/Point.ts | 1 + src/utils/pointRule.ts | 4 +-- 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/pages/point/PointRuleEdit.vue b/src/pages/point/PointRuleEdit.vue index 641a455..aeb4b78 100644 --- a/src/pages/point/PointRuleEdit.vue +++ b/src/pages/point/PointRuleEdit.vue @@ -288,6 +288,7 @@ function createTierForm(tier?: PointRuleTier, isLast = false, valueUnit?: EventI const pointValue = tier?.pointValue; return { key: tierKey++, + minText: tier?.min === undefined || tier.min === null ? "0" : formatTierBoundaryValue(tier.min, valueUnit), maxText: !isLast && tier?.max !== undefined && tier.max !== null ? formatTierBoundaryValue(tier.max, valueUnit) : "", pointAction: pointValue !== undefined && pointValue < 0 ? "CONSUME" : "EARN", pointValueText: pointValue === undefined ? "0" : String(Math.abs(pointValue)) diff --git a/src/pages/point/component/PointRuleTierEditor.vue b/src/pages/point/component/PointRuleTierEditor.vue index e3de174..c26f27a 100644 --- a/src/pages/point/component/PointRuleTierEditor.vue +++ b/src/pages/point/component/PointRuleTierEditor.vue @@ -2,7 +2,7 @@
-
+
- + + + + Math.max(max, tier.key), -1) + 1; return { key, + minText: "0", maxText: "", pointAction: "EARN", pointValueText: "0" diff --git a/src/types/Point.ts b/src/types/Point.ts index f77ef4b..b1336da 100644 --- a/src/types/Point.ts +++ b/src/types/Point.ts @@ -32,6 +32,7 @@ export type PointRuleTier = { export type PointRuleTierForm = { key: number; + minText: string; maxText: string; pointAction: PointAction; pointValueText: string; diff --git a/src/utils/pointRule.ts b/src/utils/pointRule.ts index 7f2b5a8..5c0729a 100644 --- a/src/utils/pointRule.ts +++ b/src/utils/pointRule.ts @@ -26,8 +26,8 @@ export function formatTierBoundaryValue(value: number, valueUnit?: EventValueUni } export function getTierMinValue(tierList: PointRuleTierForm[], index: number, valueUnit?: EventValueUnit | null): number | undefined { - if (index === 0) { - return 0; + if (index < 1) { + return resolveTierBoundaryValue(tierList[0]?.minText || "", valueUnit); } const previousMax = resolveTierBoundaryValue(tierList[index - 1]?.maxText || "", valueUnit); if (previousMax === undefined || !Number.isSafeInteger(previousMax + 1)) {