From a2dedfe5331cd2279482a263d0fa0c662151f449 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 24 Apr 2025 15:41:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A2=E5=8D=95/=E6=AC=BE=E5=BC=8F?= =?UTF-8?q?=E7=BC=96=E8=BE=91):=20=E6=B7=BB=E5=8A=A0=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E9=A1=B5=E5=88=87=E6=8D=A2=E5=89=8D=E7=9A=84=E6=9C=AA=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=8A=B6=E6=80=81=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在订单和款式的编辑页面中,添加了标签页切换前的检查逻辑,防止用户在未保存编辑内容时切换标签页,避免数据丢失 --- .../webapp/app/orders/order/order-edit.component.ts | 11 +++++++++++ src/main/webapp/app/orders/order/order-edit.vue | 2 +- .../webapp/app/orders/style/style-edit.component.ts | 11 +++++++++++ src/main/webapp/app/orders/style/style-edit.vue | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/app/orders/order/order-edit.component.ts b/src/main/webapp/app/orders/order/order-edit.component.ts index 76ec088..ade0639 100644 --- a/src/main/webapp/app/orders/order/order-edit.component.ts +++ b/src/main/webapp/app/orders/order/order-edit.component.ts @@ -417,6 +417,16 @@ export default defineComponent({ return [sums]; }; + const handleTabChange = ({ name }) => { + // 检查当前标签页是否有未保存的编辑状态 + const currentDtls = activeTab.value === 'setting' ? settingDtls.value : baseDtls.value; + if (currentDtls.some(r => hasEditStatus(r))) { + alertService.showWarn($t('entity.validation.saveOrCancelFirst')); + return false; // 阻止标签页切换 + } + return true; // 允许标签页切换 + }; + onMounted(() => { loadData(); }); @@ -439,6 +449,7 @@ export default defineComponent({ handlePrint, activeTab, hasEditStatus, + handleTabChange, addDtlEvent, editDtlEvent, saveDtlEvent, diff --git a/src/main/webapp/app/orders/order/order-edit.vue b/src/main/webapp/app/orders/order/order-edit.vue index 99ca998..9df6150 100644 --- a/src/main/webapp/app/orders/order/order-edit.vue +++ b/src/main/webapp/app/orders/order/order-edit.vue @@ -202,7 +202,7 @@ - + { + // 检查当前标签页是否有未保存的编辑状态 + const currentDtls = activeTab.value === 'setting' ? settingDtls.value : baseDtls.value; + if (currentDtls.some(r => hasEditStatus(r))) { + alertService.showWarn($t('entity.validation.saveOrCancelFirst')); + return false; // 阻止标签页切换 + } + return true; // 允许标签页切换 + }; + return { loading, isSaving, @@ -506,6 +516,7 @@ export default defineComponent({ styleGroupDicts, styleGroupPrefix, handleStyleGroupChange, + handleTabChange, footerMethod, }; }, diff --git a/src/main/webapp/app/orders/style/style-edit.vue b/src/main/webapp/app/orders/style/style-edit.vue index fd748d2..5c4d953 100644 --- a/src/main/webapp/app/orders/style/style-edit.vue +++ b/src/main/webapp/app/orders/style/style-edit.vue @@ -130,7 +130,7 @@ - +