feat: Model permission
This commit is contained in:
parent
dca48d1388
commit
22e3bc1aa4
@ -6,21 +6,16 @@ const workspace = {
|
|||||||
hasPermission(
|
hasPermission(
|
||||||
new ComplexPermission(
|
new ComplexPermission(
|
||||||
[RoleConst.ADMIN],
|
[RoleConst.ADMIN],
|
||||||
[PermissionConst.SHARED_TOOL_READ],
|
[PermissionConst.MODEL_READ],
|
||||||
[EditionConst.IS_EE],
|
[EditionConst.IS_EE],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
delete: () =>
|
addModel: () => false,
|
||||||
hasPermission(
|
modify: () => false,
|
||||||
[
|
paramSetting: () => false,
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
delete: () => false,
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.TOOL_DELETE.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default workspace
|
export default workspace
|
||||||
|
|||||||
@ -3,5 +3,10 @@ import { ComplexPermission } from '@/utils/permission/type'
|
|||||||
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
const share = {
|
const share = {
|
||||||
is_share: () => false,
|
is_share: () => false,
|
||||||
|
addModel: () => false,
|
||||||
|
modify: () => false,
|
||||||
|
paramSetting: () => false,
|
||||||
|
delete: () => false,
|
||||||
|
|
||||||
}
|
}
|
||||||
export default share
|
export default share
|
||||||
|
|||||||
@ -6,12 +6,52 @@ const workspace = {
|
|||||||
hasPermission(
|
hasPermission(
|
||||||
new ComplexPermission(
|
new ComplexPermission(
|
||||||
[RoleConst.ADMIN],
|
[RoleConst.ADMIN],
|
||||||
[PermissionConst.SHARED_TOOL_READ],
|
[PermissionConst.MODEL_READ],
|
||||||
[EditionConst.IS_EE],
|
[EditionConst.IS_EE],
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
'OR',
|
'OR',
|
||||||
),
|
),
|
||||||
|
addModel: () =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
RoleConst.USER.getWorkspaceRole,
|
||||||
|
PermissionConst.MODEL_CREATE.getWorkspacePermission,
|
||||||
|
PermissionConst.MODEL_CREATE.getWorkspacePermissionWorkspaceManageRole
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
modify: () =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
RoleConst.USER.getWorkspaceRole,
|
||||||
|
PermissionConst.MODEL_EDIT.getWorkspacePermission,
|
||||||
|
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
paramSetting: () =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
RoleConst.USER.getWorkspaceRole,
|
||||||
|
PermissionConst.MODEL_EDIT.getWorkspacePermission,
|
||||||
|
PermissionConst.MODEL_EDIT.getWorkspacePermissionWorkspaceManageRole
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
|
delete: () =>
|
||||||
|
hasPermission(
|
||||||
|
[
|
||||||
|
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
||||||
|
RoleConst.USER.getWorkspaceRole,
|
||||||
|
PermissionConst.MODEL_DELETE.getWorkspacePermission,
|
||||||
|
PermissionConst.MODEL_DELETE.getWorkspacePermissionWorkspaceManageRole
|
||||||
|
],
|
||||||
|
'OR'
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
export default workspace
|
export default workspace
|
||||||
|
|||||||
@ -77,16 +77,7 @@
|
|||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
v-if="
|
v-if="permissionPrecise.modify()"
|
||||||
hasPermission(
|
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.MODEL_EDIT.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
|
||||||
icon="EditPen"
|
icon="EditPen"
|
||||||
:disabled="!is_permisstion"
|
:disabled="!is_permisstion"
|
||||||
text
|
text
|
||||||
@ -101,14 +92,8 @@
|
|||||||
currentModel.model_type === 'LLM' ||
|
currentModel.model_type === 'LLM' ||
|
||||||
currentModel.model_type === 'IMAGE' ||
|
currentModel.model_type === 'IMAGE' ||
|
||||||
currentModel.model_type === 'TTI' ||
|
currentModel.model_type === 'TTI' ||
|
||||||
hasPermission(
|
permissionPrecise.paramSetting()
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.MODEL_EDIT.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
:disabled="!is_permisstion"
|
:disabled="!is_permisstion"
|
||||||
icon="Setting"
|
icon="Setting"
|
||||||
@ -123,14 +108,7 @@
|
|||||||
text
|
text
|
||||||
@click.stop="deleteModel"
|
@click.stop="deleteModel"
|
||||||
v-if="
|
v-if="
|
||||||
hasPermission(
|
permissionPrecise.delete()
|
||||||
[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.MODEL_DELETE.getWorkspacePermission,
|
|
||||||
],
|
|
||||||
'OR',
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ $t('common.delete') }}
|
{{ $t('common.delete') }}
|
||||||
@ -156,6 +134,24 @@ import ParamSettingDialog from './ParamSettingDialog.vue'
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
import { hasPermission } from '@/utils/permission'
|
import { hasPermission } from '@/utils/permission'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
import permissionMap from '@/permission'
|
||||||
|
|
||||||
|
|
||||||
|
const route = useRoute()
|
||||||
|
|
||||||
|
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['model'][type.value]
|
||||||
|
})
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
model: Model
|
model: Model
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
@click="clickListHandle"
|
@click="clickListHandle"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
shareTitle="views.system.share_tool"
|
shareTitle="views.system.share_tool"
|
||||||
isShared
|
:showShared="permissionPrecise['is_share']()"
|
||||||
:active="active_provider"
|
:active="active_provider"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -55,15 +55,12 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="!isShared"
|
v-if="!isShared &&
|
||||||
|
permissionPrecise.addModel()
|
||||||
|
"
|
||||||
class="ml-16"
|
class="ml-16"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="openCreateModel(active_provider)"
|
@click="openCreateModel(active_provider)"
|
||||||
v-hasPermission="[
|
|
||||||
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
|
|
||||||
RoleConst.USER.getWorkspaceRole,
|
|
||||||
PermissionConst.MODEL_CREATE.getWorkspacePermission,
|
|
||||||
]"
|
|
||||||
>
|
>
|
||||||
{{ $t('views.model.addModel') }}
|
{{ $t('views.model.addModel') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -128,6 +125,26 @@ import SelectProviderDialog from '@/views/model/component/SelectProviderDialog.v
|
|||||||
import { t } from '@/locales'
|
import { t } from '@/locales'
|
||||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||||
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
import { loadSharedApi } from '@/utils/dynamics-api/shared-api'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
import useStore from '@/stores'
|
||||||
|
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['model'][type.value]
|
||||||
|
})
|
||||||
|
|
||||||
const commonList1 = ref()
|
const commonList1 = ref()
|
||||||
const commonList2 = ref()
|
const commonList2 = ref()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user