rekap monalisa gangguan , kpi , material
This commit is contained in:
@ -4,137 +4,43 @@
|
||||
</Filters>
|
||||
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onSelectionChanged"
|
||||
:column-width="100"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onSelectionChanged"
|
||||
:column-width="100" @exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget">
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :page-size="20" :enabled="true" />
|
||||
<DxPager
|
||||
:visible="true"
|
||||
:allowed-page-sizes="[20, 50, 100]"
|
||||
display-mode="full"
|
||||
:show-page-size-selector="true"
|
||||
:show-info="true"
|
||||
:show-navigation-buttons="true"
|
||||
/>
|
||||
<DxPager :visible="true" :allowed-page-sizes="[20, 50, 100]" display-mode="full" :show-page-size-selector="true"
|
||||
:show-info="true" :show-navigation-buttons="true" />
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="50"
|
||||
alignment="center"
|
||||
:calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1"
|
||||
data-type="number"
|
||||
caption="No"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||
:calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No"
|
||||
cell-template="formatNumber" />
|
||||
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="no_laporan"
|
||||
caption="Nomor Gangguan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="nama_pelapor"
|
||||
caption="Nama Pelanggan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="300"
|
||||
alignment="center"
|
||||
data-field="keterangan_pelapor"
|
||||
caption="Isi Laporan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="300"
|
||||
alignment="center"
|
||||
data-field="penyebab"
|
||||
caption="Penyebab Gangguan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="waktu_lapor"
|
||||
caption="Tgl Padam"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="waktu_recovery"
|
||||
caption="Tgl Nyala"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="regu"
|
||||
caption="Regu"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="no_laporan"
|
||||
caption="Nomor Gangguan" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="nama_pelapor"
|
||||
caption="Nama Pelanggan" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="300" alignment="center" data-field="keterangan_pelapor"
|
||||
caption="Isi Laporan" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="300" alignment="center" data-field="penyebab"
|
||||
caption="Penyebab Gangguan" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="waktu_lapor"
|
||||
caption="Tgl Padam" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="waktu_recovery"
|
||||
caption="Tgl Nyala" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="regu" caption="Regu"
|
||||
cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" alignment="center" caption="Material Yang Dipakai">
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="media"
|
||||
caption="Sumber"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="nama_material"
|
||||
caption="Nama"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="satuan_material"
|
||||
caption="Satuan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="volume_material"
|
||||
caption="Vol"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="media" caption="Sumber"
|
||||
cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="nama_material"
|
||||
caption="Nama" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="satuan_material"
|
||||
caption="Satuan" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="volume_material"
|
||||
caption="Vol" cell-template="formatText" />
|
||||
</DxColumn>
|
||||
|
||||
<template #formatText="{ data }">
|
||||
@ -146,12 +52,12 @@
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
</DxDataGrid>
|
||||
@ -238,7 +144,9 @@ import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||
import DetailDialog from '@/components/Dialogs/DetailDialog.vue'
|
||||
import InputText from '@/components/InputText.vue'
|
||||
import { exportToPDF, exportToXLSX } from '@/report/Material/Daftar/Material_DGMYG'
|
||||
import { exportToPDF, exportToXLSX,
|
||||
exportToDOCX
|
||||
} from '@/report/Material/Daftar/Material_DGMYG'
|
||||
|
||||
const position = { of: '#data' }
|
||||
const showIndicator = ref(true)
|
||||
@ -334,6 +242,8 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta, data)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,100 +3,34 @@
|
||||
<Type14 @update:filters="(value) => (filters = value)" />
|
||||
</Filters>
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onSelectionChanged"
|
||||
:column-width="100"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onSelectionChanged"
|
||||
:column-width="100" @exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget">
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :page-size="20" :enabled="true" />
|
||||
<DxPager
|
||||
:visible="true"
|
||||
:allowed-page-sizes="[20, 50, 100]"
|
||||
display-mode="full"
|
||||
:show-page-size-selector="true"
|
||||
:show-info="true"
|
||||
:show-navigation-buttons="true"
|
||||
/>
|
||||
<DxPager :visible="true" :allowed-page-sizes="[20, 50, 100]" display-mode="full" :show-page-size-selector="true"
|
||||
:show-info="true" :show-navigation-buttons="true" />
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="50"
|
||||
alignment="center"
|
||||
:calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1"
|
||||
data-type="number"
|
||||
caption="No"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||
:calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No"
|
||||
cell-template="formatNumber" />
|
||||
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="kode"
|
||||
caption="Kode Material"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="nama_material"
|
||||
caption="Nama Material"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="satuan"
|
||||
caption="Satuan"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="sumber_material"
|
||||
caption="Sumber Material"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="kode"
|
||||
caption="Kode Material" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="nama_material"
|
||||
caption="Nama Material" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="120" alignment="center" data-field="satuan" caption="Satuan"
|
||||
cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="sumber_material"
|
||||
caption="Sumber Material" cell-template="formatText" />
|
||||
<DxColumn css-class="custom-table-column" alignment="center" caption="Tanggal">
|
||||
<DxColumn
|
||||
v-for="i in 31"
|
||||
:width="150"
|
||||
alignment="center"
|
||||
:data-field="`tgl${i}`"
|
||||
data-type="number"
|
||||
:caption="i"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn v-for="i in 31" :width="150" alignment="center" :data-field="`tgl${i}`" data-type="number"
|
||||
:caption="i" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
<DxColumn
|
||||
css-class="custom-table-column"
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="total"
|
||||
caption="Jumlah"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="total" caption="Jumlah"
|
||||
cell-template="formatNumber" />
|
||||
|
||||
<template #formatText="{ data }">
|
||||
<p class="text-left">
|
||||
@ -107,22 +41,18 @@
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
</DxDataGrid>
|
||||
</div>
|
||||
|
||||
<DetailDialog
|
||||
:open="dialogDetail"
|
||||
title="Detail Rekapitulasi Pemakaian Material"
|
||||
@on-close="closeDialog"
|
||||
>
|
||||
<DetailDialog :open="dialogDetail" title="Detail Rekapitulasi Pemakaian Material" @on-close="closeDialog">
|
||||
<div class="w-full p-4 space-y-2 bg-white rounded-xl">
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Kode Material:</h3>
|
||||
@ -180,7 +110,7 @@ import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||
import DetailDialog from '@/components/Dialogs/DetailDialog.vue'
|
||||
import InputText from '@/components/InputText.vue'
|
||||
import { exportToPDF, exportToXLSX } from '@/report/Material/Rekapitulasi/Material_RPM'
|
||||
import { exportToPDF, exportToXLSX, exportToDOCX } from '@/report/Material/Rekapitulasi/Material_RPM'
|
||||
|
||||
const position = { of: '#data' }
|
||||
const showIndicator = ref(true)
|
||||
@ -275,6 +205,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta, data)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -784,7 +784,9 @@ import {
|
||||
exportToPDF,
|
||||
exportToXLSX,
|
||||
exportDetailToPDF,
|
||||
exportDetailToXLSX
|
||||
exportDetailToXLSX,
|
||||
exportToDOCX,
|
||||
exportDetailToDOCX
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_DispatchingTimeGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -838,6 +840,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
@ -847,6 +850,7 @@ const onExportingDetail = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportDetailToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportDetailToDOCX(reportMeta.value, dataSub.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -292,7 +292,7 @@ import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||
import { apolloClient } from '@/utils/api/api.graphql'
|
||||
import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import { exportToPDF, exportToXLSX } from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_ENSGangguan'
|
||||
import { exportToPDF, exportToXLSX,exportToDOCX } from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_ENSGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
provideApolloClient(client)
|
||||
@ -391,6 +391,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -538,7 +538,9 @@ import {
|
||||
exportToPDF,
|
||||
exportToXLSX,
|
||||
exportDetailToPDF,
|
||||
exportDetailToXLSX
|
||||
exportDetailToXLSX,
|
||||
exportToDOCX,
|
||||
exportDetailToDOCX
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_GangguanBelumSelesai'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -626,6 +628,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
@ -635,6 +638,7 @@ const onExportingDetail = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportDetailToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportDetailToDOCX(reportMeta.value, dataSub.value)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -161,7 +161,8 @@ import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import { getMonthName } from '@/utils/texts'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_GangguanPerJenisGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -241,6 +242,8 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -389,7 +389,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahDDRPTRCTGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -474,6 +476,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -295,7 +295,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_JumlahKaliGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -333,6 +335,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const lastMonth = ref(new Date().getMonth() == 1 ? 12 : new Date().getMonth() - 1)
|
||||
|
@ -294,7 +294,7 @@ import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||
import { apolloClient } from '@/utils/api/api.graphql'
|
||||
import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import { exportToPDF, exportToXLSX } from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_LaporUlang'
|
||||
import { exportToPDF, exportToXLSX,exportToDOCX} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_LaporUlang'
|
||||
|
||||
const client = apolloClient()
|
||||
provideApolloClient(client)
|
||||
|
@ -302,7 +302,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_RecoveryTimeGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -402,6 +404,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -1,266 +1,101 @@
|
||||
<template>
|
||||
<Filters
|
||||
@run-report="() => exportToPDF(reportMeta, data, true)"
|
||||
@reset-form="data = []"
|
||||
:report-button="true"
|
||||
@run-search="() => filterData(filters)"
|
||||
class="mb-4"
|
||||
>
|
||||
<Filters @run-report="() => exportToPDF(reportMeta, data, true)" @reset-form="data = []" :report-button="true"
|
||||
@run-search="() => filterData(filters)" class="mb-4">
|
||||
<Type2 @update:filters="(value) => (filters = value)" />
|
||||
</Filters>
|
||||
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onDataSelectionChanged"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
:word-wrap-enabled="true"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onDataSelectionChanged"
|
||||
@exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||
<DxGrouping expand-mode="rowClick" :auto-expand-all="false" />
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :enabled="false" />
|
||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumnFixing :enabled="true" />
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_regional"
|
||||
caption="Regional"
|
||||
css-class="custom-table-column"
|
||||
:group-index="0"
|
||||
name="namaRegional"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_uid"
|
||||
caption="UIW"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_up3"
|
||||
caption="UP3"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_ulp"
|
||||
caption="Nama Unit"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
caption="Jumlah RPT Kali Gangguan"
|
||||
css-class="custom-table-column"
|
||||
>
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_regional" caption="Regional"
|
||||
css-class="custom-table-column" :group-index="0" name="namaRegional" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_uid" caption="UIW"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_up3" caption="UP3"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_ulp" caption="Nama Unit"
|
||||
css-class="custom-table-column" cell-template="formatText" />
|
||||
<DxColumn alignment="center" caption="Jumlah RPT Kali Gangguan" css-class="custom-table-column">
|
||||
<DxColumn alignment="center" caption="MoM" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="mom_bulan_kemarin"
|
||||
data-type="number"
|
||||
:caption="`${getMonthName(lastMonth)} ${lastYearMoM}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="mom_bulan_ini"
|
||||
data-type="number"
|
||||
:caption="`${getMonthName(currentMonth)} ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="70"
|
||||
alignment="center"
|
||||
data-field="persen_mom"
|
||||
data-type="number"
|
||||
caption="%"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="mom_bulan_kemarin" data-type="number"
|
||||
:caption="`${getMonthName(lastMonth)} ${lastYearMoM}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="mom_bulan_ini" data-type="number"
|
||||
:caption="`${getMonthName(currentMonth)} ${currentYear}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="70" alignment="center" data-field="persen_mom" data-type="number" caption="%"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
<DxColumn alignment="center" caption="YoY" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="yoy_tahun_kemarin"
|
||||
data-type="number"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${lastYear}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="yoy_tahun_ini"
|
||||
data-type="number"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="70"
|
||||
alignment="center"
|
||||
data-field="persen_yoy"
|
||||
data-type="number"
|
||||
caption="%"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="yoy_tahun_kemarin" data-type="number"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${lastYear}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="yoy_tahun_ini" data-type="number"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${currentYear}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="70" alignment="center" data-field="persen_yoy" data-type="number" caption="%"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
</DxColumn>
|
||||
|
||||
<DxSummary>
|
||||
<DxTotalItem
|
||||
summary-type="sum"
|
||||
display-format="Total"
|
||||
show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="mom_bulan_kemarin"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="mom_bulan_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_mom"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="yoy_tahun_kemarin"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="yoy_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_yoy"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)"
|
||||
/>
|
||||
<DxTotalItem summary-type="sum" display-format="Total" show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left" />
|
||||
<DxTotalItem column="mom_bulan_kemarin" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="mom_bulan_ini" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="persen_mom" summary-type="avg" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)" />
|
||||
<DxTotalItem column="yoy_tahun_kemarin" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="yoy_tahun_ini" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="persen_yoy" summary-type="avg" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)" />
|
||||
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
show-in-column="mom_bulan_kemarin"
|
||||
column="mom_bulan_kemarin"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
show-in-column="mom_bulan_ini"
|
||||
column="mom_bulan_ini"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
show-in-column="persen_mom"
|
||||
column="persen_mom"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
show-in-column="yoy_tahun_kemarin"
|
||||
column="yoy_tahun_kemarin"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
show-in-column="yoy_tahun_ini"
|
||||
column="yoy_tahun_ini"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
summary-type="sum"
|
||||
show-in-column="persen_yoy"
|
||||
column="persen_yoy"
|
||||
css-class="!text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)"
|
||||
/>
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum" display-format="{0}"
|
||||
show-in-column="mom_bulan_kemarin" column="mom_bulan_kemarin" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum"
|
||||
show-in-column="mom_bulan_ini" column="mom_bulan_ini" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum"
|
||||
show-in-column="persen_mom" column="persen_mom" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)" />
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum"
|
||||
show-in-column="yoy_tahun_kemarin" column="yoy_tahun_kemarin" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum"
|
||||
show-in-column="yoy_tahun_ini" column="yoy_tahun_ini" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem :show-in-group-footer="false" :align-by-column="true" summary-type="sum"
|
||||
show-in-column="persen_yoy" column="persen_yoy" css-class="!text-right"
|
||||
:customize-text="(e: any) => formatPercentage(e.value)" />
|
||||
</DxSummary>
|
||||
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right cursor-pointer">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
|
||||
@ -302,7 +137,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Gangguan/Rekap/MonalisaGR_ResponseTimeGangguan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -402,6 +239,8 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -660,7 +660,9 @@ import {
|
||||
exportToPDF,
|
||||
exportToXLSX,
|
||||
exportDetailToPDF,
|
||||
exportDetailToXLSX
|
||||
exportDetailToXLSX,
|
||||
exportToDOCX,
|
||||
exportDetailToDOCX
|
||||
} from '@/report/Monalisa/Laporan/Bulanan/MonalisaLB_AgingComplaint'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -699,6 +701,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
@ -708,6 +711,7 @@ const onExportingDetail = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportDetailToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportDetailToDOCX(reportMeta.value, dataSub.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,244 +1,89 @@
|
||||
<template>
|
||||
<Filters
|
||||
@run-report="() => exportToPDF(reportMeta, data, true)"
|
||||
:report-button="true"
|
||||
@reset-form="data = []"
|
||||
@run-search="() => filterData(filters)"
|
||||
class="mb-4"
|
||||
>
|
||||
<Filters @run-report="() => exportToPDF(reportMeta, data, true)" :report-button="true" @reset-form="data = []"
|
||||
@run-search="() => filterData(filters)" class="mb-4">
|
||||
<Type2 @update:filters="(value) => (filters = value)" />
|
||||
</Filters>
|
||||
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onDataSelectionChanged"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
:word-wrap-enabled="true"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onDataSelectionChanged"
|
||||
@exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||
<DxGrouping expand-mode="rowClick" :auto-expand-all="false" />
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :enabled="false" />
|
||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumnFixing :enabled="true" />
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:caption="`Periode: ${getMonthName(currentMonth)}, ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_regional"
|
||||
caption="Regional"
|
||||
css-class="custom-table-column"
|
||||
:group-index="0"
|
||||
name="namaRegional"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_uid"
|
||||
caption="UID"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_up3"
|
||||
caption="UP3"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_ulp"
|
||||
caption="Nama Unit"
|
||||
css-class="custom-table-column"
|
||||
name="namaULP"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn alignment="center" :caption="`Periode: ${getMonthName(currentMonth)}, ${currentYear}`"
|
||||
css-class="custom-table-column">
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_regional" caption="Regional"
|
||||
css-class="custom-table-column" :group-index="0" name="namaRegional" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_uid" caption="UID"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_up3" caption="UP3"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_ulp" caption="Nama Unit"
|
||||
css-class="custom-table-column" name="namaULP" cell-template="formatText" />
|
||||
</DxColumn>
|
||||
<DxColumn alignment="center" caption="ENS (Distribusi)" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="terencana"
|
||||
data-type="number"
|
||||
caption="Terencana"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="tidak_terencana"
|
||||
data-type="number"
|
||||
caption="Tidak Terencana"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="bencana_alam"
|
||||
data-type="number"
|
||||
caption="Bencana Alam"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="terencana" data-type="number" caption="Terencana"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="tidak_terencana" data-type="number"
|
||||
caption="Tidak Terencana" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="bencana_alam" data-type="number" caption="Bencana Alam"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
<DxColumn
|
||||
:width="170"
|
||||
alignment="center"
|
||||
data-field="total"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:min-width="170"
|
||||
alignment="center"
|
||||
data-field="kpi_ens"
|
||||
data-type="number"
|
||||
caption="KPI ENS"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="170" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :min-width="170" alignment="center" data-field="kpi_ens" data-type="number" caption="KPI ENS"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
|
||||
<DxSummary>
|
||||
<DxTotalItem
|
||||
summary-type="sum"
|
||||
display-format="Total"
|
||||
show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="terencana"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="tidak_terencana"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="bencana_alam"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="kpi_ens"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem summary-type="sum" display-format="Total" show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left" />
|
||||
<DxTotalItem column="terencana" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="tidak_terencana" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="bencana_alam" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="kpi_ens" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="terencana"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="terencana"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="tidak_terencana"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="tidak_terencana"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="bencana_alam"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="bencana_alam"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="kpi_ens"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="kpi_ens"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem css-class="!text-right" show-in-column="terencana" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="terencana" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="tidak_terencana" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="tidak_terencana" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="bencana_alam" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="bencana_alam" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="kpi_ens" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="kpi_ens" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
</DxSummary>
|
||||
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right cursor-pointer">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
|
||||
@ -279,7 +124,8 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
} from '@/report/Monalisa/Laporan/Bulanan/MonalisaLB_EnergyNotSales'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -316,6 +162,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,250 +1,93 @@
|
||||
<template>
|
||||
<Filters
|
||||
@run-report="() => exportToPDF(reportMeta, data, true)"
|
||||
:report-button="true"
|
||||
@reset-form="data = []"
|
||||
@run-search="() => filterData(filters)"
|
||||
class="mb-4"
|
||||
>
|
||||
<Filters @run-report="() => exportToPDF(reportMeta, data, true)" :report-button="true" @reset-form="data = []"
|
||||
@run-search="() => filterData(filters)" class="mb-4">
|
||||
<Type2 @update:filters="(value) => (filters = value)" />
|
||||
</Filters>
|
||||
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onSelectionChanged"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
:word-wrap-enabled="true"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onSelectionChanged"
|
||||
@exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||
<DxGrouping expand-mode="rowClick" :auto-expand-all="false" />
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :enabled="false" />
|
||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumnFixing :enabled="true" />
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_regional"
|
||||
caption="Regional"
|
||||
css-class="custom-table-column"
|
||||
:group-index="0"
|
||||
name="namaRegional"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_uid"
|
||||
caption="UID"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_up3"
|
||||
caption="UP3"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_ulp"
|
||||
caption="Nama Unit"
|
||||
css-class="custom-table-column"
|
||||
name="namaULP"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
caption="Kepatuhan dan Akurasi APKT"
|
||||
css-class="custom-table-column"
|
||||
>
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_regional" caption="Regional"
|
||||
css-class="custom-table-column" :group-index="0" name="namaRegional" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_uid" caption="UID"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_up3" caption="UP3"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_ulp" caption="Nama Unit"
|
||||
css-class="custom-table-column" name="namaULP" cell-template="formatText" />
|
||||
<DxColumn alignment="center" caption="Kepatuhan dan Akurasi APKT" css-class="custom-table-column">
|
||||
<DxColumn alignment="center" caption="Gangguan Berulang" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="gangguan_berulang"
|
||||
data-type="number"
|
||||
:caption="`${getMonthNameShort(currentMonth)}, ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="gangguan_total"
|
||||
data-type="number"
|
||||
caption="Total Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="gangguan_berulang" data-type="number"
|
||||
:caption="`${getMonthNameShort(currentMonth)}, ${currentYear}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="gangguan_total" data-type="number"
|
||||
caption="Total Gangguan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
<DxColumn alignment="center" caption="Keluhan Berulang" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="keluhan_berulang"
|
||||
data-type="number"
|
||||
:caption="`${getMonthNameShort(currentMonth)}, ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="keluhan_total"
|
||||
data-type="number"
|
||||
caption="Total Keluhan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="keluhan_berulang" data-type="number"
|
||||
:caption="`${getMonthNameShort(currentMonth)}, ${currentYear}`" css-class="custom-table-column"
|
||||
cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="keluhan_total" data-type="number"
|
||||
caption="Total Keluhan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
</DxColumn>
|
||||
<DxColumn
|
||||
:min-width="150"
|
||||
alignment="center"
|
||||
data-field="komplain_pelanggan"
|
||||
data-type="number"
|
||||
caption="Komplain Pelanggan %"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatPercentage"
|
||||
/>
|
||||
<DxColumn :min-width="150" alignment="center" data-field="komplain_pelanggan" data-type="number"
|
||||
caption="Komplain Pelanggan %" css-class="custom-table-column" cell-template="formatPercentage" />
|
||||
|
||||
<DxSummary>
|
||||
<DxTotalItem
|
||||
summary-type="sum"
|
||||
display-format="Total"
|
||||
show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="gangguan_berulang"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="gangguan_total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="keluhan_berulang"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="keluhan_total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="komplain_pelanggan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxTotalItem summary-type="sum" display-format="Total" show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left" />
|
||||
<DxTotalItem column="gangguan_berulang" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="gangguan_total" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="keluhan_berulang" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="keluhan_total" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="komplain_pelanggan" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="gangguan_berulang"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="gangguan_berulang"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="gangguan_total"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="gangguan_total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="keluhan_berulang"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="keluhan_berulang"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="keluhan_total"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="keluhan_total"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="komplain_pelanggan"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="komplain_pelanggan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxGroupItem css-class="!text-right" show-in-column="gangguan_berulang" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="gangguan_berulang" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="gangguan_total" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="gangguan_total" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="keluhan_berulang" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="keluhan_berulang" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="keluhan_total" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="keluhan_total" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="komplain_pelanggan" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="komplain_pelanggan" summary-type="sum" display-format="{0}" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
</DxSummary>
|
||||
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right cursor-pointer">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
|
||||
@ -292,7 +135,8 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
} from '@/report/Monalisa/Laporan/Bulanan/MonalisaLB_KADDalamPelaporan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -331,6 +175,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const dataGridRef = ref<DxDataGrid | null>(null)
|
||||
|
@ -1190,7 +1190,10 @@ import {
|
||||
exportToPDF,
|
||||
exportToXLSX,
|
||||
exportDetailToPDF,
|
||||
exportDetailToXLSX
|
||||
exportDetailToXLSX,
|
||||
exportToDOCX,
|
||||
exportDetailToDOCX,
|
||||
|
||||
} from '@/report/Monalisa/Laporan/Bulanan/MonalisaLB_PenurunanJumlahKomplain'
|
||||
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
||||
|
||||
@ -1247,6 +1250,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1256,6 +1260,7 @@ const onExportingDetail = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportDetailToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -360,7 +360,8 @@ import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
} from '@/report/Monalisa/Laporan/Kumulatif/MonalisaLK_AgingComplaint'
|
||||
|
||||
const position = { of: '#data' }
|
||||
@ -395,6 +396,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -279,7 +279,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Laporan/Kumulatif/MonalisaLK_EnergyNotSales'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -316,6 +318,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, e)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
@ -291,7 +291,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Laporan/Kumulatif/MonalisaLK_KDADPelaporan'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -330,7 +332,10 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
const getDetail = async () => {
|
||||
const dateValue = filters.value.periode.split(' s/d ')
|
||||
|
@ -1,634 +1,207 @@
|
||||
<template>
|
||||
<Filters
|
||||
@run-report="() => exportToPDF(reportMeta, data, true)"
|
||||
@reset-form="data = []"
|
||||
@run-search="() => filterData(filters)"
|
||||
:report-button="true"
|
||||
class="mb-4"
|
||||
>
|
||||
<Filters @run-report="() => exportToPDF(reportMeta, data, true)" @reset-form="data = []"
|
||||
@run-search="() => filterData(filters)" :report-button="true" class="mb-4">
|
||||
<Type2 @update:filters="(value) => (filters = value)" />
|
||||
</Filters>
|
||||
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
:show-column-lines="true"
|
||||
:show-row-lines="false"
|
||||
:show-borders="true"
|
||||
:row-alternation-enabled="true"
|
||||
:hover-state-enabled="true"
|
||||
@selection-changed="onDataSelectionChanged"
|
||||
:column-width="100"
|
||||
@exporting="onExporting"
|
||||
:allow-column-resizing="true"
|
||||
column-resizing-mode="widget"
|
||||
:word-wrap-enabled="true"
|
||||
>
|
||||
<DxDataGrid ref="dataGridRef" :allow-column-reordering="true" class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true"
|
||||
:row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onDataSelectionChanged"
|
||||
:column-width="100" @exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget"
|
||||
:word-wrap-enabled="true">
|
||||
<DxGrouping expand-mode="rowClick" :auto-expand-all="false" />
|
||||
<DxSelection mode="single" />
|
||||
<DxPaging :enabled="false" />
|
||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||
|
||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||
<DxExport
|
||||
:enabled="true"
|
||||
:formats="['pdf', 'xlsx', 'document']"
|
||||
:allow-export-selected-data="false"
|
||||
/>
|
||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||
<DxColumnFixing :enabled="true" />
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_regional"
|
||||
caption="Regional"
|
||||
css-class="custom-table-column"
|
||||
:group-index="0"
|
||||
name="namaRegional"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_uid"
|
||||
caption="UID"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="id_up3"
|
||||
caption="UP3"
|
||||
css-class="custom-table-column"
|
||||
:group-index="1"
|
||||
name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3"
|
||||
/>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:min-width="170"
|
||||
data-type="text"
|
||||
data-field="nama_ulp"
|
||||
caption="Nama Unit"
|
||||
css-class="custom-table-column"
|
||||
name="namaULP"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_regional" caption="Regional"
|
||||
css-class="custom-table-column" :group-index="0" name="namaRegional" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_uid" caption="UID"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_uid" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="id_up3" caption="UP3"
|
||||
css-class="custom-table-column" :group-index="1" name="namaUID"
|
||||
:calculate-group-value="(rowData: any) => rowData.nama_up3" />
|
||||
<DxColumn alignment="center" :min-width="170" data-type="text" data-field="nama_ulp" caption="Nama Unit"
|
||||
css-class="custom-table-column" name="namaULP" cell-template="formatText" />
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${lastYear}`"
|
||||
css-class="custom-table-column"
|
||||
>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_keluhan_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
name="keluhanBulanLalu"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_gangguan_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
/>
|
||||
<DxColumn alignment="center" :caption="`s.d ${getMonthName(currentMonth)} ${lastYear}`"
|
||||
css-class="custom-table-column">
|
||||
<DxColumn :width="120" alignment="center" data-field="total_keluhan_tahun_sebelumnya" data-type="number"
|
||||
caption="Keluhan" css-class="custom-table-column" name="keluhanBulanLalu" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_gangguan_tahun_sebelumnya" data-type="number"
|
||||
caption="Gangguan" css-class="custom-table-column" />
|
||||
<DxColumn alignment="center" caption="Informasi" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_keluhan_informasi_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_gangguan_informasi_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_informasi_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
/>
|
||||
<DxColumn :width="120" alignment="center" data-field="total_keluhan_informasi_tahun_sebelumnya"
|
||||
data-type="number" caption="Keluhan" css-class="custom-table-column" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_gangguan_informasi_tahun_sebelumnya"
|
||||
data-type="number" caption="Gangguan" css-class="custom-table-column" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_informasi_tahun_sebelumnya" data-type="number"
|
||||
caption="Total" css-class="custom-table-column" />
|
||||
</DxColumn>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
caption="Total Komplain"
|
||||
css-class="custom-table-column"
|
||||
data-field="total_tahun_sebelumnya"
|
||||
data-type="number"
|
||||
/>
|
||||
<DxColumn alignment="center" caption="Total Komplain" css-class="custom-table-column"
|
||||
data-field="total_tahun_sebelumnya" data-type="number" />
|
||||
</DxColumn>
|
||||
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
:caption="`s.d ${getMonthName(currentMonth)} ${currentYear}`"
|
||||
css-class="custom-table-column"
|
||||
>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_keluhan_tahun_ini"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_gangguan_tahun_ini"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn alignment="center" :caption="`s.d ${getMonthName(currentMonth)} ${currentYear}`"
|
||||
css-class="custom-table-column">
|
||||
<DxColumn :width="120" alignment="center" data-field="total_keluhan_tahun_ini" data-type="number"
|
||||
caption="Keluhan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_gangguan_tahun_ini" data-type="number"
|
||||
caption="Gangguan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn alignment="center" caption="Informasi" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_keluhan_informasi_tahun_ini"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_gangguan_informasi_tahun_ini"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="120"
|
||||
alignment="center"
|
||||
data-field="total_informasi_tahun_ini"
|
||||
data-type="number"
|
||||
caption="Total"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="120" alignment="center" data-field="total_keluhan_informasi_tahun_ini" data-type="number"
|
||||
caption="Keluhan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_gangguan_informasi_tahun_ini" data-type="number"
|
||||
caption="Gangguan" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="120" alignment="center" data-field="total_informasi_tahun_ini" data-type="number"
|
||||
caption="Total" css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
<DxColumn
|
||||
alignment="center"
|
||||
caption="Total Komplain"
|
||||
css-class="custom-table-column"
|
||||
data-field="total_tahun_ini"
|
||||
data-type="number"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn alignment="center" caption="Total Komplain" css-class="custom-table-column"
|
||||
data-field="total_tahun_ini" data-type="number" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
|
||||
<DxColumn alignment="center" caption="Delta Penurunan" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="delta_keluhan"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="delta_gangguan"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="delta_informasi"
|
||||
data-type="number"
|
||||
caption="Informasi"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="delta_keluhan" data-type="number" caption="Keluhan"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="delta_gangguan" data-type="number" caption="Gangguan"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
<DxColumn :width="150" alignment="center" data-field="delta_informasi" data-type="number" caption="Informasi"
|
||||
css-class="custom-table-column" cell-template="formatNumber" />
|
||||
</DxColumn>
|
||||
|
||||
<DxColumn alignment="center" caption="% Penurunan YoY" css-class="custom-table-column">
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="persen_delta_keluhan"
|
||||
data-type="number"
|
||||
caption="Keluhan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatPercentage"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="persen_delta_gangguan"
|
||||
data-type="number"
|
||||
caption="Gangguan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatPercentage"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="persen_delta_informasi"
|
||||
data-type="number"
|
||||
caption="Informasi"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatPercentage"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="persen_delta_total"
|
||||
data-type="number"
|
||||
caption="% Total"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatPercentage"
|
||||
/>
|
||||
<DxColumn :width="150" alignment="center" data-field="persen_delta_keluhan" data-type="number" caption="Keluhan"
|
||||
css-class="custom-table-column" cell-template="formatPercentage" />
|
||||
<DxColumn :width="150" alignment="center" data-field="persen_delta_gangguan" data-type="number"
|
||||
caption="Gangguan" css-class="custom-table-column" cell-template="formatPercentage" />
|
||||
<DxColumn :width="150" alignment="center" data-field="persen_delta_informasi" data-type="number"
|
||||
caption="Informasi" css-class="custom-table-column" cell-template="formatPercentage" />
|
||||
<DxColumn :width="150" alignment="center" data-field="persen_delta_total" data-type="number" caption="% Total"
|
||||
css-class="custom-table-column" cell-template="formatPercentage" />
|
||||
</DxColumn>
|
||||
|
||||
<DxSummary>
|
||||
<DxTotalItem
|
||||
summary-type="sum"
|
||||
display-format="Total"
|
||||
show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_keluhan_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_gangguan_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_keluhan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_gangguan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_keluhan_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_gangguan_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_keluhan_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_gangguan_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="total_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="delta_keluhan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="delta_gangguan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="delta_informasi"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_delta_keluhan"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_delta_gangguan"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_delta_informasi"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxTotalItem
|
||||
column="persen_delta_total"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
css-class="text-white !text-right"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxTotalItem summary-type="sum" display-format="Total" show-in-column="nama_ulp"
|
||||
css-class="text-white !text-left" />
|
||||
<DxTotalItem column="total_keluhan_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_gangguan_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_keluhan_informasi_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_gangguan_informasi_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_informasi_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_keluhan_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_gangguan_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_keluhan_informasi_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_gangguan_informasi_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_informasi_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="total_tahun_ini" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="delta_keluhan" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="delta_gangguan" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="delta_informasi" summary-type="sum" display-format="{0}" css-class="text-white !text-right"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxTotalItem column="persen_delta_keluhan" summary-type="avg" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxTotalItem column="persen_delta_gangguan" summary-type="avg" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxTotalItem column="persen_delta_informasi" summary-type="avg" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxTotalItem column="persen_delta_total" summary-type="avg" display-format="{0}"
|
||||
css-class="text-white !text-right" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_keluhan_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_keluhan_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_gangguan_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_gangguan_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_keluhan_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_keluhan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_gangguan_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_gangguan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_informasi_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_tahun_sebelumnya"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_tahun_sebelumnya"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_keluhan_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_keluhan_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_gangguan_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_gangguan_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_keluhan_informasi_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_keluhan_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_gangguan_informasi_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_gangguan_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_informasi_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_informasi_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="total_tahun_ini"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="total_tahun_ini"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="delta_keluhan"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="delta_keluhan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="delta_gangguan"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="delta_gangguan"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="delta_informasi"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="delta_informasi"
|
||||
summary-type="sum"
|
||||
display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="persen_delta_keluhan"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="persen_delta_keluhan"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="persen_delta_gangguan"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="persen_delta_gangguan"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="persen_delta_informasi"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="persen_delta_informasi"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxGroupItem
|
||||
css-class="!text-right"
|
||||
show-in-column="persen_delta_total"
|
||||
:show-in-group-footer="false"
|
||||
:align-by-column="true"
|
||||
column="persen_delta_total"
|
||||
summary-type="avg"
|
||||
display-format="{0}"
|
||||
:customize-text="
|
||||
(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
"
|
||||
/>
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_keluhan_tahun_sebelumnya"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_keluhan_tahun_sebelumnya"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_gangguan_tahun_sebelumnya"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_gangguan_tahun_sebelumnya"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_keluhan_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_keluhan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_gangguan_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_gangguan_informasi_tahun_sebelumnya"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_informasi_tahun_sebelumnya"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_informasi_tahun_sebelumnya"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_tahun_sebelumnya" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total_tahun_sebelumnya" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_keluhan_tahun_ini" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total_keluhan_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_gangguan_tahun_ini" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total_gangguan_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_keluhan_informasi_tahun_ini"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_keluhan_informasi_tahun_ini"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_gangguan_informasi_tahun_ini"
|
||||
:show-in-group-footer="false" :align-by-column="true" column="total_gangguan_informasi_tahun_ini"
|
||||
summary-type="sum" display-format="{0}" :customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_informasi_tahun_ini" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total_informasi_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="total_tahun_ini" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="total_tahun_ini" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="delta_keluhan" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="delta_keluhan" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="delta_gangguan" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="delta_gangguan" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="delta_informasi" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="delta_informasi" summary-type="sum" display-format="{0}"
|
||||
:customize-text="(e: any) => formatNumber(e.value)" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="persen_delta_keluhan" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="persen_delta_keluhan" summary-type="avg" display-format="{0}" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="persen_delta_gangguan" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="persen_delta_gangguan" summary-type="avg" display-format="{0}"
|
||||
:customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="persen_delta_informasi" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="persen_delta_informasi" summary-type="avg" display-format="{0}"
|
||||
:customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
<DxGroupItem css-class="!text-right" show-in-column="persen_delta_total" :show-in-group-footer="false"
|
||||
:align-by-column="true" column="persen_delta_total" summary-type="avg" display-format="{0}" :customize-text="(e: any) => (parseFloat(e.value.toString()) ? formatPercentage(e.value) : '0%')
|
||||
" />
|
||||
</DxSummary>
|
||||
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right cursor-pointer">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
|
||||
@ -675,7 +248,9 @@ import { provideApolloClient } from '@vue/apollo-composable'
|
||||
import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
|
||||
import {
|
||||
exportToPDF,
|
||||
exportToXLSX
|
||||
exportToXLSX,
|
||||
exportToDOCX
|
||||
|
||||
} from '@/report/Monalisa/Laporan/Kumulatif/MonalisaLK_PenurunanJumlahKomplain'
|
||||
|
||||
const client = apolloClient()
|
||||
@ -715,6 +290,7 @@ const onExporting = (e: any) => {
|
||||
} else if (e.format === 'xlsx') {
|
||||
exportToXLSX(reportMeta.value, e)
|
||||
} else {
|
||||
exportToDOCX(reportMeta.value, data.value)
|
||||
}
|
||||
}
|
||||
const getDetail = async () => {
|
||||
|
Reference in New Issue
Block a user