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

@@ -3715,16 +3715,6 @@ body {
color: rgb(102 102 0 / var(--tw-text-opacity)); color: rgb(102 102 0 / var(--tw-text-opacity));
} }
.text-slate-300 {
--tw-text-opacity: 1;
color: rgb(203 213 225 / var(--tw-text-opacity));
}
.text-slate-500 {
--tw-text-opacity: 1;
color: rgb(100 116 139 / var(--tw-text-opacity));
}
.text-opacity-40 { .text-opacity-40 {
--tw-text-opacity: 0.4; --tw-text-opacity: 0.4;
} }
@@ -3733,10 +3723,6 @@ body {
text-decoration-line: underline; text-decoration-line: underline;
} }
.no-underline {
text-decoration-line: none;
}
.placeholder-gray-500::-moz-placeholder { .placeholder-gray-500::-moz-placeholder {
--tw-placeholder-opacity: 1; --tw-placeholder-opacity: 1;
color: rgb(107 114 128 / var(--tw-placeholder-opacity)); color: rgb(107 114 128 / var(--tw-placeholder-opacity));
@@ -5266,11 +5252,6 @@ body {
color: rgb(51 51 0 / 0.9); color: rgb(51 51 0 / 0.9);
} }
:is(.dark .dark\:text-slate-500) {
--tw-text-opacity: 1;
color: rgb(100 116 139 / var(--tw-text-opacity));
}
:is(.dark .dark\:text-opacity-70) { :is(.dark .dark\:text-opacity-70) {
--tw-text-opacity: 0.7; --tw-text-opacity: 0.7;
} }

View File

@@ -91,6 +91,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -219,7 +223,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -129,6 +129,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -313,7 +317,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -77,6 +77,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -186,7 +190,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -131,6 +131,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -339,7 +343,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -372,6 +376,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -503,7 +511,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -156,7 +160,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -168,7 +172,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -142,7 +146,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -179,7 +183,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -199,6 +203,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -332,7 +340,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -74,6 +74,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -183,7 +187,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -100,6 +100,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -231,7 +235,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -264,6 +268,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -375,7 +383,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -142,7 +146,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -165,7 +169,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -185,6 +189,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -298,7 +306,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -110,6 +110,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
console.log(data) console.log(data)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
@@ -218,7 +222,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -251,6 +255,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -407,7 +415,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -134,7 +138,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -154,6 +158,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -312,7 +320,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -90,6 +90,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
console.log(data) console.log(data)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
@@ -222,7 +226,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -255,6 +259,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -390,7 +398,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -4,6 +4,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -151,7 +155,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -171,6 +175,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -310,7 +318,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -48,6 +48,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -177,7 +181,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -283,6 +287,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -504,7 +512,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -180,7 +184,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -276,6 +280,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -492,7 +500,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -48,6 +48,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -170,7 +174,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -266,6 +270,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -474,7 +482,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -48,6 +48,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -173,7 +177,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -275,6 +279,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -494,7 +502,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -66,6 +66,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -193,7 +197,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -296,6 +300,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -515,7 +523,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -66,6 +66,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -193,7 +197,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -296,6 +300,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -515,7 +523,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -48,6 +48,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -170,7 +174,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -266,6 +270,10 @@ const exportToXLSX = (reportMeta: any, data: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -474,7 +482,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: 5 size: 5
}) })

View File

@@ -206,6 +206,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta) const data = formatData(rawData, reportMeta)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -361,7 +365,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -394,6 +398,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -518,7 +526,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -18,7 +18,10 @@ import autoTable from 'jspdf-autotable'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { setHeaderStyle } from '@/report/utils/xlsx' import { setHeaderStyle } from '@/report/utils/xlsx'
import { formatNumber } from '@/utils/numbers' import { formatNumber } from '@/utils/numbers'
import { exportToWord, exportDetailToWord } from '@/report/Gangguan/Rekap/doc/RGangguan_AlihPosko_DOC' import {
exportToWord,
exportDetailToWord
} from '@/report/Gangguan/Rekap/doc/RGangguan_AlihPosko_DOC'
const reportName = 'Rekapitulasi Gangguan Alih Posko' const reportName = 'Rekapitulasi Gangguan Alih Posko'
const fontSize = 5 const fontSize = 5
@@ -116,6 +119,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -219,7 +226,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -252,6 +259,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -362,7 +373,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -397,7 +408,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -406,7 +418,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -415,7 +428,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -491,6 +505,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportDetailToPDF,
exportToXLSX,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportDetailToPDF, exportToXLSX, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -94,6 +94,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -224,7 +228,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -257,6 +261,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -365,7 +373,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -400,7 +408,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -409,7 +418,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -418,7 +428,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -496,6 +507,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportDetailToPDF,
exportToXLSX,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportDetailToPDF, exportToXLSX, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -123,6 +123,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -248,7 +252,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -281,6 +285,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -376,7 +384,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -510,6 +518,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX ,exportToDOCX,exportDetailToDOCX}

