From f574562a8df4ed3c55973b4d4a48b31ea0ba8fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Mon, 15 Jun 2026 06:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20CR-18=20decision=20?= =?UTF-8?q?=E6=AD=BB=E9=80=BB=E8=BE=91(CR-11=E2=91=AA=E5=BC=95=E5=85=A5)+C?= =?UTF-8?q?R-19=20action=20=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CR-18 workflow.ts:67-69 selectType 三元两分支返回值相同(死逻辑)删,直接 decisions[0] ?? '';CR-19 project.ts listener action 当前未消费,保留为未来 delete 本地移除等差异化刷新预留+注释明确;CR-20 stopDataChangedListener try/catch 经核查与 workflow.ts:108 stopEventListener 写法一致(走查误判,不修)。cron 巡检捕获另一会话走查第2轮 CR-18/19/20,vue-tsc 0 --- src/stores/project.ts | 2 +- src/stores/project/workflow.ts | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/stores/project.ts b/src/stores/project.ts index 68bed8c..63f9d41 100644 --- a/src/stores/project.ts +++ b/src/stores/project.ts @@ -32,7 +32,7 @@ function createStore() { if (_dataChangedUnlisten) return _dataChangedUnlisten _dataChangedUnlisten = await listen('df-data-changed', (event) => { const { entity } = event.payload - // 按 entity 调对应 load 刷新(action 仅语义标识,刷新统一走 load 全量拉取) + // 按 entity 调对应 load 刷新(CR-260615-19:action 当前未消费,为未来 delete 本地移除等差异化刷新预留,统一 load 全量拉取) if (entity === 'project') { void projectsStore.loadProjects() } else if (entity === 'task') { diff --git a/src/stores/project/workflow.ts b/src/stores/project/workflow.ts index 282af33..6ce8cfd 100644 --- a/src/stores/project/workflow.ts +++ b/src/stores/project/workflow.ts @@ -63,10 +63,9 @@ export function createWorkflowStore() { ) { if (!state.pendingApproval) return const selectType = state.pendingApproval.select_type ?? 'single' - // 单选取首项(后端 decision 为单值);多选 decision 取首项作占位(后端按 decisions 走) - const decision = selectType === 'multiple' - ? (decisions[0] ?? '') - : (decisions[0] ?? '') + // CR-260615-18:删死逻辑三元(原 selectType 多/单分支返回值相同) + // 单选取首项(后端 decision 单值);多选 decision 取首项占位(后端按 decisions 走) + const decision = decisions[0] ?? '' try { // R-PD-5: 透传 options 闭环后端校验(options 非空时 decision 必须 ∈ options,否则 IPC 报错)。