import { Spin } from 'antd'; import DatasetLayout from './layout'; import DocumentList from './document-list'; import DocumentDetail from './document-detail'; import RetrieveTest from './retrieve-test'; import DatasetSettings from './dataset-settings'; import AreaDatasetConfig from './area-dataset-config'; import { useDatasetManager } from '~/hooks/dify-dataset-manager'; import { usePermission } from '~/hooks/usePermission'; import '../../styles/components/dify-dataset-manager/index.css'; /** * 知识库管理主组件 * 带左侧菜单栏的完整布局 */ export default function DatasetManager() { const { // 状态 dataset, loadingDataset, documents, loadingDocuments, documentTotal, documentPage, documentPageSize, inited, error, activeTab, selectedDocument, // 知识库列表(基于权限) availableDatasets, loadingAvailableDatasets, // 方法 handlePageChange, handleDocumentDeleted, handleDocumentStatusChanged, handleRefresh, handleViewDocument, handleBackToDocuments, handleTabChange, handleDatasetUpdated, handleDatasetChange, } = useDatasetManager(); // 判断当前用户是否能编辑当前知识库(省级管理员可编辑全部,市级管理员只能编辑本地区) const { userRole, userArea } = usePermission(); const canEditDataset = userRole === 'provincial_admin' || ((dataset as any)?.area === userArea); // 加载中状态 if (!inited || loadingDataset) { return (
{error}