diff --git a/web/src/views/KnowledgeBase/index.tsx b/web/src/views/KnowledgeBase/index.tsx index 1ad6997b..165c16f9 100644 --- a/web/src/views/KnowledgeBase/index.tsx +++ b/web/src/views/KnowledgeBase/index.tsx @@ -1,7 +1,7 @@ import { useEffect, useState, useRef, useMemo, useCallback, type FC } from 'react'; import { Row, Col, Button, Dropdown, Modal, message, Tooltip } from 'antd' import type { MenuProps } from 'antd'; -import { EllipsisOutlined } from '@ant-design/icons'; +import { EllipsisOutlined, RightOutlined, DownOutlined } from '@ant-design/icons'; import { useNavigate, useLocation } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; @@ -185,7 +185,7 @@ const KnowledgeBaseManagement: FC = () => { } }; const formatData = (data: KnowledgeBaseListItem) => { - const keys: (keyof KnowledgeBaseListItem)[] = ['type', 'permission_id'] + const keys: (keyof KnowledgeBaseListItem)[] = ['permission_id','type'] return keys.map(key => ({ key, label: t(`knowledgeBase.${key}`), @@ -569,7 +569,9 @@ const KnowledgeBaseManagement: FC = () => { e.stopPropagation()}> @@ -578,41 +580,57 @@ const KnowledgeBaseManagement: FC = () => { } > -
handleToDetail(item)}> -
+
handleToDetail(item)}> +
+ {/*
{t('knowledgeBase.description')}
*/} + +
{(item.description && item.description != '') ? item.description : t('knowledgeBase.noDescription')}
+
+
+
{item.descriptionItems?.map((description: Record) => (
-
{(description.label as string)}
+
{(description.label as string)}
{(description.children as string)}
))} - {item.description && ( -
-
{t('knowledgeBase.description')}
- -
{item.description || t('knowledgeBase.noDescription')}
-
-
- )} +
{hasModelInfo && ( - +
e.stopPropagation()}>
e.stopPropagation()} + className="rb:flex rb:items-center rb:pt-2 rb:px-2 rb:text-[12px] rb:leading-5 rb:cursor-pointer rb:rounded rb:transition-colors" + onClick={() => { + setData(prev => prev.map(d => d.id === item.id ? { ...d, _expanded: !d._expanded } : d)); + }} > - {t('knowledgeBase.models')}: - - {modelInfo.summary.join('、')} - + {/* {t('knowledgeBase.models')}: */} + + {modelInfo.summary[0].split(':')[0]}:{modelInfo.summary[0].split(':').slice(1).join(':')} + + + {item._expanded ? : } +
- + {item._expanded && ( +
+ {modelInfo.summary.slice(1).map((text, idx) => { + const [label, value] = text.split(':'); + return ( +
+ {label}:{value} +
+ ); + })} +
+ )} +
)}
diff --git a/web/src/views/KnowledgeBase/types.ts b/web/src/views/KnowledgeBase/types.ts index 373de344..f5abf955 100644 --- a/web/src/views/KnowledgeBase/types.ts +++ b/web/src/views/KnowledgeBase/types.ts @@ -283,6 +283,7 @@ export interface KnowledgeBaseListItem extends KnowledgeBase { reranker?: Model; llm?: Model; image2text?: Model; + _expanded?: boolean; } // 知识库列表响应