From 82e645765c843c629d3b7ddafd82db81a23fc168 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Tue, 14 Oct 2025 16:38:49 +0800 Subject: [PATCH] feat: Folder authorization frontend --- ui/src/api/system/resource-authorization.ts | 5 +- ui/src/components/folder-tree/index.vue | 31 +++++++++-- .../resource-authorization-drawer/index.vue | 29 ++++++++++- .../permission/application/system-manage.ts | 2 + ui/src/permission/application/workspace.ts | 20 +++++++ ui/src/permission/knowledge/system-manage.ts | 2 + ui/src/permission/knowledge/system-share.ts | 2 + .../permission/knowledge/workspace-share.ts | 2 + ui/src/permission/knowledge/workspace.ts | 2 + ui/src/permission/model/system-manage.ts | 5 +- ui/src/permission/model/system-share.ts | 2 + ui/src/permission/model/workspace.ts | 2 + ui/src/permission/tool/system-manage.ts | 3 ++ ui/src/permission/tool/system-share.ts | 3 ++ ui/src/permission/tool/workspace.ts | 2 + ui/src/utils/permission/data.ts | 7 +++ .../component/PermissionTable.vue | 28 +++++++++- .../system/resource-authorization/constant.ts | 10 +++- .../system/resource-authorization/index.vue | 52 +++++++++++++++++-- 19 files changed, 191 insertions(+), 18 deletions(-) diff --git a/ui/src/api/system/resource-authorization.ts b/ui/src/api/system/resource-authorization.ts index c9efbbd6b74..45078081845 100644 --- a/ui/src/api/system/resource-authorization.ts +++ b/ui/src/api/system/resource-authorization.ts @@ -12,12 +12,11 @@ const getResourceAuthorization: ( workspace_id: string, user_id: string, resource: string, - page: pageRequest, params?: any, loading?: Ref, -) => Promise> = (workspace_id, user_id, resource, page, params, loading) => { +) => Promise> = (workspace_id, user_id, resource, params, loading) => { return get( - `${prefix}/${workspace_id}/user_resource_permission/user/${user_id}/resource/${resource}/${page.current_page}/${page.page_size}`, + `${prefix}/${workspace_id}/user_resource_permission/user/${user_id}/resource/${resource}`, params, loading, ) diff --git a/ui/src/components/folder-tree/index.vue b/ui/src/components/folder-tree/index.vue index 9b719cdfb2b..e54db68c9ca 100644 --- a/ui/src/components/folder-tree/index.vue +++ b/ui/src/components/folder-tree/index.vue @@ -48,7 +48,7 @@
- + @@ -102,6 +115,7 @@ import { computed, onUnmounted, ref, watch } from 'vue' import { onBeforeRouteLeave } from 'vue-router' import type { TreeInstance } from 'element-plus' import CreateFolderDialog from '@/components/folder-tree/CreateFolderDialog.vue' +import ResourceAuthorizationDrawer from '@/components/resource-authorization-drawer/index.vue' import { t } from '@/locales' import { i18n_name } from '@/utils/common' import folderApi from '@/api/folder' @@ -255,6 +269,13 @@ function openEditFolder(row: Tree) { CreateFolderDialogRef.value.open(props.source, row.id, row) } +const currentNode = ref(null) +const ResourceAuthorizationDrawerRef = ref() +function openAuthorization(data: any) { + currentNode.value = data + ResourceAuthorizationDrawerRef.value.open(data.id) +} + function refreshFolder() { emit('refreshTree') } diff --git a/ui/src/components/resource-authorization-drawer/index.vue b/ui/src/components/resource-authorization-drawer/index.vue index b6213ff180e..26eadc37916 100644 --- a/ui/src/components/resource-authorization-drawer/index.vue +++ b/ui/src/components/resource-authorization-drawer/index.vue @@ -112,7 +112,7 @@ v-model="row.permission" @change="(val: any) => permissionsHandle(val, row)" > -