const company = "PT. PLN (Persero)"; const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { console.log(rawData) var preHtml = `${filename}
`; var tbody = ''; for (let index = 0; index < rawData.length; index++) { const element = rawData[index]; var column = ''; let styleTotal = ''; for (let i = 0; i < element.length; i++) { const content = element[i]; const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' } i === 0 ? column += `${content.content}` : column += `${content}`; } column += ''; tbody += column; } var body = `
${company.toUpperCase()}
Unit Induk Distribusi/Wilayah : ${reportMeta.uid ? reportMeta.uid.name.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}
Unit Pelaksanaan Pelayanan Pelanggan : ${reportMeta.up3 ? reportMeta.up3.name.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}
Posko : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()}
${filename.toUpperCase()}
Periode : ${periode.dateFromFormat} s/d ${periode.dateToFormat} (${periode.dayTo})
${tbody}
No Kode Sub Kelompok (Equipment) Laporan Response Time Recovery Time
Total Sudah Selesai Belum Selesai Menit Laporan Menit Laporan
Jml % Jml % Total Rata-Rata Max Min >Sla Total Rata-Rata Max Min >Sla
` var postHtml = `
`; var html = preHtml + body + postHtml; var url = "data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html); filename = filename ? filename + ".doc" : "document.doc"; var downloadLink = document.createElement("a"); document.body.appendChild(downloadLink); downloadLink.href = url; downloadLink.download = filename; downloadLink.click(); document.body.removeChild(downloadLink); } const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { var preHtml = `${filename}
`; var tbody = ``; var cr = ``; rawData.map((item: any, i: any) => { cr += ''; cr += `${i + 1}`; cr += ` ${item.no_laporan}`; cr += ` ${item.waktu_lapor}`; cr += ` ${item.waktu_response}`; cr += ` ${item.waktu_recovery}`; cr += ` ${item.durasi_response_time}`; cr += ` ${item.durasi_recovery_time}`; cr += ` ${item.status_akhir}`; cr += ` ${item.referensi_marking}`; cr += ` ${item.id_pelnomormeter}`; cr += ` ${item.nama_pelapor}`; cr += ` ${item.alamat_pelapor}`; cr += ` ${item.no_telp_pelapor}`; cr += ` ${item.keterangan_pelapor}`; cr += ` ${item.nama_posko}`; cr += ` ${item.tindakan}`; cr += ` ${item.penyebab}`; cr += ''; }); tbody += cr; var body = `
${company.toUpperCase()}
Unit Induk Distribusi/Wilayah : ${reportMeta.uid ? reportMeta.uid.name.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}
Unit Pelaksanaan Pelayanan Pelanggan : ${reportMeta.up3 ? reportMeta.up3.name.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}
Posko : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()}
${filename.toUpperCase()}
Periode : ${periode.dateFromFormat} s/d ${periode.dateToFormat} (${periode.dayTo})
${tbody}
No No Laporan Tgl Lapor Tgl Datang Tgl Nyala Durasi Response Time Durasi Recovery Time Status Referensi Marking IDPEL/NO METER Nama Pelapor Alamat Pelapor No Telp Pelapor Keterangan Pelapor Posko Tindakan Penyebab
` var postHtml = `
`; var html = preHtml + body + postHtml; var url = "data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html); filename = filename ? filename + ".doc" : "document.doc"; var downloadLink = document.createElement("a"); document.body.appendChild(downloadLink); downloadLink.href = url; downloadLink.download = filename; downloadLink.click(); document.body.removeChild(downloadLink); } export { exportToWord, exportDetailToWord }