From 20f3b791790a884ba9d6cd09be82bc62fe75eaff Mon Sep 17 00:00:00 2001 From: wangziqi Date: Mon, 6 Jul 2026 14:48:47 +0800 Subject: [PATCH] feat: bills expense type filter (backend join + frontend Select), sync stub docs --- apps/admin/src/pages/Bills/index.tsx | 10 ++++++++-- apps/server/src/bills/bills.controller.ts | 6 +++--- apps/server/src/bills/bills.service.ts | 4 ++++ apps/server/src/sync/sync.service.ts | 9 +++++---- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/apps/admin/src/pages/Bills/index.tsx b/apps/admin/src/pages/Bills/index.tsx index 522e621..d0304e7 100644 --- a/apps/admin/src/pages/Bills/index.tsx +++ b/apps/admin/src/pages/Bills/index.tsx @@ -48,12 +48,16 @@ const BillsPage: React.FC = () => { const [selectedRows, setSelectedRows] = useState([]); const [searchText, setSearchText] = useState(''); const [filterStatus, setFilterStatus] = useState(undefined); + const [filterExpenseType, setFilterExpenseType] = useState(undefined); const [generateForm] = Form.useForm(); const fetchData = async () => { setLoading(true); try { - const res: any = await api.get('/bills'); + const params: Record = {}; + if (filterStatus) params.status = filterStatus; + if (filterExpenseType) params.expenseType = filterExpenseType; + const res = await api.get('/bills', { params }) as unknown[]; setBills(res); } catch (e) { console.error(e); @@ -63,7 +67,7 @@ const BillsPage: React.FC = () => { useEffect(() => { fetchData(); - }, []); + }, [filterStatus, filterExpenseType]); const filteredBills = useMemo(() => { return bills.filter((b: any) => { @@ -332,6 +336,8 @@ const BillsPage: React.FC = () => { { value: 'paid', label: '已支付' }, ]} /> +