diff --git a/src/hooks/web/usePermission.ts b/src/hooks/web/usePermission.ts index c367875f1..8a82d46a7 100644 --- a/src/hooks/web/usePermission.ts +++ b/src/hooks/web/usePermission.ts @@ -75,6 +75,14 @@ export function usePermission() { if (PermissionModeEnum.BACK === permMode) { const allCodeList = permissionStore.getPermCodeList as string[]; if (!isArray(value)) { + const splits = ['||', '&&']; + const splitName = splits.find((item) => value.includes(item)); + if (splitName) { + const splitCodes = value.split(splitName); + return splitName === splits[0] + ? intersection(splitCodes, allCodeList).length > 0 + : intersection(splitCodes, allCodeList).length === splitCodes.length; + } return allCodeList.includes(value); } return (intersection(value, allCodeList) as string[]).length > 0;