Merge branch 'dev-bagus' of https://github.com/defuj/eis into dev-defuj

This commit is contained in:
Dede Fuji Abdul 2024-04-09 17:21:38 +07:00
commit 1fc2fc16ef
91 changed files with 3986 additions and 2839 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -4,6 +4,10 @@ export const exportToWord = (
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 ' + reportName + '.doc'
let tbody = ''
@ -156,7 +160,7 @@ export const exportToWord = (
</table>
<br>
<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>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer>

View File

@ -4,6 +4,10 @@ export const exportToWord = (
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 ' + reportName + '.doc'
let tbody = ''
@ -168,7 +172,7 @@ export const exportToWord = (
</table>
<br>
<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>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer>

View File

@ -4,6 +4,10 @@ export const exportToWord = (
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 ' + reportName + '.doc'
let tbody = ''
@ -142,7 +146,7 @@ export const exportToWord = (
</table>
<br>
<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>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer>

View File

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

View File

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

View File

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

View File

@ -4,6 +4,10 @@ export const exportToWord = (
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 ' + reportName + '.doc'
let tbody = ''
@ -142,7 +146,7 @@ export const exportToWord = (
</table>
<br>
<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>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18,7 +18,10 @@ import autoTable from 'jspdf-autotable'
import { Workbook } from 'exceljs'
import { setHeaderStyle } from '@/report/utils/xlsx'
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 fontSize = 5
@ -116,6 +119,10 @@ const formatMetaData = (reportMeta: any) => {
}
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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -219,7 +226,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -252,6 +259,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -362,7 +373,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -397,25 +408,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
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))
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -224,7 +228,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -257,6 +261,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -365,7 +373,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -400,25 +408,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
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))
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -248,7 +252,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -281,6 +285,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -376,7 +384,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -510,6 +518,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -382,7 +386,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -415,6 +419,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -523,7 +531,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -558,25 +566,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
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))
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -454,7 +458,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',

View File

@ -167,7 +167,7 @@ const formatData = (rawData: any) => {
formatNumber(
total.total_response_time_rata_rata.length
? total.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_response_time_rata_rata.length
total.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_response_time_max)),
@ -178,7 +178,7 @@ const formatData = (rawData: any) => {
formatNumber(
total.total_recovery_time_rata_rata.length
? total.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_recovery_time_rata_rata.length
total.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_recovery_time_max)),
@ -207,7 +207,7 @@ const formatData = (rawData: any) => {
formatNumber(
grandTotal.total_response_time_rata_rata.length
? grandTotal.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_response_time_rata_rata.length
grandTotal.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_response_time_max)),
@ -218,7 +218,7 @@ const formatData = (rawData: any) => {
formatNumber(
grandTotal.total_recovery_time_rata_rata.length
? grandTotal.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_recovery_time_rata_rata.length
grandTotal.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_recovery_time_max)),
@ -256,6 +256,10 @@ const formatMetaData = (reportMeta: any) => {
}
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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -435,7 +439,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -468,6 +472,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -576,7 +584,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -611,25 +619,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
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))
}
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,22 +1,8 @@
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import {
Document,
AlignmentType,
Packer,
Paragraph,
Table,
TableCell,
TableRow,
VerticalAlign,
TextRun,
WidthType,
PageOrientation
} from 'docx'
import { saveAs } from 'file-saver'
import { jsPDF } from 'jspdf'
import autoTable from 'jspdf-autotable'
import { Workbook } from 'exceljs'
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { setHeaderStyle } from '@/report/utils/xlsx'
import { formatNumber } from '@/utils/numbers'
import { exportDetailToWord, exportToWord } from './doc/RGangguan_KTI_DOC'
@ -123,6 +109,10 @@ const formatMetaData = (reportMeta: any) => {
}
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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -248,7 +238,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -281,6 +271,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -442,7 +436,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -477,25 +471,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
`POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}`
)
@ -573,6 +570,18 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData), `Laporan ${reportName}`, formatMetaData(reportMeta))
}
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

@ -154,7 +154,7 @@ const formatData = (rawData: any) => {
formatNumber(
total.total_response_time_rata_rata.length
? total.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_response_time_rata_rata.length
total.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_response_time_max)),
@ -165,7 +165,7 @@ const formatData = (rawData: any) => {
formatNumber(
total.total_recovery_time_rata_rata.length
? total.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_recovery_time_rata_rata.length
total.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_recovery_time_max)),
@ -194,7 +194,7 @@ const formatData = (rawData: any) => {
formatNumber(
grandTotal.total_response_time_rata_rata.length
? grandTotal.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_response_time_rata_rata.length
grandTotal.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_response_time_max)),
@ -205,7 +205,7 @@ const formatData = (rawData: any) => {
formatNumber(
grandTotal.total_recovery_time_rata_rata.length
? grandTotal.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_recovery_time_rata_rata.length
grandTotal.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_recovery_time_max)),
@ -243,6 +243,10 @@ const formatMetaData = (reportMeta: any) => {
}
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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -412,7 +416,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -445,6 +449,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -553,7 +561,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -588,18 +596,20 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.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))
}
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

