const company = "PT. PLN (Persero)"; const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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}
Nama Unit Total SELESAI % IN PROSES % DISPATCHING TIME RESPONSE TIME RECOVERY TIME
RATA-RATA MAX MIN >SLA RATA-RATA MAX MIN >SLA 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.nama_posko}`; 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 += ``; cr += ``; cr += `${item.jarak_closing}`; cr += `${item.dispatch_oleh}`; cr += `${item.idpel_nometer}`; cr += `${item.nama_pelapor}`; cr += `${item.alamat_pelapor}`; cr += `${item.no_telp_pelapor}`; cr += `${item.keterangan_pelapor}`; cr += `${item.pembuat_laporan}`; cr += `${item.diselesaikan_oleh}`; cr += `${item.status_akhir}`; cr += `${item.referensi_marking}`; cr += `${item.kode_gangguan}`; cr += `${item.jenis_gangguan}`; cr += `${item.penyebab}`; cr += `${item.tindakan}`; 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 Posko No Lapor Tgl/Jam Lapor Tgl/Jam Datang Tgl/Jam Nyala Durasi Response Time Durasi Recovery Time Durasi Penugasan Regu Durasi Perjalanan Regu Jarak Closing (m) Dispatch Oleh IDPEL/NO METER Nama Pelapor Alamat Pelapor No Telp Pelapor Keterangan Pelapor Sumber Lapor Diselesaikan Oleh Status Referensi Marking Kode Gangguan Jenis Gangguan 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 }