import Checkbox from "@mui/material/Checkbox"; import Drawer from "@mui/material/Drawer"; import TextField from "@mui/material/TextField"; import { Button } from "@/shared/ui/Button.jsx"; export function RoleFormDrawer({ abilities, editingRole, form, onClose, onSubmit, onTogglePermissionGroup, onTogglePermission, open, permissionGroups, setForm }) { return (

{editingRole ? "编辑角色" : "新增角色"}

基础信息
setForm({ ...form, name: event.target.value })} /> setForm({ ...form, code: event.target.value })} /> setForm({ ...form, description: event.target.value })} />
{abilities.canLoadPermissions ? (
权限范围
{permissionGroups.map((group) => ( ))}
) : null}
); } function PermissionMenuGroup({ abilities, group, onTogglePermission, onTogglePermissionGroup, permissionIds }) { const groupPermissionIds = group.items.map((permission) => permission.id); const selectedCount = groupPermissionIds.filter((permissionId) => permissionIds.includes(permissionId)).length; const allSelected = selectedCount === groupPermissionIds.length; const partiallySelected = selectedCount > 0 && !allSelected; return (
{group.title}
{selectedCount}/{groupPermissionIds.length}
{group.items.map((permission) => ( ))}
); }