From 9585271abb3220d54d9830670dd732cd12439d93 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Tue, 30 Aug 2022 08:39:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9C=B0=E5=9B=BE=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AMap/src/components/MapTaskModal.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/AMap/src/components/MapTaskModal.vue b/src/components/AMap/src/components/MapTaskModal.vue index c7088ac..4b16520 100644 --- a/src/components/AMap/src/components/MapTaskModal.vue +++ b/src/components/AMap/src/components/MapTaskModal.vue @@ -295,7 +295,20 @@ async function handleSubmit() { try { setModalProps({ confirmLoading: true }); - state.mapData.mapTask = [...toRaw(getTaskOrdinaryDataSource()), ...toRaw(getTaskPresetDataSource())]; + // 处理提交之前逻辑 + const taskOrdinaryData = toRaw(getTaskOrdinaryDataSource()); + const taskPresetData = toRaw(getTaskPresetDataSource()); + // 校验表格是否通过 + const validateData:Promise[] = []; + taskOrdinaryData.forEach(item => { + validateData.push(item.onValid?.() || Promise.resolve(true)); + }); + taskPresetData.forEach(item => { + validateData.push(item.onValid?.() || Promise.resolve(true)); + }); + const validateResult = await Promise.all(validateData); + if (!validateResult.every(item => item)) return createMessage.error('表格校验未通过,请检查!'); + state.mapData.mapTask = [...taskOrdinaryData, ...taskPresetData]; // 处理提交完成之后逻辑 closeModal(); emit('success');