fix(web): use page scrolling for all tables

This commit is contained in:
2026-10-06 14:15:34 +08:00
parent 881afb6203
commit 3d668769f6
8 changed files with 117 additions and 77 deletions
@@ -10,7 +10,7 @@ import { PlusOutlined, ReloadOutlined } from '@ant-design/icons';
import type { ColumnsType } from 'antd/es/table';
import { remove, creatorUpdate, creatorGet, creatorAction } from '@/services/api';
import { accountReadiness, conflictMessage, dateTime } from '@/utils/helpers';
import { fixedLeft, fixedRight, tablePagination, useOverflowGrid } from '@/utils/table';
import { fixedLeft, fixedRight, tablePagination } from '@/utils/table';
import AccountLoginModal from '@/components/accounts/AccountLoginModal';
import AccountCreateModal from '@/components/accounts/AccountCreateModal';
@@ -70,7 +70,6 @@ export default function AccountManagementList() {
const [actionBusy, setActionBusy] = useState('');
const [loginTarget, setLoginTarget] = useState<Row | null>(null);
const { message: messageApi } = App.useApp();
const { vertical } = useOverflowGrid(rows.length);
const load = useCallback(async () => {
setPending(true);
@@ -336,7 +335,7 @@ export default function AccountManagementList() {
loading={pending}
sticky
pagination={tablePagination()}
scroll={{ x: 'max-content', y: vertical ? 'calc(100vh - 300px)' : undefined }}
scroll={{ x: 'max-content' }}
locale={{ emptyText: '暂无账号或待登录环境。' }}
/>
<Modal
@@ -1,12 +1,12 @@
// 监控账号列表:表格呈现账号画像、作品数据与同步状态。
import { useCallback, useEffect, useState } from 'react';
import { history } from '@umijs/max';
import { Alert, App, Avatar, Button, Card, Flex, Form, Modal, Popconfirm, Select, Space, Table, Tag, Tooltip, Typography } from 'antd';
import { Alert, App, Avatar, Button, Card, Flex, Form, Grid, Modal, Popconfirm, Select, Space, Table, Tag, Tooltip, Typography } from 'antd';
import type { ColumnsType } from 'antd/es/table';
import { CloudUploadOutlined, ReloadOutlined } from '@ant-design/icons';
import { getList, remove, creatorAction, creatorUpdate } from '@/services/api';
import { conflictMessage, dateTime } from '@/utils/helpers';
import { fixedLeft, fixedRight, tablePagination, tableScroll, useOverflowGrid } from '@/utils/table';
import { fixedLeft, fixedRight, tablePagination } from '@/utils/table';
interface CompetitorRow {
id: string;
@@ -45,7 +45,7 @@ export default function MonitoringAccountList() {
const [tagBusy, setTagBusy] = useState(false);
const [actionBusy, setActionBusy] = useState('');
const { message: messageApi } = App.useApp();
const { vertical, horizontal } = useOverflowGrid(rows.length);
const horizontal = !Grid.useBreakpoint().xl;
const load = useCallback(async () => {
setPending(true);
@@ -230,7 +230,7 @@ export default function MonitoringAccountList() {
sticky
pagination={tablePagination()}
locale={{ emptyText: '暂无监控账号。' }}
scroll={tableScroll(horizontal ? 1100 : undefined, vertical ? 'calc(100vh - 300px)' : undefined)}
scroll={{ x: horizontal ? 1100 : undefined }}
/>
<Modal
open={Boolean(tagTarget)}