Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions ui/src/permission/modules/model/share.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,29 @@ const share = {
read: () => canSys(P.SHARED_MODEL_READ) && hasEdition(Edition.EE),

// —— 模型资源 ——
/**
* 系统「共享模型」(系统 > 共享 > 模型) 创建权限
*/
create: () => canSys(P.SHARED_MODEL_CREATE),
/**
* 系统「共享模型」(系统 > 共享 > 模型) 编辑权限
*/
modify: () => canSys(P.SHARED_MODEL_EDIT),
/**
* 系统「共享模型」(系统 > 共享 > 模型)模型参数设置权限
*/
paramSetting: () => canSys(P.SHARED_MODEL_EDIT),
/**
* 系统「共享模型」(系统 > 共享 > 模型)删除权限
*/
delete: () => canSys(P.SHARED_MODEL_DELETE),
/**
* 系统「共享模型」(系统 > 共享 > 模型)查看关联资源权限
*/
relateMap: () => canSys(P.SHARED_MODEL_RELATE_RESOURCE_VIEW),
/**
* 系统「共享模型」(系统 > 共享 > 模型)授权工作空间权限
*/
authToWorkspace: () => canSys(P.SHARED_MODEL_TO_WORKSPACE),
}

Expand Down
33 changes: 33 additions & 0 deletions ui/src/permission/modules/tool/share.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,50 @@ const share = {
read: () => canSys(P.SHARED_TOOL_READ) && hasEdition(Edition.EE),

// —— 工具资源 ——
/**
* 系统「共享工具」(系统 > 共享 > 工具)创建权限
*/
create: () => canSys(P.SHARED_TOOL_CREATE),
/**
* 系统「共享工具」(系统 > 共享 > 工具)复制权限
*/
copy: () => canSys(P.SHARED_TOOL_CREATE),
/**
* 系统「共享工具」(系统 > 共享 > 工具)导入权限
*/
import: () => canSys(P.SHARED_TOOL_IMPORT),
/**
* 系统「共享工具」(系统 > 共享 > 工具)编辑权限
*/
edit: () => canSys(P.SHARED_TOOL_EDIT),
/**
* 系统「共享工具」(系统 > 共享 > 工具)修改工具状态权限
*/
switch: () => canSys(P.SHARED_TOOL_EDIT),
debug: () => canSys(P.SHARED_TOOL_EDIT),
/**
* 系统「共享工具」(系统 > 共享 > 工具)删除权限
*/
delete: () => canSys(P.SHARED_TOOL_DELETE),
/**
* 系统「共享工具」(系统 > 共享 > 工具)发布权限
*/
publish: () => canSys(P.SHARED_TOOL_PUBLISH),
/**
* 系统「共享工具」(系统 > 共享 > 工具)导出权限
*/
export: () => canSys(P.SHARED_TOOL_EXPORT),
/**
* 系统「共享工具」(系统 > 共享 > 工具)查看关联资源权限
*/
relateMap: () => canSys(P.SHARED_TOOL_RELATE_RESOURCE_VIEW),
/**
* 系统「共享工具」(系统 > 共享 > 工具)查看执行记录权限
*/
record: () => canSys(P.SHARED_TOOL_EXECUTE_RECORD),
/**
* 系统「共享工具」(系统 > 共享 > 工具)授权工作空间权限
*/
authToWorkspace: () => canSys(P.SHARED_TOOL_TO_WORKSPACE),
}

