From 10fad39e02272c759a875b7a7e913d844089647c Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Sun, 1 Feb 2026 23:26:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(KnowledgeManagement):=20=E4=B8=BA=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E9=9B=86=E8=AF=A6=E6=83=85=E9=A1=B5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 updateKnowledgeSetByIdUsingPut、createDatasetTagUsingPost 和 queryDatasetTagsUsingGet API - 添加 Clock 图标用于显示更新时间 - 替换条目数和更新时间的图标为 File 和 Clock 组件 - 配置标签组件以支持添加、获取和创建标签 - 实现标签的创建和添加逻辑 - 集成标签的异步加载和更新功能 --- .../Detail/KnowledgeSetDetail.tsx | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/KnowledgeManagement/Detail/KnowledgeSetDetail.tsx b/frontend/src/pages/KnowledgeManagement/Detail/KnowledgeSetDetail.tsx index ffc6c43..7f02846 100644 --- a/frontend/src/pages/KnowledgeManagement/Detail/KnowledgeSetDetail.tsx +++ b/frontend/src/pages/KnowledgeManagement/Detail/KnowledgeSetDetail.tsx @@ -28,7 +28,12 @@ import { queryKnowledgeItemsUsingGet, queryKnowledgeItemPreviewStatusUsingGet, queryKnowledgeSetByIdUsingGet, + updateKnowledgeSetByIdUsingPut, } from "../knowledge-management.api"; +import { + createDatasetTagUsingPost, + queryDatasetTagsUsingGet, +} from "../../DataManagement/dataset.api"; import { knowledgeContentTypeOptions, knowledgeSourceTypeOptions, @@ -48,7 +53,7 @@ import CreateKnowledgeSet from "../components/CreateKnowledgeSet"; import KnowledgeItemEditor from "../components/KnowledgeItemEditor"; import ImportKnowledgeItemsDialog from "../components/ImportKnowledgeItemsDialog"; import { formatDate } from "@/utils/unit"; -import { File, Folder } from "lucide-react"; +import { File, Folder, Clock } from "lucide-react"; import { PREVIEW_TEXT_MAX_LENGTH, resolvePreviewFileType, @@ -527,14 +532,12 @@ const KnowledgeSetDetail = () => { () => [ { key: "items", - icon: , - label: "条目数", + icon: , value: allItems.length, }, { key: "updated", - icon: , - label: "更新时间", + icon: , value: knowledgeSet?.updatedAt ? formatDate(knowledgeSet.updatedAt) : "-", }, ], @@ -916,6 +919,38 @@ const KnowledgeSetDetail = () => { }, }, ]} + tagConfig={{ + showAdd: true, + tags: (knowledgeSet?.tags || []) as any, + onFetchTags: async () => { + const res = await queryDatasetTagsUsingGet({ + page: 0, + pageSize: 1000, + }); + return res.data || []; + }, + onCreateAndTag: async (tagName) => { + const res = await createDatasetTagUsingPost({ name: tagName }); + if (res.data && knowledgeSet) { + const currentTags = knowledgeSet.tags || []; + await updateKnowledgeSetByIdUsingPut(knowledgeSet.id, { + tags: [...currentTags.map((tag) => tag.name), res.data.name], + }); + fetchKnowledgeSet(); + } + }, + onAddTag: async (tag: any) => { + if (knowledgeSet) { + const currentTags = knowledgeSet.tags || []; + const newTagName = typeof tag === "string" ? tag : tag?.name; + if (!newTagName) return; + await updateKnowledgeSetByIdUsingPut(knowledgeSet.id, { + tags: [...currentTags.map((tag) => tag.name), newTagName], + }); + fetchKnowledgeSet(); + } + }, + }} />