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] } : {}), }), })