feat: create xlsx export in daftar gangguan melapor lebih dari 1 kali

This commit is contained in:
kur0nek-o 2024-03-20 15:44:51 +07:00
parent 6f7043818e
commit 9fb2c6bbb1

View File

@ -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'
)
})
})