diff --git a/src/views/digitalHuman/creation/index.vue b/src/views/digitalHuman/creation/index.vue index 4f2f01e..546b520 100644 --- a/src/views/digitalHuman/creation/index.vue +++ b/src/views/digitalHuman/creation/index.vue @@ -410,7 +410,7 @@ :key="workflow.id" class="workflow-item" :class="{ active: currentEditingWorkflowId === workflow.id }" - @click="useWorkflow(workflow)" + @click="isSuperAdmin ? editWorkflow(workflow) : useWorkflow(workflow)" >
{{ workflow.flowName }}
@@ -418,6 +418,7 @@
编辑 + 使用 删除
@@ -444,14 +445,14 @@
-
+
{{ workflow.flowName || workflow.flowTemplateName }}
{{ workflow.description || '暂无描述' }}
编辑 - 使用 + 使用 删除
@@ -584,6 +585,7 @@ import { } from '/@/api/digitalHuman/creation'; import { uploadFile } from '/@/api/common/upload'; import { getModelModuleList, updateChatModel, getIsChatModel } from '/@/api/digitalHuman/modelConfig/modelModule'; +import { checkIsSuperAdmin } from '/@/api/system/user'; type NodeType = 'date' | 'contentType' | 'theme' | 'title' | 'html' | 'image'; type Item = Record; @@ -631,6 +633,7 @@ const workflowTab = ref('user'); // 工作流 Tab:user 或 template const userWorkflowList = ref([]); // 用户工作流列表 const templateWorkflowList = ref([]); // 模板工作流列表 const isAdmin = ref(false); // 是否为管理员 +const isSuperAdmin = ref(false); // 是否为超级管理员(管理员只能编辑,不能创作) const userWorkflowPagination = reactive({ pageNum: 1, pageSize: 10, @@ -1050,6 +1053,12 @@ const handleSetChatModel = async () => { }; // 使用工作流 const useWorkflow = async (workflow: WorkflowItem) => { + // 管理员权限检查:管理员只能编辑,不能进入创作模式 + if (isSuperAdmin.value) { + ElMessage.warning('管理员只能查看和编辑工作流,不能进入创作模式'); + return; + } + try { // 调用详情接口获取最新的工作流数据 const res = await getWorkflowDetail(workflow.id); @@ -1337,6 +1346,12 @@ const getFieldClass = (type: string) => { const handleTreeNodeClick = async (data: TreeNode) => { // 只处理工作流节点(contentType) if (data.nodeType === 'contentType' && data.workflowId) { + // 管理员权限检查:管理员只能编辑,不能进入创作模式 + if (isSuperAdmin.value) { + ElMessage.warning('管理员只能查看和编辑工作流,不能进入创作模式'); + return; + } + try { // 从工作空间进入,使用 execution/get 接口获取执行详情 const res = await getExecutionDetail(String(data.workflowId)); @@ -2370,6 +2385,14 @@ onMounted(async () => { initLogicFlow(); await getNodeLibrary(); await fetchWorkflowList(); + + // 获取当前用户角色 + try { + const res = await checkIsSuperAdmin(); + isSuperAdmin.value = res.data || false; + } catch (error) { + isSuperAdmin.value = false; + } }); onBeforeUnmount(() => { logicFlowInstance.value?.destroy();