import { formatWaktu } from '@/components/Form/FiltersType/reference' export const exportToWord = (rawMeta: any, rawData: any, reportName: String) => { const filename = 'Laporan ' + reportName + '.doc' 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() let tbody = '' for (let index = 0; index < rawData.length; index++) { const element = rawData[index] let 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 || content}`) : (column += `${content}`) } column += `` tbody += column } let preHtml = ` ${reportName} ` const body = `
PT. PLN(Persero)
UNIT INDUK
:
${ rawMeta.uid ? rawMeta.uid.name.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() }
UNIT PELAKSANA PELAYANAN PELANGGAN
:
${ rawMeta.up3 ? rawMeta.up3.name.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() }
UNIT LAYANAN PELANGGAN
:
${ rawMeta.ulp ? rawMeta.ulp.name.toUpperCase() : 'Semua Unit Layanan Pelanggan'.toUpperCase() }
REGIONAL
:
${rawMeta.regional.name.toUpperCase()}


${reportName.toUpperCase()}
${rawMeta.periode}

${tbody}
No Nama Unit Tahun
Keluhan Informasi Total

` const postHtml = '' const html = preHtml + body + postHtml const url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html) const downloadLink = document.createElement('a') document.body.appendChild(downloadLink) downloadLink.href = url downloadLink.download = filename downloadLink.click() document.body.removeChild(downloadLink) } export const exportDetailToWord = (rawMeta: any, rawData: any, reportName: String) => { const filename = 'Laporan Detail ' + reportName + '.doc' 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() let preHtml = ` Daftar Detail ${reportName} ` const body = `
PT. PLN(Persero)

${'DAFTAR DETAIL ' + reportName.toUpperCase()}
${rawMeta.periode}

${rawData .map( (item: any, i: any) => ` ` ) .join('')}
No No Laporan UID/UIW UP3 ULP ID Pelanggan Nama Pelapor Alamat Pelapor No Telp Pelapor Keterangan Pelapor Penyebab Kode Gangguan Jenis Gangguan Durasi Response Time Durasi Recovery Time Tgl Lapor
${i + 1} ${item.no_laporan} ${item.nama_uid} ${item.nama_ulp} ${item.id_pelanggan} ${item.nama_pelapor} ${item.alamat_pelapor} ${item.no_telp_pelapor} ${item.keterangan_pelapor} ${item.penyebab} ${item.kode_gangguan} ${item.jenis_gangguan} ${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'} ${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'} ${item.waktu_lapor}

` const postHtml = '' const html = preHtml + body + postHtml const url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html) const downloadLink = document.createElement('a') document.body.appendChild(downloadLink) downloadLink.href = url downloadLink.download = filename downloadLink.click() document.body.removeChild(downloadLink) }