From 09f9ab716512a2c02a5f4a12adde3d9582049b83 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Wed, 24 Jun 2026 20:24:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86=E5=92=8C?= =?UTF-8?q?=E5=88=86=E9=85=8D=E7=AE=A1=E7=90=86=EF=BC=9A=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BC=98=E5=8C=96=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=AF=8F=E9=A1=B5=E6=9D=A1=E6=95=B0=E5=B9=B6?= =?UTF-8?q?=E6=8C=81=E4=B9=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/frontend/src/pages/AssignmentsPage.tsx | 21 ++++++++++++++++++++- web/frontend/src/pages/UsersPage.tsx | 20 +++++++++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/web/frontend/src/pages/AssignmentsPage.tsx b/web/frontend/src/pages/AssignmentsPage.tsx index 67c9619..f2ff9f2 100644 --- a/web/frontend/src/pages/AssignmentsPage.tsx +++ b/web/frontend/src/pages/AssignmentsPage.tsx @@ -24,6 +24,11 @@ export default function AssignmentsPage() { const [filterTag, setFilterTag] = useState(undefined); const [activeTab, setActiveTab] = useState('unassigned'); const [assigning, setAssigning] = useState(false); + const [pageSize, setPageSize] = useState(() => { + const v = localStorage.getItem('assignment_page_size'); + return v ? Number(v) || 15 : 15; + }); + const [currentPage, setCurrentPage] = useState(1); // 加载分配概览 const loadSummary = async () => { @@ -382,7 +387,21 @@ export default function AssignmentsPage() { dataSource={displayAccounts} rowKey="id" size="small" - pagination={{ pageSize: 15, size: 'small', showSizeChanger: true, showTotal: (t) => `共 ${t} 条` }} + pagination={{ + current: currentPage, + pageSize, + size: 'small', + showSizeChanger: true, + showTotal: (t) => `共 ${t} 条`, + onChange: (page, size) => { + setCurrentPage(page); + if (size !== pageSize) { + setPageSize(size); + localStorage.setItem('assignment_page_size', String(size)); + setCurrentPage(1); // 切换 pageSize 时重置到第1页 + } + }, + }} rowSelection={{ selectedRowKeys, onChange: (keys) => setSelectedRowKeys(keys as number[]), diff --git a/web/frontend/src/pages/UsersPage.tsx b/web/frontend/src/pages/UsersPage.tsx index 88c65ac..5ff0054 100644 --- a/web/frontend/src/pages/UsersPage.tsx +++ b/web/frontend/src/pages/UsersPage.tsx @@ -41,6 +41,11 @@ export default function UsersPage() { const [modalOpen, setModalOpen] = useState(false); const [editing, setEditing] = useState(null); const [form] = Form.useForm(); + const [pageSize, setPageSize] = useState(() => { + const v = localStorage.getItem('user_page_size'); + return v ? Number(v) || 20 : 20; + }); + const [currentPage, setCurrentPage] = useState(1); // 权限管理 const [permModalOpen, setPermModalOpen] = useState(false); @@ -222,7 +227,20 @@ export default function UsersPage() { rowKey="id" loading={loading} size="small" - pagination={{ pageSize: 20 }} + pagination={{ + current: currentPage, + pageSize, + showSizeChanger: true, + showTotal: (t) => `共 ${t} 条`, + onChange: (page, size) => { + setCurrentPage(page); + if (size !== pageSize) { + setPageSize(size); + localStorage.setItem('user_page_size', String(size)); + setCurrentPage(1); // 切换 pageSize 时重置到第1页 + } + }, + }} /> {/* 编辑/新建用户 Modal */}