[dev]add create knowledgebase dep&group options, permissionpages permission

This commit is contained in:
susie-laptop 2025-04-02 20:00:46 -04:00
parent 6d641bb309
commit 30a8f474ec
5 changed files with 22 additions and 31 deletions

View File

@ -83,8 +83,8 @@ const CreateKnowledgeBaseModal = ({
const availableTypes = getAvailableTypes();
//
const isMemberTypeSelected = formData.type === 'member';
const needSelectGroup = isMemberTypeSelected;
const needDepartmentAndGroup = formData.type === 'member' || formData.type === 'leader';
const needSelectGroup = needDepartmentAndGroup;
return (
<div
@ -179,8 +179,8 @@ const CreateKnowledgeBaseModal = ({
{formErrors.type && <div className='text-danger small mt-1'>{formErrors.type}</div>}
</div>
{/* 仅当不是私有知识库时才显示部门选项 */}
{formData.type === 'member' && (
{/* 仅当不是私有知识库且需要部门和组别时才显示部门选项 */}
{needDepartmentAndGroup && (
<div className='mb-3'>
<label htmlFor='department' className='form-label'>
部门 {isAdmin && needSelectGroup && <span className='text-danger'>*</span>}
@ -219,8 +219,8 @@ const CreateKnowledgeBaseModal = ({
</div>
)}
{/* 仅当不是私有知识库时才显示组别选项 */}
{formData.type === 'member' && (
{/* 仅当不是私有知识库且需要部门和组别时才显示组别选项 */}
{needDepartmentAndGroup && (
<div className='mb-3'>
<label htmlFor='group' className='form-label'>
组别 {needSelectGroup && <span className='text-danger'>*</span>}

View File

@ -68,16 +68,14 @@ export default function HeaderWithNav() {
Chat
</Link>
</li>
{hasManagePermission && (
<li className='nav-item'>
<Link
className={`nav-link ${isActive('/permissions') ? 'active' : ''}`}
to='/permissions'
>
权限管理
</Link>
</li>
)}
<li className='nav-item'>
<Link
className={`nav-link ${isActive('/permissions') ? 'active' : ''}`}
to='/permissions'
>
权限管理
</Link>
</li>
</ul>
{!!user ? (
<div className='d-flex align-items-center gap-3'>

View File

@ -242,8 +242,8 @@ export default function KnowledgeBase() {
const errors = {};
const isAdmin = currentUser?.role === 'admin';
const isLeader = currentUser?.role === 'leader';
// member
const needSelectGroup = newKnowledgeBase.type === 'member';
// member
const needDepartmentAndGroup = newKnowledgeBase.type === 'member' || newKnowledgeBase.type === 'leader';
//
const isPrivate = newKnowledgeBase.type === 'private';
@ -259,16 +259,16 @@ export default function KnowledgeBase() {
errors.type = '请选择知识库类型';
}
// member
if (needSelectGroup && !isPrivate) {
// memberleader
if (needDepartmentAndGroup && !isPrivate) {
//
if (isAdmin && !newKnowledgeBase.department) {
errors.department = '创建member级别知识库时必须选择部门';
errors.department = `创建${newKnowledgeBase.type === 'leader' ? '组长级' : '组内'}知识库时必须选择部门`;
}
// member
// memberleader
if (!newKnowledgeBase.group) {
errors.group = '创建member级别知识库时必须选择组别';
errors.group = `创建${newKnowledgeBase.type === 'leader' ? '组长级' : '组内'}知识库时必须选择组别`;
}
}

View File

@ -6,15 +6,8 @@ import UserPermissions from './components/UserPermissions';
import './Permissions.css';
export default function PermissionsPage() {
const navigate = useNavigate();
const { user } = useSelector((state) => state.auth);
// leader admin
useEffect(() => {
if (!user || (user.role !== 'leader' && user.role !== 'admin')) {
navigate('/');
}
}, [user, navigate]);
return (
<div className='permissions-container'>

View File

@ -72,7 +72,7 @@ function AppRouter() {
</Mainlayout>
}
/>
{/* 权限管理页面路由 - 仅对 leader 或 admin 角色可见 */}
{/* 权限管理页面路由 */}
<Route
path='/permissions'
element={