From ad1adfb81111f24e43ef075922699168c70a8cb2 Mon Sep 17 00:00:00 2001 From: Admin Date: Sun, 22 Mar 2026 23:39:03 +0800 Subject: [PATCH] =?UTF-8?q?v1.2.10=20-=20=E7=BB=9F=E8=AE=A1=E9=A1=B5?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E4=BC=98=E5=8C=96=EF=BC=8C=E5=85=A8=E9=87=8F?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/List.jsx | 12 +++++++++++- frontend/src/pages/Stats.jsx | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/List.jsx b/frontend/src/pages/List.jsx index 1624077..def9b22 100644 --- a/frontend/src/pages/List.jsx +++ b/frontend/src/pages/List.jsx @@ -15,6 +15,7 @@ export default function List() { const [key, setKey] = useState(0) const [search, setSearch] = useState('') const [isAdmin, setIsAdmin] = useState(false) + const [page, setPage] = useState(1) useEffect(() => { // 检查是否管理员 @@ -63,7 +64,16 @@ export default function List() { setLoading(true) const token = localStorage.getItem('token') try { - const res = await fetch('/api/collections?limit=100', { + // 从URL获取筛选参数 + const params = new URLSearchParams(window.location.hash.split('?')[1] || '') + const urlFilterType = params.get('filter') || '' + const urlFilterValue = params.get('value') ? decodeURIComponent(params.get('value')) : '' + + let api = '/api/collections?page=' + page + '&limit=50&sortBy=' + sortField + '&sortOrder=' + sortOrder + if (urlFilterType && urlFilterValue) { + api += '&' + urlFilterType + '=' + encodeURIComponent(urlFilterValue) + } + const res = await fetch(api, { headers: token ? { 'Authorization': 'Bearer ' + token } : {} }) diff --git a/frontend/src/pages/Stats.jsx b/frontend/src/pages/Stats.jsx index c76bed7..e087c3b 100644 --- a/frontend/src/pages/Stats.jsx +++ b/frontend/src/pages/Stats.jsx @@ -88,6 +88,9 @@ export default function Stats() { gradingCompany: 'gradingCompany', gradingScore: 'gradingScore', specialMark: 'specialMark', + numberCategory: 'numberCategory', + gradingCompany: 'gradingCompany', + gradingScore: 'gradingScore', profitLoss: 'profitLoss' } return map[type] || type @@ -159,7 +162,7 @@ export default function Stats() {
{title}
- {getSortedData(data, type).slice(0, 6).map((item, index) => { + {getSortedData(data, type).map((item, index) => { const value = item[valueKey] const label = getLabel(type, item[labelKey] || value) const color = getColor(type, value)