diff --git a/src/modules/09_leave/components/3_WorkTime/DialogForm.vue b/src/modules/09_leave/components/01_RoundTime/DialogForm.vue similarity index 97% rename from src/modules/09_leave/components/3_WorkTime/DialogForm.vue rename to src/modules/09_leave/components/01_RoundTime/DialogForm.vue index 96dfb155e..e225204db 100644 --- a/src/modules/09_leave/components/3_WorkTime/DialogForm.vue +++ b/src/modules/09_leave/components/01_RoundTime/DialogForm.vue @@ -16,7 +16,7 @@ import DialogHeader from "@/components/DialogHeader.vue"; const $q = useQuasar(); const mixin = useCounterMixin(); -const { dialogConfirm, success, messageError } = mixin; +const { dialogConfirm, success, messageError, showLoader, hideLoader } = mixin; const isRead = defineModel("isRead", { required: true }); /** propsData จาก RoundMain */ const props = defineProps({ @@ -104,22 +104,25 @@ function onSubmit() { /** Function สร้างรอบการปฏิบัติงาน*/ async function postRoundDuty() { + showLoader(); await http .post(config.API.roundDutytime(), formData) - .then(() => { + .then(async () => { + await props.fetchData?.(); + await props.closeDialog?.(); success($q, "บันทึกข้อมูล"); }) .catch((err) => { messageError($q, err); }) .finally(() => { - props.fetchData?.(); - props.closeDialog?.(); + hideLoader(); }); } /** Functiom แก้ไข้รอบการปฏิบัติงาน*/ async function putRoundDuty(id: string) { + showLoader(); const data = { description: formData.description, isDefault: formData.isDefault, @@ -127,15 +130,16 @@ async function putRoundDuty(id: string) { }; await http .put(config.API.roundDutytimeByid(id), data) - .then(() => { + .then(async () => { + await props.fetchData?.(); + await props.closeDialog?.(); success($q, "บันทึกข้อมูล"); }) .catch((err) => { messageError($q, err); }) .finally(() => { - props.fetchData?.(); - props.closeDialog?.(); + hideLoader(); }); } diff --git a/src/modules/09_leave/components/1_Work/DialogDetail.vue b/src/modules/09_leave/components/02_WorkList/DialogDetail.vue similarity index 99% rename from src/modules/09_leave/components/1_Work/DialogDetail.vue rename to src/modules/09_leave/components/02_WorkList/DialogDetail.vue index 1a58058d9..2f24fad01 100644 --- a/src/modules/09_leave/components/1_Work/DialogDetail.vue +++ b/src/modules/09_leave/components/02_WorkList/DialogDetail.vue @@ -8,7 +8,7 @@ import { useQuasar } from "quasar"; import type { FormDetail } from "@/modules/09_leave/interface/response/work"; /** importComponents*/ -import Map from "@/modules/09_leave/components/1_Work/DialogMap.vue"; +import Map from "@/modules/09_leave/components/02_WorkList/DialogMap.vue"; /** importStores */ import { useCounterMixin } from "@/stores/mixin"; diff --git a/src/modules/09_leave/components/1_Work/DialogEdit.vue b/src/modules/09_leave/components/02_WorkList/DialogEdit.vue similarity index 94% rename from src/modules/09_leave/components/1_Work/DialogEdit.vue rename to src/modules/09_leave/components/02_WorkList/DialogEdit.vue index 4245853cb..b9649d968 100644 --- a/src/modules/09_leave/components/1_Work/DialogEdit.vue +++ b/src/modules/09_leave/components/02_WorkList/DialogEdit.vue @@ -65,7 +65,9 @@ async function onClickSave() { showLoader(); await http .put(config.API.leaveEditCheckin(props.detail?.id), body) - .then(() => { + .then(async () => { + await props.fetchData?.(); + await props.close?.(); success($q, "บันทึกข้อมูลสำเร็จ"); }) .catch((err) => { @@ -73,14 +75,12 @@ async function onClickSave() { }) .finally(() => { hideLoader(); - props.fetchData?.(); - props.close?.(); }); }); } } -function filterFnOptions(val: any, update: Function) { +function filterFnOptions(val: string, update: Function) { update(() => { options.value = optionsMain.value.filter( (v: DataOption) => v.name.indexOf(val) > -1 @@ -143,7 +143,7 @@ watch( :rules="[(val:string) => !!val || `${'กรุณาเลือกสถานะ'}`]" hide-bottom-space use-input - @filter="(inputValue: any,doneFn: Function) => filterFnOptions(inputValue, doneFn)" + @filter="(inputValue: string,doneFn: Function) => filterFnOptions(inputValue, doneFn)" >