From c0c81cd97bc2b2aa5a88e9581c8ecb8d09437174 Mon Sep 17 00:00:00 2001 From: zhx Date: Tue, 2 Jun 2026 18:00:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=A4=BC=E7=89=A9=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/features/operations/api.ts | 4 ++-- src/features/operations/operations.module.css | 15 ++++++++++----- .../operations/pages/GiftDiamondRatioPage.jsx | 17 ++++++++--------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/features/operations/api.ts b/src/features/operations/api.ts index c44ed7b..c6374df 100644 --- a/src/features/operations/api.ts +++ b/src/features/operations/api.ts @@ -69,7 +69,7 @@ export function createCoinAdjustment(payload: CoinAdjustmentPayload): Promise { - return apiRequest("/api/v1/admin/operations/gift-diamond-ratios", { + return apiRequest("/v1/admin/operations/gift-diamond-ratios", { method: "GET", query: { region_id: regionId }, }); @@ -79,7 +79,7 @@ export function updateGiftDiamondRatios(payload: { regionId: number; ratios: Record; }): Promise { - return apiRequest("/api/v1/admin/operations/gift-diamond-ratios", { + return apiRequest("/v1/admin/operations/gift-diamond-ratios", { body: payload, method: "PUT", }); diff --git a/src/features/operations/operations.module.css b/src/features/operations/operations.module.css index 71ab1f4..bf0f065 100644 --- a/src/features/operations/operations.module.css +++ b/src/features/operations/operations.module.css @@ -185,28 +185,33 @@ background: var(--bg-card-strong); } +.ratioBody { + padding: var(--space-5); + background: var(--bg-card); +} + .ratioPanel { display: grid; - gap: var(--space-5); - max-width: 760px; + width: min(100%, 980px); + gap: var(--space-4); } .ratioHeader { display: flex; align-items: center; - gap: var(--space-3); color: var(--text-primary); } .ratioHeader h2 { margin: 0; - font-size: 18px; + font-size: 16px; font-weight: 800; + line-height: 1.4; } .ratioGrid { display: grid; - grid-template-columns: repeat(3, minmax(160px, 1fr)); + grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: var(--space-4); } diff --git a/src/features/operations/pages/GiftDiamondRatioPage.jsx b/src/features/operations/pages/GiftDiamondRatioPage.jsx index 750953e..9463e95 100644 --- a/src/features/operations/pages/GiftDiamondRatioPage.jsx +++ b/src/features/operations/pages/GiftDiamondRatioPage.jsx @@ -1,5 +1,5 @@ -import PercentOutlined from "@mui/icons-material/PercentOutlined"; import SaveOutlined from "@mui/icons-material/SaveOutlined"; +import InputAdornment from "@mui/material/InputAdornment"; import MenuItem from "@mui/material/MenuItem"; import TextField from "@mui/material/TextField"; import { useCallback, useEffect, useMemo, useState } from "react"; @@ -8,7 +8,7 @@ import { useGiftDiamondAbilities } from "@/features/operations/permissions.js"; import styles from "@/features/operations/operations.module.css"; import { useAdminQuery } from "@/shared/hooks/useAdminQuery.js"; import { useRegionOptions } from "@/shared/hooks/useRegionOptions.js"; -import { AdminListBody, AdminListPage, AdminListToolbar } from "@/shared/ui/AdminListLayout.jsx"; +import { AdminListPage, AdminListToolbar } from "@/shared/ui/AdminListLayout.jsx"; import { Button } from "@/shared/ui/Button.jsx"; import { DataState } from "@/shared/ui/DataState.jsx"; import { useToast } from "@/shared/ui/ToastProvider.jsx"; @@ -119,13 +119,10 @@ export function GiftDiamondRatioPage() { } /> - +
- -
-

{selectedRegionLabel}

-
+

{selectedRegionLabel}

{giftTypes.map((giftType) => ( @@ -136,14 +133,16 @@ export function GiftDiamondRatioPage() { size="small" value={form[giftType.value] || ""} inputProps={{ max: 100, min: 0, step: "0.01" }} + InputProps={{ + endAdornment: %, + }} disabled={!abilities.canUpdate || saving} onChange={(event) => changeRatio(giftType.value, event.target.value)} - helperText="%" /> ))}
- +
);