From b53ec8e91c9cd9b2c18c60a1e6886964cedc6bb5 Mon Sep 17 00:00:00 2001 From: puriphatt Date: Fri, 20 Sep 2024 11:45:34 +0700 Subject: [PATCH] fix(04): work name => name being use (delete), re select --- .../04_product-service/WorkManagementComponent.vue | 5 +++-- src/pages/04_product-service/MainPage.vue | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/components/04_product-service/WorkManagementComponent.vue b/src/components/04_product-service/WorkManagementComponent.vue index 6a4544c7..fc16bad2 100644 --- a/src/components/04_product-service/WorkManagementComponent.vue +++ b/src/components/04_product-service/WorkManagementComponent.vue @@ -66,8 +66,9 @@ watch( const oldList = o.map((v: { name: string }) => v.name); const index = oldList.indexOf(workName.value); - if (list[index] !== oldList[index]) { - workName.value = list[index]; + if (list[index] !== oldList[index] && !list.includes(workName.value)) { + if (list.length - 1 === index - 1) workName.value = list[index - 1]; + else workName.value = list[index]; } }, ); diff --git a/src/pages/04_product-service/MainPage.vue b/src/pages/04_product-service/MainPage.vue index 16d3bb72..f69be1b4 100644 --- a/src/pages/04_product-service/MainPage.vue +++ b/src/pages/04_product-service/MainPage.vue @@ -1155,19 +1155,29 @@ async function submitGroup() { function confirmDeleteWork(id: string, noDialog?: boolean) { if (noDialog) { deleteWork(id); - } else + } else { + const currUseName = + service.value?.map((v) => v.work.map((x) => x.name)).flat() || []; + const deleteTarget = workNameItems.value.find( + (v: { id: string }) => v.id === id, + ).name; + const isNameInUse = currUseName.includes(deleteTarget); + dialog({ color: 'negative', icon: 'mdi-alert', title: t('dialog.title.confirmDelete'), actionText: t('general.delete'), - message: t('dialog.message.confirmDelete'), + message: isNameInUse + ? `${t('dialog.message.beingUse', { msg: deleteTarget })} ${t('dialog.message.confirmDelete')}` + : t('dialog.message.confirmDelete'), action: async () => { deleteWork(id); flowStore.rotate(); }, cancel: () => {}, }); + } } function triggerConfirmCloseWork() {