From 2e07279924ee556c7b6682f0dc02f0da865adb98 Mon Sep 17 00:00:00 2001 From: gaoyunqi Date: Wed, 15 May 2024 18:11:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E9=A1=B5=E9=9D=A2=EF=BC=8C=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=90=8E=E6=97=A0=E6=B3=95=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SystemForm/src/Form.vue | 10 +- src/views/secondDev/FormInformation.vue | 4 +- src/views/secondDev/createFlow.vue | 562 +++++++++--------- .../task/components/flow/FormInformation.vue | 4 +- 4 files changed, 294 insertions(+), 286 deletions(-) diff --git a/src/components/SystemForm/src/Form.vue b/src/components/SystemForm/src/Form.vue index 33d818a..7a645fd 100644 --- a/src/components/SystemForm/src/Form.vue +++ b/src/components/SystemForm/src/Form.vue @@ -169,13 +169,13 @@ async function setFieldsValue(record) { flowConfig.draftsFormData = record; } - async function workflowSubmit() { + async function workflowSubmit(saveRowKey) { let values = {}; try { values = await SystemFormRef.value.validate(); // 提交表单 if (visible.value) { - let id = await submit(); + let id = await submit(saveRowKey); let rowKey = getRowKey(); values[rowKey] = id; values['_id'] = id @@ -184,7 +184,7 @@ return values; } catch (error) {} } - async function submit() { + async function submit(saveRowKey) { let saveValId = ''; let values = await SystemFormRef.value.validate(); let rowKey = getRowKey(); @@ -198,6 +198,10 @@ } else { // 新增 saveValId = await SystemFormRef.value.add(values); + if (saveRowKey) { + // 把rowKey写回去,新建流程的时候防止取消了重复提交 + props.workflowConfig.formModel[rowKey] = saveValId; + } } return saveValId; } diff --git a/src/views/secondDev/FormInformation.vue b/src/views/secondDev/FormInformation.vue index d6e03b8..b48d17c 100644 --- a/src/views/secondDev/FormInformation.vue +++ b/src/views/secondDev/FormInformation.vue @@ -239,13 +239,13 @@ return formModes; } - async function getFormModels() { + async function getFormModels(saveRowKey) { let formModes = {}; for (let index = 0; index < forms.configs.length; index++) { const ele = forms.configs[index]; if (ele.formType == FormType.SYSTEM) { - let values = await itemRefs.value[index].workflowSubmit(); + let values = await itemRefs.value[index].workflowSubmit(saveRowKey); formModes[ele.formKey] = values; } else { formModes[ele.formKey] = ele.formModel; diff --git a/src/views/secondDev/createFlow.vue b/src/views/secondDev/createFlow.vue index 2740ab8..62dbec9 100644 --- a/src/views/secondDev/createFlow.vue +++ b/src/views/secondDev/createFlow.vue @@ -1,6 +1,6 @@ diff --git a/src/views/workflow/task/components/flow/FormInformation.vue b/src/views/workflow/task/components/flow/FormInformation.vue index b169b5f..91d8038 100644 --- a/src/views/workflow/task/components/flow/FormInformation.vue +++ b/src/views/workflow/task/components/flow/FormInformation.vue @@ -300,13 +300,13 @@ } return formModes; } - async function getFormModels() { + async function getFormModels(saveRowKey) { let formModes = {}; for (let index = 0; index < forms.configs.length; index++) { const ele = forms.configs[index]; if (ele.formType == FormType.SYSTEM) { - let values = await itemRefs.value[index].workflowSubmit(); + let values = await itemRefs.value[index].workflowSubmit(saveRowKey); formModes[ele.formKey] = values; } else { formModes[ele.formKey] = ele.formModel;