@ -14,23 +14,55 @@ const reportName = 'Rekapitulasi Gangguan Per Regu'
const fontSize = 5
const detailFontSize = 3
const groupingData = (data: any) => {
const groupedData: any = {}
const groupingData = (data: any, reportMeta: any) => {
if (reportMeta.up3.id != 0 || reportMeta.posko.id != 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
data.forEach((item: any) => {
const { nama_posko } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
if (!groupedData[nama_posko]) {
groupedData[nama_posko] = []
}
groupedData[nama_posko].push(item)
})
return groupedData
} else {
if (reportMeta.uid.id == 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
}
groupedData[nama_uid].push(item)
})
return groupedData
} else {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_up3 } = item
if (!groupedData[nama_up3]) {
groupedData[nama_up3] = []
}
groupedData[nama_up3].push(item)
})
return groupedData
}
groupedData[nama_uid].push(item)
})
return groupedData
}
}
const formatData = (rawData: any, groupBy: boolean) => {
const formatData = (rawData: any, groupBy: boolean, reportMeta: any) => {
const formattedData: any = []
const grandTotal: any = {
total_laporan: 0,
@ -51,7 +83,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
}
if (groupBy) {
const data = groupingData(rawData)
const data = groupingData(rawData, reportMeta)
for (const nama_uid in data) {
const total: any = {
@ -158,7 +190,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
total.total_response_time_rata_rata.length
? total.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_response_time_rata_rata.length
total.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_response_time_max)),
@ -169,7 +201,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
total.total_recovery_time_rata_rata.length
? total.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_recovery_time_rata_rata.length
total.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_recovery_time_max)),
@ -248,7 +280,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
grandTotal.total_response_time_rata_rata.length
? grandTotal.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_response_time_rata_rata.length
grandTotal.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_response_time_max)),
@ -259,7 +291,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
grandTotal.total_recovery_time_rata_rata.length
? grandTotal.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_recovery_time_rata_rata.length
grandTotal.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_recovery_time_max)),
@ -297,7 +329,11 @@ const formatMetaData = (reportMeta: any) => {
}
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
const data = formatData(rawData, reportMeta.groupBy)
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, reportMeta)
const meta = formatMetaData(reportMeta)
const doc = new jsPDF({
orientation: 'landscape'
@ -475,7 +511,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -508,6 +544,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -616,7 +656,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -651,25 +691,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
`POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}`
)
@ -746,9 +789,26 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
}
const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData, reportMeta.groupBy), `Laporan ${reportName}`, formatMetaData(reportMeta))
exportToWord(
reportMeta,
formatData(rawData, reportMeta.groupBy, reportMeta),
`Laporan ${reportName}`,
formatMetaData(reportMeta)
)
}
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

