fix: Extends workspace manager system permission

This commit is contained in:
zhangzhanwei 2025-07-04 13:56:42 +08:00 committed by zhanweizhang7
parent a7f55e6c00
commit ea085a3832
3 changed files with 13 additions and 8 deletions

View File

@ -10,7 +10,11 @@
<div class="flex align-center mr-8"> <div class="flex align-center mr-8">
<TopAbout class="mt-4"></TopAbout> <TopAbout class="mt-4"></TopAbout>
<el-divider class="ml-8 mr-8" direction="vertical" /> <el-divider class="ml-8 mr-8" direction="vertical" />
<el-button link @click="router.push({ path: '/' })"> <el-button link @click="router.push({ path: '/' })"
v-if="hasPermission([RoleConst.USER.getWorkspaceRole,RoleConst.EXTENDS_USER.getWorkspaceRole,
RoleConst.EXTENDS_WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole
],'OR')"
>
<AppIcon class="mr-8" iconName="app-workspace" style="font-size: 16px"></AppIcon> <AppIcon class="mr-8" iconName="app-workspace" style="font-size: 16px"></AppIcon>
{{ $t('views.workspace.toWorkspace') }}</el-button {{ $t('views.workspace.toWorkspace') }}</el-button
> >
@ -20,9 +24,11 @@
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { RoleConst } from '@/utils/permission/data'
import Avatar from './avatar/index.vue' import Avatar from './avatar/index.vue'
import TopAbout from './top-about/index.vue' import TopAbout from './top-about/index.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { hasPermission } from '@/utils/permission'
const router = useRouter() const router = useRouter()
</script> </script>

View File

@ -55,8 +55,8 @@ const PermissionConst = {
WORKSPACE_REMOVE_MEMBER: new Permission('WORKSPACE:READ+REMOVE_MEMBER'), WORKSPACE_REMOVE_MEMBER: new Permission('WORKSPACE:READ+REMOVE_MEMBER'),
WORKSPACE_WORKSPACE_READ: new Permission('WORKSPACE_WORKSPACE:READ'), WORKSPACE_WORKSPACE_READ: new Permission('WORKSPACE_WORKSPACE:READ'),
WORKSPACE_WORKSPACE_ADD_MEMBER: new Permission('WORKSPACE:READ+ADD_MEMBER'), WORKSPACE_WORKSPACE_ADD_MEMBER: new Permission('WORKSPACE_WORKSPACE:READ+ADD_MEMBER'),
WORKSPACE_WORKSPACE_REMOVE_MEMBER: new Permission('WORKSPACE:READ+REMOVE_MEMBER'), WORKSPACE_WORKSPACE_REMOVE_MEMBER: new Permission('WORKSPACE_WORKSPACE:READ+REMOVE_MEMBER'),
WORKSPACE_CHAT_USER_READ: new Permission('WORKSPACE_CHAT_USER:READ'), WORKSPACE_CHAT_USER_READ: new Permission('WORKSPACE_CHAT_USER:READ'),
WORKSPACE_CHAT_USER_CREATE: new Permission('WORKSPACE_CHAT_USER:READ+CREATE'), WORKSPACE_CHAT_USER_CREATE: new Permission('WORKSPACE_CHAT_USER:READ+CREATE'),

View File

@ -5,8 +5,8 @@
@click="handleAdd" @click="handleAdd"
v-hasPermission=" v-hasPermission="
new ComplexPermission( new ComplexPermission(
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
[PermissionConst.WORKSPACE_ADD_MEMBER, PermissionConst.WORKSPACE_WORKSPACE_ADD_MEMBER], [PermissionConst.WORKSPACE_ADD_MEMBER, PermissionConst.WORKSPACE_WORKSPACE_ADD_MEMBER.getWorkspacePermissionWorkspaceManageRole],
[], [],
'OR',)" 'OR',)"
> >
@ -51,8 +51,8 @@
@click.stop="handleDelete(row)" @click.stop="handleDelete(row)"
v-hasPermission=" v-hasPermission="
new ComplexPermission( new ComplexPermission(
[RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE], [RoleConst.ADMIN, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],
[PermissionConst.WORKSPACE_REMOVE_MEMBER, PermissionConst.WORKSPACE_WORKSPACE_REMOVE_MEMBER], [PermissionConst.WORKSPACE_REMOVE_MEMBER, PermissionConst.WORKSPACE_WORKSPACE_REMOVE_MEMBER.getWorkspacePermissionWorkspaceManageRole],
[], [],
'OR',)" 'OR',)"
> >
@ -74,7 +74,6 @@ import { onMounted, ref, reactive, watch } from 'vue'
import { MsgSuccess, MsgConfirm } from '@/utils/message' import { MsgSuccess, MsgConfirm } from '@/utils/message'
import { t } from '@/locales' import { t } from '@/locales'
import AddMemberDrawer from './AddMemberDrawer.vue' import AddMemberDrawer from './AddMemberDrawer.vue'
import WorkspaceApi from '@/api/workspace/workspace'
import type { WorkspaceMemberItem, WorkspaceItem } from '@/api/type/workspace' import type { WorkspaceMemberItem, WorkspaceItem } from '@/api/type/workspace'
import { PermissionConst, RoleConst } from '@/utils/permission/data' import { PermissionConst, RoleConst } from '@/utils/permission/data'
import { ComplexPermission } from '@/utils/permission/type' import { ComplexPermission } from '@/utils/permission/type'