From 4d7e2b16453d3a0e00ec86e4395143144b2254ef Mon Sep 17 00:00:00 2001 From: Thanaphon Frappet Date: Thu, 23 Jan 2025 08:55:31 +0700 Subject: [PATCH] refactor: add mode edit --- .../09_task-order/order_view/MainPage.vue | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/src/pages/09_task-order/order_view/MainPage.vue b/src/pages/09_task-order/order_view/MainPage.vue index 6ffd5ade..f5287f53 100644 --- a/src/pages/09_task-order/order_view/MainPage.vue +++ b/src/pages/09_task-order/order_view/MainPage.vue @@ -15,7 +15,12 @@ import AdditionalFileExpansion from '../expansion/AdditionalFileExpansion.vue'; import RemarkExpansion from '../expansion/RemarkExpansion.vue'; import InfoMessengerExpansion from '../expansion/receive/InfoMessengerExpansion.vue'; import TableEmployee from '../TableEmployee.vue'; -import { SaveButton, MainButton, EditButton } from 'src/components/button'; +import { + SaveButton, + MainButton, + EditButton, + UndoButton, +} from 'src/components/button'; import FormGroupHead from 'src/pages/08_request-list/FormGroupHead.vue'; import FailRemarkDialog from '../receive_view/FailRemarkDialog.vue'; @@ -412,6 +417,26 @@ function openProductDialog() { pageState.productDialog = true; } +async function closeTab() { + if (state.value.mode === 'edit' && !!currentFormData.value.id) { + taskOrderFormStore.resetForm(); + await taskOrderFormStore.assignFormData(currentFormData.value.id, 'edit'); + } else { + dialogWarningClose(t, { + message: t('dialog.message.close'), + action: () => { + window.close(); + }, + cancel: () => {}, + }); + } +} + +function undo() { + if (!currentFormData.value) return; + taskOrderFormStore.assignFormData(currentFormData.value?.id || '', 'info'); +} + onMounted(async () => { initTheme(); initLang(); @@ -1124,13 +1149,18 @@ watch([currentFormData.value.taskStatus], () => { {{ $t('general.view', { msg: $t('general.example') }) }}
-