feature: 增加压缩包上传功能 (#137)

* feature: 增加压缩包上传功能

* fix: 删除文件时数据集关于文件的相关统计信息也刷新

* fix: 增加k8s常见下评估服务的路由
This commit is contained in:
hefanli
2025-12-09 14:42:27 +08:00
committed by GitHub
parent 015e738a7f
commit 758cf93e36
16 changed files with 337 additions and 51 deletions

View File

@@ -31,6 +31,7 @@ export function useFileSliceUpload(
controller,
size: 0,
updateEvent: detail.updateEvent,
hasArchive: detail.hasArchive,
};
taskListRef.current = [task, ...taskListRef.current];
@@ -112,6 +113,7 @@ export function useFileSliceUpload(
totalFileNum: files.length,
totalSize,
datasetId: task.key,
hasArchive: task.hasArchive,
});
const newTask: TaskItem = {

View File

@@ -222,7 +222,7 @@ export default function DatasetDetail() {
<Tabs activeKey={activeTab} items={tabList} onChange={setActiveTab} />
<div className="h-full overflow-auto">
{activeTab === "overview" && (
<Overview dataset={dataset} filesOperation={filesOperation} />
<Overview dataset={dataset} filesOperation={filesOperation} fetchDataset={fetchDataset}/>
)}
{activeTab === "lineage" && <DataLineageFlow dataset={dataset} />}
{activeTab === "quality" && <DataQuality />}

View File

@@ -1,4 +1,4 @@
import { Select, Input, Form, Radio, Modal, Button, UploadFile } from "antd";
import { Select, Input, Form, Radio, Modal, Button, UploadFile, Switch } from "antd";
import { InboxOutlined } from "@ant-design/icons";
import { dataSourceOptions } from "../../dataset.const";
import { Dataset, DataSource } from "../../dataset.model";
@@ -51,6 +51,7 @@ export default function ImportConfiguration({
dataset,
files: fileSliceList,
updateEvent,
hasArchive: importConfig.hasArchive,
},
})
);
@@ -195,29 +196,39 @@ export default function ImportConfiguration({
{/* Local Upload Component */}
{importConfig?.source === DataSource.UPLOAD && (
<Form.Item
label="上传文件"
name="files"
rules={[
{
required: true,
message: "请上传文件",
},
]}
>
<Dragger
className="w-full"
onRemove={handleRemoveFile}
beforeUpload={handleBeforeUpload}
multiple
<>
<Form.Item
label="自动解压上传的压缩包"
name="hasArchive"
valuePropName="checked"
initialValue={true}
>
<p className="ant-upload-drag-icon">
<InboxOutlined />
</p>
<p className="ant-upload-text"></p>
<p className="ant-upload-hint"></p>
</Dragger>
</Form.Item>
<Switch />
</Form.Item>
<Form.Item
label="上传文件"
name="files"
rules={[
{
required: true,
message: "请上传文件",
},
]}
>
<Dragger
className="w-full"
onRemove={handleRemoveFile}
beforeUpload={handleBeforeUpload}
multiple
>
<p className="ant-upload-drag-icon">
<InboxOutlined />
</p>
<p className="ant-upload-text"></p>
<p className="ant-upload-hint"></p>
</Dragger>
</Form.Item>
</>
)}
{/* Target Configuration */}

View File

@@ -3,7 +3,7 @@ import { formatBytes, formatDateTime } from "@/utils/unit";
import { Download, Trash2 } from "lucide-react";
import { datasetTypeMap } from "../../dataset.const";
export default function Overview({ dataset, filesOperation }) {
export default function Overview({ dataset, filesOperation, fetchDataset }) {
const {
fileList,
pagination,
@@ -73,6 +73,11 @@ export default function Overview({ dataset, filesOperation }) {
label: "存储路径",
children: dataset.targetLocation || "未知",
},
{
key: "pvcName",
label: "存储名称",
children: dataset.pvcName || "未知",
},
{
key: "createdAt",
label: "创建时间",
@@ -129,7 +134,11 @@ export default function Overview({ dataset, filesOperation }) {
<Button
size="small"
type="link"
onClick={() => handleDeleteFile(record)}
onClick={async () => {
await handleDeleteFile(record);
fetchDataset()
}
}
>
</Button>

View File

@@ -101,4 +101,5 @@ export interface TaskItem {
cancelFn?: () => void;
updateEvent?: string;
size?: number;
hasArchive?: boolean;
}