const company = 'PT. PLN (Persero)' const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() 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 === 'TOTAL') { styleTotal = 'style="background-color: #c0c0c0"' } 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) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() 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 }