View File

@@ -125,6 +125,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -382,7 +386,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -415,6 +419,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -523,7 +531,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -558,7 +566,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -567,7 +576,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -576,7 +586,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -654,6 +665,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -275,6 +275,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -454,7 +458,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -256,6 +256,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -435,7 +439,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -468,6 +472,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -576,7 +584,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -611,7 +619,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -620,7 +629,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -629,7 +639,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -708,6 +719,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -123,6 +123,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -248,7 +252,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -281,6 +285,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -442,7 +450,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -477,7 +485,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -486,7 +495,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -495,7 +505,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -573,6 +584,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -243,6 +243,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -412,7 +416,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -445,6 +449,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -553,7 +561,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -588,7 +596,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -597,7 +606,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -677,6 +687,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -297,6 +297,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta.groupBy) const data = formatData(rawData, reportMeta.groupBy)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -475,7 +479,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -508,6 +512,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -616,7 +624,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -651,7 +659,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -660,7 +669,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -669,7 +679,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -746,9 +757,26 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, rawData: any) => { const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData, reportMeta.groupBy), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(
reportMeta,
formatData(rawData, reportMeta.groupBy),
`Laporan ${reportName}`,
formatMetaData(reportMeta)
)
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -306,6 +306,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta.groupBy) const data = formatData(rawData, reportMeta.groupBy)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -480,7 +484,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -513,6 +517,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -621,7 +629,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -656,7 +664,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -665,7 +674,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -674,7 +684,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -749,9 +760,26 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
e.cancel = true e.cancel = true
} }
const exportToDOCX = (reportMeta: any, rawData: any) => { const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData, reportMeta.groupBy), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(
reportMeta,
formatData(rawData, reportMeta.groupBy),
`Laporan ${reportName}`,
formatMetaData(reportMeta)
)
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -100,6 +100,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -238,7 +242,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -271,6 +275,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -381,7 +389,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -416,7 +424,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -425,7 +434,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -504,6 +514,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -75,6 +75,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -218,7 +222,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -251,6 +255,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -361,7 +369,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -396,7 +404,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`UNIT INDUK : ${reportMeta.uid `UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase() : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -405,7 +414,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3 `UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase() : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}` }`
@@ -414,7 +424,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase() `POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
) )
@@ -493,6 +504,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
const exportDetailToDOCX = (reportMeta: any, rawData: any) => { const exportDetailToDOCX = (reportMeta: any, rawData: any) => {
exportDetailToWord(reportMeta, rawData, `Laporan Detail ${reportName}`, formatMetaData(reportMeta)) exportDetailToWord(
reportMeta,
rawData,
`Laporan Detail ${reportName}`,
formatMetaData(reportMeta)
)
}
export {
exportToPDF,
exportToXLSX,
exportDetailToPDF,
exportDetailToXLSX,
exportToDOCX,
exportDetailToDOCX
} }
export { exportToPDF, exportToXLSX, exportDetailToPDF, exportDetailToXLSX, exportToDOCX, exportDetailToDOCX }

View File

