diff --git a/frontend/src/components/shared/ListTable/ListTable.css b/frontend/src/components/shared/ListTable/ListTable.css index cbde08f..02e27ff 100644 --- a/frontend/src/components/shared/ListTable/ListTable.css +++ b/frontend/src/components/shared/ListTable/ListTable.css @@ -69,6 +69,10 @@ min-height: auto; } +.list-table-container .list-table-table--y-scroll.ant-table-wrapper .ant-table-header { + flex-shrink: 0; +} + .list-table-container .list-table-table--y-scroll.ant-table-wrapper .ant-table-body { flex: 1 1 auto; min-height: 0; diff --git a/frontend/src/components/shared/ListTable/ListTable.tsx b/frontend/src/components/shared/ListTable/ListTable.tsx index 942c9b1..1a765cf 100644 --- a/frontend/src/components/shared/ListTable/ListTable.tsx +++ b/frontend/src/components/shared/ListTable/ListTable.tsx @@ -45,7 +45,14 @@ function ListTable>({ className = "", onChange, }: ListTableProps) { - const hasVerticalScroll = scroll?.y !== undefined; + const mergedScroll = React.useMemo(() => { + return { + x: 1200, + ...scroll, + }; + }, [scroll]); + + const hasVerticalScroll = mergedScroll.y !== undefined; const rowSelection: TableProps["rowSelection"] = onSelectionChange ? { selectedRowKeys, @@ -104,7 +111,7 @@ function ListTable>({ const wrapperStyle = hasVerticalScroll ? ({ - ["--list-table-scroll-y" as string]: typeof scroll.y === "number" ? `${scroll.y}px` : scroll.y, + ["--list-table-scroll-y" as string]: typeof mergedScroll.y === "number" ? `${mergedScroll.y}px` : mergedScroll.y, } as React.CSSProperties) : undefined; @@ -118,7 +125,7 @@ function ListTable>({ dataSource={dataSource} rowKey={rowKey} pagination={mergedPagination} - scroll={scroll} + scroll={mergedScroll} loading={loading} onChange={onChange} onRow={(record) => ({ diff --git a/frontend/src/index.css b/frontend/src/index.css index 72bced6..aa8b316 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -857,6 +857,10 @@ body::after { min-height: 0; } +.ant-table-wrapper .ant-table-header { + flex-shrink: 0; +} + .ant-table-wrapper .ant-table-body { overflow-y: auto !important; max-height: none !important; diff --git a/frontend/src/pages/business/MeetingPointsManagement.tsx b/frontend/src/pages/business/MeetingPointsManagement.tsx index 7a4fa3d..256d396 100644 --- a/frontend/src/pages/business/MeetingPointsManagement.tsx +++ b/frontend/src/pages/business/MeetingPointsManagement.tsx @@ -388,14 +388,14 @@ export default function MeetingPointsManagement() { const ledgerTableContent = (
-
+
rowKey="id" columns={ledgerColumns} dataSource={records} loading={loading} totalCount={total} - scroll={{ x: 1100, y: 400 }} + scroll={{x: 1100, y: 280}} pagination={false} />
@@ -416,13 +416,13 @@ export default function MeetingPointsManagement() { const personalAccountTableContent = (
-
+
rowKey="userId" columns={personalAccountColumns} dataSource={pagedPersonalAccounts} totalCount={personalAccountRows.length} - scroll={{ x: 900, y: 400 }} + scroll={{x: 900, y: 280}} pagination={false} />
diff --git a/frontend/src/pages/business/TenantMeetingPointsSettings.tsx b/frontend/src/pages/business/TenantMeetingPointsSettings.tsx index 8f94194..0f5757f 100644 --- a/frontend/src/pages/business/TenantMeetingPointsSettings.tsx +++ b/frontend/src/pages/business/TenantMeetingPointsSettings.tsx @@ -325,14 +325,14 @@ export default function TenantMeetingPointsSettings() { 平台管理员可查看并调整全部租户的余额校验开关。
-
+
rowKey="tenantId" columns={columns} dataSource={records} loading={loading} totalCount={total} - scroll={{ x: 1200, y: 500 }} + scroll={{x: 1200, y: "calc(100vh - 380px)"}} pagination={false} />
diff --git a/frontend/src/pages/system/logs/index.tsx b/frontend/src/pages/system/logs/index.tsx index 3019013..1b4555a 100644 --- a/frontend/src/pages/system/logs/index.tsx +++ b/frontend/src/pages/system/logs/index.tsx @@ -64,7 +64,11 @@ export default function Logs() { const loadData = async (currentParams = params) => { setLoading(true); try { - const result = await fetchLogs({ ...currentParams, logType: activeTab }); + const apiParams = { + ...currentParams, + sortOrder: currentParams.sortOrder === "ascend" ? "asc" : currentParams.sortOrder === "descend" ? "desc" : undefined + }; + const result = await fetchLogs({...apiParams, logType: activeTab}); setData(result.records || []); setTotal(result.total || 0); } finally { @@ -95,12 +99,14 @@ export default function Logs() { }, [activeTab, isPlatformAdmin, params.tenantId]); const handleTableChange = (pagination: any, _filters: any, sorter: any) => { + const sField = sorter?.field || "createdAt"; + const sOrder = sorter?.order || undefined; setParams({ ...params, - current: pagination.current, - size: pagination.pageSize, - sortField: sorter.field || "createdAt", - sortOrder: sorter.order || "descend" + current: pagination?.current || params.current, + size: pagination?.pageSize || params.size, + sortField: sField, + sortOrder: sOrder }); }; @@ -345,7 +351,7 @@ export default function Logs() { : <>