From be1d702334a689cf7d9564ef01edc8e85ffe5d09 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 27 Jul 2026 14:46:43 +0800 Subject: [PATCH] Fix workflow action initialization order --- src/views/wf/ticketd_b.vue | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/views/wf/ticketd_b.vue b/src/views/wf/ticketd_b.vue index 80e96d4c..99f804de 100644 --- a/src/views/wf/ticketd_b.vue +++ b/src/views/wf/ticketd_b.vue @@ -65,17 +65,6 @@ const tryInit = () => { init(); } }; -watch( - () => [ - props.ticket_?.id, - props.ticket_?.state, - props.ticket_?.participant, - props.ticket_?.update_time, - props.workflow_key, - ], - tryInit, - { deep: true, immediate: true }, -); const ticketId = ref(null); const actionShow = ref(false); @@ -106,6 +95,20 @@ const init = async () => { ElMessage.error("缺少workflow_key或ticketId"); } } +// immediate watcher 注册时会同步执行回调,必须放在 init 初始化之后, +// 否则首次进入工艺步骤会在 const init 的暂时性死区内调用它。 +watch( + () => [ + props.ticket_?.id, + props.ticket_?.state, + props.ticket_?.participant, + props.ticket_?.update_time, + props.workflow_key, + ], + tryInit, + { deep: true, immediate: true }, +); + const isSaveing = ref(false); const isAccepting = ref(false);