From 7467b0b4e0a0538b00e9c0c92acfad75c17b3112 Mon Sep 17 00:00:00 2001 From: lizhixian <18210040298@163.com> Date: Tue, 18 Feb 2025 17:15:17 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E7=9B=91=E5=90=AC=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E5=AD=97=E6=AE=B5=EF=BC=8C=E8=B0=83=E7=94=A8=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E9=A2=84=E6=B5=8B=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create/ProcessDefinitionDetail.vue | 32 +++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue index bbe67a8a..dbecc508 100644 --- a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue +++ b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue @@ -154,17 +154,21 @@ const initProcessInfo = async (row: any, formVariables?: any) => { // 这里暂时无需加载流程图,因为跳出到另外个 Tab; } } - -// 监听 formVariables 的变化 +// 预测流程节点会因为输入的参数值而产生新的预测结果值,所以需重新预测一次 watch( detailForm.value, - (newValue, oldValue) => { - console.log('formVariables 发生了变化') - console.log('新值:', newValue) - console.log('旧值:', oldValue) + (newValue) => { + if (newValue && Object.keys(newValue.value).length > 0) { + // startUserSelectTasks.value = [] + // startUserSelectAssignees.value = [] + getApprovalDetail({ + id: props.selectProcessDefinition.id, + processVariablesStr: newValue.value + }) + } }, { - deep: true // 深度监听,当对象内部属性变化时也会触发回调 + immediate: true } ) @@ -232,19 +236,7 @@ const submitForm = async () => { } // 流程表单校验 await fApi.value.validate() - // 临时保存已选择的审批人信息,避免重新预测后已选择的审批人丢失 - const savedAssignees = { ...startUserSelectAssignees.value } - // 预测流程节点会因为输入的参数值而产生新的预测结果值,所以在提交时需重新预测一次 - await getApprovalDetail({ - id: props.selectProcessDefinition.id, - processVariablesStr: detailForm.value?.value - }) - // 恢复已选择的审批人信息 - Object.keys(savedAssignees).forEach((id) => { - if (startUserSelectAssignees.value[id]) { - startUserSelectAssignees.value[id] = savedAssignees[id] - } - }) + // debugger // 如果有指定审批人,需要校验 if (startUserSelectTasks.value?.length > 0) { for (const userTask of startUserSelectTasks.value) {