fix: report ttd

This commit is contained in:
kur0nek-o
2024-04-09 15:22:49 +07:00
parent 0eed5109c5
commit 4f0aa93d1f
92 changed files with 3800 additions and 2786 deletions

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
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 = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@ -31,25 +34,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[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 += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
}
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var body = `
@ -60,15 +63,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -125,32 +132,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
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 = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -180,31 +190,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td> ${item.no_laporan}</td>`;
cr += `<td> ${item.waktu_lapor}</td>`;
cr += `<td> ${item.waktu_response}</td>`;
cr += `<td> ${item.waktu_recovery}</td>`;
cr += `<td> ${item.durasi_response_time}</td>`;
cr += `<td> ${item.durasi_recovery_time}</td>`;
cr += `<td> ${item.status_akhir}</td>`;
cr += `<td> ${item.referensi_marking}</td>`;
cr += `<td> ${item.id_pelnomormeter}</td>`;
cr += `<td> ${item.nama_pelapor}</td>`;
cr += `<td> ${item.alamat_pelapor}</td>`;
cr += `<td> ${item.no_telp_pelapor}</td>`;
cr += `<td> ${item.keterangan_pelapor}</td>`;
cr += `<td> ${item.nama_posko}</td>`;
cr += `<td> ${item.tindakan}</td>`;
cr += `<td> ${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td> ${item.no_laporan}</td>`
cr += `<td> ${item.waktu_lapor}</td>`
cr += `<td> ${item.waktu_response}</td>`
cr += `<td> ${item.waktu_recovery}</td>`
cr += `<td> ${item.durasi_response_time}</td>`
cr += `<td> ${item.durasi_recovery_time}</td>`
cr += `<td> ${item.status_akhir}</td>`
cr += `<td> ${item.referensi_marking}</td>`
cr += `<td> ${item.id_pelnomormeter}</td>`
cr += `<td> ${item.nama_pelapor}</td>`
cr += `<td> ${item.alamat_pelapor}</td>`
cr += `<td> ${item.no_telp_pelapor}</td>`
cr += `<td> ${item.keterangan_pelapor}</td>`
cr += `<td> ${item.nama_posko}</td>`
cr += `<td> ${item.tindakan}</td>`
cr += `<td> ${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -214,15 +224,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -262,29 +276,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }