fix: report ttd
This commit is contained in:
@ -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 }
|
||||
|
Reference in New Issue
Block a user