diff --git a/frontend/src/pages/DataManagement/Detail/DatasetDetail.tsx b/frontend/src/pages/DataManagement/Detail/DatasetDetail.tsx index abfd4ca..bfe1bad 100644 --- a/frontend/src/pages/DataManagement/Detail/DatasetDetail.tsx +++ b/frontend/src/pages/DataManagement/Detail/DatasetDetail.tsx @@ -3,7 +3,6 @@ import { Breadcrumb, App, Tabs, Table, Tag } from "antd"; import { ReloadOutlined, DownloadOutlined, - UploadOutlined, EditOutlined, DeleteOutlined, PlusOutlined, @@ -226,12 +225,6 @@ export default function DatasetDetail() { }, }, - { - key: "upload", - label: "导入数据", - icon: , - onClick: () => setShowUploadDialog(true), - }, { key: "export", label: "导出", @@ -353,7 +346,12 @@ export default function DatasetDetail() {
{activeTab === "overview" && ( - + setShowUploadDialog(true)} + /> )} {activeTab === "children" && (
diff --git a/frontend/src/pages/DataManagement/Detail/components/Overview.tsx b/frontend/src/pages/DataManagement/Detail/components/Overview.tsx index 7a06564..801fa31 100644 --- a/frontend/src/pages/DataManagement/Detail/components/Overview.tsx +++ b/frontend/src/pages/DataManagement/Detail/components/Overview.tsx @@ -1,16 +1,27 @@ import { App, Button, Descriptions, DescriptionsProps, Modal, Table, Input } from "antd"; import { formatBytes, formatDateTime } from "@/utils/unit"; import { Download, Trash2, Folder, File } from "lucide-react"; -import { datasetTypeMap } from "../../dataset.const"; +import { datasetTypeMap } from "../../dataset.const"; +import type { DatasetFile } from "@/pages/DataManagement/dataset.model"; + +type DatasetFileRow = DatasetFile & { + fileSize?: number; + fileCount?: number; + uploadTime?: string; +}; -export default function Overview({ dataset, filesOperation, fetchDataset }) { +export default function Overview({ + dataset, + filesOperation, + fetchDataset, + onUpload, +}) { const { modal, message } = App.useApp(); const { - fileList, - pagination, - selectedFiles, - setSelectedFiles, - previewVisible, + fileList, + pagination, + selectedFiles, + previewVisible, previewFileName, previewContent, setPreviewVisible, @@ -23,18 +34,7 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { handleDeleteDirectory, } = filesOperation; - // 文件列表多选配置 - const rowSelection = { - onChange: (selectedRowKeys: React.Key[], selectedRows: any[]) => { - setSelectedFiles(selectedRowKeys as number[]); - console.log( - `selectedRowKeys: ${selectedRowKeys}`, - "selectedRows: ", - selectedRows - ); - }, - }; - // 基本信息 + // 基本信息 const items: DescriptionsProps["items"] = [ { key: "id", @@ -96,7 +96,7 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { dataIndex: "fileName", key: "fileName", fixed: "left", - render: (text: string, record: any) => { + render: (text: string, record: DatasetFileRow) => { const isDirectory = record.id.startsWith('directory-'); const iconSize = 16; @@ -115,25 +115,25 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { return ( ); } return ( - + ); }, }, @@ -142,7 +142,7 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { dataIndex: "fileSize", key: "fileSize", width: 150, - render: (text: number, record: any) => { + render: (text: number, record: DatasetFileRow) => { const isDirectory = record.id.startsWith('directory-'); if (isDirectory) { return formatBytes(record.fileSize || 0); @@ -155,7 +155,7 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { dataIndex: "fileCount", key: "fileCount", width: 120, - render: (text: number, record: any) => { + render: (text: number, record: DatasetFileRow) => { const isDirectory = record.id.startsWith('directory-'); if (!isDirectory) { return "-"; @@ -175,7 +175,7 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { key: "action", width: 180, fixed: "right", - render: (_, record) => { + render: (_, record: DatasetFileRow) => { const isDirectory = record.id.startsWith('directory-'); if (isDirectory) { @@ -252,39 +252,44 @@ export default function Overview({ dataset, filesOperation, fetchDataset }) { /> {/* 文件列表 */} -
-

文件列表

- -
+
+

文件列表

+
+ + +
+
{selectedFiles.length > 0 && (