diff --git a/src/api/09_leave/api.leave.ts b/src/api/09_leave/api.leave.ts index 12d2374e9..9a9f5bae8 100644 --- a/src/api/09_leave/api.leave.ts +++ b/src/api/09_leave/api.leave.ts @@ -29,4 +29,6 @@ export default { leaveComanderApprove: (id: string) => `${leave}/admin/approve/comander/${id}`, leaveApprove: (id: string) => `${leave}/admin/approve/${id}`, leaveReject: (id: string) => `${leave}/admin/reject/${id}`, + leaveReport: (id: string) => `${leave}/report/${id}`, + leaveReportReject: (id: string) => `${leave}/report/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 55625d3f8..487fae021 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeave.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeave.vue @@ -4,6 +4,7 @@ import { useRoute, useRouter } from "vue-router"; import { useQuasar } from "quasar"; import http from "@/plugins/http"; import config from "@/app.config"; +import genReport from "@/plugins/genreport"; /** importStore */ import { useCounterMixin } from "@/stores/mixin"; @@ -194,7 +195,9 @@ async function fetchDetailLeave(paramsId: string) { formData.leavegovernmentDate = data.leaveGovernmentDate && date2Thai(data.leaveGovernmentDate); formData.leaveSalary = data.leaveSalary ? data.leaveSalary : "-"; - formData.leaveSalaryText = data.leaveSalaryText ? data.leaveSalaryText : "-"; + formData.leaveSalaryText = data.leaveSalaryText + ? data.leaveSalaryText + : "-"; formData.leaveTypeDay = data.leaveTypeDay && stores.convertLeaveDaytype(data.leaveTypeDay); formData.wifeDayName = data.wifeDayName ? data.wifeDayName : "-"; @@ -347,7 +350,7 @@ function checkLeaveType(leaveTypeId: string, leaveTypeName: string) { } /** Function dialog*/ -const openModal = async (data: string) => { +async function openModal(data: string) { if (data === "approve") { modalApprove.value = true; dialogTitle.value = "อนุมัติ"; @@ -361,7 +364,7 @@ const openModal = async (data: string) => { dialogTitle.value = "ส่งไปยังผู้มีอำนาจ"; dialogLabel.value = "ความคิดเห็น"; } -}; +} /** function ส่งไปผู้บังคับบัญชา*/ function sendToCommand() { @@ -458,6 +461,23 @@ function clickSave(reason: string) { ); } } + +async function onClickDownloadFile(id: string, fileName: string) { + showLoader(); + await http + .get(config.API.leaveReport(id)) + .then(async (res) => { + console.log(res); + const data = res.data.result; + await genReport(data, fileName); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); +} @@ -484,6 +504,7 @@ function clickSave(reason: string) { flat color="primary" class="q-mr-sm" + @click="onClickDownloadFile(formData.id, formData.leaveTypeName)" >ดาวน์โหลดไฟล์ @@ -502,7 +523,7 @@ function clickSave(reason: string) { --> - อัปโหลด + > --> diff --git a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue index a4442ed86..b6563d5ae 100644 --- a/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue +++ b/src/modules/09_leave/components/2_Leave/DetailLeaveReject.vue @@ -4,13 +4,12 @@ import { useRoute, useRouter } from "vue-router"; import { useQuasar } from "quasar"; import http from "@/plugins/http"; import config from "@/app.config"; +import genReport from "@/plugins/genreport"; /** importStore */ import { useCounterMixin } from "@/stores/mixin"; import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore"; -import { useLeavelistDataStoreTest } from "@/modules/09_leave/stores/ListLeave"; import DialogReason from "@/components/Dialogs/PopupReason.vue"; -const APIDATA = useLeavelistDataStoreTest(); /** importType */ import type { @@ -370,6 +369,23 @@ function clickSave() { console.log("NOT"); } } + +async function onClickDownloadFile(id: string, fileName: string) { + showLoader(); + await http + .get(config.API.leaveReportReject(id)) + .then(async (res) => { + console.log(res); + const data = res.data.result; + await genReport(data, fileName); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); +} @@ -387,7 +403,7 @@ function clickSave() { /> รายละเอียดการขอยกเลิกของ {{ formData.fullName }} - +