From ed931d8eb3a64d0c84732841ed6ddf840458db63 Mon Sep 17 00:00:00 2001 From: bagus Date: Fri, 3 May 2024 17:06:50 +0700 Subject: [PATCH] feat: implement server side in daftar gangguan melapor lebih dari 1 kali --- .../Pages/Gangguan/Daftar/DGangguan_MLD1K.vue | 176 ++++-------------- src/report/Gangguan/Daftar/DGangguan_DKPL.ts | 4 +- src/report/Gangguan/Daftar/DGangguan_MLD1K.ts | 47 +++-- 3 files changed, 70 insertions(+), 157 deletions(-) diff --git a/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue b/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue index 9f69cbc..ff0216c 100755 --- a/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue +++ b/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue @@ -1,5 +1,5 @@ diff --git a/src/report/Gangguan/Daftar/DGangguan_DKPL.ts b/src/report/Gangguan/Daftar/DGangguan_DKPL.ts index aafb596..6736e51 100644 --- a/src/report/Gangguan/Daftar/DGangguan_DKPL.ts +++ b/src/report/Gangguan/Daftar/DGangguan_DKPL.ts @@ -217,7 +217,7 @@ const exportToPDF = async (reportMeta: any, data: any) => { return true } -const exportToXLSX = (reportMeta: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -270,7 +270,7 @@ const exportToXLSX = (reportMeta: any, e: any) => { worksheet.mergeCells('A6:S6') worksheet.mergeCells('A7:S7') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, diff --git a/src/report/Gangguan/Daftar/DGangguan_MLD1K.ts b/src/report/Gangguan/Daftar/DGangguan_MLD1K.ts index ee92353..c7760c3 100644 --- a/src/report/Gangguan/Daftar/DGangguan_MLD1K.ts +++ b/src/report/Gangguan/Daftar/DGangguan_MLD1K.ts @@ -46,12 +46,13 @@ const formatMetaData = (reportMeta: any) => { return { dateFromFormat, dateToFormat, dayTo } } -const exportToPDF = (reportMeta: any, data: any) => { +const exportToPDF = async (reportMeta: any, data: any) => { const meta = formatMetaData(reportMeta) const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() + const resultData = data.value.data const doc = new jsPDF({ orientation: 'landscape' }) @@ -129,7 +130,7 @@ const exportToPDF = (reportMeta: any, data: any) => { 'Posko' ] ], - body: data.value.map((item: any, i: any) => [ + body: resultData.map((item: any, i: any) => [ { content: ++i, styles: { halign: 'right' } }, item.no_laporan, item.waktu_lapor, @@ -197,12 +198,19 @@ const exportToPDF = (reportMeta: any, data: any) => { margin: { left: 230 } }) - doc.save(`Laporan ${reportName}.pdf`, { returnPromise: true }).then(() => { - console.log('pdf berhasil disimpan') - }) + await doc + .save(`Laporan ${reportName}.pdf`, { returnPromise: true }) + .then(() => { + console.log('PDF Exported') + }) + .catch((error) => { + console.error('Error while exporting PDF', error) + }) + + return true } -const exportToXLSX = (reportMeta: any, data: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -261,14 +269,11 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => { worksheet.mergeCells('H7:J7') worksheet.mergeCells('H8:J8') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, - topLeftCell: { row: 11, column: 1 }, - loadPanel: { - enabled: false - } + topLeftCell: { row: 11, column: 1 } }).then(() => { workbook.xlsx.writeBuffer().then((buffer: any) => { saveAs(new Blob([buffer], { type: 'application/octet-stream' }), `Laporan ${reportName}.xlsx`) @@ -278,15 +283,16 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => { e.cancel = true } -const exportToDOCX = (reportMeta: any, data: any) => { +const exportToDOCX = async (reportMeta: any, data: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() const meta = formatMetaData(reportMeta) + const resultData = data.value.data const generateRows = () => { - return data.value.map((item: any, i: any) => { + return resultData.map((item: any, i: any) => { return new TableRow({ children: [ { text: `${++i}`, field: 'no' }, @@ -532,10 +538,17 @@ const exportToDOCX = (reportMeta: any, data: any) => { ] }) - Packer.toBlob(doc).then((blob) => { - saveAs(blob, `Laporan ${reportName}.docx`) - console.log('Document created successfully') - }) + await Packer.toBlob(doc) + .then((blob) => { + saveAs(blob, `Laporan ${reportName}.docx`) + + console.log('DOCX Exported') + }) + .catch((error) => { + console.error('Error while exporting DOCX', error) + }) + + return true } export { exportToPDF, exportToXLSX, exportToDOCX }