diff --git a/src/modules/09_leave/views/06_ReportMain.vue b/src/modules/09_leave/views/06_ReportMain.vue index b367b6490..797abf014 100644 --- a/src/modules/09_leave/views/06_ReportMain.vue +++ b/src/modules/09_leave/views/06_ReportMain.vue @@ -269,6 +269,7 @@ async function fetchLeaveday( * @param data ข้อมูลบัญชีวันลา */ async function fetchDocumentTemplate(data: any) { + if (typeReport.value === 4) return; await axios .post(`${config.API.reportTemplate}/xlsx`, data, { headers: { @@ -352,7 +353,7 @@ function clearData() { }; } -function onSearch() { +async function onSearch() { isReport.value = false; isLoadPDF.value = true; pdfSrc.value = undefined; @@ -467,6 +468,19 @@ const reportName = () => { return reportNameVal + employeeClassName; }; +async function handleDownload() { + updateLeaveday(); + await fetchLeaveday( + employeeClass.value, + typeReport.value == 3 || typeReport.value == 4 + ? leaveType.value + : yearType.value, + dateStart.value, + dateEnd.value + ); + await genReportXLSX(detailReport.value, `${reportName()}`); +} + onMounted(() => { fetchDataTree(); }); @@ -512,7 +526,11 @@ onMounted(() => { round color="primary" icon="download" - v-if="checkPermission($route)?.attrIsGet && typeReport !== 3" + v-if=" + checkPermission($route)?.attrIsGet && + typeReport !== 3 && + typeReport !== 4 + " > @@ -547,8 +565,11 @@ onMounted(() => { round color="primary" icon="download" - v-if="checkPermission($route)?.attrIsGet && typeReport == 3" - @click="getReport()" + v-if=" + checkPermission($route)?.attrIsGet && + (typeReport == 3 || typeReport == 4) + " + @click="typeReport == 3 ? getReport() : handleDownload()" > @@ -957,7 +978,7 @@ onMounted(() => { {