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,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -112,29 +120,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -164,38 +175,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -205,15 +216,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> Unit Layanan Pelanggan</td>
@ -262,26 +277,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -165,38 +176,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -106,29 +114,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -158,30 +169,30 @@ 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.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</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.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td> item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</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.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -191,15 +202,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> Unit Layanan Pelanggan</td>
@ -241,26 +256,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -103,29 +111,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -155,38 +166,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -196,15 +207,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> Unit Layanan Pelanggan</td>
@ -253,26 +268,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -136,29 +144,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -188,38 +199,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -229,15 +240,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> Unit Layanan Pelanggan</td>
@ -286,26 +301,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -165,38 +176,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -165,38 +176,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -165,38 +176,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -36,25 +40,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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -64,15 +68,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> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -165,38 +176,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -126,29 +134,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -178,31 +189,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.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</td>`;
cr += `<td>${item.nama_pelanggan}</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.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</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.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -212,15 +223,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> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -114,29 +122,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -166,38 +177,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -207,15 +218,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> Unit Layanan Pelanggan</td>
@ -264,26 +279,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -109,29 +117,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -161,38 +172,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -202,15 +213,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> Unit Layanan Pelanggan</td>
@ -259,26 +274,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -159,29 +167,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -211,30 +222,30 @@ 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.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</td>`;
cr += `<td>${item.nama_pelanggan}</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.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</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.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -244,15 +255,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> Unit Layanan Pelanggan</td>
@ -295,26 +310,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -123,29 +131,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -175,38 +186,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -216,15 +227,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> Unit Layanan Pelanggan</td>
@ -273,26 +288,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -114,29 +122,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -166,38 +177,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -207,15 +218,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> Unit Layanan Pelanggan</td>
@ -264,26 +279,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -116,29 +124,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -168,38 +179,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -209,15 +220,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> Unit Layanan Pelanggan</td>
@ -266,26 +281,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
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()
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()
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 {
@ -35,25 +39,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 < 5; 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.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
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 = `
<table border=0 style="border:none">
@ -63,15 +67,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> Unit Layanan Pelanggan</td>
@ -146,29 +154,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<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 {
@ -198,38 +209,38 @@ 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.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</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></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</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 ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</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></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -239,15 +250,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> Unit Layanan Pelanggan</td>
@ -296,26 +311,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<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 }