feat: Morefiled of folder and knowledge

This commit is contained in:
zhangzhanwei 2025-07-21 15:13:14 +08:00 committed by zhanweizhang7
parent e85d5b9714
commit a725783579
4 changed files with 38 additions and 19 deletions

View File

@ -54,7 +54,9 @@
class="mr-16" class="mr-16"
> >
<el-dropdown trigger="click" :teleported="false"> <el-dropdown trigger="click" :teleported="false">
<el-button text class="w-full"> <el-button text class="w-full"
v-if="MoreFilledPermission(node)"
>
<el-icon><MoreFilled /></el-icon> <el-icon><MoreFilled /></el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
@ -156,6 +158,14 @@ const permissionPrecise = computed(() => {
return permissionMap[resourceType.value!]['workspace'] return permissionMap[resourceType.value!]['workspace']
}) })
const MoreFilledPermission = (node: any) =>{
return (
(node.level !== 3 && permissionPrecise.value.folderCreate()) ||
permissionPrecise.value.folderEdit() ||
permissionPrecise.value.folderDelete()
)
}
const { folder } = useStore() const { folder } = useStore()
onBeforeRouteLeave((to, from) => { onBeforeRouteLeave((to, from) => {
folder.setCurrentFolder({}) folder.setCurrentFolder({})

View File

@ -35,8 +35,8 @@ const workspace = {
[ [
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole, PermissionConst.KNOWLEDGE_SYNC.getWorkspacePermissionWorkspaceManageRole,
], ],
'OR', 'OR',
), ),
@ -45,8 +45,8 @@ const workspace = {
[ [
new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'), new ComplexPermission([RoleConst.USER],[PermissionConst.KNOWLEDGE.getKnowledgeWorkspaceResourcePermission(source_id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id), PermissionConst.KNOWLEDGE_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole, PermissionConst.KNOWLEDGE_VECTOR.getWorkspacePermissionWorkspaceManageRole,
], ],
'OR', 'OR',
), ),

View File

@ -363,6 +363,18 @@ const systemRouter = {
[EditionConst.IS_EE], [EditionConst.IS_EE],
'OR', 'OR',
), ),
new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_TOOL_READ],
[EditionConst.IS_EE],
'OR',
),
new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_MODEL_READ],
[EditionConst.IS_EE],
'OR',
),
], ],
}, },
children: [ children: [
@ -381,18 +393,6 @@ const systemRouter = {
[EditionConst.IS_EE], [EditionConst.IS_EE],
'OR', 'OR',
), ),
new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_TOOL_READ],
[EditionConst.IS_EE],
'OR',
),
new ComplexPermission(
[RoleConst.ADMIN],
[PermissionConst.SHARED_MODEL_READ],
[EditionConst.IS_EE],
'OR',
),
], ],
}, },
component: () => import('@/views/system-shared/KnowLedgeSharedIndex.vue'), component: () => import('@/views/system-shared/KnowLedgeSharedIndex.vue'),

View File

@ -219,7 +219,9 @@
<template #mouseEnter> <template #mouseEnter>
<div @click.stop v-if="!isShared"> <div @click.stop v-if="!isShared">
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop
v-if="MoreFilledPermission(item)"
>
<el-icon> <el-icon>
<MoreFilled /> <MoreFilled />
</el-icon> </el-icon>
@ -243,7 +245,7 @@
<el-dropdown-item <el-dropdown-item
icon="Connection" icon="Connection"
@click.stop="openGenerateDialog(item)" @click.stop="openGenerateDialog(item)"
v-if="permissionPrecise.doc_generate(item.id)" v-if="permissionPrecise.generate(item.id)"
>{{ $t('views.document.generateQuestion.title') }} >{{ $t('views.document.generateQuestion.title') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
@ -373,6 +375,13 @@ const isSystemShare = computed(() => {
return apiType.value === 'systemShare' return apiType.value === 'systemShare'
}) })
const MoreFilledPermission = (item: any) => {
return (item.type === 1 && permissionPrecise.value.sync(item.id)) ||
permissionPrecise.value.vector(item.id) || permissionPrecise.value.generate(item.id) ||
permissionPrecise.value.edit(item.id) && apiType.value === 'workspace' ||
permissionPrecise.value.export(item.id) || permissionPrecise.value.delete(item.id) || isSystemShare.value
}
const loading = ref(false) const loading = ref(false)
const search_type = ref('name') const search_type = ref('name')