From e7a1fe47e7c3a13956fcf322ad63ad0b72af2291 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Wed, 18 Jun 2025 12:39:45 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=20bug=20=E0=B8=A3?= =?UTF-8?q?=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=A5=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/05_Leave/DetailLeavePage.vue | 16 ++++++++++------ .../components/05_Leave/DetailLeaveReject.vue | 13 +++++++------ .../05_Leave/Dialog/DialogAddCommander.vue | 13 +++++++++---- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/modules/09_leave/components/05_Leave/DetailLeavePage.vue b/src/modules/09_leave/components/05_Leave/DetailLeavePage.vue index 5357fba06..d684798b6 100644 --- a/src/modules/09_leave/components/05_Leave/DetailLeavePage.vue +++ b/src/modules/09_leave/components/05_Leave/DetailLeavePage.vue @@ -379,7 +379,7 @@ async function fetchDetailLeave(paramsId: string) { }; isLoadData.value = true; - await fectOptionType(); + // await fetchOptionType(); }) .catch((err) => { messageError($q, err); @@ -390,12 +390,11 @@ async function fetchDetailLeave(paramsId: string) { } const leaveType = ref(); -async function fectOptionType() { +async function fetchOptionType() { await http .get(config.API.leaveType()) .then((res) => { leaveType.value = res.data.result; - checkLeaveType(formData.leaveTypeId, formData); }) .catch((err) => { messageError($q, err); @@ -645,9 +644,14 @@ async function fetchKeycloakPosition() { onMounted(async () => { if (paramsId) { - await fetchKeycloakPosition(); - await fetchDetailLeave(paramsId); - await checkOfficer(); + await Promise.all([ + fetchOptionType(), + fetchKeycloakPosition(), + fetchDetailLeave(paramsId), + checkOfficer(), + ]); + + checkLeaveType(formData.leaveTypeId, formData); } }); diff --git a/src/modules/09_leave/components/05_Leave/DetailLeaveReject.vue b/src/modules/09_leave/components/05_Leave/DetailLeaveReject.vue index c70abf79b..c08ff9d3e 100644 --- a/src/modules/09_leave/components/05_Leave/DetailLeaveReject.vue +++ b/src/modules/09_leave/components/05_Leave/DetailLeaveReject.vue @@ -174,11 +174,13 @@ onMounted(async () => { if (paramsId) { showLoader(); Promise.all([ - await fetchDetailDeleteLeave(paramsId), - await fetchKeycloakPosition(), - await fetchDetailLeave(paramsId), + fetchOptionType(), + fetchDetailDeleteLeave(paramsId), + fetchKeycloakPosition(), + fetchDetailLeave(paramsId), checkOfficer(), ]).finally(() => { + checkLeaveType(formData.leaveTypeId, formData.leaveSubTypeName); hideLoader(); }); } @@ -311,7 +313,7 @@ async function fetchDetailLeave(paramsId: string) { commanders: data.commanders, approvers: data.approvers, }; - await fectOptionType(); + // await fetchOptionType(); }) .catch((err) => { messageError($q, err); @@ -320,12 +322,11 @@ async function fetchDetailLeave(paramsId: string) { const leaveType = ref(); /** function เรียกประเภทการลา */ -async function fectOptionType() { +async function fetchOptionType() { await http .get(config.API.leaveType()) .then((res) => { leaveType.value = res.data.result; - checkLeaveType(formData.leaveTypeId, formData.leaveSubTypeName); }) .catch((err) => { messageError($q, err); diff --git a/src/modules/09_leave/components/05_Leave/Dialog/DialogAddCommander.vue b/src/modules/09_leave/components/05_Leave/Dialog/DialogAddCommander.vue index 9da1c5943..39db33568 100644 --- a/src/modules/09_leave/components/05_Leave/Dialog/DialogAddCommander.vue +++ b/src/modules/09_leave/components/05_Leave/Dialog/DialogAddCommander.vue @@ -114,7 +114,10 @@ async function getData() { keyword: keyword.value, isAct: isAct.value, keycloakId: props.keycloakUserId, - type: props.profileType === "officer" ? props.profileType : "employee", + type: + props.profileType?.toLocaleLowerCase() === "officer" + ? "officer" + : "employee", }) .then(async (res) => { const data = res.data.result; @@ -150,7 +153,8 @@ function onSubmit() { .post( config.API.addApproverByType( props.type?.toLocaleLowerCase() as string, - props.profileType?.toLocaleLowerCase() as string, + // props.profileType?.toLocaleLowerCase() as string, + "officer", pageId.value ), body @@ -161,9 +165,9 @@ function onSubmit() { props.fetchDetailLeave?.(pageId.value); }) .catch((e) => { + hideLoader(); messageError($q, e); - }) - .finally(() => {}); + }); }); } else { dialogMessageNotify($q, "กรุณาเลือกอย่างน้อย 1 คน"); @@ -192,6 +196,7 @@ watch( } ); +