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') }) }}
-