From 4910535aa5185e0b4ff26b0031016f8217ca684f Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Fri, 8 Dec 2023 16:40:46 +0700 Subject: [PATCH] =?UTF-8?q?api=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=A5?= =?UTF-8?q?=E0=B8=B0=E0=B9=80=E0=B8=AD=E0=B8=B5=E0=B8=A2=E0=B8=94=E0=B8=81?= =?UTF-8?q?=E0=B8=B2=E0=B8=A3=E0=B8=A5=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/09_leave/api.leave.ts | 4 + .../components/2_Leave/DetailLeave.vue | 75 ++++++++++++++++--- .../components/2_Leave/DetailLeaveReject.vue | 8 +- 3 files changed, 73 insertions(+), 14 deletions(-) diff --git a/src/api/09_leave/api.leave.ts b/src/api/09_leave/api.leave.ts index f2c977ef1..6c88cd01d 100644 --- a/src/api/09_leave/api.leave.ts +++ b/src/api/09_leave/api.leave.ts @@ -23,4 +23,8 @@ export default { leaveListDelete: () => `${leave}/admin/delete`, leaveListById: (id: string) => `${leave}/admin/${id}`, leaveCalendar: () => `${leave}/user/calendar`, + leaveApproveToComander: (id: string) => `${leave}/admin/officer/${id}`, + leaveComanderApprove: (id: string) => `${leave}/admin/comander/${id}`, + leaveApprove: (id: string) => `${leave}/admin/approve/${id}`, + leaveReject: (id: string) => `${leave}/admin/reject/${id}`, }; diff --git a/src/modules/09_leave/components/2_Leave/DetailLeave.vue b/src/modules/09_leave/components/2_Leave/DetailLeave.vue index 6eb837d81..4a732c209 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeave.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeave.vue @@ -33,8 +33,14 @@ import FormVocationalRehabilitation from "@/modules/09_leave/components/2_Leave/ /** use */ const $q = useQuasar(); const mixin = useCounterMixin(); -const { dialogConfirm, showLoader, hideLoader, date2Thai, messageError } = - mixin; +const { + dialogConfirm, + showLoader, + hideLoader, + date2Thai, + messageError, + success, +} = mixin; const stores = useLeavelistDataStore(); const router = useRouter(); const route = useRoute(); @@ -309,38 +315,87 @@ const openModal = async (data: string) => { function sendToCommand() { dialogConfirm( $q, - () => console.log("ส่งไปผู้บังคับบัญชา"), + async () => { + await http + .put(config.API.leaveApproveToComander(formData.id)) + .then(() => { + success($q, "บันทึกข้อมูลสำเร็จ"); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => {}); + }, "ยืนยันการส่งไปผู้บังคับบัญชา", "ต้องการยืนยันการส่งไปผู้บังคับบัญชานี้ใช่หรือไม่ ?" ); } /** Function Save */ -function clickSave() { +function clickSave(reason: string) { + const body = { + reason: reason, + }; + if (dialogTitle.value === "อนุมัติ") { dialogConfirm( $q, - () => console.log("save1"), + async () => { + await http + .put(config.API.leaveApprove(formData.id), body) + .then(() => { + success($q, "บันทึกข้อมูลสำเร็จ"); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + modalApprove.value = false; + }); + }, "ยืนยันอนุมัติ", "ต้องการยืนยันอนุมัติใช่หรือไม่ ?" ); - modalApprove.value = false; - console.log("Yes"); } if (dialogTitle.value === "ไม่อนุมัติ") { + //leaveReject dialogConfirm( $q, - () => console.log("save1"), + async () => { + await http + .put(config.API.leaveReject(formData.id), body) + .then(() => { + success($q, "บันทึกข้อมูลสำเร็จ"); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + modalApprove.value = false; + }); + }, "ยืนยันไม่อนุมัติ", "ต้องการยืนยันไม่อนุมัติใช่หรือไม่ ?" ); - modalApprove.value = false; + console.log("NOT"); } if (dialogTitle.value === "ส่งไปยังผู้มีอำนาจ") { dialogConfirm( $q, - () => ((modalApprove.value = false), console.log("ส่งไปยังผู้มีอำนาจ")), + async () => { + await http + .put(config.API.leaveComanderApprove(formData.id), body) + .then(() => { + success($q, "บันทึกข้อมูลสำเร็จ"); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + modalApprove.value = false; + }); + }, "ยืนยันการส่งไปยังผู้มีอำนาจ", "ต้องการยืนยันการส่งไปยังผู้มีอำนาจใช่หรือไม่ ?" ); diff --git a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue index e0d66f1d1..920ab5e80 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue @@ -60,7 +60,7 @@ const formData = reactive({ organizationName: "", //สังกัดผู้ยื่นขอ leaveTypeName: "", // Name ประเภทการลา leaveTypeId: "", //Id ประเภทการลา - fullname: "", //คำนำหน้า ชื่อ นามสกุล คนขอลา + fullName: "", //คำนำหน้า ชื่อ นามสกุล คนขอลา dateSendLeave: new Date(), // วันที่ยื่นใบลา leaveDateStart: new Date(), //วันเริ่มการลา leaveDateEnd: new Date(), //วันสิ้นสุดการลา @@ -147,7 +147,7 @@ function fetchDetailLeave(paramsId: string) { ? e.leaveTypeName : stores.convertLeave(e.leaveTypeId); formData.leaveTypeId = e.leaveTypeId; - formData.fullname = e.fullname; + formData.fullName = e.fullname; formData.dateSendLeave = e.dateSendLeave && date2Thai(e.dateSendLeave); formData.leaveDateStart = e.leaveDateStart && date2Thai(e.leaveDateStart); formData.leaveDateEnd = e.leaveDateEnd && date2Thai(e.leaveDateEnd); @@ -299,7 +299,7 @@ function clickSave() { class="q-mr-sm" @click="router.push(`/leave`)" /> - รายละเอียดการขอยกเลิกของ {{ formData.fullname }} + รายละเอียดการขอยกเลิกของ {{ formData.fullName }}