import React from 'react'; import SvgIcon from './SvgIcon'; /** * 创建知识库模态框组件 * @param {Object} props * @param {boolean} props.show - 是否显示弹窗 * @param {Object} props.formData - 表单数据 * @param {Object} props.formErrors - 表单错误信息 * @param {boolean} props.isSubmitting - 是否正在提交 * @param {Function} props.onClose - 关闭弹窗的回调函数 * @param {Function} props.onChange - 表单输入变化的回调函数 * @param {Function} props.onSubmit - 提交表单的回调函数 * @param {Object} props.currentUser - 当前用户信息 */ const CreateKnowledgeBaseModal = ({ show, formData, formErrors, isSubmitting, onClose, onChange, onSubmit, currentUser }) => { if (!show) return null; // 根据用户角色确定可以创建的知识库类型 const isAdmin = currentUser?.role === 'admin'; const isLeader = currentUser?.role === 'leader'; // 获取当前用户可以创建的知识库类型 const getAvailableTypes = () => { if (isAdmin) { return [ { value: 'admin', label: 'Admin 级知识库' }, { value: 'leader', label: 'Leader 级知识库' }, { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' }, { value: 'secret', label: '保密知识库' } ]; } else if (isLeader) { return [ { value: 'member', label: 'Member 级知识库' }, { value: 'private', label: '私有知识库' } ]; } else { return [ { value: 'private', label: '私有知识库' } ]; } }; const availableTypes = getAvailableTypes(); return (
新建知识库
{formErrors.name &&
{formErrors.name}
}
{formErrors.desc &&
{formErrors.desc}
}
{availableTypes.map((type, index) => (
))}
{!isAdmin && !isLeader && ( 注意:您当前只能创建私有知识库。其他类型需要更高权限。 )} {formErrors.type &&
{formErrors.type}
}
); }; export default CreateKnowledgeBaseModal;