Expand Down
3 changes: 3 additions & 0 deletions ui/src/permission/modules/tool/system.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ const system = {
* 系统「工具资源管理」(系统 > 资源管理 > 工具)编辑权限
* */
edit: () => canSys(P.RESOURCE_TOOL_EDIT),
/**
* 系统「工具资源管理」(系统 > 资源管理 > 工具)修改工具状态权限
* */
switch: () => canSys(P.RESOURCE_TOOL_EDIT),
debug: () => canSys(P.RESOURCE_TOOL_EDIT),
/**
Expand Down
3 changes: 3 additions & 0 deletions ui/src/permission/modules/tool/workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ const workspace = {
* 工作空间「工具」编辑权限
*/
edit: (id: string) => canRes(P.TOOL_EDIT, id),
/**
* 工作空间「工具」修改工具状态权限
*/
switch: (id: string) => canRes(P.TOOL_EDIT, id),
/**
* 工作空间「工具」复制权限
Expand Down
2 changes: 1 addition & 1 deletion ui/src/views/system/resource-management/tool/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ onMounted(() => {
<template #default="{ row }">
<div class="flex-align-center">
<!-- 启用或禁用工具 -->
<ToolStatusSwitch v-model:loading="operationLoading" :api="SystemToolApi" :tool="row" :disabled="!perm.tool.system.edit() || operationLoading" @update="handleToolUpdate" />
<ToolStatusSwitch v-model:loading="operationLoading" :api="SystemToolApi" :tool="row" :disabled="!perm.tool.system.switch() || operationLoading" @update="handleToolUpdate" />
<el-divider direction="vertical" class="ml-3! mr-2!" />
<!-- 编辑工具配置 -->
<EditToolAction v-if="perm.tool.system.edit()" display="button" label="编辑" :api="SystemToolApi" :tool="row" @update="handleToolUpdate" />
Expand Down
11 changes: 6 additions & 5 deletions ui/src/views/system/shared-resources/model/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import ModelCard from '@/views/model/model-card/ModelCard.vue'
import ButtonAddModel from '@/views/model/create-model/ButtonAddModel.vue'
import ModelProvider from '@/views/model/components/ModelProvider.vue'
import { DeleteModelAction, EditModelAction, ParamSettingAction, RelatedResourcesModelAction } from '@/views/model/model-card/action-dropdown'
import perm from '@/permission'

const DEFAULT_MODEL_PROVIDER: ModelProviderItem = { icon: '', name: '全部模型', provider: 'all' }

Expand Down Expand Up @@ -87,7 +88,7 @@ onMounted(() => {
<div class="flex-align-center">
<MkComplexSearch :fields="searchFields" @change="handleSearchChange" />
<!-- 添加模型 -->
<ButtonAddModel :api="SystemSharedModelApi" :current-provider="currentProvider" :providers="modelProviders" @refresh="loadModels" />
<ButtonAddModel v-if="perm.model.share.create()" :api="SystemSharedModelApi" :current-provider="currentProvider" :providers="modelProviders" @refresh="loadModels" />
</div>
</component>
<div v-loading="loading">
Expand All @@ -96,16 +97,16 @@ onMounted(() => {
<ModelCard :api="SystemSharedModelApi" :model="model" :provider="getModelProvider(model)" :refresh="loadModels" :shared="true">
<template #action-dropdown>
<!-- 编辑 -->
<EditModelAction label="编辑" :api="SystemSharedModelApi" :model="model" :provider="getModelProvider(model)" @refresh="loadModels" />
<EditModelAction v-if="perm.model.share.modify()" label="编辑" :api="SystemSharedModelApi" :model="model" :provider="getModelProvider(model)" @refresh="loadModels" />
<!-- // TODO 授权工作空间 -->
<!-- 模型参数设置 -->
<ParamSettingAction v-if="model.model_type !== 'RERANKER'" label="模型参数设置" :api="SystemSharedModelApi" :model="model" />
<ParamSettingAction v-if="model.model_type !== 'RERANKER' && perm.model.share.paramSetting()" label="模型参数设置" :api="SystemSharedModelApi" :model="model" />

<!-- 查看关联资源 -->
<RelatedResourcesModelAction label="查看关联资源" :api="RelatedResourcesApi" :model="model" />
<RelatedResourcesModelAction v-if="perm.model.share.relateMap()" label="查看关联资源" :api="RelatedResourcesApi" :model="model" />

<!-- 删除 -->
<DeleteModelAction label="删除" :api="SystemSharedModelApi" :model="model" @refresh="loadModels" />
<DeleteModelAction v-if="perm.model.share.delete()" label="删除" :api="SystemSharedModelApi" :model="model" @refresh="loadModels" />
</template>
</ModelCard>
</template>
Expand Down
14 changes: 9 additions & 5 deletions ui/src/views/system/shared-resources/tool/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
CopyToolAction,
} from '@/views/tool/tool-card/action-dropdown'
import ButtonToolStore from '@/views/tool/components/ButtonToolStore.vue'
import perm from '@/permission'

const router = useRouter()

Expand Down Expand Up @@ -103,7 +104,7 @@ function handleOpenWorkflow(tool: ToolItem, event: MouseEvent) {
<!-- 工具商店 -->
<ButtonToolStore folder-id="default" @refresh="refreshTools" />
<!-- 创建共享工具 -->
<ButtonCreateTool folder-id="default" :api="SystemSharedToolApi" @refresh="refreshTools" />
<ButtonCreateTool v-if="perm.tool.share.create()" folder-id="default" :api="SystemSharedToolApi" @refresh="refreshTools" />
</div>
</component>
<div v-loading="toolOperationLoading" class="min-h-0 flex-1">
Expand All @@ -120,12 +121,13 @@ function handleOpenWorkflow(tool: ToolItem, event: MouseEvent) {
>
<template #actions>
<!-- 修改工具状态 -->
<ToolStatusSwitch v-model:loading="toolOperationLoading" :api="SystemSharedToolApi" :tool="tool" @update="handleToolUpdate" />
<ToolStatusSwitch v-if="perm.tool.share.switch()" v-model:loading="toolOperationLoading" :api="SystemSharedToolApi" :tool="tool" @update="handleToolUpdate" />
<el-divider direction="vertical" class="ml-1!" />
</template>
<template #action-dropdown>
<!-- 编辑共享工具 -->
<EditToolAction
v-if="perm.tool.share.edit()"
:ref="
(instance) => {
if (instance) editToolActionRefs[tool.id] = instance as InstanceType<typeof EditToolAction>
Expand All @@ -139,6 +141,7 @@ function handleOpenWorkflow(tool: ToolItem, event: MouseEvent) {
/>
<!-- 复制 -->
<CopyToolAction
v-if="perm.tool.share.copy()"
v-model:loading="toolOperationLoading"
label="复制"
:api="SystemSharedToolApi"
Expand Down Expand Up @@ -168,25 +171,26 @@ function handleOpenWorkflow(tool: ToolItem, event: MouseEvent) {
:tool="tool"
/>
<!-- 查看关联资源 -->
<RelatedResourcesToolAction label="查看关联资源" :api="SystemSharedRelatedResourcesApi" :tool="tool" />
<RelatedResourcesToolAction v-if="perm.tool.share.relateMap()" label="查看关联资源" :api="SystemSharedRelatedResourcesApi" :tool="tool" />
<!-- 查看执行记录 -->
<ExecutionRecordToolAction
v-if="tool.tool_type === TOOL_TYPE.CUSTOM || tool.tool_type === TOOL_TYPE.WORKFLOW"
v-if="(tool.tool_type === TOOL_TYPE.CUSTOM || tool.tool_type === TOOL_TYPE.WORKFLOW) && perm.tool.share.record()"
label="查看执行记录"
:api="SystemSharedToolWorkflowApi"
:tool="tool"
/>
<!-- TODO 授权工作空间 -->
<!-- 导出共享工具 -->
<ExportToolAction
v-if="!tool.template_id"
v-if="!tool.template_id && perm.tool.share.export()"
v-model:loading="toolOperationLoading"
label="导出"
:api="SystemSharedToolApi"
:tool="tool"
/>
<!-- 删除共享工具 -->
<DeleteToolAction
v-if="perm.tool.share.delete()"
v-model:loading="toolOperationLoading"
label="删除"
:api="SystemSharedToolApi"
Expand Down
4 changes: 2 additions & 2 deletions ui/src/views/tool/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ onMounted(() => {
>
<template #actions>
<!-- 修改工具状态 -->
<ToolStatusSwitch :disabled="!perm.tool.workspace.edit(tool.id)" v-model:loading="toolOperationLoading" :api="ToolApi" :tool="tool" @update="handleToolUpdate" />
<ToolStatusSwitch :disabled="!perm.tool.workspace.switch(tool.id)" v-model:loading="toolOperationLoading" :api="ToolApi" :tool="tool" @update="handleToolUpdate" />
<el-divider direction="vertical" class="ml-1!"/>
</template>
<template #action-dropdown>
Expand All @@ -286,7 +286,7 @@ onMounted(() => {
/>
<ToolWorkflowAction v-if="tool.tool_type === TOOL_TYPE.WORKFLOW" label="工作流" :tool="tool" />
<!-- 复制 -->
<CopyToolAction v-model:loading="toolOperationLoading" label="复制" :api="ToolApi" :tool="tool" @refresh="refreshTool" />
<CopyToolAction v-if="perm.tool.workspace.copy(tool.id)" v-model:loading="toolOperationLoading" label="复制" :api="ToolApi" :tool="tool" @refresh="refreshTool" />
<InitParamAction
v-if="(tool.init_field_list?.length ?? 0) > 0"
v-model:loading="toolOperationLoading"
Expand Down
Loading