From 476ab166d71cf79acd8fa6a104e8d8c1fa8951ae Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sat, 22 Aug 2026 12:08:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B5=84=E9=87=91=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E6=B8=A0=E9=81=93=E7=AD=9B=E9=80=89=E5=A4=B1=E6=95=88?= =?UTF-8?q?=E5=B9=B6=E4=B8=BA=E6=97=B6=E9=97=B4=E7=AD=9B=E9=80=89=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=BF=AB=E6=8D=B7=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/admin/AdminDatePicker.tsx | 29 +++++++++++++++++-- .../src/pages/admin/panels/FinancePanel.tsx | 1 + 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/apps/frontend/src/components/admin/AdminDatePicker.tsx b/apps/frontend/src/components/admin/AdminDatePicker.tsx index 97ef3849..8bc98238 100644 --- a/apps/frontend/src/components/admin/AdminDatePicker.tsx +++ b/apps/frontend/src/components/admin/AdminDatePicker.tsx @@ -1,6 +1,7 @@ import { DatePicker } from 'antd' import type { DatePickerProps } from 'antd' import type { RangePickerProps } from 'antd/es/date-picker' +import dayjs from 'dayjs' import { ADMIN_DATE_FORMAT, @@ -13,6 +14,19 @@ type AdminDatePickerProps = DatePickerProps type AdminRangePickerProps = RangePickerProps +/** 后台日期范围快捷选项:今天 / 昨天 / 近7天 / 近30天 / 本月。 */ +function buildAdminDateRangePresets(): NonNullable { + const today = dayjs() + const yesterday = today.subtract(1, 'day') + return [ + { label: '今天', value: [today.startOf('day'), today.endOf('day')] }, + { label: '昨天', value: [yesterday.startOf('day'), yesterday.endOf('day')] }, + { label: '近7天', value: [today.subtract(6, 'day').startOf('day'), today.endOf('day')] }, + { label: '近30天', value: [today.subtract(29, 'day').startOf('day'), today.endOf('day')] }, + { label: '本月', value: [today.startOf('month'), today.endOf('month')] }, + ] +} + /** * 后台统一日期选择:中文 locale(依赖全局 dayjs zh-cn + ConfigProvider zh_CN)。 */ @@ -28,15 +42,26 @@ export function AdminDatePicker({ /** * 后台统一日期范围:默认 YYYY-MM-DD;showTime 时 YYYY-MM-DD HH:mm:ss。 + * 默认附带 今天/昨天/近7天/近30天/本月 快捷选项,传 presets={[]} 可关闭。 */ -export function AdminRangePicker({ format, placeholder, ...rest }: AdminRangePickerProps) { +export function AdminRangePicker({ + format, + placeholder, + presets = buildAdminDateRangePresets(), + ...rest +}: AdminRangePickerProps) { const withTime = Boolean(rest.showTime) const resolvedFormat = format ?? (withTime ? ADMIN_DATE_TIME_FORMAT : ADMIN_DATE_FORMAT) const resolvedPlaceholder = placeholder ?? (withTime ? ADMIN_DATE_TIME_RANGE_PLACEHOLDER : ADMIN_DATE_RANGE_PLACEHOLDER) return ( - + ) } diff --git a/apps/frontend/src/pages/admin/panels/FinancePanel.tsx b/apps/frontend/src/pages/admin/panels/FinancePanel.tsx index 1787dfba..626e334a 100644 --- a/apps/frontend/src/pages/admin/panels/FinancePanel.tsx +++ b/apps/frontend/src/pages/admin/panels/FinancePanel.tsx @@ -125,6 +125,7 @@ export default function FinancePanel() { keyword, page, pageSize, + accountChannel, ...(createdRange ? { createdFrom: createdRange[0], createdTo: createdRange[1] } : {}), }), })