diff --git a/apps/frontend/src/pages/admin/panels/ProductRulesPanel.tsx b/apps/frontend/src/pages/admin/panels/ProductRulesPanel.tsx index 3cd69c6b..928cb45e 100644 --- a/apps/frontend/src/pages/admin/panels/ProductRulesPanel.tsx +++ b/apps/frontend/src/pages/admin/panels/ProductRulesPanel.tsx @@ -202,8 +202,10 @@ export default function ProductRulesPanel() { } const [keyword, setKeyword] = useState('') + const [categoryId, setCategoryId] = useState() const filteredRules = (rulesQuery.data?.data.items || []).filter((rule) => { + if (categoryId && Number(rule.categoryId || 0) !== categoryId) return false const keywordText = keyword.trim().toLowerCase() if (!keywordText) return true return [ @@ -625,9 +627,26 @@ export default function ProductRulesPanel() { + 物品规则 + setCategoryId(key === 'all' ? undefined : Number(key))} + items={[ + { key: 'all', label: '全部' }, + ...(categoriesQuery.data?.data.items || []).map((item) => ({ + key: String(item.categoryId), + label: item.name, + })), + ]} + /> + + } extra={ - +