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
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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }

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 }