@@ -1,7 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -31,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -59,15 +61,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -116,31 +122,34 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -170,39 +179,39 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ''; var cr = ''
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += `<tr>`; cr += `<tr>`
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td></td>`; cr += `<td></td>`
cr += `<td></td>`; cr += `<td></td>`
cr += `<td>${item.jarak_closing}</td>`; cr += `<td>${item.jarak_closing}</td>`
cr += `<td>${item.dispatch_oleh}</td>`; cr += `<td>${item.dispatch_oleh}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.pembuat_laporan}</td>`; cr += `<td>${item.pembuat_laporan}</td>`
cr += `<td>${item.diselesaikan_oleh}</td>`; cr += `<td>${item.diselesaikan_oleh}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.kode_gangguan}</td>`; cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`; cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `</tr>`; cr += `</tr>`
}) })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -212,15 +221,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -266,28 +279,27 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -58,15 +61,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -94,32 +101,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -149,32 +159,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`; cr += `<td>${item.media}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -184,15 +194,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -233,29 +247,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData) console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title> 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"> <style type="text/css" media="print">
@@ -31,28 +34,27 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'GRAND TOTAL') { if (content.content === 'GRAND TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"' styleTotal = 'style="background-color: #c0c0c0"'
};
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
} }
column += `</tr>`; i === 0
tbody += column; ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
} }
const header = column += `</tr>`
[ tbody += column
}
const header = [
{ {
content: 'No', content: 'No',
rowSpan: 2 rowSpan: 2
@@ -69,18 +71,18 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
content: 'Total', content: 'Total',
rowSpan: 2 rowSpan: 2
} }
]; ]
var columnHeader = ''; var columnHeader = ''
for (let i = 0; i < header.length; i++) { for (let i = 0; i < header.length; i++) {
const content = header[i]; const content = header[i]
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''; const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
columnHeader += `<th ${rowSpan} ${colSpan} align="center">${content.content}</th>`; columnHeader += `<th ${rowSpan} ${colSpan} align="center">${content.content}</th>`
} }
var columnTanggal = ''; var columnTanggal = ''
for (let index = 1; index <= 31; index++) { for (let index = 1; index <= 31; index++) {
columnTanggal += `<td>${index}</td>`; columnTanggal += `<td>${index}</td>`
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -90,15 +92,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -125,32 +131,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -180,31 +189,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -214,15 +223,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -262,29 +275,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData) console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title> 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"> <style type="text/css" media="print">
@@ -31,28 +34,27 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'GRAND TOTAL') { if (content.content === 'GRAND TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"' styleTotal = 'style="background-color: #c0c0c0"'
};
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
} }
column += `</tr>`; i === 0
tbody += column; ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
} }
const header = column += `</tr>`
[ tbody += column
}
const header = [
{ {
content: 'No', content: 'No',
rowSpan: 2 rowSpan: 2
@@ -65,7 +67,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
content: 'Bulan', content: 'Bulan',
colSpan: 12 colSpan: 12
} }
]; ]
const bulan = [ const bulan = [
'Januari', 'Januari',
'Februari', 'Februari',
@@ -79,18 +81,18 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
'Oktober', 'Oktober',
'November', 'November',
'Desember' 'Desember'
]; ]
var columnHeader = ''; var columnHeader = ''
for (let i = 0; i < header.length; i++) { for (let i = 0; i < header.length; i++) {
const content = header[i]; const content = header[i]
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''; const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
columnHeader += `<th ${rowSpan} ${colSpan} align="center">${content.content}</th>`; columnHeader += `<th ${rowSpan} ${colSpan} align="center">${content.content}</th>`
} }
var columnBulan = ''; var columnBulan = ''
for (let index = 0; index < 12; index++) { for (let index = 0; index < 12; index++) {
columnBulan += `<td>${bulan[index]}</td>`; columnBulan += `<td>${bulan[index]}</td>`
} }
var body = ` var body = `
@@ -101,15 +103,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -136,32 +142,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -191,25 +200,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.tgl_catat}</td>`; cr += `<td>${item.tgl_catat}</td>`
cr += `<td>${item.tgl_pekerjaan}</td>`; cr += `<td>${item.tgl_pekerjaan}</td>`
cr += `<td>${item.tgl_nyala}</td>`; cr += `<td>${item.tgl_nyala}</td>`
cr += `<td>${item.durasi_pencatatan}</td>`; cr += `<td>${item.durasi_pencatatan}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.keterangan_cleansing}</td>`; cr += `<td>${item.keterangan_cleansing}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -219,15 +228,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -261,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,26 +33,24 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
var column = ''; var column = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const content = rawData[index]; const content = rawData[index]
column += '<tr>'; column += '<tr>'
for (let i = 0; i < content.length; i++) { for (let i = 0; i < content.length; i++) {
const item = content[i]; const item = content[i]
const colSpan = item ? const colSpan = item ? (item.colSpan ? `colspan="${item.colSpan}"` : '') : ''
item.colSpan ? `colspan="${item.colSpan}"` i === 0
: '' : ''; ? (column += `<td ${colSpan} align="left">${item.content}</td>`)
i === 0 ? : (column += `<td>${item}</td>`)
column += `<td ${colSpan} align="left">${item.content}</td>`
: column += `<td>${item}</td>`;
} }
column += `</tr>`; column += `</tr>`
} }
tbody += column; tbody += column
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -59,15 +60,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -166,32 +171,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -221,31 +229,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -255,15 +263,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -297,29 +309,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData) console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title> 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"> <style type="text/css" media="print">
@@ -31,25 +34,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var body = ` var body = `
@@ -60,15 +63,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -125,32 +132,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -180,31 +190,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td> ${item.no_laporan}</td>`; cr += `<td> ${item.no_laporan}</td>`
cr += `<td> ${item.waktu_lapor}</td>`; cr += `<td> ${item.waktu_lapor}</td>`
cr += `<td> ${item.waktu_response}</td>`; cr += `<td> ${item.waktu_response}</td>`
cr += `<td> ${item.waktu_recovery}</td>`; cr += `<td> ${item.waktu_recovery}</td>`
cr += `<td> ${item.durasi_response_time}</td>`; cr += `<td> ${item.durasi_response_time}</td>`
cr += `<td> ${item.durasi_recovery_time}</td>`; cr += `<td> ${item.durasi_recovery_time}</td>`
cr += `<td> ${item.status_akhir}</td>`; cr += `<td> ${item.status_akhir}</td>`
cr += `<td> ${item.referensi_marking}</td>`; cr += `<td> ${item.referensi_marking}</td>`
cr += `<td> ${item.id_pelnomormeter}</td>`; cr += `<td> ${item.id_pelnomormeter}</td>`
cr += `<td> ${item.nama_pelapor}</td>`; cr += `<td> ${item.nama_pelapor}</td>`
cr += `<td> ${item.alamat_pelapor}</td>`; cr += `<td> ${item.alamat_pelapor}</td>`
cr += `<td> ${item.no_telp_pelapor}</td>`; cr += `<td> ${item.no_telp_pelapor}</td>`
cr += `<td> ${item.keterangan_pelapor}</td>`; cr += `<td> ${item.keterangan_pelapor}</td>`
cr += `<td> ${item.nama_posko}</td>`; cr += `<td> ${item.nama_posko}</td>`
cr += `<td> ${item.tindakan}</td>`; cr += `<td> ${item.tindakan}</td>`
cr += `<td> ${item.penyebab}</td>`; cr += `<td> ${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -214,15 +224,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -262,29 +276,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData) console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title> 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"> <style type="text/css" media="print">
@@ -31,25 +34,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'TOTAL') { if (content.content === 'TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"' styleTotal = 'style="background-color: #c0c0c0"'
};
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
} }
column += '</tr>'; i === 0
tbody += column; ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>'
tbody += column
} }
var body = ` var body = `
@@ -60,15 +63,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -125,32 +132,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -180,31 +190,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td> ${item.no_laporan}</td>`; cr += `<td> ${item.no_laporan}</td>`
cr += `<td> ${item.waktu_lapor}</td>`; cr += `<td> ${item.waktu_lapor}</td>`
cr += `<td> ${item.waktu_response}</td>`; cr += `<td> ${item.waktu_response}</td>`
cr += `<td> ${item.waktu_recovery}</td>`; cr += `<td> ${item.waktu_recovery}</td>`
cr += `<td> ${item.durasi_response_time}</td>`; cr += `<td> ${item.durasi_response_time}</td>`
cr += `<td> ${item.durasi_recovery_time}</td>`; cr += `<td> ${item.durasi_recovery_time}</td>`
cr += `<td> ${item.status_akhir}</td>`; cr += `<td> ${item.status_akhir}</td>`
cr += `<td> ${item.referensi_marking}</td>`; cr += `<td> ${item.referensi_marking}</td>`
cr += `<td> ${item.id_pelnomormeter}</td>`; cr += `<td> ${item.id_pelnomormeter}</td>`
cr += `<td> ${item.nama_pelapor}</td>`; cr += `<td> ${item.nama_pelapor}</td>`
cr += `<td> ${item.alamat_pelapor}</td>`; cr += `<td> ${item.alamat_pelapor}</td>`
cr += `<td> ${item.no_telp_pelapor}</td>`; cr += `<td> ${item.no_telp_pelapor}</td>`
cr += `<td> ${item.keterangan_pelapor}</td>`; cr += `<td> ${item.keterangan_pelapor}</td>`
cr += `<td> ${item.nama_posko}</td>`; cr += `<td> ${item.nama_posko}</td>`
cr += `<td> ${item.tindakan}</td>`; cr += `<td> ${item.tindakan}</td>`
cr += `<td> ${item.penyebab}</td>`; cr += `<td> ${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -214,15 +224,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -262,29 +276,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData) console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title> 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"> <style type="text/css" media="print">
@@ -31,25 +34,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var body = ` var body = `
@@ -60,15 +63,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -110,32 +117,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,59 +175,59 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.tgl_lapor}</td>`; cr += `<td>${item.tgl_lapor}</td>`
cr += `<td>${item.tgl_lapor_sblm}</td>`; cr += `<td>${item.tgl_lapor_sblm}</td>`
cr += `<td>${item.tgl_lapor_sdh}</td>`; cr += `<td>${item.tgl_lapor_sdh}</td>`
cr += `<td>${item.tgl_penugasan_sblm}</td>`; cr += `<td>${item.tgl_penugasan_sblm}</td>`
cr += `<td>${item.tgl_penugasan_sdh}</td>`; cr += `<td>${item.tgl_penugasan_sdh}</td>`
cr += `<td>${item.tgl_perjalanan_sblm}</td>`; cr += `<td>${item.tgl_perjalanan_sblm}</td>`
cr += `<td>${item.tgl_perjalanan_sdh}</td>`; cr += `<td>${item.tgl_perjalanan_sdh}</td>`
cr += `<td>${item.tgl_pengerjaan_sblm}</td>`; cr += `<td>${item.tgl_pengerjaan_sblm}</td>`
cr += `<td>${item.tgl_pengerjaan_sdh}</td>`; cr += `<td>${item.tgl_pengerjaan_sdh}</td>`
cr += `<td>${item.tgl_nyala_sementara_sblm}</td>`; cr += `<td>${item.tgl_nyala_sementara_sblm}</td>`
cr += `<td>${item.tgl_nyala_sementara_sdh}</td>`; cr += `<td>${item.tgl_nyala_sementara_sdh}</td>`
cr += `<td>${item.tgl_nyala_sblm}</td>`; cr += `<td>${item.tgl_nyala_sblm}</td>`
cr += `<td>${item.tgl_nyala_sdh}</td>`; cr += `<td>${item.tgl_nyala_sdh}</td>`
cr += `<td>${item.tgl_selesai_sblm}</td>`; cr += `<td>${item.tgl_selesai_sblm}</td>`
cr += `<td>${item.tgl_selesai_sdh}</td>`; cr += `<td>${item.tgl_selesai_sdh}</td>`
cr += `<td>${item.durasi_response_time_sblm}</td>`; cr += `<td>${item.durasi_response_time_sblm}</td>`
cr += `<td>${item.durasi_response_time_sdh}</td>`; cr += `<td>${item.durasi_response_time_sdh}</td>`
cr += `<td>${item.durasi_recovery_time_sdh}</td>`; cr += `<td>${item.durasi_recovery_time_sdh}</td>`
cr += `<td>${item.kelompok_sblm}</td>`; cr += `<td>${item.kelompok_sblm}</td>`
cr += `<td>${item.kelompok_sdh}</td>`; cr += `<td>${item.kelompok_sdh}</td>`
cr += `<td>${item.sub_kelompok_sblm}</td>`; cr += `<td>${item.sub_kelompok_sblm}</td>`
cr += `<td>${item.sub_kelompok_sdh}</td>`; cr += `<td>${item.sub_kelompok_sdh}</td>`
cr += `<td>${item.fasilitas_id_sblm}</td>`; cr += `<td>${item.fasilitas_id_sblm}</td>`
cr += `<td>${item.fasilitas_id_sdh}</td>`; cr += `<td>${item.fasilitas_id_sdh}</td>`
cr += `<td>${item.sub_fasilitas_id_sblm}</td>`; cr += `<td>${item.sub_fasilitas_id_sblm}</td>`
cr += `<td>${item.sub_fasilitas_id_sdh}</td>`; cr += `<td>${item.sub_fasilitas_id_sdh}</td>`
cr += `<td>${item.equipment_id_sblm}</td>`; cr += `<td>${item.equipment_id_sblm}</td>`
cr += `<td>${item.equipment_id_sdh}</td>`; cr += `<td>${item.equipment_id_sdh}</td>`
cr += `<td>${item.event_damage_sblm}</td>`; cr += `<td>${item.event_damage_sblm}</td>`
cr += `<td>${item.event_damage_sdh}</td>`; cr += `<td>${item.event_damage_sdh}</td>`
cr += `<td>${item.cause_id_sblm}</td>`; cr += `<td>${item.cause_id_sblm}</td>`
cr += `<td>${item.cause_id_sdh}</td>`; cr += `<td>${item.cause_id_sdh}</td>`
cr += `<td>${item.cause_group_id_sblm}</td>`; cr += `<td>${item.cause_group_id_sblm}</td>`
cr += `<td>${item.cause_group_id_sdh}</td>`; cr += `<td>${item.cause_group_id_sdh}</td>`
cr += `<td>${item.weather_id_sblm}</td>`; cr += `<td>${item.weather_id_sblm}</td>`
cr += `<td>${item.weather_id_sdh}</td>`; cr += `<td>${item.weather_id_sdh}</td>`
cr += `<td>${item.group_koreksi}</td>`; cr += `<td>${item.group_koreksi}</td>`
cr += `<td>${item.alasan}</td>`; cr += `<td>${item.alasan}</td>`
cr += `<td>${item.idpel_no_meter}</td>`; cr += `<td>${item.idpel_no_meter}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -227,15 +237,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -275,29 +289,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var columnHeader = `<thead> var columnHeader = `<thead>
<tr> <tr>
@@ -86,7 +89,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th><Sla</th> <th><Sla</th>
</tr> </tr>
</thead> </thead>
`; `
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -95,15 +98,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -123,32 +130,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -178,31 +188,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -212,15 +222,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -260,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,7 +1,11 @@
import { Column } from "jspdf-autotable"; import { Column } from 'jspdf-autotable'
const company = "PT. PLN (Persero)"; const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var columnHeader = `<thead> var columnHeader = `<thead>
<tr> <tr>
@@ -87,7 +91,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th>>Sla</th> <th>>Sla</th>
<th><Sla</th> <th><Sla</th>
</tr> </tr>
</thead>`; </thead>`
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -96,15 +100,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -124,32 +132,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -179,31 +190,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var columnHeader = `<thead> var columnHeader = `<thead>
<tr> <tr>
<th>No</th> <th>No</th>
@@ -224,7 +235,7 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<th>Tindakan</th> <th>Tindakan</th>
<th>Penyebab</th> <th>Penyebab</th>
</tr> </tr>
</thead>`; </thead>`
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -233,15 +244,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -263,29 +278,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var body = ` var body = `
@@ -59,15 +62,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -122,32 +129,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -177,31 +187,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.id_pelnomormeter}</td>`; cr += `<td>${item.id_pelnomormeter}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -211,15 +221,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -260,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,7 +1,11 @@
import { numberToStars } from "@/report/utils/rating"; import { numberToStars } from '@/report/utils/rating'
const company = "PT. PLN (Persero)"; const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var columnHeader = `<thead> var columnHeader = `<thead>
<tr> <tr>
@@ -83,7 +87,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</tr> </tr>
</thead> </thead>
`; `
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -92,15 +96,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -120,32 +128,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -175,31 +186,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${numberToStars(item.nilai_rating)}</td>`; cr += `<td>${numberToStars(item.nilai_rating)}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -258,29 +273,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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,7 +1,11 @@
import { numberToStars } from "@/report/utils/rating"; import { numberToStars } from '@/report/utils/rating'
const company = "PT. PLN (Persero)"; const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ''; var tbody = ''
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = '<tr>'; var column = '<tr>'
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += '</tr>'; column += '</tr>'
tbody += column; tbody += column
} }
var columnHeader = `<thead> var columnHeader = `<thead>
<tr> <tr>
@@ -82,7 +86,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th>Index</th> <th>Index</th>
</tr> </tr>
</thead> </thead>
`; `
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -91,15 +95,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -119,32 +127,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -174,32 +185,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${numberToStars(item.nilai_rating)}</td>`; cr += `<td>${numberToStars(item.nilai_rating)}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`; cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`; cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -258,29 +273,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -172,7 +176,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -265,6 +269,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -473,7 +481,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -180,7 +184,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -273,6 +277,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -489,7 +497,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -175,7 +179,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -275,6 +279,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -494,7 +502,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -61,6 +61,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -186,7 +190,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -286,6 +290,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -501,7 +509,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -61,6 +61,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -186,7 +190,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -286,6 +290,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -501,7 +509,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -172,7 +176,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -265,6 +269,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -473,7 +481,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -50,6 +50,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -176,7 +180,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -269,6 +273,10 @@ const exportToXLSX = (reportMeta: any, e: any) => {
} }
const exportToDOCX = (reportMeta: any, data: any) => { const exportToDOCX = (reportMeta: any, data: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const generateRows = () => { const generateRows = () => {
@@ -471,7 +479,7 @@ const exportToDOCX = (reportMeta: any, data: any) => {
alignment: AlignmentType.RIGHT, alignment: AlignmentType.RIGHT,
children: [ children: [
new TextRun({ new TextRun({
text: `${meta.dayTo}, ${meta.dateToFormat}`, text: `${day}, ${date}-${month}-${year}`,
bold: true, bold: true,
size: docxFontSize size: docxFontSize
}) })

View File

@@ -197,6 +197,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta) const data = formatData(rawData, reportMeta)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -331,7 +335,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -364,6 +368,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -470,7 +478,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -141,6 +141,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -255,7 +259,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -288,6 +292,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -394,7 +402,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -306,6 +306,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta.groupBy) const data = formatData(rawData, reportMeta.groupBy)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -482,7 +486,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -515,6 +519,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -621,7 +629,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -279,6 +279,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -455,7 +459,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -488,6 +492,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -594,7 +602,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -306,6 +306,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta.groupBy) const data = formatData(rawData, reportMeta.groupBy)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -482,7 +486,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -515,6 +519,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -621,7 +629,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -305,6 +305,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData, reportMeta.groupBy) const data = formatData(rawData, reportMeta.groupBy)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -481,7 +485,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -514,6 +518,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -620,7 +628,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -263,6 +263,10 @@ const formatMetaData = (reportMeta: any) => {
} }
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => { const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
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 data = formatData(rawData) const data = formatData(rawData)
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
@@ -432,7 +436,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -465,6 +469,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
} }
const exportDetailToPDF = (reportMeta: any, rawData: any) => { const exportDetailToPDF = (reportMeta: any, rawData: 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()
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
const doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
@@ -571,7 +579,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -151,7 +155,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -171,6 +175,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -278,7 +286,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -141,7 +145,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -161,6 +165,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -268,7 +276,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -158,7 +162,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -178,6 +182,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -283,7 +291,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -162,7 +166,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -182,6 +186,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -287,7 +295,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -162,7 +166,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -182,6 +186,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -289,7 +297,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -162,7 +166,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -182,6 +186,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -289,7 +297,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -6,6 +6,10 @@ export const exportToWord = (
rawData: any, rawData: any,
reportName: String reportName: String
) => { ) => {
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 filename = 'Laporan ' + reportName + '.doc' const filename = 'Laporan ' + reportName + '.doc'
let tbody = '' let tbody = ''
@@ -153,7 +157,7 @@ export const exportToWord = (
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>
@@ -173,6 +177,10 @@ export const exportToWord = (
} }
export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => { export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName: String) => {
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 filename = 'Laporan Detail ' + reportName + '.doc' const filename = 'Laporan Detail ' + reportName + '.doc'
let preHtml = ` let preHtml = `
@@ -280,7 +288,7 @@ export const exportDetailToWord = (formattedMeta: any, rawData: any, reportName:
</table> </table>
<br> <br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${formattedMeta.dayTo}, ${formattedMeta.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer> </footer>

View File

@@ -49,6 +49,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -188,7 +192,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -223,7 +227,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`DISTRIBUSI/WILAYAH : ${reportMeta.value.uid `DISTRIBUSI/WILAYAH : ${
reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase() ? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase() : 'Semua Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -232,14 +237,16 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`AREA : ${reportMeta.value.up3 ? reportMeta.value.up3.name.toUpperCase() : 'Semua Area'.toUpperCase() `AREA : ${
reportMeta.value.up3 ? reportMeta.value.up3.name.toUpperCase() : 'Semua Area'.toUpperCase()
}` }`
) )
setHeaderStyle( setHeaderStyle(
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.value.posko `POSKO : ${
reportMeta.value.posko
? reportMeta.value.posko.name.toUpperCase() ? reportMeta.value.posko.name.toUpperCase()
: 'Semua Posko'.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`
@@ -281,4 +288,3 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, rawData, `Laporan ${reportName}`, formatMetaData(reportMeta)) exportToWord(reportMeta, rawData, `Laporan ${reportName}`, formatMetaData(reportMeta))
} }
export { exportToPDF, exportToXLSX, exportToDOCX } export { exportToPDF, exportToXLSX, exportToDOCX }

View File

@@ -1,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,27 +33,27 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var column = ''; var column = ''
for (let index = 0; index < rawData.value.length; index++) { for (let index = 0; index < rawData.value.length; index++) {
const item = rawData.value[index]; const item = rawData.value[index]
column += '<tr>'; column += '<tr>'
column += `<td>${index + 1}</td>`; column += `<td>${index + 1}</td>`
column += `<td>${item.no_laporan}</td>`; column += `<td>${item.no_laporan}</td>`
column += `<td>${item.nama_pelapor}</td>`; column += `<td>${item.nama_pelapor}</td>`
column += `<td>${item.keterangan_pelapor}</td>`; column += `<td>${item.keterangan_pelapor}</td>`
column += `<td>${item.penyebab}</td>`; column += `<td>${item.penyebab}</td>`
column += `<td>${item.waktu_lapor}</td>`; column += `<td>${item.waktu_lapor}</td>`
column += `<td>${item.waktu_recovery}</td>`; column += `<td>${item.waktu_recovery}</td>`
column += `<td>${item.regu}</td>`; column += `<td>${item.regu}</td>`
column += `<td>${item.media}</td>`; column += `<td>${item.media}</td>`
column += `<td>${item.nama_material}</td>`; column += `<td>${item.nama_material}</td>`
column += `<td>${item.satuan_material}</td>`; column += `<td>${item.satuan_material}</td>`
column += `<td>${item.volume_material}</td>`; column += `<td>${item.volume_material}</td>`
column += '</tr>'; column += '</tr>'
} }
tbody += column; tbody += column
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -60,15 +63,15 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td>Distribusi/Wilayah </td> <td>Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Area</td> <td> Area</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${reportMeta.up3 ? reportMeta.up3.name.toUpperCase() : 'Semua Area'.toUpperCase()}</td>
? reportMeta.up3.name.toUpperCase()
: 'Semua Area'.toUpperCase()}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -106,32 +109,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -161,32 +167,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`; cr += `<td>${item.media}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -196,15 +202,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -245,29 +255,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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

@@ -49,6 +49,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => { const exportToPDF = (reportMeta: any, data: any) => {
const meta = formatMetaData(reportMeta) const meta = formatMetaData(reportMeta)
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 doc = new jsPDF({ const doc = new jsPDF({
orientation: 'landscape' orientation: 'landscape'
}) })
@@ -178,7 +182,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, { autoTable(doc, {
head: [ head: [
[`${meta.dayTo}, ${meta.dateToFormat}`], [`${day}, ${date}-${month}-${year}`],
[ [
{ {
content: '(.........................................)', content: '(.........................................)',
@@ -213,7 +217,8 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
2, 2,
1, 1,
`DISTRIBUSI/WILAYAH : ${reportMeta.value.uid `DISTRIBUSI/WILAYAH : ${
reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase() ? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase() : 'Semua Distribusi/Wilayah'.toUpperCase()
}` }`
@@ -222,14 +227,16 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet, worksheet,
3, 3,
1, 1,
`AREA : ${reportMeta.value.up3 ? reportMeta.value.up3.name.toUpperCase() : 'Semua Area'.toUpperCase() `AREA : ${
reportMeta.value.up3 ? reportMeta.value.up3.name.toUpperCase() : 'Semua Area'.toUpperCase()
}` }`
) )
setHeaderStyle( setHeaderStyle(
worksheet, worksheet,
4, 4,
1, 1,
`POSKO : ${reportMeta.value.posko `POSKO : ${
reportMeta.value.posko
? reportMeta.value.posko.name.toUpperCase() ? reportMeta.value.posko.name.toUpperCase()
: 'Semua Posko'.toUpperCase() : 'Semua Posko'.toUpperCase()
}` }`

View File

@@ -1,6 +1,9 @@
const company = 'PT. PLN (Persero)'
const company = "PT. PLN (Persero)";
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => { const 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -30,24 +33,24 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var column = ''; var column = ''
for (let i = 0; i < rawData.value.length; i++) { for (let i = 0; i < rawData.value.length; i++) {
column += '<tr>'; column += '<tr>'
const item = rawData.value[i]; const item = rawData.value[i]
column += `<td>${i + 1}</td>`; column += `<td>${i + 1}</td>`
column += `<td>${item.kode}</td>`; column += `<td>${item.kode}</td>`
column += `<td>${item.nama_material}</td>`; column += `<td>${item.nama_material}</td>`
column += `<td>${item.satuan}</td>`; column += `<td>${item.satuan}</td>`
column += `<td>${item.sumber_material}</td>`; column += `<td>${item.sumber_material}</td>`
for (let a = 1; a <= 31; a++) { for (let a = 1; a <= 31; a++) {
column += `<td>${item[`tgl${a}`]}</td>`; column += `<td>${item[`tgl${a}`]}</td>`
} }
column += `<td>${item.total}</td>`; column += `<td>${item.total}</td>`
column += '</tr>'; column += '</tr>'
} }
tbody += column; tbody += column
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
<tr> <tr>
@@ -56,15 +59,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Distribusi/Wilayah </td> <td> Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Area</td> <td> Area</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -97,32 +104,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -152,32 +162,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`; cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`; cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`; cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`; cr += `<td>${item.media}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -187,15 +197,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Posko</td> <td> Posko</td>
@@ -236,29 +250,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br> var postHtml = `<br>
<footer> <footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -164,38 +175,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -205,15 +216,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -158,30 +169,30 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td> item.no_laporan}</td>`; cr += `<td> item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`; cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`; cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`; cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`; cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -191,15 +202,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -155,38 +166,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -196,15 +207,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -188,38 +199,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -229,15 +240,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < rawData.length; index++) { for (let index = 0; index < rawData.length; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -178,31 +189,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`; cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`; cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</td>`; cr += `<td>${item.nama_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`; cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`; cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -212,15 +223,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -166,38 +177,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -207,15 +218,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -161,38 +172,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -202,15 +213,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -211,30 +222,30 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`; cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`; cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</td>`; cr += `<td>${item.nama_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`; cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`; cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`; cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -244,15 +255,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -175,38 +186,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -216,15 +227,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from "@/utils/texts"; import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -166,38 +177,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -207,15 +218,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -168,38 +179,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from "@/utils/texts"; import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate() const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' }) const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear() 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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
for (let index = 0; index < 5; index++) { for (let index = 0; index < 5; index++) {
const element = rawData[index]; const element = rawData[index]
var column = `<tr>`; var column = `<tr>`
let styleTotal = ''; let styleTotal = ''
for (let i = 0; i < element.length; i++) { for (let i = 0; i < element.length; i++) {
const content = element[i]; const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : '' const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) { if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"' styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
} }
i === 0 ? i === 0
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>` ? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: column += `<td ${styleTotal}>${content}</td>`; : (column += `<td ${styleTotal}>${content}</td>`)
} }
column += `</tr>`; column += `</tr>`
tbody += column; tbody += column
} }
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 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> 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"> <style type="text/css" media="print">
@page Section1 { @page Section1 {
@@ -198,38 +209,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style> </style>
</head><body> </head><body>
<div class="Section1"> <div class="Section1">
`; `
var tbody = ``; var tbody = ``
var cr = ``; var cr = ``
rawData.map((item: any, i: any) => { rawData.map((item: any, i: any) => {
cr += '<tr>'; cr += '<tr>'
cr += `<td>${i + 1}</td>`; cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`; cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`; cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`; cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`; cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`; cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</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.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`; cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`; cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`; cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`; cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`; cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`; cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '<td></td>'; cr += '<td></td>'
cr += '</tr>'; cr += '</tr>'
}); })
tbody += cr; tbody += cr
var body = ` var body = `
<table border=0 style="border:none"> <table border=0 style="border:none">
@@ -239,15 +250,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr> <tr>
<td> Unit Induk Distribusi/Wilayah </td> <td> Unit Induk Distribusi/Wilayah </td>
<td>:</td> <td>:</td>
<td> ${reportMeta.uid <td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase() ? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td> : 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr> <tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td> <td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td> <td>:</td>
<td> ${reportMeta.up3 <td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase() ? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td> : 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr> </tr>
<tr> <tr>
<td> Unit Layanan Pelanggan</td> <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> <p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br> <br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p> <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 = var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
"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 }