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 && (