diff --git a/src/modules/04_system/components/cardAutoBackup.vue b/src/modules/04_system/components/cardAutoBackup.vue index ed287c25..22edb17a 100644 --- a/src/modules/04_system/components/cardAutoBackup.vue +++ b/src/modules/04_system/components/cardAutoBackup.vue @@ -26,8 +26,14 @@ import { storeToRefs } from "pinia"; * use */ const $q = useQuasar(); -const { showLoader, hideLoader, date2Thai, dialogRemove, dialogConfirm } = - useCounterMixin(); +const { + showLoader, + hideLoader, + date2Thai, + dialogRemove, + dialogConfirm, + dialogMessageNotify, +} = useCounterMixin(); const { fetchListBackup, createBackUp, @@ -209,16 +215,28 @@ function convertFormToCron() { * function submit() ตั้งเวลา backup * */ -async function onSubmit() { - showLoader(); - if (typeOnSubmit.value === "create") { - await createSchedule(formDataschedule.value); +function onSubmit() { + if ( + (formDataschedule.value.type === "weekly" || + formDataschedule.value.type === "monthly") && + formDataschedule.value.date.length === 0 + ) { + dialogMessageNotify($q, "กรุณาเลือกวันสำรองข้อมูล"); + } else { + dialogConfirm($q, async () => { + showLoader(); + if (typeOnSubmit.value === "create") { + await createSchedule(formDataschedule.value); + } + if (typeOnSubmit.value === "edit") { + await editSchedule(idEditSchedule.value, formDataschedule.value); + } + getSchedule(); + hideLoader(); + openDialog.value = false; + clearForm(); + }); } - if (typeOnSubmit.value === "edit") { - await editSchedule(idEditSchedule.value, formDataschedule.value); - } - getSchedule(); - hideLoader(); } /** @@ -285,6 +303,15 @@ const typeSchedule: { [key: string]: string } = { monthly: "รายเดือน", }; +function clearForm() { + formDataschedule.value.timeStartEvery = ""; + formDataschedule.value.type = ""; + formDataschedule.value.date = []; + formDataschedule.value.name = ""; + formDataschedule.value.time = ""; + formDataschedule.value.schedule = ""; +} + onMounted(async () => { getSchedule(); }); @@ -313,6 +340,7 @@ watch(tab, () => { () => { typeOnSubmit = 'create'; openDialog = true; + clearForm(); } " > @@ -488,7 +516,6 @@ watch(tab, () => { convertFormToCron(); onSubmit(); - openDialog = false; } " > diff --git a/src/modules/04_system/components/formDialog.vue b/src/modules/04_system/components/formDialog.vue index ee4e0cb2..7d0372f3 100644 --- a/src/modules/04_system/components/formDialog.vue +++ b/src/modules/04_system/components/formDialog.vue @@ -14,7 +14,7 @@ defineProps<{