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 Nama Unit Bulan
Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember
` 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.tgl_lapor}`; cr += `${item.tgl_lapor_sblm}`; cr += `${item.tgl_lapor_sdh}`; cr += `${item.tgl_penugasan_sblm}`; cr += `${item.tgl_penugasan_sdh}`; cr += `${item.tgl_perjalanan_sblm}`; cr += `${item.tgl_perjalanan_sdh}`; cr += `${item.tgl_pengerjaan_sblm}`; cr += `${item.tgl_pengerjaan_sdh}`; cr += `${item.tgl_nyala_sementara_sblm}`; cr += `${item.tgl_nyala_sementara_sdh}`; cr += `${item.tgl_nyala_sblm}`; cr += `${item.tgl_nyala_sdh}`; cr += `${item.tgl_selesai_sblm}`; cr += `${item.tgl_selesai_sdh}`; cr += `${item.durasi_response_time_sblm}`; cr += `${item.durasi_response_time_sdh}`; cr += `${item.durasi_recovery_time_sdh}`; cr += `${item.kelompok_sblm}`; cr += `${item.kelompok_sdh}`; cr += `${item.sub_kelompok_sblm}`; cr += `${item.sub_kelompok_sdh}`; cr += `${item.fasilitas_id_sblm}`; cr += `${item.fasilitas_id_sdh}`; cr += `${item.sub_fasilitas_id_sblm}`; cr += `${item.sub_fasilitas_id_sdh}`; cr += `${item.equipment_id_sblm}`; cr += `${item.equipment_id_sdh}`; cr += `${item.event_damage_sblm}`; cr += `${item.event_damage_sdh}`; cr += `${item.cause_id_sblm}`; cr += `${item.cause_id_sdh}`; cr += `${item.cause_group_id_sblm}`; cr += `${item.cause_group_id_sdh}`; cr += `${item.weather_id_sblm}`; cr += `${item.weather_id_sdh}`; cr += `${item.group_koreksi}`; cr += `${item.alasan}`; cr += `${item.idpel_no_meter}`; 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 }