@ -25,23 +25,55 @@ const reportName = 'Rekapitulasi Gangguan Per Tanggal'
const fontSize = 5
const detailFontSize = 3
const groupingData = (data: any) => {
const groupedData: any = {}
const groupingData = (data: any, reportMeta: any) => {
if (reportMeta.up3.id != 0 || reportMeta.posko.id != 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
data.forEach((item: any) => {
const { nama_posko } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
if (!groupedData[nama_posko]) {
groupedData[nama_posko] = []
}
groupedData[nama_posko].push(item)
})
return groupedData
} else {
if (reportMeta.uid.id == 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
}
groupedData[nama_uid].push(item)
})
return groupedData
} else {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_up3 } = item
if (!groupedData[nama_up3]) {
groupedData[nama_up3] = []
}
groupedData[nama_up3].push(item)
})
return groupedData
}
groupedData[nama_uid].push(item)
})
return groupedData
}
}
const formatData = (rawData: any, groupBy: boolean) => {
const formatData = (rawData: any, groupBy: boolean, reportMeta: any) => {
const formattedData: any = []
const grandTotal: any = {
total_laporan: 0,
@ -62,7 +94,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
}
if (groupBy) {
const data = groupingData(rawData)
const data = groupingData(rawData, reportMeta)
for (const nama_uid in data) {
const total: any = {
@ -168,7 +200,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
total.total_response_time_rata_rata.length
? total.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_response_time_rata_rata.length
total.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_response_time_max)),
@ -179,7 +211,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
total.total_recovery_time_rata_rata.length
? total.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
total.total_recovery_time_rata_rata.length
total.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...total.total_recovery_time_max)),
@ -257,7 +289,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
grandTotal.total_response_time_rata_rata.length
? grandTotal.total_response_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_response_time_rata_rata.length
grandTotal.total_response_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_response_time_max)),
@ -268,7 +300,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
formatNumber(
grandTotal.total_recovery_time_rata_rata.length
? grandTotal.total_recovery_time_rata_rata.reduce((a: any, b: any) => a + b) /
grandTotal.total_recovery_time_rata_rata.length
grandTotal.total_recovery_time_rata_rata.length
: 0
),
formatWaktu(Math.max(...grandTotal.total_recovery_time_max)),
@ -306,7 +338,11 @@ const formatMetaData = (reportMeta: any) => {
}
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
const data = formatData(rawData, reportMeta.groupBy)
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, reportMeta)
const meta = formatMetaData(reportMeta)
const doc = new jsPDF({
orientation: 'landscape'
@ -480,7 +516,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -513,6 +549,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -621,7 +661,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -656,25 +696,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
1,
`POSKO : ${reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
`POSKO : ${
reportMeta.posko ? reportMeta.posko.name.toUpperCase() : 'Semua Posko'.toUpperCase()
}`
)
@ -749,9 +792,26 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
e.cancel = true
}
const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, formatData(rawData, reportMeta.groupBy), `Laporan ${reportName}`, formatMetaData(reportMeta))
exportToWord(
reportMeta,
formatData(rawData, reportMeta.groupBy, reportMeta),
`Laporan ${reportName}`,
formatMetaData(reportMeta)
)
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -238,7 +242,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -271,6 +275,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -381,7 +389,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -416,18 +424,20 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.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))
}
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 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 meta = formatMetaData(reportMeta)
const doc = new jsPDF({
@ -218,7 +222,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -251,6 +255,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -361,7 +369,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -396,25 +404,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`UNIT INDUK : ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
`UNIT INDUK : ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
1,
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
`UNIT PELAKSANA PELAYANAN PELANGGAN : ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
4,
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))
}
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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -31,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -59,15 +61,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -116,31 +122,34 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -170,39 +179,39 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = '';
`
var tbody = ``
var cr = ''
rawData.map((item: any, i: any) => {
cr += `<tr>`;
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td></td>`;
cr += `<td></td>`;
cr += `<td>${item.jarak_closing}</td>`;
cr += `<td>${item.dispatch_oleh}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.pembuat_laporan}</td>`;
cr += `<td>${item.diselesaikan_oleh}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `</tr>`;
cr += `<tr>`
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td></td>`
cr += `<td></td>`
cr += `<td>${item.jarak_closing}</td>`
cr += `<td>${item.dispatch_oleh}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.pembuat_laporan}</td>`
cr += `<td>${item.diselesaikan_oleh}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `</tr>`
})
tbody += cr;
tbody += cr
var body = `
<table border=0 style="border:none">
@ -212,15 +221,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -266,28 +279,27 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -58,15 +61,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -94,32 +101,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -149,32 +159,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.media}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -184,15 +194,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -233,29 +247,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@ -31,56 +34,55 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'GRAND TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"'
};
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
}
column += `</tr>`;
tbody += column;
}
const header =
[
{
content: 'No',
rowSpan: 2
},
{
content: 'Nama Media',
rowSpan: 2
},
{
content: 'Tanggal',
colSpan: 31
},
{
content: 'Total',
rowSpan: 2
}
];
var columnHeader = '';
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`
tbody += column
}
const header = [
{
content: 'No',
rowSpan: 2
},
{
content: 'Nama Media',
rowSpan: 2
},
{
content: 'Tanggal',
colSpan: 31
},
{
content: 'Total',
rowSpan: 2
}
]
var columnHeader = ''
for (let i = 0; i < header.length; i++) {
const content = header[i];
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : '';
const content = header[i]
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''
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++) {
columnTanggal += `<td>${index}</td>`;
columnTanggal += `<td>${index}</td>`
}
var body = `
<table border=0 style="border:none">
@ -90,15 +92,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -125,32 +131,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -180,31 +189,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -214,15 +223,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -262,29 +275,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@ -31,41 +34,40 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content.content === 'GRAND TOTAL') {
styleTotal = 'style="background-color: #c0c0c0"'
};
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
}
column += `</tr>`;
tbody += column;
}
const header =
[
{
content: 'No',
rowSpan: 2
},
{
content: 'Nama Unit',
rowSpan: 2
},
{
content: 'Bulan',
colSpan: 12
}
];
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`
tbody += column
}
const header = [
{
content: 'No',
rowSpan: 2
},
{
content: 'Nama Unit',
rowSpan: 2
},
{
content: 'Bulan',
colSpan: 12
}
]
const bulan = [
'Januari',
'Februari',
@ -79,18 +81,18 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
'Oktober',
'November',
'Desember'
];
var columnHeader = '';
]
var columnHeader = ''
for (let i = 0; i < header.length; i++) {
const content = header[i];
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : '';
const content = header[i]
const rowSpan = content.rowSpan ? `rowspan="${content.rowSpan}"` : ''
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++) {
columnBulan += `<td>${bulan[index]}</td>`;
columnBulan += `<td>${bulan[index]}</td>`
}
var body = `
@ -101,15 +103,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -136,32 +142,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -191,25 +200,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.tgl_catat}</td>`;
cr += `<td>${item.tgl_pekerjaan}</td>`;
cr += `<td>${item.tgl_nyala}</td>`;
cr += `<td>${item.durasi_pencatatan}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.keterangan_cleansing}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.tgl_catat}</td>`
cr += `<td>${item.tgl_pekerjaan}</td>`
cr += `<td>${item.tgl_nyala}</td>`
cr += `<td>${item.durasi_pencatatan}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.keterangan_cleansing}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -219,15 +228,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -261,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,26 +33,24 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
var column = '';
`
var tbody = ''
var column = ''
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++) {
const item = content[i];
const colSpan = item ?
item.colSpan ? `colspan="${item.colSpan}"`
: '' : '';
i === 0 ?
column += `<td ${colSpan} align="left">${item.content}</td>`
: column += `<td>${item}</td>`;
const item = content[i]
const colSpan = item ? (item.colSpan ? `colspan="${item.colSpan}"` : '') : ''
i === 0
? (column += `<td ${colSpan} align="left">${item.content}</td>`)
: (column += `<td>${item}</td>`)
}
column += `</tr>`;
column += `</tr>`
}
tbody += column;
tbody += column
var body = `
<table border=0 style="border:none">
@ -59,15 +60,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -166,32 +171,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -221,31 +229,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -255,15 +263,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -297,29 +309,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

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

