diff --git a/h5/hyapp/host-center/index.html b/h5/hyapp/host-center/index.html index 9a540ed..a2e5b70 100644 --- a/h5/hyapp/host-center/index.html +++ b/h5/hyapp/host-center/index.html @@ -4,7 +4,7 @@ Host Center - +
@@ -56,7 +56,10 @@
-
Target
+
+
Target
+ Lv. - +
- + diff --git a/h5/hyapp/host-center/script.js b/h5/hyapp/host-center/script.js index 2092262..beb537c 100644 --- a/h5/hyapp/host-center/script.js +++ b/h5/hyapp/host-center/script.js @@ -245,6 +245,7 @@ let currentSalary = "0.00"; let currentStreamingDuration = "0"; let currentGiftValue = "0"; + let currentTargetLevel = "-"; let currentDailyTargets = []; let foundJoinAgency = null; let pendingJoinRecord = null; @@ -658,7 +659,7 @@ const numericValue = Number(value); if (!Number.isFinite(numericValue)) return "0"; const safeValue = Math.max(0, numericValue); - return Number.isInteger(safeValue) ? String(safeValue) : String(Number(safeValue.toFixed(2))); + return formatCountValue(safeValue); } function pickStreamingDuration(body) { @@ -675,11 +676,20 @@ function formatCountValue(value) { if (value === null || value === undefined || value === "") return "-"; const number = Number(value); - if (Number.isFinite(number) && Number.isInteger(number)) return String(number); - if (Number.isFinite(number)) return String(Number(number.toFixed(2))); + if (Number.isFinite(number)) { + return new Intl.NumberFormat("en-US", { + maximumFractionDigits: 2 + }).format(number); + } return String(value); } + function renderCurrentTargetLevel(value) { + currentTargetLevel = formatCountValue(value); + const levelNode = document.querySelector("#currentTargetLevel"); + if (levelNode) levelNode.textContent = `Lv. ${currentTargetLevel}`; + } + function renderCurrentGiftValue(value) { currentGiftValue = formatCountValue(value === null || value === undefined || value === "" ? 0 : value); const giftNode = document.querySelector("#currentGiftValue"); @@ -698,6 +708,11 @@ return target.acceptGiftValue ?? target.giftValue ?? target.giftScore ?? target.currentGiftValue ?? null; } + function pickTargetLevel(workTarget) { + const target = workTarget?.target || workTarget || {}; + return target?.settlementResult?.level ?? target.level ?? "-"; + } + function pickDailyTargets(workTarget) { const target = workTarget?.target || workTarget || {}; return Array.isArray(target.dailyTargets) ? target.dailyTargets : []; @@ -767,6 +782,7 @@ const workTarget = pickFirstMemberWorkTarget(memberWork); renderStreamingDuration(pickStreamingDuration(memberWork)); renderCurrentGiftValue(pickGiftValue(workTarget) ?? 0); + renderCurrentTargetLevel(pickTargetLevel(workTarget)); renderDailyTargets(pickDailyTargets(workTarget)); } diff --git a/h5/hyapp/host-center/style.css b/h5/hyapp/host-center/style.css index bbb048c..a82533b 100644 --- a/h5/hyapp/host-center/style.css +++ b/h5/hyapp/host-center/style.css @@ -471,6 +471,35 @@ a { line-height: 1.12; } +.target-label-row { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 8px; + min-height: 36px; +} + +.target-label-row .label { + min-height: 0; +} + +.target-level { + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 42px; + min-height: 22px; + flex: 0 0 auto; + padding: 0 7px; + border-radius: 999px; + background: #f1fbf8; + color: #18a777; + font-size: 12px; + font-weight: 950; + line-height: 1; + white-space: nowrap; +} + .value { margin-top: 4px; color: #292d33;