From 3ff70463ca7305c8eceb04a9cdfcf2be28a81a7f Mon Sep 17 00:00:00 2001 From: liailing1026 <1815388873@qq.com> Date: Mon, 12 Jan 2026 11:17:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BB=BB=E5=8A=A1=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=8A=B6=E6=80=81=E5=8A=A0=E8=BD=BD=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TaskProcess/components/PlanTask.vue | 19 ++++++++++--------- .../Main/TaskTemplate/TaskResult/index.vue | 5 +++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/frontend/src/layout/components/Main/TaskTemplate/TaskProcess/components/PlanTask.vue b/frontend/src/layout/components/Main/TaskTemplate/TaskProcess/components/PlanTask.vue index 1586d6a..e7a702d 100644 --- a/frontend/src/layout/components/Main/TaskTemplate/TaskProcess/components/PlanTask.vue +++ b/frontend/src/layout/components/Main/TaskTemplate/TaskProcess/components/PlanTask.vue @@ -37,20 +37,20 @@ const branchLoading = ref(false) // Mock 数据配置 const USE_MOCK_DATA = true -// 节点和边数据(改为 ref 以支持动态添加) +// 节点和边数据 const nodes = ref([]) const edges = ref([]) -// 🆕 当前选中的节点ID集合(用于高亮整条分支) +//当前选中的节点ID集合 const selectedNodeIds = ref>(new Set()) // 用于防止重复同步的标志 let isSyncing = false -// 🆕 初始化标记,避免重复初始化(使用 sessionStorage 持久化) +//初始化标记,避免重复初始化 const BRANCHES_INIT_KEY_PREFIX = 'plan-task-branches-initialized-' -// 🆕 最后选中的分支ID(使用 sessionStorage 持久化) +// 🆕 最后选中的分支ID const LAST_SELECTED_BRANCH_KEY = 'plan-task-last-selected-branch' // ==================== 辅助函数定义 ==================== @@ -591,10 +591,10 @@ const syncBranchesToStore = () => { onMounted(() => { if (currentTask.value) { initializeFlow() - // 适应视图 + // 适应视图 - 增加padding让节点显示更小 nextTick(() => { setTimeout(() => { - fit({ padding: 0.15, duration: 300 }) + fit({ padding: 0.4, duration: 300 }) }, 100) }) } @@ -1277,13 +1277,14 @@ onConnect(params => addEdges(params)) v-model:nodes="nodes" v-model:edges="edges" :delete-key-code="null" - :default-viewport="{ zoom: 1, x: 0, y: 0 }" - fit-view-on-init + :default-viewport="{ zoom: 0.3, x: 0, y: 0 }" + :min-zoom="0.2" + :max-zoom="4" @node-click="onNodeClick" class="vue-flow-container" > - +