View File

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

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
console.log(rawData)
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@ -31,25 +34,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var body = `
@ -60,15 +63,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -110,32 +117,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,59 +175,59 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.tgl_lapor}</td>`;
cr += `<td>${item.tgl_lapor_sblm}</td>`;
cr += `<td>${item.tgl_lapor_sdh}</td>`;
cr += `<td>${item.tgl_penugasan_sblm}</td>`;
cr += `<td>${item.tgl_penugasan_sdh}</td>`;
cr += `<td>${item.tgl_perjalanan_sblm}</td>`;
cr += `<td>${item.tgl_perjalanan_sdh}</td>`;
cr += `<td>${item.tgl_pengerjaan_sblm}</td>`;
cr += `<td>${item.tgl_pengerjaan_sdh}</td>`;
cr += `<td>${item.tgl_nyala_sementara_sblm}</td>`;
cr += `<td>${item.tgl_nyala_sementara_sdh}</td>`;
cr += `<td>${item.tgl_nyala_sblm}</td>`;
cr += `<td>${item.tgl_nyala_sdh}</td>`;
cr += `<td>${item.tgl_selesai_sblm}</td>`;
cr += `<td>${item.tgl_selesai_sdh}</td>`;
cr += `<td>${item.durasi_response_time_sblm}</td>`;
cr += `<td>${item.durasi_response_time_sdh}</td>`;
cr += `<td>${item.durasi_recovery_time_sdh}</td>`;
cr += `<td>${item.kelompok_sblm}</td>`;
cr += `<td>${item.kelompok_sdh}</td>`;
cr += `<td>${item.sub_kelompok_sblm}</td>`;
cr += `<td>${item.sub_kelompok_sdh}</td>`;
cr += `<td>${item.fasilitas_id_sblm}</td>`;
cr += `<td>${item.fasilitas_id_sdh}</td>`;
cr += `<td>${item.sub_fasilitas_id_sblm}</td>`;
cr += `<td>${item.sub_fasilitas_id_sdh}</td>`;
cr += `<td>${item.equipment_id_sblm}</td>`;
cr += `<td>${item.equipment_id_sdh}</td>`;
cr += `<td>${item.event_damage_sblm}</td>`;
cr += `<td>${item.event_damage_sdh}</td>`;
cr += `<td>${item.cause_id_sblm}</td>`;
cr += `<td>${item.cause_id_sdh}</td>`;
cr += `<td>${item.cause_group_id_sblm}</td>`;
cr += `<td>${item.cause_group_id_sdh}</td>`;
cr += `<td>${item.weather_id_sblm}</td>`;
cr += `<td>${item.weather_id_sdh}</td>`;
cr += `<td>${item.group_koreksi}</td>`;
cr += `<td>${item.alasan}</td>`;
cr += `<td>${item.idpel_no_meter}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.tgl_lapor}</td>`
cr += `<td>${item.tgl_lapor_sblm}</td>`
cr += `<td>${item.tgl_lapor_sdh}</td>`
cr += `<td>${item.tgl_penugasan_sblm}</td>`
cr += `<td>${item.tgl_penugasan_sdh}</td>`
cr += `<td>${item.tgl_perjalanan_sblm}</td>`
cr += `<td>${item.tgl_perjalanan_sdh}</td>`
cr += `<td>${item.tgl_pengerjaan_sblm}</td>`
cr += `<td>${item.tgl_pengerjaan_sdh}</td>`
cr += `<td>${item.tgl_nyala_sementara_sblm}</td>`
cr += `<td>${item.tgl_nyala_sementara_sdh}</td>`
cr += `<td>${item.tgl_nyala_sblm}</td>`
cr += `<td>${item.tgl_nyala_sdh}</td>`
cr += `<td>${item.tgl_selesai_sblm}</td>`
cr += `<td>${item.tgl_selesai_sdh}</td>`
cr += `<td>${item.durasi_response_time_sblm}</td>`
cr += `<td>${item.durasi_response_time_sdh}</td>`
cr += `<td>${item.durasi_recovery_time_sdh}</td>`
cr += `<td>${item.kelompok_sblm}</td>`
cr += `<td>${item.kelompok_sdh}</td>`
cr += `<td>${item.sub_kelompok_sblm}</td>`
cr += `<td>${item.sub_kelompok_sdh}</td>`
cr += `<td>${item.fasilitas_id_sblm}</td>`
cr += `<td>${item.fasilitas_id_sdh}</td>`
cr += `<td>${item.sub_fasilitas_id_sblm}</td>`
cr += `<td>${item.sub_fasilitas_id_sdh}</td>`
cr += `<td>${item.equipment_id_sblm}</td>`
cr += `<td>${item.equipment_id_sdh}</td>`
cr += `<td>${item.event_damage_sblm}</td>`
cr += `<td>${item.event_damage_sdh}</td>`
cr += `<td>${item.cause_id_sblm}</td>`
cr += `<td>${item.cause_id_sdh}</td>`
cr += `<td>${item.cause_group_id_sblm}</td>`
cr += `<td>${item.cause_group_id_sdh}</td>`
cr += `<td>${item.weather_id_sblm}</td>`
cr += `<td>${item.weather_id_sdh}</td>`
cr += `<td>${item.group_koreksi}</td>`
cr += `<td>${item.alasan}</td>`
cr += `<td>${item.idpel_no_meter}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -227,15 +237,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -275,29 +289,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var columnHeader = `<thead>
<tr>
@ -86,7 +89,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th><Sla</th>
</tr>
</thead>
`;
`
var body = `
<table border=0 style="border:none">
<tr>
@ -95,15 +98,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -123,32 +130,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -178,31 +188,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -212,15 +222,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -260,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var columnHeader = `<thead>
<tr>
@ -87,7 +91,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th>>Sla</th>
<th><Sla</th>
</tr>
</thead>`;
</thead>`
var body = `
<table border=0 style="border:none">
<tr>
@ -96,15 +100,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -124,32 +132,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -179,31 +190,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var columnHeader = `<thead>
<tr>
<th>No</th>
@ -224,7 +235,7 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<th>Tindakan</th>
<th>Penyebab</th>
</tr>
</thead>`;
</thead>`
var body = `
<table border=0 style="border:none">
<tr>
@ -233,15 +244,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -263,29 +278,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,6 +1,9 @@
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,25 +33,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var body = `
@ -59,15 +62,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -122,32 +129,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -177,31 +187,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.id_pelnomormeter}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.id_pelnomormeter}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -211,15 +221,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -260,29 +274,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var columnHeader = `<thead>
<tr>
@ -83,7 +87,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</tr>
</thead>
`;
`
var body = `
<table border=0 style="border:none">
<tr>
@ -92,15 +96,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -120,32 +128,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -175,31 +186,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${numberToStars(item.nilai_rating)}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${numberToStars(item.nilai_rating)}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -258,29 +273,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -31,25 +35,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = '';
`
var tbody = ''
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = '<tr>';
let styleTotal = '';
const element = rawData[index]
var column = '<tr>'
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += '</tr>';
tbody += column;
column += '</tr>'
tbody += column
}
var columnHeader = `<thead>
<tr>
@ -82,7 +86,7 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<th>Index</th>
</tr>
</thead>
`;
`
var body = `
<table border=0 style="border:none">
<tr>
@ -91,15 +95,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -119,32 +127,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -174,32 +185,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${numberToStars(item.nilai_rating)}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.referensi_marking}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.tindakan}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${numberToStars(item.nilai_rating)}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.referensi_marking}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.tindakan}</td>`
cr += `<td>${item.penyebab}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -258,29 +273,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -25,23 +25,55 @@ const reportName = 'Rekapitulasi Keluhan Per Fungsi Bidang'
const fontSize = 5
const detailFontSize = 3
const groupingData = (data: any) => {
const groupedData: any = {}
const groupingData = (data: any, reportMeta: any) => {
if (reportMeta.up3.id != 0 || reportMeta.ulp.id != 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
data.forEach((item: any) => {
const { nama_ulp } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
if (!groupedData[nama_ulp]) {
groupedData[nama_ulp] = []
}
groupedData[nama_ulp].push(item)
})
return groupedData
} else {
if (reportMeta.uid.id == 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
}
groupedData[nama_uid].push(item)
})
return groupedData
} else {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_up3 } = item
if (!groupedData[nama_up3]) {
groupedData[nama_up3] = []
}
groupedData[nama_up3].push(item)
})
return groupedData
}
groupedData[nama_uid].push(item)
})
return groupedData
}
}
const formatData = (rawData: any, groupBy: boolean) => {
const formatData = (rawData: any, groupBy: boolean, reportMeta: any) => {
const formattedData: any = []
const grandTotal: any = {
total_laporan: 0,
@ -62,7 +94,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
}
if (groupBy) {
const data = groupingData(rawData)
const data = groupingData(rawData, reportMeta)
for (const nama_uid in data) {
const total: any = {
@ -306,7 +338,11 @@ const formatMetaData = (reportMeta: any) => {
}
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
const data = formatData(rawData, reportMeta.groupBy)
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, reportMeta)
const meta = formatMetaData(reportMeta)
const doc = new jsPDF({
orientation: 'landscape'
@ -482,7 +518,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -515,6 +551,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -621,7 +661,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -757,7 +797,7 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
const exportToDOCX = (reportMeta: any, rawData: any) => {
const meta = formatMetaData(reportMeta)
exportToWord(reportMeta, meta, formatData(rawData, reportMeta.groupBy), reportName)
exportToWord(reportMeta, meta, formatData(rawData, reportMeta.groupBy, reportMeta), reportName)
}
const exportDetailToDOCX = (reportMeta: any, rawData: any) => {

View File

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

View File

@ -25,23 +25,55 @@ const reportName = 'Rekapitulasi Keluhan Per Kelompok Keluhan'
const fontSize = 5
const detailFontSize = 3
const groupingData = (data: any) => {
const groupedData: any = {}
const groupingData = (data: any, reportMeta: any) => {
if (reportMeta.up3.id != 0 || reportMeta.ulp.id != 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
data.forEach((item: any) => {
const { nama_ulp } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
if (!groupedData[nama_ulp]) {
groupedData[nama_ulp] = []
}
groupedData[nama_ulp].push(item)
})
return groupedData
} else {
if (reportMeta.uid.id == 0) {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_uid } = item
if (!groupedData[nama_uid]) {
groupedData[nama_uid] = []
}
groupedData[nama_uid].push(item)
})
return groupedData
} else {
const groupedData: any = {}
data.forEach((item: any) => {
const { nama_up3 } = item
if (!groupedData[nama_up3]) {
groupedData[nama_up3] = []
}
groupedData[nama_up3].push(item)
})
return groupedData
}
groupedData[nama_uid].push(item)
})
return groupedData
}
}
const formatData = (rawData: any, groupBy: boolean) => {
const formatData = (rawData: any, groupBy: boolean, reportMeta: any) => {
const formattedData: any = []
const grandTotal: any = {
total_laporan: 0,
@ -62,7 +94,7 @@ const formatData = (rawData: any, groupBy: boolean) => {
}
if (groupBy) {
const data = groupingData(rawData)
const data = groupingData(rawData, reportMeta)
for (const nama_uid in data) {
const total: any = {
@ -306,7 +338,11 @@ const formatMetaData = (reportMeta: any) => {
}
const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) => {
const data = formatData(rawData, reportMeta.groupBy)
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, reportMeta)
const meta = formatMetaData(reportMeta)
const doc = new jsPDF({
orientation: 'landscape'
@ -482,7 +518,7 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -515,6 +551,10 @@ const exportToPDF = (reportMeta: any, rawData: any, preview: boolean = false) =>
}
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 doc = new jsPDF({
orientation: 'landscape'
@ -621,7 +661,7 @@ const exportDetailToPDF = (reportMeta: any, rawData: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -757,7 +797,7 @@ const exportDetailToXLSX = (reportMeta: any, e: any) => {
const exportToDOCX = (reportMeta: any, rawData: any) => {
const meta = formatMetaData(reportMeta)
exportToWord(reportMeta, meta, formatData(rawData, reportMeta.groupBy), reportName)
exportToWord(reportMeta, meta, formatData(rawData, reportMeta.groupBy, reportMeta), reportName)
}
const exportDetailToDOCX = (reportMeta: any, rawData: any) => {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -49,6 +49,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => {
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({
orientation: 'landscape'
})
@ -188,7 +192,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -223,25 +227,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`DISTRIBUSI/WILAYAH : ${reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase()
`DISTRIBUSI/WILAYAH : ${
reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
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(
worksheet,
4,
1,
`POSKO : ${reportMeta.value.posko
? reportMeta.value.posko.name.toUpperCase()
: 'Semua Posko'.toUpperCase()
`POSKO : ${
reportMeta.value.posko
? reportMeta.value.posko.name.toUpperCase()
: 'Semua Posko'.toUpperCase()
}`
)
@ -281,4 +288,3 @@ const exportToDOCX = (reportMeta: any, rawData: any) => {
exportToWord(reportMeta, rawData, `Laporan ${reportName}`, formatMetaData(reportMeta))
}
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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,27 +33,27 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var column = '';
`
var tbody = ``
var column = ''
for (let index = 0; index < rawData.value.length; index++) {
const item = rawData.value[index];
column += '<tr>';
column += `<td>${index + 1}</td>`;
column += `<td>${item.no_laporan}</td>`;
column += `<td>${item.nama_pelapor}</td>`;
column += `<td>${item.keterangan_pelapor}</td>`;
column += `<td>${item.penyebab}</td>`;
column += `<td>${item.waktu_lapor}</td>`;
column += `<td>${item.waktu_recovery}</td>`;
column += `<td>${item.regu}</td>`;
column += `<td>${item.media}</td>`;
column += `<td>${item.nama_material}</td>`;
column += `<td>${item.satuan_material}</td>`;
column += `<td>${item.volume_material}</td>`;
column += '</tr>';
const item = rawData.value[index]
column += '<tr>'
column += `<td>${index + 1}</td>`
column += `<td>${item.no_laporan}</td>`
column += `<td>${item.nama_pelapor}</td>`
column += `<td>${item.keterangan_pelapor}</td>`
column += `<td>${item.penyebab}</td>`
column += `<td>${item.waktu_lapor}</td>`
column += `<td>${item.waktu_recovery}</td>`
column += `<td>${item.regu}</td>`
column += `<td>${item.media}</td>`
column += `<td>${item.nama_material}</td>`
column += `<td>${item.satuan_material}</td>`
column += `<td>${item.volume_material}</td>`
column += '</tr>'
}
tbody += column;
tbody += column
var body = `
<table border=0 style="border:none">
@ -60,15 +63,15 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td>Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Area</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Area'.toUpperCase()}</td>
<td> ${reportMeta.up3 ? reportMeta.up3.name.toUpperCase() : 'Semua Area'.toUpperCase()}</td>
</tr>
<tr>
<td> Posko</td>
@ -106,32 +109,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -161,32 +167,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.media}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -196,15 +202,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -245,29 +255,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -49,6 +49,10 @@ const formatMetaData = (reportMeta: any) => {
const exportToPDF = (reportMeta: any, data: any) => {
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({
orientation: 'landscape'
})
@ -178,7 +182,7 @@ const exportToPDF = (reportMeta: any, data: any) => {
autoTable(doc, {
head: [
[`${meta.dayTo}, ${meta.dateToFormat}`],
[`${day}, ${date}-${month}-${year}`],
[
{
content: '(.........................................)',
@ -213,25 +217,28 @@ const exportToXLSX = (reportMeta: any, e: any) => {
worksheet,
2,
1,
`DISTRIBUSI/WILAYAH : ${reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase()
`DISTRIBUSI/WILAYAH : ${
reportMeta.value.uid
? reportMeta.value.uid.name.toUpperCase()
: 'Semua Distribusi/Wilayah'.toUpperCase()
}`
)
setHeaderStyle(
worksheet,
3,
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(
worksheet,
4,
1,
`POSKO : ${reportMeta.value.posko
? reportMeta.value.posko.name.toUpperCase()
: 'Semua Posko'.toUpperCase()
`POSKO : ${
reportMeta.value.posko
? reportMeta.value.posko.name.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 day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -30,24 +33,24 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var column = '';
`
var tbody = ``
var column = ''
for (let i = 0; i < rawData.value.length; i++) {
column += '<tr>';
const item = rawData.value[i];
column += `<td>${i + 1}</td>`;
column += `<td>${item.kode}</td>`;
column += `<td>${item.nama_material}</td>`;
column += `<td>${item.satuan}</td>`;
column += `<td>${item.sumber_material}</td>`;
column += '<tr>'
const item = rawData.value[i]
column += `<td>${i + 1}</td>`
column += `<td>${item.kode}</td>`
column += `<td>${item.nama_material}</td>`
column += `<td>${item.satuan}</td>`
column += `<td>${item.sumber_material}</td>`
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 += '</tr>';
column += `<td>${item.total}</td>`
column += '</tr>'
}
tbody += column;
tbody += column
var body = `
<table border=0 style="border:none">
<tr>
@ -56,15 +59,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Area</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -97,32 +104,35 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -152,32 +162,32 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time}</td>`;
cr += `<td>${item.durasi_recovery_time}</td>`;
cr += `<td>${item.status_akhir}</td>`;
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.nama_posko}</td>`;
cr += `<td>${item.media}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time}</td>`
cr += `<td>${item.durasi_recovery_time}</td>`
cr += `<td>${item.status_akhir}</td>`
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.nama_posko}</td>`
cr += `<td>${item.media}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -187,15 +197,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Posko</td>
@ -236,29 +250,28 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
var postHtml = `<br>
<footer>
<p style="text-align: right; font-size: 10px;">${periode.dayTo}, ${periode.dateToFormat}</p>
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -112,29 +120,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -164,38 +175,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -205,15 +216,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -262,26 +277,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -106,29 +114,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -158,30 +169,30 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td> item.no_laporan}</td>`;
cr += `<td>${item.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td> item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -191,15 +202,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -241,26 +256,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -103,29 +111,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -155,38 +166,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -196,15 +207,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -253,26 +268,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -136,29 +144,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -188,38 +199,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -229,15 +240,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -286,26 +301,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,12 +1,16 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -36,25 +40,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < rawData.length; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -64,15 +68,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -113,29 +121,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -165,38 +176,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -206,15 +217,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -126,29 +134,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -178,31 +189,31 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</td>`;
cr += `<td>${item.nama_pelanggan}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : '-'}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : '-'}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -212,15 +223,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -263,26 +278,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -114,29 +122,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -166,38 +177,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -207,15 +218,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -264,26 +279,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -109,29 +117,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -161,38 +172,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -202,15 +213,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -259,26 +274,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -159,29 +167,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -211,30 +222,30 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.nama_uid}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.id_pelanggan}</td>`;
cr += `<td>${item.nama_pelanggan}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += `<td>${item.penyebab}</td>`;
cr += `<td>${item.kode_gangguan}</td>`;
cr += `<td>${item.jenis_gangguan}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += '</tr>';
});
tbody += cr;
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.nama_uid}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.id_pelanggan}</td>`
cr += `<td>${item.nama_pelanggan}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += `<td>${item.penyebab}</td>`
cr += `<td>${item.kode_gangguan}</td>`
cr += `<td>${item.jenis_gangguan}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -244,15 +255,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -295,26 +310,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -123,29 +131,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -175,38 +186,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -216,15 +227,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -273,26 +288,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -114,29 +122,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -166,38 +177,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -207,15 +218,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -264,26 +279,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -116,29 +124,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -168,38 +179,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -209,15 +220,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -266,26 +281,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }

View File

@ -1,11 +1,15 @@
import { formatWaktu } from "@/components/Form/FiltersType/reference";
import { getMonthName, getMonthNameShort } from "@/utils/texts";
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { getMonthName, getMonthNameShort } from '@/utils/texts'
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
const company = "PT. PLN (Persero)";
const company = 'PT. PLN (Persero)'
const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -35,25 +39,25 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
`
var tbody = ``
for (let index = 0; index < 5; index++) {
const element = rawData[index];
var column = `<tr>`;
let styleTotal = '';
const element = rawData[index]
var column = `<tr>`
let styleTotal = ''
for (let i = 0; i < element.length; i++) {
const content = element[i];
const content = element[i]
const colSpan = content?.colSpan !== undefined ? `colspan="${content.colSpan}"` : ''
if (content && (content.content === 'TOTAL' || content.content === 'GRAND TOTAL')) {
styleTotal = 'style="background-color: #c0c0c0; font-weight: bold;"'
}
i === 0 ?
column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`
: column += `<td ${styleTotal}>${content}</td>`;
i === 0
? (column += `<td ${styleTotal} ${colSpan} align="left">${content.content}</td>`)
: (column += `<td ${styleTotal}>${content}</td>`)
}
column += `</tr>`;
tbody += column;
column += `</tr>`
tbody += column
}
var body = `
<table border=0 style="border:none">
@ -63,15 +67,19 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -146,29 +154,32 @@ const exportToWord = (reportMeta: any, rawData: any, filename: any, periode: any
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, periode: any) => {
const day = new Date().toLocaleString('id-ID', { weekday: 'long' })
const date = new Date().getDate()
const month = new Date().toLocaleString('id-ID', { month: 'long' })
const year = new Date().getFullYear()
var preHtml = `<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>${filename}</title>
<style type="text/css" media="print">
@page Section1 {
@ -198,38 +209,38 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
</style>
</head><body>
<div class="Section1">
`;
var tbody = ``;
var cr = ``;
`
var tbody = ``
var cr = ``
rawData.map((item: any, i: any) => {
cr += '<tr>';
cr += `<td>${i + 1}</td>`;
cr += `<td>${item.nama_ulp}</td>`;
cr += `<td>${item.no_laporan}</td>`;
cr += `<td>${item.waktu_lapor}</td>`;
cr += `<td>${item.waktu_response}</td>`;
cr += `<td>${item.waktu_recovery}</td>`;
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`;
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.idpel_nometer}</td>`;
cr += `<td>${item.nama_pelapor}</td>`;
cr += `<td>${item.alamat_pelapor}</td>`;
cr += `<td>${item.no_telp_pelapor}</td>`;
cr += `<td>${item.keterangan_pelapor}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += `<td>${item.status_akhir}</td>`;
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<td></td>';
cr += '<tr>'
cr += `<td>${i + 1}</td>`
cr += `<td>${item.nama_ulp}</td>`
cr += `<td>${item.no_laporan}</td>`
cr += `<td>${item.waktu_lapor}</td>`
cr += `<td>${item.waktu_response}</td>`
cr += `<td>${item.waktu_recovery}</td>`
cr += `<td>${item.durasi_response_time ? formatWaktu(item.durasi_response_time) : ''}</td>`
cr += `<td>${item.durasi_recovery_time ? formatWaktu(item.durasi_recovery_time) : ''}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.idpel_nometer}</td>`
cr += `<td>${item.nama_pelapor}</td>`
cr += `<td>${item.alamat_pelapor}</td>`
cr += `<td>${item.no_telp_pelapor}</td>`
cr += `<td>${item.keterangan_pelapor}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += `<td>${item.status_akhir}</td>`
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '<td></td>'
cr += '</tr>';
});
tbody += cr;
cr += '</tr>'
})
tbody += cr
var body = `
<table border=0 style="border:none">
@ -239,15 +250,19 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<tr>
<td> Unit Induk Distribusi/Wilayah </td>
<td>:</td>
<td> ${reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()}</td>
<td> ${
reportMeta.uid
? reportMeta.uid.name.toUpperCase()
: 'Semua Unit Induk Distribusi/Wilayah'.toUpperCase()
}</td>
<tr>
<td> Unit Pelaksanaan Pelayanan Pelanggan</td>
<td>:</td>
<td> ${reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()}</td>
<td> ${
reportMeta.up3
? reportMeta.up3.name.toUpperCase()
: 'Semua Unit Pelaksanaan Pelayanan Pelanggan'.toUpperCase()
}</td>
</tr>
<tr>
<td> Unit Layanan Pelanggan</td>
@ -296,26 +311,25 @@ const exportDetailToWord = (reportMeta: any, rawData: any, filename: any, period
<p style="text-align: right; font-size: 10px;">${day}, ${date}-${month}-${year}</p>
<br>
<p style="text-align: right; font-size: 10px;">(.........................................)</p>
</footer></div></body></html>`;
</footer></div></body></html>`
var html = preHtml + body + postHtml;
var html = preHtml + body + postHtml
var url =
"data:application/vnd.ms-word;charset=utf-8," + encodeURIComponent(html);
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html)
filename = filename ? filename + ".doc" : "document.doc";
filename = filename ? filename + '.doc' : 'document.doc'
var downloadLink = document.createElement("a");
var downloadLink = document.createElement('a')
document.body.appendChild(downloadLink);
document.body.appendChild(downloadLink)
downloadLink.href = url;
downloadLink.href = url
downloadLink.download = filename;
downloadLink.download = filename
downloadLink.click();
downloadLink.click()
document.body.removeChild(downloadLink);
document.body.removeChild(downloadLink)
}
export { exportToWord, exportDetailToWord }
export { exportToWord, exportDetailToWord }