diff --git a/frontend/src/components/shared/PageHeader/index.tsx b/frontend/src/components/shared/PageHeader/index.tsx index 5cbd4e5..70cca0a 100644 --- a/frontend/src/components/shared/PageHeader/index.tsx +++ b/frontend/src/components/shared/PageHeader/index.tsx @@ -1,4 +1,4 @@ -import { Typography, Space } from 'antd'; +import { Typography } from 'antd'; import React from 'react'; const { Title, Text } = Typography; @@ -12,18 +12,28 @@ interface PageHeaderProps { const PageHeader: React.FC = ({ title, subtitle, extra, className = '' }) => { return ( -
-
- + <div + className={`page-header ${className}`} + style={{ + display: 'flex', + justifyContent: 'space-between', + alignItems: 'flex-start', + marginBottom: 24, + flexWrap: 'wrap', + gap: 16 + }} + > + <div style={{ flex: 1, minWidth: 200 }}> + <Title level={4} style={{ margin: '0 0 8px 0', fontWeight: 600 }}> {title} {subtitle && ( - + {subtitle} )}
- {extra &&
{extra}
} + {extra &&
{extra}
}
); }; diff --git a/frontend/src/pages/business/ClientManagement.tsx b/frontend/src/pages/business/ClientManagement.tsx index f52cbaf..dd8e0d6 100644 --- a/frontend/src/pages/business/ClientManagement.tsx +++ b/frontend/src/pages/business/ClientManagement.tsx @@ -1,6 +1,6 @@ import { App, Button, Card, Col, Drawer, Empty, Form, Input, InputNumber, Popconfirm, Row, Select, Space, Switch, Table, Tabs, Tag, Typography, Upload } from "antd"; import type { ColumnsType } from "antd/es/table"; -import { CloudUploadOutlined, DeleteOutlined, DownloadOutlined, EditOutlined, LaptopOutlined, MobileOutlined, PlusOutlined, ReloadOutlined, SearchOutlined, UploadOutlined } from "@ant-design/icons"; +import { CheckCircleOutlined, CloudUploadOutlined, DeleteOutlined, DownloadOutlined, EditOutlined, LaptopOutlined, MobileOutlined, PlusOutlined, ReloadOutlined, RocketOutlined, SearchOutlined, UploadOutlined, WindowsOutlined } from "@ant-design/icons"; import { useCallback, useEffect, useMemo, useState } from "react"; import PageHeader from "@/components/shared/PageHeader"; import AppPagination from "@/components/shared/AppPagination"; @@ -380,23 +380,71 @@ export default function ClientManagement() { ]; return ( -
+
- - + + + } /> - -
发布总数
{stats.total}
-
已启用
{stats.enabled}
-
最新版本
{stats.latest}
-
平台分组
{stats.groups}
+ + + +
+
+ 发布总数 + {stats.total} +
+
+ +
+
+
+ + + +
+
+ 已启用 + {stats.enabled} +
+
+ +
+
+
+ + + +
+
+ 最新版本 + {stats.latest} +
+
+ +
+
+
+ + + +
+
+ 平台分组 + {stats.groups} +
+
+ +
+
+
+
diff --git a/frontend/src/pages/business/ExternalAppManagement.tsx b/frontend/src/pages/business/ExternalAppManagement.tsx index d341aa1..8a91c26 100644 --- a/frontend/src/pages/business/ExternalAppManagement.tsx +++ b/frontend/src/pages/business/ExternalAppManagement.tsx @@ -290,23 +290,71 @@ export default function ExternalAppManagement() { ]; return ( -
+
- - + + + } /> - -
应用总数
{stats.total}
-
原生应用
{stats.native}
-
Web 应用
{stats.web}
-
已启用
{stats.enabled}
+ + + +
+
+ 应用总数 + {stats.total} +
+
+ +
+
+
+ + + +
+
+ 原生应用 + {stats.native} +
+
+ +
+
+
+ + + +
+
+ Web 应用 + {stats.web} +
+
+ +
+
+
+ + + +
+
+ 已启用 + {stats.enabled} +
+
+ +
+
+
+