From 9fb2c6bbb1c446d7082e2821bc0cf3a058675254 Mon Sep 17 00:00:00 2001 From: kur0nek-o Date: Wed, 20 Mar 2024 15:44:51 +0700 Subject: [PATCH] feat: create xlsx export in daftar gangguan melapor lebih dari 1 kali --- .../Pages/Gangguan/Daftar/DGangguan_MLD1K.vue | 77 ++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue b/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue index 021fbbc..9e2b10b 100755 --- a/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue +++ b/src/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue @@ -400,6 +400,24 @@ const filterData = (params: any) => { }) } +const setHeaderStyle = ( + worksheet: any, + row: number, + column: number, + value: string, + horizontalAlignment: boolean = false +) => { + const cell = worksheet.getRow(row).getCell(column) + + cell.value = value + cell.alignment = { vertical: 'middle' } + cell.font = { bold: true } + + if (horizontalAlignment) { + cell.alignment.horizontal = 'center' + } +} + const onExporting = (e: any) => { const periode = reportMeta.value.periode ? reportMeta.value.periode.split(' s/d ') : '' @@ -577,15 +595,70 @@ const onExporting = (e: any) => { const workbook = new Workbook() const worksheet = workbook.addWorksheet('Daftar Gangguan Melapor Lebih Dari 1 Kali') + setHeaderStyle(worksheet, 1, 1, 'PT. PLN(Persero)') + setHeaderStyle( + worksheet, + 2, + 1, + `UNIT INDUK : ${ + reportMeta.value.uid + ? reportMeta.value.uid.name.toUpperCase() + : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() + }` + ) + setHeaderStyle( + worksheet, + 3, + 1, + `UNIT PELAKSANA PELAYANAN PELANGGAN : ${ + reportMeta.value.up3 + ? reportMeta.value.up3.name.toUpperCase() + : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() + }` + ) + setHeaderStyle( + worksheet, + 4, + 1, + `POSKO : ${ + reportMeta.value.posko + ? reportMeta.value.posko.name.toUpperCase() + : 'Semua Posko'.toUpperCase() + }` + ) + setHeaderStyle( + worksheet, + 5, + 1, + `LAPOR ULANG : ${reportMeta.value.minJmlLapor} s/d ${reportMeta.value.maxJmlLapor}` + ) + + setHeaderStyle(worksheet, 7, 8, `Daftar Gangguan Melapor Lebih Dari 1 Kali`.toUpperCase(), true) + setHeaderStyle( + worksheet, + 8, + 8, + `PERIODE TANGGAL : ${dateFromFormat} SD TGL ${dateToFormat}`, + true + ) + + worksheet.mergeCells('A1:F1') + worksheet.mergeCells('A2:F2') + worksheet.mergeCells('A3:F3') + worksheet.mergeCells('A4:F4') + worksheet.mergeCells('H7:J7') + worksheet.mergeCells('H8:J8') + exportToExcel({ component: e.component, worksheet, - autoFilterEnabled: true + autoFilterEnabled: true, + topLeftCell: { row: 11, column: 1 } }).then(() => { workbook.xlsx.writeBuffer().then((buffer: any) => { saveAs( new Blob([buffer], { type: 'application/octet-stream' }), - 'Daftar Gangguan Melapor Lebih Dari 1 Kali.xlsx' + 'Laporan Daftar Gangguan Melapor Lebih Dari 1 Kali.xlsx' ) }) })