mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 09:54:54 +00:00
feat: Knowledge permission list
This commit is contained in:
parent
66bb8f605d
commit
69e60b5800
|
|
@ -6,21 +6,33 @@ const workspace = {
|
|||
hasPermission(
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.SHARED_TOOL_READ],
|
||||
[PermissionConst.SHARED_KNOWLEDGE_READ],
|
||||
[EditionConst.IS_EE],
|
||||
'OR',
|
||||
),
|
||||
'OR',
|
||||
),
|
||||
delete: () =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.TOOL_DELETE.getWorkspacePermission,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
create: () => false,
|
||||
single: () => false,
|
||||
sync: () => false,
|
||||
vector: () => false,
|
||||
generate: () => false,
|
||||
setting: () => false,
|
||||
export: () => false,
|
||||
delete: () => false,
|
||||
|
||||
doc_create: () => false,
|
||||
doc_vector: () => false,
|
||||
doc_generate: () => false,
|
||||
doc_migrate: () => false,
|
||||
doc_edit: () => false,
|
||||
doc_sync: () => false,
|
||||
doc_delete: () => false,
|
||||
doc_export: () => false,
|
||||
|
||||
problem_create: () => false,
|
||||
problem_relate: () => false,
|
||||
problem_delete: () => false,
|
||||
}
|
||||
|
||||
export default workspace
|
||||
|
|
|
|||
|
|
@ -3,5 +3,24 @@ import { ComplexPermission } from '@/utils/permission/type'
|
|||
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
const share = {
|
||||
is_share: () => false,
|
||||
create: () => false,
|
||||
single: () => false,
|
||||
sync: () => false,
|
||||
vector: () => false,
|
||||
generate: () => false,
|
||||
setting: () => false,
|
||||
export: () => false,
|
||||
delete: () => false,
|
||||
|
||||
doc_create: () => false,
|
||||
doc_vector: () => false,
|
||||
doc_generate: () => false,
|
||||
doc_migrate: () => false,
|
||||
doc_edit: () => false,
|
||||
doc_sync: () => false,
|
||||
doc_delete: () => false,
|
||||
doc_export: () => false,
|
||||
|
||||
|
||||
}
|
||||
export default share
|
||||
|
|
|
|||
|
|
@ -6,12 +6,173 @@ const workspace = {
|
|||
hasPermission(
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.SHARED_TOOL_READ],
|
||||
[PermissionConst.SHARED_KNOWLEDGE_READ],
|
||||
[EditionConst.IS_EE],
|
||||
'OR',
|
||||
),
|
||||
'OR',
|
||||
),
|
||||
create: () =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
single: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_READ.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
sync: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
vector: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
generate: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_GENERATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
setting: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
export: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
delete: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_create: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_vector: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_generate: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_migrate: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_edit: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_sync: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_delete: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
doc_export: (source_id:string) =>
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getKnowledgeWorkspaceResourcePermission(source_id),
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
|
||||
],
|
||||
'OR',
|
||||
),
|
||||
}
|
||||
|
||||
export default workspace
|
||||
|
|
|
|||
|
|
@ -19,12 +19,6 @@ const DocumentRouter = {
|
|||
active: 'document',
|
||||
parentPath: '/knowledge/:id/:folderId',
|
||||
parentName: 'KnowledgeDetail',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_READ.getWorkspacePermissionWorkspaceManageRole
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/document/index.vue'),
|
||||
},
|
||||
|
|
@ -38,12 +32,6 @@ const DocumentRouter = {
|
|||
active: 'problem',
|
||||
parentPath: '/knowledge/:id/:folderId',
|
||||
parentName: 'KnowledgeDetail',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_READ.getWorkspacePermissionWorkspaceManageRole
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/problem/index.vue'),
|
||||
},
|
||||
|
|
@ -70,12 +58,6 @@ const DocumentRouter = {
|
|||
parentPath: '/knowledge/:id/:folderId',
|
||||
parentName: 'KnowledgeDetail',
|
||||
resourceType: ChatUserResourceEnum.KNOWLEDGE,
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermission,
|
||||
PermissionConst.WORKSPACE_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/chat-user/index.vue'),
|
||||
},
|
||||
|
|
@ -89,13 +71,6 @@ const DocumentRouter = {
|
|||
active: 'setting',
|
||||
parentPath: '/knowledge/:id/:folderId',
|
||||
parentName: 'KnowledgeDetail',
|
||||
permission: [
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermissionWorkspaceManageRole
|
||||
]
|
||||
|
||||
},
|
||||
component: () => import('@/views/knowledge/KnowledgeSetting.vue'),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ const PermissionConst = {
|
|||
KNOWLEDGE_EDIT: new Permission('KNOWLEDGE:READ+EDIT'),
|
||||
KNOWLEDGE_EXPORT: new Permission('KNOWLEDGE:READ+EXPORT'),
|
||||
KNOWLEDGE_DELETE: new Permission('KNOWLEDGE:READ+DELETE'),
|
||||
KNOWLEDGE_GENERATE: new Permission('KNOWLEDGE:READ+GENERATE'),
|
||||
|
||||
KNOWLEDGE_DOCUMENT_READ:new Permission('KNOWLEDGE_DOCUMENT:READ'),
|
||||
KNOWLEDGE_DOCUMENT_CREATE:new Permission('KNOWLEDGE_DOCUMENT:READ+CREATE'),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import useStore from '@/stores'
|
||||
import { useRoute } from 'vue-router'
|
||||
export type PF = () => Role | string | Permission | ComplexPermission
|
||||
export type CRF = () => Role | string
|
||||
export type CPF = () => Permission | string
|
||||
|
|
@ -69,6 +70,12 @@ export class Permission {
|
|||
getKnowledgeWorkspaceResourcePermission = (resource_id: string) => {
|
||||
return this.getWorkspaceResourcePermission('KNOWLEDGE', resource_id)
|
||||
}
|
||||
getTest=()=>{
|
||||
const route=useRoute()
|
||||
debugger
|
||||
console.log(route)
|
||||
return ""
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param resource_id 资源id
|
||||
|
|
|
|||
|
|
@ -7,73 +7,51 @@
|
|||
<div class="flex-between">
|
||||
<div>
|
||||
<el-button
|
||||
v-if="knowledgeDetail.type === 0"
|
||||
type="primary"
|
||||
v-if="knowledgeDetail.type === 0 &&
|
||||
permissionPrecise.doc_create(id)
|
||||
"
|
||||
type="danger"
|
||||
@click="
|
||||
router.push({ path: `/knowledge/document/upload/${folderId}`, query: { id: id } })
|
||||
"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
>{{ $t('views.document.uploadDocument') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="knowledgeDetail.type === 1"
|
||||
v-if="knowledgeDetail.type === 1 &&
|
||||
permissionPrecise.doc_create(id)
|
||||
"
|
||||
type="primary"
|
||||
@click="importDoc"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
>{{ $t('views.document.importDocument') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="knowledgeDetail.type === 2"
|
||||
v-if="knowledgeDetail.type === 2 &&
|
||||
permissionPrecise.doc_create(id)
|
||||
"
|
||||
type="primary"
|
||||
@click="
|
||||
router.push({
|
||||
path: `/knowledge/import`,
|
||||
query: { id: id, folder_token: knowledgeDetail.meta.folder_token },
|
||||
})"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
>{{ $t('views.document.importDocument') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
@click="batchRefresh"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
v-if="permissionPrecise.doc_vector(id)"
|
||||
>{{ $t('views.knowledge.setting.vectorization') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
@click="openGenerateDialog()"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
v-if="permissionPrecise.doc_generate(id)"
|
||||
>{{ $t('views.document.generateQuestion.title') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
@click="openknowledgeDialog()"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getKnowledgeWorkspaceResourcePermission(id),
|
||||
]"
|
||||
v-if="permissionPrecise.doc_migrate(id)"
|
||||
>{{ $t('views.document.setting.migration') }}
|
||||
</el-button>
|
||||
<el-dropdown>
|
||||
|
|
@ -87,10 +65,7 @@
|
|||
<el-dropdown-item
|
||||
@click="openBatchEditDocument"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getKnowledgeWorkspaceResourcePermission(id)],'OR')"
|
||||
v-if="permissionPrecise.doc_edit(id)"
|
||||
>
|
||||
{{ $t('common.setting') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -98,11 +73,9 @@
|
|||
divided
|
||||
@click="syncMulDocument"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-if="knowledgeDetail.type === 1 &&
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(id)],'OR')"
|
||||
v-if="
|
||||
permissionPrecise.doc_sync(id)
|
||||
"
|
||||
>{{ $t('views.document.syncDocument') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
|
|
@ -110,10 +83,8 @@
|
|||
@click="syncLarkMulDocument"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-if="knowledgeDetail.type === 2 &&
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getKnowledgeWorkspaceResourcePermission(id)],'OR')"
|
||||
permissionPrecise.doc_sync(id)
|
||||
"
|
||||
>{{ $t('views.document.syncDocument') }}
|
||||
</el-dropdown-item>
|
||||
|
||||
|
|
@ -122,10 +93,7 @@
|
|||
@click="deleteMulDocument"
|
||||
:disabled="multipleSelection.length === 0"
|
||||
v-if="
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermission,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getKnowledgeWorkspaceResourcePermission(id)],'OR')
|
||||
permissionPrecise.doc_delete(id)
|
||||
"
|
||||
>{{ $t('common.delete') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -148,10 +116,8 @@
|
|||
class="mt-16"
|
||||
:data="documentData"
|
||||
:pagination-config="paginationConfig"
|
||||
:quick-create="knowledgeDetail.type === 0&&hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_CREATE.getWorkspacePermission],'OR')"
|
||||
:quick-create="knowledgeDetail.type === 0 &&
|
||||
permissionPrecise.doc_create(id)"
|
||||
@sizeChange="handleSizeChange"
|
||||
@changePage="getList"
|
||||
@cell-mouse-enter="cellMouseEnter"
|
||||
|
|
@ -395,6 +361,7 @@
|
|||
size="small"
|
||||
v-model="row.is_active"
|
||||
:before-change="() => changeState(row)"
|
||||
v-if="permissionPrecise.doc_edit(id)"
|
||||
/>
|
||||
</span>
|
||||
<el-divider direction="vertical" />
|
||||
|
|
@ -412,10 +379,7 @@
|
|||
text
|
||||
@click.stop="cancelTask(row, TaskType.EMBEDDING)"
|
||||
:title="$t('views.document.setting.cancelVectorization')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.doc_vector(id)"
|
||||
>
|
||||
<AppIcon iconName="app-close" style="font-size: 16px"></AppIcon>
|
||||
</el-button>
|
||||
|
|
@ -426,10 +390,7 @@
|
|||
text
|
||||
@click.stop="refreshDocument(row)"
|
||||
:title="$t('views.knowledge.setting.vectorization')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.doc_vector(id)"
|
||||
>
|
||||
<AppIcon iconName="app-document-refresh" style="font-size: 16px"></AppIcon>
|
||||
</el-button>
|
||||
|
|
@ -440,10 +401,7 @@
|
|||
text
|
||||
@click.stop="settingDoc(row)"
|
||||
:title="$t('common.setting')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.doc_edit(id)"
|
||||
>
|
||||
<el-icon><Setting /></el-icon>
|
||||
</el-button>
|
||||
|
|
@ -453,10 +411,6 @@
|
|||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermission,
|
||||
]"
|
||||
>
|
||||
<el-icon><MoreFilled /></el-icon>
|
||||
</el-button>
|
||||
|
|
@ -467,51 +421,38 @@
|
|||
([State.STARTED, State.PENDING] as Array<string>).includes(
|
||||
getTaskState(row.status, TaskType.GENERATE_PROBLEM),
|
||||
)&&
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermission],'OR')
|
||||
"
|
||||
permissionPrecise.doc_generate(id)"
|
||||
@click="cancelTask(row, TaskType.GENERATE_PROBLEM)"
|
||||
>
|
||||
<el-icon><Connection /></el-icon>
|
||||
{{ $t('views.document.setting.cancelGenerateQuestion') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item v-else @click="openGenerateDialog(row)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermission],'OR')"
|
||||
v-if="permissionPrecise.doc_generate(id)"
|
||||
>
|
||||
<el-icon><Connection /></el-icon>
|
||||
{{ $t('views.document.generateQuestion.title') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="openknowledgeDialog(row)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermission],'OR')"
|
||||
v-if="permissionPrecise.doc_migrate(id)"
|
||||
>
|
||||
<AppIcon iconName="app-migrate"></AppIcon>
|
||||
{{ $t('views.document.setting.migration') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="exportDocument(row)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermission],'OR')"
|
||||
v-if="permissionPrecise.doc_export(id)"
|
||||
>
|
||||
<AppIcon iconName="app-export"></AppIcon>
|
||||
{{ $t('views.document.setting.export') }} Excel
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click="exportDocumentZip(row)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermission],'OR')"
|
||||
v-if="permissionPrecise.doc_export(id)"
|
||||
>
|
||||
<AppIcon iconName="app-export"></AppIcon>
|
||||
{{ $t('views.document.setting.export') }} Zip
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="Delete" @click.stop="deleteDocument(row)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermission],'OR')"
|
||||
v-if="permissionPrecise.doc_delete(id)"
|
||||
>
|
||||
{{ $t('common.delete') }}</el-dropdown-item
|
||||
>
|
||||
|
|
@ -527,10 +468,7 @@
|
|||
text
|
||||
@click.stop="syncDocument(row)"
|
||||
:title="$t('views.knowledge.setting.sync')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_SYNC.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.sync(id)"
|
||||
>
|
||||
<el-icon><Refresh /></el-icon>
|
||||
</el-button>
|
||||
|
|
@ -540,16 +478,13 @@
|
|||
v-if="
|
||||
([State.STARTED, State.PENDING] as Array<string>).includes(
|
||||
getTaskState(row.status, TaskType.EMBEDDING),
|
||||
)
|
||||
) &&
|
||||
permissionPrecise.doc_vector(id)
|
||||
"
|
||||
type="primary"
|
||||
text
|
||||
@click.stop="cancelTask(row, TaskType.EMBEDDING)"
|
||||
:title="$t('views.document.setting.cancelVectorization')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermission,
|
||||
]"
|
||||
>
|
||||
<AppIcon iconName="app-close" style="font-size: 16px"></AppIcon>
|
||||
</el-button>
|
||||
|
|
@ -560,10 +495,7 @@
|
|||
text
|
||||
@click.stop="refreshDocument(row)"
|
||||
:title="$t('views.knowledge.setting.vectorization')"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.vector(id)"
|
||||
>
|
||||
<AppIcon iconName="app-document-refresh" style="font-size: 16px"></AppIcon>
|
||||
</el-button>
|
||||
|
|
@ -574,10 +506,6 @@
|
|||
<el-button
|
||||
text
|
||||
type="primary"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_EDIT.getWorkspacePermission,
|
||||
]"
|
||||
>
|
||||
<el-icon><MoreFilled /></el-icon>
|
||||
</el-button>
|
||||
|
|
@ -631,20 +559,14 @@
|
|||
<el-button
|
||||
:disabled="multipleSelection.length === 0"
|
||||
@click="cancelTaskHandle(1)"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_VECTOR.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.doc_vector(id)"
|
||||
>
|
||||
{{ $t('views.document.setting.cancelVectorization') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
:disabled="multipleSelection.length === 0"
|
||||
@click="cancelTaskHandle(2)"
|
||||
v-hasPermission="[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,RoleConst.USER.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_GENERATE.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.doc_generate(id)"
|
||||
>
|
||||
{{ $t('views.document.setting.cancelGenerate') }}
|
||||
</el-button>
|
||||
|
|
@ -686,9 +608,26 @@ import { TaskType, State } from '@/utils/status'
|
|||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
import permissionMap from '@/permission'
|
||||
|
||||
|
||||
const route = useRoute()
|
||||
const { folder, user } = useStore()
|
||||
|
||||
const type = computed(() => {
|
||||
if (route.path.includes('shared')) {
|
||||
return 'systemShare'
|
||||
} else if (route.path.includes('resource-management')) {
|
||||
return 'systemManage'
|
||||
} else {
|
||||
return 'workspace'
|
||||
}
|
||||
})
|
||||
const permissionPrecise = computed(() => {
|
||||
return permissionMap['knowledge'][type.value]
|
||||
})
|
||||
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const {
|
||||
params: { id, folderId }, // id为knowledgeID
|
||||
} = route as any
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@
|
|||
:currentNodeKey="currentFolder?.id"
|
||||
@handleNodeClick="folderClickHandel"
|
||||
class="p-8"
|
||||
showShared
|
||||
:shareTitle="$t('views.system.share_knowledge')"
|
||||
:showShared="permissionPrecise['is_share']()"
|
||||
@refreshTree="refreshFolder"
|
||||
/>
|
||||
</template>
|
||||
|
|
@ -48,13 +49,7 @@
|
|||
<el-button
|
||||
type="primary"
|
||||
class="ml-8"
|
||||
v-hasPermission="[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.USER.getWorkspaceRole,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_CREATE.getWorkspacePermission,
|
||||
]"
|
||||
v-if="permissionPrecise.create()"
|
||||
>
|
||||
{{ $t('common.create') }}
|
||||
<el-icon class="el-icon--right">
|
||||
|
|
@ -198,15 +193,7 @@
|
|||
@click="
|
||||
router.push({ path: `/knowledge/${item.id}/${currentFolder.id}/document` })
|
||||
"
|
||||
v-hasPermission="[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_READ
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DOCUMENT_READ.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
]"
|
||||
v-if="permissionPrecise.single(item.id)"
|
||||
>
|
||||
<template #icon>
|
||||
<KnowledgeIcon :type="item.type" />
|
||||
|
|
@ -252,38 +239,15 @@
|
|||
<el-dropdown-item
|
||||
icon="Refresh"
|
||||
@click.stop="syncKnowledge(item)"
|
||||
v-if="
|
||||
item.type === 1 &&
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.ADMIN,
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_SYNC
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_SYNC.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
v-if="item.type === 1 &&
|
||||
permissionPrecise.sync(item.id)
|
||||
"
|
||||
>{{ $t('views.knowledge.setting.sync') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
@click.stop="reEmbeddingKnowledge(item)"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_VECTOR
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_VECTOR.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.vector(item.id)
|
||||
"
|
||||
>
|
||||
<AppIcon iconName="app-vectorization"></AppIcon>
|
||||
|
|
@ -294,18 +258,7 @@
|
|||
icon="Connection"
|
||||
@click.stop="openGenerateDialog(item)"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_CREATE
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.doc_generate(item.id)
|
||||
"
|
||||
>{{ $t('views.document.generateQuestion.title') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -317,18 +270,7 @@
|
|||
})
|
||||
"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_EDIT
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_EDIT.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.setting(item.id)
|
||||
"
|
||||
>
|
||||
{{ $t('common.setting') }}
|
||||
|
|
@ -336,18 +278,7 @@
|
|||
<el-dropdown-item
|
||||
@click.stop="exportKnowledge(item)"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_EXPORT
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.export(item.id)
|
||||
"
|
||||
>
|
||||
<AppIcon iconName="app-export"></AppIcon
|
||||
|
|
@ -356,18 +287,7 @@
|
|||
<el-dropdown-item
|
||||
@click.stop="exportZipKnowledge(item)"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_EXPORT
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_EXPORT.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.export(item.id)
|
||||
"
|
||||
>
|
||||
<AppIcon iconName="app-export"></AppIcon
|
||||
|
|
@ -378,18 +298,7 @@
|
|||
type="danger"
|
||||
@click.stop="deleteKnowledge(item)"
|
||||
v-if="
|
||||
hasPermission(
|
||||
[
|
||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||
RoleConst.ADMIN,
|
||||
PermissionConst.KNOWLEDGE_DELETE
|
||||
.getWorkspacePermissionWorkspaceManageRole,
|
||||
PermissionConst.KNOWLEDGE_DELETE.getKnowledgeWorkspaceResourcePermission(
|
||||
item.id,
|
||||
),
|
||||
],
|
||||
'OR',
|
||||
)
|
||||
permissionPrecise.delete(item.id)
|
||||
"
|
||||
>
|
||||
{{ $t('common.delete') }}</el-dropdown-item
|
||||
|
|
@ -433,9 +342,27 @@ import { FolderSource } from '@/enums/common'
|
|||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||
import { useRoute } from 'vue-router'
|
||||
import permissionMap from '@/permission'
|
||||
|
||||
|
||||
const route = useRoute()
|
||||
const { folder, user } = useStore()
|
||||
|
||||
const type = computed(() => {
|
||||
if (route.path.includes('shared')) {
|
||||
return 'systemShare'
|
||||
} else if (route.path.includes('resource-management')) {
|
||||
return 'systemManage'
|
||||
} else {
|
||||
return 'workspace'
|
||||
}
|
||||
})
|
||||
const permissionPrecise = computed(() => {
|
||||
return permissionMap['knowledge'][type.value]
|
||||
})
|
||||
|
||||
const router = useRouter()
|
||||
const { folder, user } = useStore()
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
|
|
|
|||
|
|
@ -43,10 +43,12 @@
|
|||
class="mt-16"
|
||||
:data="problemData"
|
||||
:pagination-config="paginationConfig"
|
||||
quick-create
|
||||
:quick-create="permissionPrecise.doc_create(id)""
|
||||
|
||||
:quickCreateName="$t('views.problem.quickCreateName')"
|
||||
:quickCreatePlaceholder="$t('views.problem.quickCreateProblem')"
|
||||
:quickCreateMaxlength="256"
|
||||
|
||||
@sizeChange="handleSizeChange"
|
||||
@changePage="getList"
|
||||
@cell-mouse-enter="cellMouseEnter"
|
||||
|
|
@ -167,8 +169,24 @@ import useStore from '@/stores'
|
|||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
import permissionMap from '@/permission'
|
||||
|
||||
|
||||
const route = useRoute()
|
||||
const { folder, user } = useStore()
|
||||
|
||||
const type = computed(() => {
|
||||
if (route.path.includes('shared')) {
|
||||
return 'systemShare'
|
||||
} else if (route.path.includes('resource-management')) {
|
||||
return 'systemManage'
|
||||
} else {
|
||||
return 'workspace'
|
||||
}
|
||||
})
|
||||
const permissionPrecise = computed(() => {
|
||||
return permissionMap['knowledge'][type.value]
|
||||
})
|
||||
const {
|
||||
params: { id }, // 知识库id
|
||||
} = route as any
|
||||
|
|
|
|||
Loading…
Reference in New Issue