diff --git a/ui/src/permission/application/system-manage.ts b/ui/src/permission/application/system-manage.ts
index 2e2058e06ab..b2d5963961c 100644
--- a/ui/src/permission/application/system-manage.ts
+++ b/ui/src/permission/application/system-manage.ts
@@ -2,7 +2,9 @@ import {hasPermission} from '@/utils/permission/index'
import {PermissionConst, RoleConst} from '@/utils/permission/data'
const systemManage = {
- create: () => false,
+ create: () => false,
+ batchDelete: () => false,
+ batchMove: () => false,
folderCreate: () => false,
edit: () =>
hasPermission(
diff --git a/ui/src/permission/application/workspace.ts b/ui/src/permission/application/workspace.ts
index c06eb599c80..b651758eb45 100644
--- a/ui/src/permission/application/workspace.ts
+++ b/ui/src/permission/application/workspace.ts
@@ -13,6 +13,26 @@ const workspace = {
],
'OR'
),
+ batchDelete: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.APPLICATION_BATCH_DELETE.getWorkspacePermission,
+ PermissionConst.APPLICATION_BATCH_DELETE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
+ batchMove: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.APPLICATION_BATCH_MOVE.getWorkspacePermission,
+ PermissionConst.APPLICATION_BATCH_MOVE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
folderCreate: (folder_id: string) =>
hasPermission(
[
diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts
index 6dd584275b9..22fd7dbe8cf 100644
--- a/ui/src/permission/knowledge/system-manage.ts
+++ b/ui/src/permission/knowledge/system-manage.ts
@@ -13,6 +13,8 @@ const systemManage = {
'OR',
),
create: () => false,
+ batchDelete: () => false,
+ batchMove: () => false,
sync: () => hasPermission(
[
RoleConst.ADMIN,
diff --git a/ui/src/permission/knowledge/system-share.ts b/ui/src/permission/knowledge/system-share.ts
index 49af50b8fb6..c1301f6b766 100644
--- a/ui/src/permission/knowledge/system-share.ts
+++ b/ui/src/permission/knowledge/system-share.ts
@@ -4,6 +4,8 @@ import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/dat
const share = {
is_share: () => false,
create: () => hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_CREATE], 'OR'),
+ batchDelete: () => false,
+ batchMove: () => false,
sync: () => hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_SYNC], 'OR'),
vector: () => hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_VECTOR], 'OR'),
generate: () => hasPermission([RoleConst.ADMIN, PermissionConst.SHARED_KNOWLEDGE_GENERATE], 'OR'),
diff --git a/ui/src/permission/knowledge/workspace-share.ts b/ui/src/permission/knowledge/workspace-share.ts
index b72526b4831..96d85a5f427 100644
--- a/ui/src/permission/knowledge/workspace-share.ts
+++ b/ui/src/permission/knowledge/workspace-share.ts
@@ -4,6 +4,8 @@ import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/dat
const workspaceShare = {
is_share: () => true,
create: () => false,
+ batchDelete: () => false,
+ batchMove: () => false,
sync: () => false,
vector: () => false,
generate: () => false,
diff --git a/ui/src/permission/knowledge/workspace.ts b/ui/src/permission/knowledge/workspace.ts
index 5aafa12edd4..e95fa85ae12 100644
--- a/ui/src/permission/knowledge/workspace.ts
+++ b/ui/src/permission/knowledge/workspace.ts
@@ -25,6 +25,26 @@ const workspace = {
],
'OR',
),
+ batchDelete: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.KNOWLEDGE_BATCH_DELETE.getWorkspacePermission,
+ PermissionConst.KNOWLEDGE_BATCH_DELETE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
+ batchMove: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.KNOWLEDGE_BATCH_MOVE.getWorkspacePermission,
+ PermissionConst.KNOWLEDGE_BATCH_MOVE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
folderRead: (folder_id: string) =>
hasPermission(
[
diff --git a/ui/src/permission/tool/system-manage.ts b/ui/src/permission/tool/system-manage.ts
index 1704887750f..51e75e7c3ab 100644
--- a/ui/src/permission/tool/system-manage.ts
+++ b/ui/src/permission/tool/system-manage.ts
@@ -63,6 +63,8 @@ const systemManage = {
'OR'
),
create: () => false,
+ batchDelete: () => false,
+ batchMove: () => false,
import: () => false,
switch: () =>
hasPermission(
diff --git a/ui/src/permission/tool/system-share.ts b/ui/src/permission/tool/system-share.ts
index 4ebca8a7e71..683150ccd57 100644
--- a/ui/src/permission/tool/system-share.ts
+++ b/ui/src/permission/tool/system-share.ts
@@ -21,6 +21,8 @@ const share = {
],
'OR',
),
+ batchDelete: () => false,
+ batchMove: () => false,
import: () =>
hasPermission(
[
diff --git a/ui/src/permission/tool/workspace.ts b/ui/src/permission/tool/workspace.ts
index 8c03b0fb578..1193f1429d6 100644
--- a/ui/src/permission/tool/workspace.ts
+++ b/ui/src/permission/tool/workspace.ts
@@ -31,6 +31,26 @@ const workspace = {
],
'OR'
),
+ batchDelete: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.TOOL_BATCH_DELETE.getWorkspacePermission,
+ PermissionConst.TOOL_BATCH_DELETE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
+ batchMove: () =>
+ hasPermission(
+ [
+ RoleConst.USER.getWorkspaceRole,
+ RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
+ PermissionConst.TOOL_BATCH_MOVE.getWorkspacePermission,
+ PermissionConst.TOOL_BATCH_MOVE.getWorkspacePermissionWorkspaceManageRole,
+ ],
+ 'OR',
+ ),
import: () =>
hasPermission(
[
diff --git a/ui/src/utils/permission/data.ts b/ui/src/utils/permission/data.ts
index 89fb7a5771b..9fa1aac7f0e 100644
--- a/ui/src/utils/permission/data.ts
+++ b/ui/src/utils/permission/data.ts
@@ -128,6 +128,15 @@ const PermissionConst = {
KNOWLEDGE_GENERATE: new Permission('KNOWLEDGE:READ+GENERATE'),
KNOWLEDGE_RELATE_RESOURCE_VIEW: new Permission('KNOWLEDGE:READ+RELATE_VIEW'),
+ KNOWLEDGE_BATCH_DELETE: new Permission('KNOWLEDGE:READ+BATCH_DELETE'),
+ KNOWLEDGE_BATCH_MOVE: new Permission('KNOWLEDGE:READ+BATCH_MOVE'),
+
+ APPLICATION_BATCH_DELETE: new Permission('APPLICATION:READ+BATCH_DELETE'),
+ APPLICATION_BATCH_MOVE: new Permission('APPLICATION:READ+BATCH_MOVE'),
+
+ TOOL_BATCH_DELETE: new Permission('TOOL:READ+BATCH_DELETE'),
+ TOOL_BATCH_MOVE: new Permission('TOOL:READ+BATCH_MOVE'),
+
KNOWLEDGE_WORKFLOW_READ: new Permission('KNOWLEDGE_WORKFLOW:READ'),
KNOWLEDGE_WORKFLOW_EDIT: new Permission('KNOWLEDGE_WORKFLOW:READ+EDIT'),
KNOWLEDGE_WORKFLOW_EXPORT: new Permission('KNOWLEDGE_WORKFLOW:READ+EXPORT'),
diff --git a/ui/src/views/application/index.vue b/ui/src/views/application/index.vue
index 83b2672e2de..f06dde7784c 100644
--- a/ui/src/views/application/index.vue
+++ b/ui/src/views/application/index.vue
@@ -61,7 +61,7 @@
-
+
{{ $t('views.paragraph.setting.batchSelected') }}
@@ -338,11 +338,12 @@
class="ml-16"
:disabled="multipleSelection.length === 0"
@click="openMoveToDialog()"
+ v-if="permissionPrecise.batchMove()"
>
{{ $t('common.moveTo') }}
-
+
{{ $t('common.delete') }}
diff --git a/ui/src/views/knowledge/component/KnowledgeListContainer.vue b/ui/src/views/knowledge/component/KnowledgeListContainer.vue
index 6e432e03f5c..f9de38ac7a1 100644
--- a/ui/src/views/knowledge/component/KnowledgeListContainer.vue
+++ b/ui/src/views/knowledge/component/KnowledgeListContainer.vue
@@ -35,7 +35,7 @@
-
+
{{ $t('views.paragraph.setting.batchSelected') }}
@@ -378,11 +378,16 @@
class="ml-16"
:disabled="multipleSelection.length === 0"
@click="openMoveToDialog()"
+ v-if="permissionPrecise.batchMove()"
>
{{ $t('common.moveTo') }}
-
+
{{ $t('common.delete') }}
diff --git a/ui/src/views/tool/component/ToolListContainer.vue b/ui/src/views/tool/component/ToolListContainer.vue
index 14079b63e11..e81794c646a 100644
--- a/ui/src/views/tool/component/ToolListContainer.vue
+++ b/ui/src/views/tool/component/ToolListContainer.vue
@@ -34,7 +34,7 @@
-
+
{{ $t('views.paragraph.setting.batchSelected') }}
@@ -422,11 +422,16 @@
class="ml-16"
:disabled="multipleSelection.length === 0"
@click="openMoveToDialog()"
+ v-if="permissionPrecise.batchMove()"
>
{{ $t('common.moveTo') }}
-
+
{{ $t('common.delete') }}