feat: Application permission
This commit is contained in:
parent
a73e0b10f9
commit
c3ee492176
5
ui/src/permission/application/index.ts
Normal file
5
ui/src/permission/application/index.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import workspace from './workspace'
|
||||||
|
const permission = {
|
||||||
|
workspace,
|
||||||
|
}
|
||||||
|
export default permission
|
||||||
101
ui/src/permission/application/workspace.ts
Normal file
101
ui/src/permission/application/workspace.ts
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
import { hasPermission } from '@/utils/permission/index'
|
||||||
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
|
|
||||||
|
const workspace = {
|
||||||
|
create: () =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.USER.getWorkspaceRole,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_CREATE.getWorkspacePermission,
|
||||||
|
PermissionConst.APPLICATION_CREATE.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
edit: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
export: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_EXPORT.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_EXPORT.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
delete: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_DELETE.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
overview_embed: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
overview_access: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
)
|
||||||
|
|
||||||
|
,
|
||||||
|
overview_display: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
overview_api_key: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
access_edit: (source_id:string) =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
PermissionConst.APPLICATION_ACCESS_EDIT.getApplicationWorkspaceResourcePermission(source_id)
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default workspace
|
||||||
@ -1,9 +1,11 @@
|
|||||||
import tool from '@/permission/tool'
|
import tool from '@/permission/tool'
|
||||||
import model from '@/permission/model'
|
import model from '@/permission/model'
|
||||||
import knowledge from '@/permission/knowledge'
|
import knowledge from '@/permission/knowledge'
|
||||||
|
import application from '@/permission/application'
|
||||||
const permission = {
|
const permission = {
|
||||||
tool,
|
tool,
|
||||||
model,
|
model,
|
||||||
knowledge,
|
knowledge,
|
||||||
|
application,
|
||||||
}
|
}
|
||||||
export default permission
|
export default permission
|
||||||
|
|||||||
@ -32,7 +32,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
vector: (source_id:string) =>
|
vector: (source_id:string) =>
|
||||||
hasPermission(
|
hasPermission(
|
||||||
[
|
[
|
||||||
@ -122,7 +122,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_DOCUMENT_MIGRATE.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
doc_edit: (source_id:string) =>
|
doc_edit: (source_id:string) =>
|
||||||
hasPermission(
|
hasPermission(
|
||||||
[
|
[
|
||||||
@ -142,7 +142,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_DOCUMENT_SYNC.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
doc_delete: (source_id:string) =>
|
doc_delete: (source_id:string) =>
|
||||||
hasPermission(
|
hasPermission(
|
||||||
[
|
[
|
||||||
@ -152,7 +152,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_DOCUMENT_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
doc_export: (source_id:string) =>
|
doc_export: (source_id:string) =>
|
||||||
hasPermission(
|
hasPermission(
|
||||||
[
|
[
|
||||||
@ -162,7 +162,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_DOCUMENT_EXPORT.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
problem_create: (source_id:string) =>
|
problem_create: (source_id:string) =>
|
||||||
hasPermission(
|
hasPermission(
|
||||||
[
|
[
|
||||||
@ -192,7 +192,7 @@ const workspace = {
|
|||||||
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_PROBLEM_DELETE.getWorkspacePermissionWorkspaceManageRole,
|
||||||
],
|
],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
export default workspace
|
export default workspace
|
||||||
|
|||||||
@ -19,10 +19,6 @@ const ApplicationDetailRouter = {
|
|||||||
active: 'overview',
|
active: 'overview',
|
||||||
parentPath: '/application/:id/:type',
|
parentPath: '/application/:id/:type',
|
||||||
parentName: 'ApplicationDetail',
|
parentName: 'ApplicationDetail',
|
||||||
permission: [
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermission,
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
component: () => import('@/views/application-overview/index.vue'),
|
component: () => import('@/views/application-overview/index.vue'),
|
||||||
},
|
},
|
||||||
@ -53,18 +49,6 @@ const ApplicationDetailRouter = {
|
|||||||
},
|
},
|
||||||
component: () => import('@/views/application/ApplicationAccess.vue'),
|
component: () => import('@/views/application/ApplicationAccess.vue'),
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'hit-test',
|
|
||||||
name: 'AppHitTest',
|
|
||||||
meta: {
|
|
||||||
icon: 'app-hit-test',
|
|
||||||
title: 'views.application.hitTest.title',
|
|
||||||
active: 'hit-test',
|
|
||||||
parentPath: '/application/:id/:type',
|
|
||||||
parentName: 'ApplicationDetail',
|
|
||||||
},
|
|
||||||
component: () => import('@/views/hit-test/index.vue'),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'chat-user',
|
path: 'chat-user',
|
||||||
name: 'applicationChatUser',
|
name: 'applicationChatUser',
|
||||||
|
|||||||
@ -7,6 +7,7 @@ const applicationRouter = {
|
|||||||
menu: true,
|
menu: true,
|
||||||
permission: [
|
permission: [
|
||||||
RoleConst.ADMIN,
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.USER,
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
PermissionConst.APPLICATION_READ.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.APPLICATION_READ.getWorkspacePermissionWorkspaceManageRole,
|
||||||
PermissionConst.APPLICATION_READ.getWorkspacePermission,
|
PermissionConst.APPLICATION_READ.getWorkspacePermission,
|
||||||
|
|||||||
@ -7,6 +7,7 @@ const ModelRouter = {
|
|||||||
menu: true,
|
menu: true,
|
||||||
permission: [
|
permission: [
|
||||||
RoleConst.ADMIN,
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.USER,
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
PermissionConst.KNOWLEDGE_READ.getWorkspacePermission,
|
PermissionConst.KNOWLEDGE_READ.getWorkspacePermission,
|
||||||
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.KNOWLEDGE_READ.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
|||||||
@ -7,6 +7,7 @@ const ModelRouter = {
|
|||||||
menu: true,
|
menu: true,
|
||||||
permission: [
|
permission: [
|
||||||
RoleConst.ADMIN,
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.USER,
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
PermissionConst.MODEL_READ.getWorkspacePermission,
|
PermissionConst.MODEL_READ.getWorkspacePermission,
|
||||||
PermissionConst.MODEL_READ.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.MODEL_READ.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
|||||||
@ -18,7 +18,14 @@ const systemRouter = {
|
|||||||
activeMenu: '/system',
|
activeMenu: '/system',
|
||||||
parentPath: '/system',
|
parentPath: '/system',
|
||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
permission: [RoleConst.ADMIN, EditionConst.IS_EE],
|
permission: [
|
||||||
|
new ComplexPermission(
|
||||||
|
[RoleConst.ADMIN,],
|
||||||
|
[PermissionConst.USER_READ],
|
||||||
|
[EditionConst.IS_EE],
|
||||||
|
'OR',
|
||||||
|
),
|
||||||
|
],
|
||||||
},
|
},
|
||||||
component: () => import('@/views/system/user-manage/index.vue'),
|
component: () => import('@/views/system/user-manage/index.vue'),
|
||||||
},
|
},
|
||||||
@ -55,8 +62,8 @@ const systemRouter = {
|
|||||||
parentName: 'system',
|
parentName: 'system',
|
||||||
permission: [
|
permission: [
|
||||||
new ComplexPermission(
|
new ComplexPermission(
|
||||||
[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.ADMIN],
|
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
|
||||||
[PermissionConst.WORKSPACE_WORKSPACE_READ],
|
[PermissionConst.WORKSPACE_WORKSPACE_READ.getWorkspacePermissionWorkspaceManageRole],
|
||||||
[EditionConst.IS_EE],
|
[EditionConst.IS_EE],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
|
|||||||
@ -7,6 +7,7 @@ const ModelRouter = {
|
|||||||
menu: true,
|
menu: true,
|
||||||
permission: [
|
permission: [
|
||||||
RoleConst.ADMIN,
|
RoleConst.ADMIN,
|
||||||
|
RoleConst.USER,
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
PermissionConst.TOOL_READ.getWorkspacePermission,
|
PermissionConst.TOOL_READ.getWorkspacePermission,
|
||||||
PermissionConst.TOOL_READ.getWorkspacePermissionWorkspaceManageRole,
|
PermissionConst.TOOL_READ.getWorkspacePermissionWorkspaceManageRole,
|
||||||
|
|||||||
@ -123,20 +123,20 @@ const PermissionConst = {
|
|||||||
APPLICATION_TO_CHAT:new Permission('APPLICATION:READ+TO_CHAT'),
|
APPLICATION_TO_CHAT:new Permission('APPLICATION:READ+TO_CHAT'),
|
||||||
|
|
||||||
|
|
||||||
APPLICATION_OVERVIEW_READ:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_READ:new Permission('APPLICATION_OVERVIEW:READ'),
|
||||||
APPLICATION_OVERVIEW_EMBEDDED:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_EMBEDDED:new Permission('APPLICATION_OVERVIEW:READ+EMBED'),
|
||||||
APPLICATION_OVERVIEW_ACCESS:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_ACCESS:new Permission('APPLICATION_OVERVIEW:READ+ACCESS'),
|
||||||
APPLICATION_OVERVIEW_DISPLAY:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_DISPLAY:new Permission('APPLICATION_OVERVIEW:READ+DISPLAY'),
|
||||||
APPLICATION_OVERVIEW_API_KEY:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_API_KEY:new Permission('APPLICATION_OVERVIEW:READ+API_KEY'),
|
||||||
APPLICATION_OVERVIEW_PUBLIC:new Permission('OVERVIEW:READ'),
|
APPLICATION_OVERVIEW_PUBLIC:new Permission('APPLICATION_OVERVIEW:READ+PUBLIC_ACCESS'),
|
||||||
|
|
||||||
APPLICATION_CHAT_LOG:new Permission('APPLICATION_CHAT_LOG:READ'),
|
APPLICATION_CHAT_LOG:new Permission('APPLICATION_CHAT_LOG:READ'),
|
||||||
APPLICATION_CHAT_LOG_ANNOTATION:new Permission('APPLICATION_CHAT_LOG:READ+ANNOTATION'),
|
APPLICATION_CHAT_LOG_ANNOTATION:new Permission('APPLICATION_CHAT_LOG:READ+ANNOTATION'),
|
||||||
APPLICATION_CHAT_LOG_EXPORT:new Permission('APPLICATION_CHAT_LOG:READ+EXPORT'),
|
APPLICATION_CHAT_LOG_EXPORT:new Permission('APPLICATION_CHAT_LOG:READ+EXPORT'),
|
||||||
APPLICATION_CHAT_LOG_POLICY:new Permission('APPLICATION_CHAT_LOG:READ+CLEAR_POLICY'),
|
APPLICATION_CHAT_LOG_POLICY:new Permission('APPLICATION_CHAT_LOG:READ+CLEAR_POLICY'),
|
||||||
|
|
||||||
APPLICATION_ACCESS_READ:new Permission('APPLICATION_CHAT_LOG:READ'),
|
APPLICATION_ACCESS_READ:new Permission('APPLICATION_ACCESS:READ'),
|
||||||
APPLICATION_ACCESS_EDIT:new Permission('APPLICATION_CHAT_LOG:READ+EDIT'),
|
APPLICATION_ACCESS_EDIT:new Permission('APPLICATION_ACCESS:READ+EDIT'),
|
||||||
|
|
||||||
SHARED_TOOL_READ:new Permission('SYSTEM_TOOL:READ'),
|
SHARED_TOOL_READ:new Permission('SYSTEM_TOOL:READ'),
|
||||||
SHARED_TOOL_CREATE:new Permission('SYSTEM_TOOL:READ+CREATE'),
|
SHARED_TOOL_CREATE:new Permission('SYSTEM_TOOL:READ+CREATE'),
|
||||||
|
|||||||
@ -52,11 +52,6 @@
|
|||||||
:active-text="$t('views.applicationOverview.appInfo.openText')"
|
:active-text="$t('views.applicationOverview.appInfo.openText')"
|
||||||
:inactive-text="$t('views.applicationOverview.appInfo.closeText')"
|
:inactive-text="$t('views.applicationOverview.appInfo.closeText')"
|
||||||
:before-change="() => changeState(accessToken.is_active)"
|
:before-change="() => changeState(accessToken.is_active)"
|
||||||
v-hasPermission="[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_EDIT.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -98,11 +93,7 @@
|
|||||||
<el-button
|
<el-button
|
||||||
:disabled="!accessToken?.is_active"
|
:disabled="!accessToken?.is_active"
|
||||||
@click="openDialog"
|
@click="openDialog"
|
||||||
v-hasPermission="[
|
v-if="permissionPrecise.overview_embed(id)"
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<AppIcon iconName="app-export" class="mr-4"></AppIcon>
|
<AppIcon iconName="app-export" class="mr-4"></AppIcon>
|
||||||
{{ $t('views.applicationOverview.appInfo.embedInWebsite') }}
|
{{ $t('views.applicationOverview.appInfo.embedInWebsite') }}
|
||||||
@ -110,11 +101,7 @@
|
|||||||
<!-- 访问限制 -->
|
<!-- 访问限制 -->
|
||||||
<el-button
|
<el-button
|
||||||
@click="openLimitDialog"
|
@click="openLimitDialog"
|
||||||
v-hasPermission="[
|
v-if="permissionPrecise.overview_access(id)"
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<el-icon class="mr-4"><Lock /></el-icon>
|
<el-icon class="mr-4"><Lock /></el-icon>
|
||||||
{{ $t('views.applicationOverview.appInfo.accessControl') }}
|
{{ $t('views.applicationOverview.appInfo.accessControl') }}
|
||||||
@ -122,11 +109,7 @@
|
|||||||
<!-- 显示设置 -->
|
<!-- 显示设置 -->
|
||||||
<el-button
|
<el-button
|
||||||
@click="openDisplaySettingDialog"
|
@click="openDisplaySettingDialog"
|
||||||
v-hasPermission="[
|
v-if="permissionPrecise.overview_display(id)"
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<el-icon class="mr-4"><Setting /></el-icon>
|
<el-icon class="mr-4"><Setting /></el-icon>
|
||||||
{{ $t('views.applicationOverview.appInfo.displaySetting') }}
|
{{ $t('views.applicationOverview.appInfo.displaySetting') }}
|
||||||
@ -169,11 +152,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-button
|
<el-button
|
||||||
@click="openAPIKeyDialog"
|
@click="openAPIKeyDialog"
|
||||||
v-hasPermission="[
|
v-if="permissionPrecise.overview_api_key(id)"
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
<el-icon class="mr-4"><Key /></el-icon>
|
<el-icon class="mr-4"><Key /></el-icon>
|
||||||
{{ $t('views.applicationOverview.appInfo.apiKey') }}</el-button
|
{{ $t('views.applicationOverview.appInfo.apiKey') }}</el-button
|
||||||
@ -251,10 +230,20 @@ import { copyClick } from '@/utils/clipboard'
|
|||||||
import { isAppIcon } from '@/utils/common'
|
import { isAppIcon } from '@/utils/common'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { PermissionConst, RoleConst, EditionConst } from '@/utils/permission/data'
|
import { EditionConst } from '@/utils/permission/data'
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
import { hasPermission } from '@/utils/permission/index'
|
||||||
const { user, application } = useStore()
|
import permissionMap from '@/permission'
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
|
const apiType = computed<'workspace'>(() => {
|
||||||
|
return 'workspace'
|
||||||
|
})
|
||||||
|
const permissionPrecise = computed(() => {
|
||||||
|
return permissionMap['application'][apiType.value]
|
||||||
|
})
|
||||||
|
|
||||||
|
const { user, application } = useStore()
|
||||||
const {
|
const {
|
||||||
params: { id },
|
params: { id },
|
||||||
} = route as any
|
} = route as any
|
||||||
|
|||||||
@ -28,15 +28,11 @@
|
|||||||
v-model="item.isActive"
|
v-model="item.isActive"
|
||||||
@change="changeStatus(item.key, item.isActive)"
|
@change="changeStatus(item.key, item.isActive)"
|
||||||
:disabled="!item.exists"
|
:disabled="!item.exists"
|
||||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
v-if="permissionPrecise.access_edit(id)"
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermission]"
|
|
||||||
/>
|
/>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-button class="mr-4" @click="openDrawer(item.key)"
|
<el-button class="mr-4" @click="openDrawer(item.key)"
|
||||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
v-if="permissionPrecise.access_edit(id)"
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermission]"
|
|
||||||
>{{
|
>{{
|
||||||
$t('views.application.applicationAccess.setting')
|
$t('views.application.applicationAccess.setting')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
@ -50,14 +46,22 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref, onMounted } from 'vue'
|
import { reactive, ref, onMounted, computed } from 'vue'
|
||||||
import AccessSettingDrawer from './component/AccessSettingDrawer.vue'
|
import AccessSettingDrawer from './component/AccessSettingDrawer.vue'
|
||||||
import applicationApi from '@/api/application/application'
|
import applicationApi from '@/api/application/application'
|
||||||
import { MsgSuccess } from '@/utils/message'
|
import { MsgSuccess } from '@/utils/message'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import permissionMap from '@/permission'
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
|
||||||
|
const route = useRoute()
|
||||||
|
|
||||||
|
const apiType = computed<'workspace'>(() => {
|
||||||
|
return 'workspace'
|
||||||
|
})
|
||||||
|
const permissionPrecise = computed(() => {
|
||||||
|
return permissionMap['application'][apiType.value]
|
||||||
|
})
|
||||||
|
|
||||||
// 平台数据
|
// 平台数据
|
||||||
const platforms = reactive([
|
const platforms = reactive([
|
||||||
@ -105,7 +109,6 @@ const platforms = reactive([
|
|||||||
|
|
||||||
const AccessSettingDrawerRef = ref()
|
const AccessSettingDrawerRef = ref()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const route = useRoute()
|
|
||||||
const {
|
const {
|
||||||
params: { id },
|
params: { id },
|
||||||
} = route as any
|
} = route as any
|
||||||
|
|||||||
@ -8,11 +8,7 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
@click="submit(applicationFormRef)"
|
@click="submit(applicationFormRef)"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
v-hasPermission="[
|
v-if="permissionPrecise.edit(id)"
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_OVERVIEW_PUBLIC.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
{{ $t('views.application.buttons.publish') }}
|
{{ $t('views.application.buttons.publish') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -432,7 +428,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref, onMounted } from 'vue'
|
import { reactive, ref, onMounted, computed } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute } from 'vue-router'
|
||||||
import { groupBy } from 'lodash'
|
import { groupBy } from 'lodash'
|
||||||
import AIModeParamSettingDialog from './component/AIModeParamSettingDialog.vue'
|
import AIModeParamSettingDialog from './component/AIModeParamSettingDialog.vue'
|
||||||
@ -450,10 +446,19 @@ import TTSModeParamSettingDialog from './component/TTSModeParamSettingDialog.vue
|
|||||||
import ReasoningParamSettingDialog from './component/ReasoningParamSettingDialog.vue'
|
import ReasoningParamSettingDialog from './component/ReasoningParamSettingDialog.vue'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
import { hasPermission } from '@/utils/permission/index'
|
||||||
|
import permissionMap from '@/permission'
|
||||||
|
|
||||||
|
const route = useRoute()
|
||||||
|
|
||||||
|
const apiType = computed<'workspace'>(() => {
|
||||||
|
return 'workspace'
|
||||||
|
})
|
||||||
|
const permissionPrecise = computed(() => {
|
||||||
|
return permissionMap['application'][apiType.value]
|
||||||
|
})
|
||||||
|
|
||||||
const { knowledge, model, application } = useStore()
|
const { knowledge, model, application } = useStore()
|
||||||
|
|
||||||
const route = useRoute()
|
|
||||||
const {
|
const {
|
||||||
params: { id },
|
params: { id },
|
||||||
} = route as any
|
} = route as any
|
||||||
|
|||||||
@ -43,16 +43,12 @@
|
|||||||
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.username" />
|
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.username" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown trigger="click">
|
<el-dropdown trigger="click"
|
||||||
|
v-if="permissionPrecise.create()"
|
||||||
|
>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
class="ml-8"
|
class="ml-8"
|
||||||
v-hasPermission="[
|
|
||||||
RoleConst.ADMIN,
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
|
|
||||||
PermissionConst.APPLICATION_EDIT.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
{{ $t('common.create') }}
|
{{ $t('common.create') }}
|
||||||
<el-icon class="el-icon--right">
|
<el-icon class="el-icon--right">
|
||||||
@ -234,16 +230,7 @@
|
|||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
@click.stop="settingApplication(item)"
|
@click.stop="settingApplication(item)"
|
||||||
v-if="
|
v-if="permissionPrecise.edit(item.id)"
|
||||||
hasPermission(
|
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_EDIT.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<el-icon><Setting /></el-icon>
|
<el-icon><Setting /></el-icon>
|
||||||
{{ $t('common.setting') }}
|
{{ $t('common.setting') }}
|
||||||
@ -252,14 +239,7 @@
|
|||||||
divided
|
divided
|
||||||
@click.stop="exportApplication(item)"
|
@click.stop="exportApplication(item)"
|
||||||
v-if="
|
v-if="
|
||||||
hasPermission(
|
permissionPrecise.export(item.id)
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_EXPORT.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<AppIcon iconName="app-export"></AppIcon>
|
<AppIcon iconName="app-export"></AppIcon>
|
||||||
@ -270,14 +250,7 @@
|
|||||||
icon="Delete"
|
icon="Delete"
|
||||||
@click.stop="deleteApplication(item)"
|
@click.stop="deleteApplication(item)"
|
||||||
v-if="
|
v-if="
|
||||||
hasPermission(
|
permissionPrecise.delete(item.id)
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.APPLICATION_DELETE.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
>{{ $t('common.delete') }}</el-dropdown-item
|
>{{ $t('common.delete') }}</el-dropdown-item
|
||||||
>
|
>
|
||||||
@ -309,14 +282,22 @@ import ApplicaitonApi from '@/api/application/application'
|
|||||||
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
|
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
|
||||||
import useStore from '@/stores'
|
import useStore from '@/stores'
|
||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter, useRoute } from 'vue-router'
|
||||||
import { isWorkFlow } from '@/utils/application'
|
import { isWorkFlow } from '@/utils/application'
|
||||||
import { dateFormat } from '@/utils/time'
|
import { dateFormat } from '@/utils/time'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
|
||||||
import { hasPermission } from '@/utils/permission/index'
|
|
||||||
import { FolderSource } from '@/enums/common'
|
import { FolderSource } from '@/enums/common'
|
||||||
|
import permissionMap from '@/permission'
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const route = useRoute()
|
||||||
|
|
||||||
|
const apiType = computed<'workspace'>(() => {
|
||||||
|
return 'workspace'
|
||||||
|
})
|
||||||
|
const permissionPrecise = computed(() => {
|
||||||
|
return permissionMap['application'][apiType.value]
|
||||||
|
})
|
||||||
|
|
||||||
const { folder, application, user } = useStore()
|
const { folder, application, user } = useStore()
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user