mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:02:46 +00:00
feat: Button Permission
This commit is contained in:
parent
d9bd35e664
commit
8048e73741
|
|
@ -1,7 +1,7 @@
|
|||
const ModelRouter = {
|
||||
path: '/model',
|
||||
name: 'model',
|
||||
meta: { title: 'views.model.title', permission: 'MODEL:READ' },
|
||||
meta: { title: 'views.model.title' },
|
||||
redirect: '/model',
|
||||
component: () => import('@/layout/layout-template/SimpleLayout.vue'),
|
||||
children: [
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ import { Permission, Role, Edition } from '@/utils/permission/type'
|
|||
const PermissionConst = {
|
||||
USER_READ: new Permission('USER:READ'),
|
||||
USER_CREATE: new Permission('USER:CREATE'),
|
||||
APPLICATION_OVERVIEW_READ: new Permission('APPLICATION_OVERVIEW_READ'),
|
||||
|
||||
KNOWLEDGE_READ: new Permission('KNOWLEDGE:READ'),
|
||||
KNOWLEDGE_CREATE: new Permission('KNOWLEDGE:READ+CREATE'),
|
||||
|
|
@ -57,6 +56,57 @@ const PermissionConst = {
|
|||
MODEL_EDIT:new Permission('MODEL:READ+EDIT'),
|
||||
MODEL_DELETE:new Permission('MODEL:READ+DELETE'),
|
||||
|
||||
APPLICATION_READ:new Permission('APPLICATION:READ'),
|
||||
APPLICATION_EXPORT:new Permission('APPLICATION:READ+EXPORT'),
|
||||
APPLICATION_DELETE:new Permission('APPLICATION:READ+DELETE'),
|
||||
APPLICATION_EDIT:new Permission('APPLICATION:READ+EDIT'),
|
||||
|
||||
APPLICATION_OVERVIEW_READ:new Permission('OVERVIEW:READ'),
|
||||
APPLICATION_OVERVIEW_EMBEDDED:new Permission('OVERVIEW:READ'),
|
||||
APPLICATION_OVERVIEW_ACCESS:new Permission('OVERVIEW:READ'),
|
||||
APPLICATION_OVERVIEW_DISPLAY:new Permission('OVERVIEW:READ'),
|
||||
APPLICATION_OVERVIEW_API_KEY:new Permission('OVERVIEW:READ'),
|
||||
APPLICATION_OVERVIEW_PUBLIC:new Permission('OVERVIEW:READ'),
|
||||
|
||||
APPLICATION_CHAT_LOG:new Permission('APPLICATION_CHAT_LOG:READ'),
|
||||
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_POLICY:new Permission('APPLICATION_CHAT_LOG:READ+CLEAR_POLICY'),
|
||||
|
||||
APPLICATION_ACCESS_READ:new Permission('APPLICATION_CHAT_LOG:READ'),
|
||||
APPLICATION_ACCESS_EDIT:new Permission('APPLICATION_CHAT_LOG:READ+EDIT'),
|
||||
|
||||
SHARED_TOOL_READ:new Permission('SYSTEM_TOOL:READ'),
|
||||
SHARED_TOOL_CREATE:new Permission('SYSTEM_TOOL:READ+CREATE'),
|
||||
SHARED_TOOL_EDIT:new Permission('SYSTEM_TOOL:READ+EDIT'),
|
||||
SHARED_TOOL_DELETE:new Permission('SYSTEM_TOOL:READ+DELETE'),
|
||||
SHARED_TOOL_IMPORT:new Permission('SYSTEM_TOOL:READ+IMPORT'),
|
||||
SHARED_TOOL_EXPORT:new Permission('SYSTEM_TOOL:READ+EXPORT'),
|
||||
SHARED_TOOL_DEBUG:new Permission('SYSTEM_TOOL:READ+DEBUG'),
|
||||
|
||||
TOOL_CREATE:new Permission('TOOL:READ+CREATE'),
|
||||
TOOL_EDIT:new Permission('TOOL:READ+EDIT'),
|
||||
TOOL_READ:new Permission('TOOL:READ'),
|
||||
TOOL_DELETE:new Permission('TOOL:READ+DELETE'),
|
||||
TOOL_DEBUG:new Permission('TOOL:READ+DEBUG'),
|
||||
TOOL_IMPORT:new Permission('TOOL:READ+IMPORT'),
|
||||
TOOL_EXPORT:new Permission('TOOL:READ+EXPORT'),
|
||||
|
||||
RESOURCE_TOOL_CREATE:new Permission('SYSTEM_RES_TOOL:READ+CREATE'),
|
||||
RESOURCE_TOOL_EDIT:new Permission('SYSTEM_RES_TOOL:READ+EDIT'),
|
||||
RESOURCE_TOOL_READ:new Permission('SYSTEM_RES_TOOL:READ'),
|
||||
RESOURCE_TOOL_DELETE:new Permission('SYSTEM_RES_TOOL:READ+DELETE'),
|
||||
RESOURCE_TOOL_DEBUG:new Permission('SYSTEM_RES_TOOL:READ+DEBUG'),
|
||||
RESOURCE_TOOL_IMPORT:new Permission('SYSTEM_RES_TOOL:READ+IMPORT'),
|
||||
RESOURCE_TOOL_EXPORT:new Permission('SYSTEM_RES_TOOL:READ+EXPORT'),
|
||||
|
||||
WORKSPACE_ROLE_READ:new Permission('WORKSAPCE_ROLE:READ'),
|
||||
WORKSPACE_ROLE_ADD_MEMBER:new Permission('WORKSAPCE_ROLE:READ+ADD_MEMBER'),
|
||||
WORKSPACE_ROLE_REMOVE_MEMBER:new Permission('WORKSAPCE_ROLE:READ+REMOVE_MEMBER'),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
:active-text="$t('views.applicationOverview.appInfo.openText')"
|
||||
:inactive-text="$t('views.applicationOverview.appInfo.closeText')"
|
||||
:before-change="() => changeState(accessToken.is_active)"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_EDIT.getWorkspacePermission]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
@ -91,15 +92,21 @@
|
|||
<AppIcon iconName="app-create-chat" class="mr-4"></AppIcon>
|
||||
{{ $t('views.application.operation.toChat') }}
|
||||
</el-button>
|
||||
<el-button :disabled="!accessToken?.is_active" @click="openDialog">
|
||||
<el-button :disabled="!accessToken?.is_active" @click="openDialog"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_OVERVIEW_EMBEDDED.getWorkspacePermission]"
|
||||
>
|
||||
<AppIcon iconName="app-export" class="mr-4"></AppIcon>
|
||||
{{ $t('views.applicationOverview.appInfo.embedInWebsite') }}
|
||||
</el-button>
|
||||
<el-button @click="openLimitDialog">
|
||||
<el-button @click="openLimitDialog"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_OVERVIEW_ACCESS.getWorkspacePermission]"
|
||||
>
|
||||
<el-icon class="mr-4"><Lock /></el-icon>
|
||||
{{ $t('views.applicationOverview.appInfo.accessControl') }}
|
||||
</el-button>
|
||||
<el-button @click="openDisplaySettingDialog">
|
||||
<el-button @click="openDisplaySettingDialog"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_OVERVIEW_DISPLAY.getWorkspacePermission]"
|
||||
>
|
||||
<el-icon class="mr-4"><Setting /></el-icon>
|
||||
{{ $t('views.applicationOverview.appInfo.displaySetting') }}
|
||||
</el-button>
|
||||
|
|
@ -139,7 +146,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-button @click="openAPIKeyDialog">
|
||||
<el-button @click="openAPIKeyDialog"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_OVERVIEW_API_KEY.getWorkspacePermission]"
|
||||
>
|
||||
<el-icon class="mr-4"><Key /></el-icon>
|
||||
{{ $t('views.applicationOverview.appInfo.apiKey') }}</el-button
|
||||
>
|
||||
|
|
@ -215,6 +224,8 @@ import { copyClick } from '@/utils/clipboard'
|
|||
import { isAppIcon } from '@/utils/common'
|
||||
import useStore from '@/stores'
|
||||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
const { user, application } = useStore()
|
||||
const route = useRoute()
|
||||
const {
|
||||
|
|
|
|||
|
|
@ -28,9 +28,12 @@
|
|||
v-model="item.isActive"
|
||||
@change="changeStatus(item.key, item.isActive)"
|
||||
:disabled="!item.exists"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermission]"
|
||||
/>
|
||||
<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,PermissionConst.APPLICATION_ACCESS_EDIT.getWorkspacePermission]"
|
||||
>{{
|
||||
$t('views.application.applicationAccess.setting')
|
||||
}}</el-button>
|
||||
</div>
|
||||
|
|
@ -49,6 +52,8 @@ import applicationApi from '@/api/application/application'
|
|||
import { MsgSuccess } from '@/utils/message'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
|
||||
// 平台数据
|
||||
const platforms = reactive([
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
<h3>
|
||||
{{ $t('common.setting') }}
|
||||
</h3>
|
||||
<el-button type="primary" @click="submit(applicationFormRef)" :disabled="loading">
|
||||
<el-button type="primary" @click="submit(applicationFormRef)" :disabled="loading"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_OVERVIEW_PUBLIC.getWorkspacePermission]"
|
||||
>
|
||||
{{ $t('views.application.buttons.publish') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -439,6 +441,8 @@ import useStore from '@/stores'
|
|||
import { t } from '@/locales'
|
||||
import TTSModeParamSettingDialog from './component/TTSModeParamSettingDialog.vue'
|
||||
import ReasoningParamSettingDialog from './component/ReasoningParamSettingDialog.vue'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
|
||||
const { knowledge, model, application } = useStore()
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@
|
|||
</el-select>
|
||||
</div>
|
||||
<el-dropdown trigger="click">
|
||||
<el-button type="primary" class="ml-8">
|
||||
<el-button type="primary" class="ml-8"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_EDIT.getWorkspacePermission]">
|
||||
{{ $t('common.create') }}
|
||||
<el-icon class="el-icon--right">
|
||||
<arrow-down />
|
||||
|
|
@ -217,11 +218,15 @@
|
|||
<AppIcon iconName="app-create-chat"></AppIcon>
|
||||
{{ $t('views.application.operation.toChat') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.stop="settingApplication(item)">
|
||||
<el-dropdown-item @click.stop="settingApplication(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_EDIT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
<el-icon><Setting /></el-icon>
|
||||
{{ $t('common.setting') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item divided @click.stop="exportApplication(item)">
|
||||
<el-dropdown-item divided @click.stop="exportApplication(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_EXPORT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
<AppIcon iconName="app-export"></AppIcon>
|
||||
{{ $t('common.export') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -229,6 +234,7 @@
|
|||
divided
|
||||
icon="Delete"
|
||||
@click.stop="deleteApplication(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_DELETE.getWorkspacePermission],'OR')"
|
||||
>{{ $t('common.delete') }}</el-dropdown-item
|
||||
>
|
||||
</el-dropdown-menu>
|
||||
|
|
@ -262,6 +268,8 @@ import { t } from '@/locales'
|
|||
import { useRouter } from 'vue-router'
|
||||
import { isWorkFlow } from '@/utils/application'
|
||||
import { dateFormat } from '@/utils/time'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
|
||||
const router = useRouter()
|
||||
const { folder, application, user } = useStore()
|
||||
|
|
|
|||
|
|
@ -38,12 +38,19 @@
|
|||
clearable
|
||||
/>
|
||||
<div style="display: flex; align-items: center" class="float-right">
|
||||
<el-button @click="dialogVisible = true">{{
|
||||
$t('views.chatLog.buttons.clearStrategy')
|
||||
}}</el-button>
|
||||
<el-button @click="exportLog">{{ $t('common.export') }}</el-button>
|
||||
<el-button @click="dialogVisible = true"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_CHAT_LOG_POLICY.getWorkspacePermission]"
|
||||
>
|
||||
{{$t('views.chatLog.buttons.clearStrategy')}}
|
||||
</el-button>
|
||||
<el-button @click="exportLog"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getWorkspacePermission]"
|
||||
>
|
||||
{{ $t('common.export') }}
|
||||
</el-button>
|
||||
<el-button @click="openDocumentDialog" :disabled="multipleSelection.length === 0"
|
||||
>{{ $t('views.chatLog.addToKnowledge') }}
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.APPLICATION_CHAT_LOG_EXPORT.getWorkspacePermission]"
|
||||
>{{ $t('views.chatLog.addToKnowledge') }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -278,6 +285,8 @@ import type { Dict } from '@/api/type/common'
|
|||
import { t } from '@/locales'
|
||||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { ElTable } from 'element-plus'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
|
||||
const { application, chatLog, document, user } = useStore()
|
||||
const route = useRoute()
|
||||
|
|
|
|||
|
|
@ -227,10 +227,6 @@
|
|||
<el-button
|
||||
text
|
||||
@click.stop
|
||||
v-hasPermission="[
|
||||
RoleConst.ADMIN.getWorkspaceRole,
|
||||
PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermission,
|
||||
]"
|
||||
>
|
||||
<el-icon>
|
||||
<MoreFilled />
|
||||
|
|
@ -241,10 +237,14 @@
|
|||
<el-dropdown-item
|
||||
icon="Refresh"
|
||||
@click.stop="syncKnowledge(item)"
|
||||
v-if="item.type === 1"
|
||||
v-if="item.type === 1 ||
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_SYNC.getWorkspacePermission],'OR')
|
||||
"
|
||||
>{{ $t('views.knowledge.setting.sync') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.stop="reEmbeddingKnowledge(item)">
|
||||
<el-dropdown-item @click.stop="reEmbeddingKnowledge(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_VECTOR.getWorkspacePermission],'OR')"
|
||||
>
|
||||
<AppIcon iconName="app-vectorization"></AppIcon>
|
||||
{{ $t('views.knowledge.setting.vectorization') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -252,28 +252,36 @@
|
|||
<el-dropdown-item
|
||||
icon="Connection"
|
||||
@click.stop="openGenerateDialog(item)"
|
||||
>{{ $t('views.document.generateQuestion.title') }}</el-dropdown-item
|
||||
>
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_PROBLEM_CREATE.getWorkspacePermission],'OR')"
|
||||
>{{ $t('views.document.generateQuestion.title') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
icon="Setting"
|
||||
@click.stop="
|
||||
router.push({
|
||||
path: `/knowledge/${item.id}/${currentFolder.value}/setting`,
|
||||
})
|
||||
"
|
||||
})"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_EDIT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
{{ $t('common.setting') }}</el-dropdown-item
|
||||
{{ $t('common.setting') }}
|
||||
</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item @click.stop="exportKnowledge(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
<el-dropdown-item @click.stop="exportKnowledge(item)">
|
||||
<AppIcon iconName="app-export"></AppIcon
|
||||
>{{ $t('views.document.setting.export') }} Excel</el-dropdown-item
|
||||
>{{ $t('views.document.setting.export') }} Excel
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item @click.stop="exportZipKnowledge(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
<el-dropdown-item @click.stop="exportZipKnowledge(item)">
|
||||
<AppIcon iconName="app-export"></AppIcon
|
||||
>{{ $t('views.document.setting.export') }} ZIP</el-dropdown-item
|
||||
>
|
||||
<el-dropdown-item icon="Delete" @click.stop="deleteKnowledge(item)">{{
|
||||
$t('common.delete')
|
||||
<el-dropdown-item icon="Delete" @click.stop="deleteKnowledge(item)"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.KNOWLEDGE_EXPORT.getWorkspacePermission],'OR')"
|
||||
>
|
||||
{{$t('common.delete')
|
||||
}}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -75,11 +75,11 @@
|
|||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_EDIT.getWorkspacePermission],'OR')"
|
||||
icon="EditPen"
|
||||
:disabled="!is_permisstion"
|
||||
text
|
||||
@click.stop="openEditModel"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_EDIT.getWorkspacePermission]"
|
||||
>
|
||||
{{ $t('common.modify') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -89,12 +89,12 @@
|
|||
currentModel.model_type === 'TTS' ||
|
||||
currentModel.model_type === 'LLM' ||
|
||||
currentModel.model_type === 'IMAGE' ||
|
||||
currentModel.model_type === 'TTI'
|
||||
currentModel.model_type === 'TTI' ||
|
||||
hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_EDIT.getWorkspacePermission],'OR')
|
||||
"
|
||||
:disabled="!is_permisstion"
|
||||
icon="Setting"
|
||||
@click.stop="openParamSetting"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_EDIT.getWorkspacePermission]"
|
||||
>
|
||||
{{ $t('views.model.modelForm.title.paramSetting') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
:disabled="!is_permisstion"
|
||||
text
|
||||
@click.stop="deleteModel"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_DELETE.getWorkspacePermission]"
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.MODEL_DELETE.getWorkspacePermission],'OR')"
|
||||
>
|
||||
{{ $t('common.delete') }}
|
||||
</el-dropdown-item>
|
||||
|
|
@ -127,7 +127,8 @@ import {modelType} from '@/enums/model'
|
|||
import useStore from '@/stores'
|
||||
import ParamSettingDialog from './ParamSettingDialog.vue'
|
||||
import {t} from '@/locales'
|
||||
import { PermissionConst, EditionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission'
|
||||
|
||||
const props = defineProps<{
|
||||
model: Model
|
||||
|
|
|
|||
|
|
@ -45,7 +45,9 @@
|
|||
</el-select>
|
||||
</div>
|
||||
<el-dropdown trigger="click">
|
||||
<el-button type="primary" class="ml-8">
|
||||
<el-button type="primary" class="ml-8"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_CREATE.getWorkspacePermission]"
|
||||
>
|
||||
{{ $t('common.create') }}
|
||||
<el-icon class="el-icon--right">
|
||||
<arrow-down />
|
||||
|
|
@ -175,6 +177,7 @@
|
|||
:before-change="() => changeState(item)"
|
||||
size="small"
|
||||
class="mr-4"
|
||||
v-hasPermission="[RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_EDIT.getWorkspacePermission]"
|
||||
/>
|
||||
<el-divider direction="vertical" />
|
||||
<el-dropdown trigger="click">
|
||||
|
|
@ -186,7 +189,7 @@
|
|||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item
|
||||
v-if="!item.template_id"
|
||||
v-if="!item.template_id&&hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_EDIT.getWorkspacePermission],'OR')"
|
||||
:disabled="!canEdit(item)"
|
||||
@click.stop="openCreateDialog(item)"
|
||||
>
|
||||
|
|
@ -197,7 +200,7 @@
|
|||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
:disabled="!canEdit(item)"
|
||||
v-if="!item.template_id"
|
||||
v-if="!item.template_id&&hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_EXPORT.getWorkspacePermission],'OR')"
|
||||
@click.stop="copyTool(item)"
|
||||
>
|
||||
<AppIcon iconName="app-copy"></AppIcon>
|
||||
|
|
@ -212,7 +215,7 @@
|
|||
{{ $t('common.param.initParam') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="!item.template_id"
|
||||
v-if="!item.template_id&&hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_EXPORT.getWorkspacePermission],'OR')"
|
||||
:disabled="!canEdit(item)"
|
||||
@click.stop="exportTool(item)"
|
||||
>
|
||||
|
|
@ -220,6 +223,7 @@
|
|||
{{ $t('common.export') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="hasPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,PermissionConst.TOOL_DELETE.getWorkspacePermission],'OR')"
|
||||
:disabled="!canEdit(item)"
|
||||
divided
|
||||
@click.stop="deleteTool(item)"
|
||||
|
|
@ -257,6 +261,9 @@ import { t } from '@/locales'
|
|||
import { isAppIcon } from '@/utils/common'
|
||||
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
|
||||
import SharedWorkspace from '@/views/shared/tool-shared/SharedWorkspace.vue'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { hasPermission } from '@/utils/permission/index'
|
||||
|
||||
|
||||
const { folder, user } = useStore()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue