This commit is contained in:
liqiang-fit2cloud 2025-07-21 15:33:50 +08:00
commit 03f05ced27
5 changed files with 39 additions and 20 deletions

View File

@ -98,7 +98,7 @@ class ChatInfo:
if self.chat_user_type == ChatUserType.CHAT_USER.value and chat_user_model:
chat_user = QuerySet(chat_user_model).filter(id=self.chat_user_id).first()
return {
'id': chat_user.id,
'id': str(chat_user.id),
'email': chat_user.email,
'phone': chat_user.phone,
'nick_name': chat_user.nick_name,

View File

@ -54,7 +54,9 @@
class="mr-16"
>
<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-button>
<template #dropdown>
@ -156,6 +158,14 @@ const permissionPrecise = computed(() => {
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()
onBeforeRouteLeave((to, from) => {
folder.setCurrentFolder({})

View File

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

View File

@ -363,6 +363,18 @@ const systemRouter = {
[EditionConst.IS_EE],
'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: [
@ -381,18 +393,6 @@ const systemRouter = {
[EditionConst.IS_EE],
'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'),

View File

@ -219,7 +219,9 @@
<template #mouseEnter>
<div @click.stop v-if="!isShared">
<el-dropdown trigger="click">
<el-button text @click.stop>
<el-button text @click.stop
v-if="MoreFilledPermission(item)"
>
<el-icon>
<MoreFilled />
</el-icon>
@ -243,7 +245,7 @@
<el-dropdown-item
icon="Connection"
@click.stop="openGenerateDialog(item)"
v-if="permissionPrecise.doc_generate(item.id)"
v-if="permissionPrecise.generate(item.id)"
>{{ $t('views.document.generateQuestion.title') }}
</el-dropdown-item>
<el-dropdown-item
@ -373,6 +375,13 @@ const isSystemShare = computed(() => {
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 search_type = ref('name')