用户管理和分配管理:分页按钮优化,支持切换每页条数并持久化
This commit is contained in:
@@ -24,6 +24,11 @@ export default function AssignmentsPage() {
|
|||||||
const [filterTag, setFilterTag] = useState<string | undefined>(undefined);
|
const [filterTag, setFilterTag] = useState<string | undefined>(undefined);
|
||||||
const [activeTab, setActiveTab] = useState('unassigned');
|
const [activeTab, setActiveTab] = useState('unassigned');
|
||||||
const [assigning, setAssigning] = useState(false);
|
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 () => {
|
const loadSummary = async () => {
|
||||||
@@ -382,7 +387,21 @@ export default function AssignmentsPage() {
|
|||||||
dataSource={displayAccounts}
|
dataSource={displayAccounts}
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
size="small"
|
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={{
|
rowSelection={{
|
||||||
selectedRowKeys,
|
selectedRowKeys,
|
||||||
onChange: (keys) => setSelectedRowKeys(keys as number[]),
|
onChange: (keys) => setSelectedRowKeys(keys as number[]),
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ export default function UsersPage() {
|
|||||||
const [modalOpen, setModalOpen] = useState(false);
|
const [modalOpen, setModalOpen] = useState(false);
|
||||||
const [editing, setEditing] = useState<UserInfo | null>(null);
|
const [editing, setEditing] = useState<UserInfo | null>(null);
|
||||||
const [form] = Form.useForm();
|
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);
|
const [permModalOpen, setPermModalOpen] = useState(false);
|
||||||
@@ -222,7 +227,20 @@ export default function UsersPage() {
|
|||||||
rowKey="id"
|
rowKey="id"
|
||||||
loading={loading}
|
loading={loading}
|
||||||
size="small"
|
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 */}
|
{/* 编辑/新建用户 Modal */}
|
||||||
|
|||||||
Reference in New Issue
Block a user