Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 66823d876d |
@@ -237,9 +237,9 @@ export default function ComparisonRecordsPage() {
|
|||||||
key: 'user',
|
key: 'user',
|
||||||
width: 140,
|
width: 140,
|
||||||
render: (_, r) => (
|
render: (_, r) => (
|
||||||
<div style={{ color: '#1677ff' }}>
|
<div>
|
||||||
<div>{r.phone || `#${r.user_id}`}</div>
|
<div>{r.phone || `#${r.user_id}`}</div>
|
||||||
{r.nickname && <div style={{ fontSize: 12 }}>{r.nickname}</div>}
|
{r.nickname && <div style={{ color: '#999', fontSize: 12 }}>{r.nickname}</div>}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ const NAV_GROUPS: NavGroup[] = [
|
|||||||
{ key: '/users', icon: <UserOutlined />, label: '用户管理' },
|
{ key: '/users', icon: <UserOutlined />, label: '用户管理' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{ key: '/admins', icon: <TeamOutlined />, label: '权限管理' },
|
||||||
{
|
{
|
||||||
key: 'monitoring-audit',
|
key: 'monitoring-audit',
|
||||||
icon: <FileSearchOutlined />,
|
icon: <FileSearchOutlined />,
|
||||||
@@ -103,7 +104,6 @@ const NAV_GROUPS: NavGroup[] = [
|
|||||||
{ key: '/audit-logs', icon: <FileSearchOutlined />, label: '审计日志' },
|
{ key: '/audit-logs', icon: <FileSearchOutlined />, label: '审计日志' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{ key: '/admins', icon: <TeamOutlined />, label: '权限管理' },
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// 导航项 key(/dashboard)→ 权限页 key(dashboard),与后端 permissions.py 目录对齐
|
// 导航项 key(/dashboard)→ 权限页 key(dashboard),与后端 permissions.py 目录对齐
|
||||||
@@ -223,8 +223,7 @@ export default function MainLayout({ children }: { children: React.ReactNode })
|
|||||||
position: 'sticky',
|
position: 'sticky',
|
||||||
top: 0,
|
top: 0,
|
||||||
height: '100vh',
|
height: '100vh',
|
||||||
overflowY: 'auto',
|
overflow: 'hidden',
|
||||||
overflowX: 'hidden',
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<nav className={`side-nav${collapsed ? ' side-nav-collapsed' : ''}`} aria-label="后台导航">
|
<nav className={`side-nav${collapsed ? ' side-nav-collapsed' : ''}`} aria-label="后台导航">
|
||||||
@@ -314,8 +313,19 @@ export default function MainLayout({ children }: { children: React.ReactNode })
|
|||||||
.side-nav {
|
.side-nav {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
box-sizing: border-box;
|
||||||
gap: 4px;
|
gap: 4px;
|
||||||
padding: 0 10px 14px;
|
height: calc(100vh - 48px);
|
||||||
|
min-height: 0;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
overscroll-behavior: contain;
|
||||||
|
padding: 0 10px 20px;
|
||||||
|
scrollbar-gutter: stable;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
.side-nav:focus-within {
|
||||||
|
scroll-behavior: smooth;
|
||||||
}
|
}
|
||||||
.nav-group {
|
.nav-group {
|
||||||
padding: 6px 0 8px;
|
padding: 6px 0 8px;
|
||||||
|
|||||||
Reference in New Issue
Block a user