我的套餐新增状态筛选字段

This commit is contained in:
Eamon-meng
2026-03-13 18:12:22 +08:00
parent a76e61beb0
commit d2d6c1709c
4 changed files with 30 additions and 2 deletions

View File

@@ -17,6 +17,7 @@ import {
ExpireBadge,
formatDateTime,
getTodayUsage,
isValidResourcestatus,
isValidResourceType,
ResourceTypeBadge,
} from './utils'
@@ -24,6 +25,7 @@ import {
const filterSchema = zod.object({
resource_no: zod.string().optional().default(''),
type: zod.enum(['expire', 'quota', 'all']).default('all'),
status: zod.enum(['0', '1', '2']).default('1'),
create_after: zod.date().optional(),
create_before: zod.date().optional(),
expire_after: zod.date().optional(),
@@ -47,12 +49,13 @@ export default function ResourceList({resourceType}: ResourceListProps) {
// 从 URL 参数初始化筛选条件
const params = useSearchParams()
const paramType = params.get('type')
const paramStatus = params.get('status')
const form = useForm<ResourceFilterValues>({
resolver: zodResolver(filterSchema),
defaultValues: {
resource_no: params.get('resource_no') || '',
type: isValidResourceType(paramType) ? paramType : 'all',
status: isValidResourcestatus(paramStatus) ? paramStatus : '1',
create_after: params.get('create_after') ? new Date(params.get('create_after')!) : undefined,
create_before: params.get('create_before') ? new Date(params.get('create_before')!) : undefined,
expire_after: params.get('expire_after') ? new Date(params.get('expire_after')!) : undefined,
@@ -71,6 +74,7 @@ export default function ResourceList({resourceType}: ResourceListProps) {
expire: 1,
quota: 2,
}[getValues('type')]
const status = getValues('status')
const create_after = getValues('create_after')
const create_before = getValues('create_before')
const expire_after = getValues('expire_after')
@@ -82,6 +86,7 @@ export default function ResourceList({resourceType}: ResourceListProps) {
page,
size,
type,
status: Number(status),
create_after,
create_before,
expire_after,
@@ -116,6 +121,7 @@ export default function ResourceList({resourceType}: ResourceListProps) {
const handleReset = () => {
form.reset({
type: 'all',
status: '1',
resource_no: '',
create_after: undefined,
create_before: undefined,