fix:面包屑修改
This commit is contained in:
@@ -30,16 +30,74 @@ export const useBreadcrumbManager = (options?: BreadcrumbOptions) => {
|
||||
const updateBreadcrumbs = useCallback((breadcrumbPath: BreadcrumbPath) => {
|
||||
const breadcrumbType = options?.breadcrumbType || 'list';
|
||||
|
||||
// 获取基础面包屑,对于详情页面,使用列表页面的基础面包屑作为起点
|
||||
const baseBreadcrumbs = breadcrumbType === 'list'
|
||||
? (allBreadcrumbs['space'] || [])
|
||||
: (allBreadcrumbs['space'] || []); // 详情页面也从 space 获取基础面包屑
|
||||
// 对于详情页面,直接使用固定的知识库管理面包屑,不依赖可能被污染的 allBreadcrumbs
|
||||
let baseBreadcrumbs: MenuItem[] = [];
|
||||
|
||||
// 只保留知识库菜单项之前的面包屑
|
||||
const knowledgeBaseMenuIndex = baseBreadcrumbs.findIndex(item => item.path === '/knowledge-base');
|
||||
const filteredBaseBreadcrumbs = knowledgeBaseMenuIndex >= 0
|
||||
? baseBreadcrumbs.slice(0, knowledgeBaseMenuIndex + 1)
|
||||
: baseBreadcrumbs;
|
||||
if (breadcrumbType === 'detail') {
|
||||
// 详情页面:始终使用固定的知识库管理面包屑
|
||||
baseBreadcrumbs = [
|
||||
{
|
||||
id: 6,
|
||||
parent: 0,
|
||||
code: 'knowledge',
|
||||
label: '知识库',
|
||||
i18nKey: 'menu.knowledgeManagement',
|
||||
path: '/knowledge-base',
|
||||
enable: true,
|
||||
display: true,
|
||||
level: 1,
|
||||
sort: 0,
|
||||
icon: null,
|
||||
iconActive: null,
|
||||
menuDesc: null,
|
||||
deleted: null,
|
||||
updateTime: 0,
|
||||
new_: null,
|
||||
keepAlive: false,
|
||||
master: null,
|
||||
disposable: false,
|
||||
appSystem: null,
|
||||
subs: [],
|
||||
}
|
||||
];
|
||||
} else {
|
||||
// 列表页面:从 space 获取基础面包屑,但确保包含知识库管理
|
||||
const spaceBreadcrumbs = allBreadcrumbs['space'] || [];
|
||||
const knowledgeBaseMenuIndex = spaceBreadcrumbs.findIndex(item => item.path === '/knowledge-base');
|
||||
|
||||
if (knowledgeBaseMenuIndex >= 0) {
|
||||
baseBreadcrumbs = spaceBreadcrumbs.slice(0, knowledgeBaseMenuIndex + 1);
|
||||
} else {
|
||||
// 如果没有找到知识库菜单,使用默认的知识库管理面包屑
|
||||
baseBreadcrumbs = [
|
||||
{
|
||||
id: 6,
|
||||
parent: 0,
|
||||
code: 'knowledge',
|
||||
label: '知识库',
|
||||
i18nKey: 'menu.knowledgeManagement',
|
||||
path: '/knowledge-base',
|
||||
enable: true,
|
||||
display: true,
|
||||
level: 1,
|
||||
sort: 0,
|
||||
icon: null,
|
||||
iconActive: null,
|
||||
menuDesc: null,
|
||||
deleted: null,
|
||||
updateTime: 0,
|
||||
new_: null,
|
||||
keepAlive: false,
|
||||
master: null,
|
||||
disposable: false,
|
||||
appSystem: null,
|
||||
subs: [],
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
const filteredBaseBreadcrumbs = baseBreadcrumbs;
|
||||
|
||||
// 给"知识库管理"添加点击事件
|
||||
const breadcrumbsWithClick = filteredBaseBreadcrumbs.map((item) => {
|
||||
|
||||
@@ -613,6 +613,8 @@ export const en = {
|
||||
answer: 'Answer',
|
||||
normalMode: 'Normal Mode',
|
||||
qaMode: 'QA Mode',
|
||||
fileParsingSettings: 'File Parsing Settings',
|
||||
pdfEnhancementAnalysis: 'PDF Enhancement Analysis',
|
||||
createForm:{
|
||||
name: 'Name',
|
||||
embedding_id: 'Embedding',
|
||||
|
||||
@@ -237,6 +237,8 @@ export const zh = {
|
||||
answer: '答案',
|
||||
normalMode: '常规模式',
|
||||
qaMode: '问答模式',
|
||||
fileParsingSettings: '文件解析设置',
|
||||
pdfEnhancementAnalysis: 'PDF增强解析',
|
||||
createForm: {
|
||||
name: '名称',
|
||||
embedding_id: '嵌入模型',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useMemo,useRef, useState, useEffect } from 'react';
|
||||
import { Button, Flex, Radio, Steps, Modal, Input, Spin,message} from 'antd';
|
||||
import { Button, Flex, Radio, Steps, Modal, Input, Spin, message, Checkbox} from 'antd';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useLocation, useNavigate, useParams } from 'react-router-dom';
|
||||
import Table, { type TableRef } from '@/components/Table'
|
||||
@@ -81,6 +81,7 @@ const CreateDataset = () => {
|
||||
const [blockSize, setBlockSize] = useState<number>(130);
|
||||
const [processingMethod, setProcessingMethod] = useState<ProcessingMethod>('directBlock');
|
||||
const [parameterSettings, setParameterSettings] = useState<ParameterSettings>('defaultSettings');
|
||||
const [pdfEnhancementEnabled, setPdfEnhancementEnabled] = useState<boolean>(false);
|
||||
const [messageApi, contextHolder] = message.useMessage();
|
||||
const fileType = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'csv', 'md', 'htm', 'html', 'json', 'ppt', 'pptx', 'txt','png','jpg']
|
||||
const steps = useMemo(
|
||||
@@ -469,6 +470,26 @@ const CreateDataset = () => {
|
||||
</div>
|
||||
)}
|
||||
<div className='rb:text-base rb:font-medium rb:text-gray-800'>
|
||||
{t('knowledgeBase.fileParsingSettings')}
|
||||
</div>
|
||||
<div className='rb:mt-4'>
|
||||
<div
|
||||
className={`rb:flex rb:items-center rb:w-full rb:border rb:rounded-lg rb:p-4 rb:cursor-pointer ${
|
||||
pdfEnhancementEnabled ? 'rb:border-blue-500' : 'rb:border-gray-300'
|
||||
}`}
|
||||
onClick={() => setPdfEnhancementEnabled(!pdfEnhancementEnabled)}
|
||||
>
|
||||
<Checkbox
|
||||
checked={pdfEnhancementEnabled}
|
||||
onChange={(e) => setPdfEnhancementEnabled(e.target.checked)}
|
||||
className='rb:mr-3'
|
||||
/>
|
||||
<span className='rb:text-base rb:font-medium rb:text-gray-800 rb:pl-[22px]'>
|
||||
{t('knowledgeBase.pdfEnhancementAnalysis')}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className='rb:text-base rb:font-medium rb:text-gray-800 rb:mt-6'>
|
||||
{t('knowledgeBase.dataProcessingSettings')}
|
||||
</div>
|
||||
<div className='rb:font-medium rb:text-gray-500 rb:mt-4 rb:mb-3'>
|
||||
|
||||
@@ -118,6 +118,17 @@ const Private: FC = () => {
|
||||
let url = `/documents/${knowledgeBaseId}/documents`;
|
||||
setTableApi(url);
|
||||
fetchKnowledgeBaseDetail(knowledgeBaseId);
|
||||
|
||||
// 立即设置基础面包屑,确保不会显示其他页面的面包屑
|
||||
updateBreadcrumbs({
|
||||
knowledgeBaseFolderPath,
|
||||
knowledgeBase: {
|
||||
id: knowledgeBaseId,
|
||||
name: '加载中...',
|
||||
type: 'knowledgeBase'
|
||||
},
|
||||
documentFolderPath: folderPath,
|
||||
});
|
||||
}
|
||||
}, [knowledgeBaseId]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user