fix error

This commit is contained in:
Dede Fuji Abdul 2024-03-07 22:50:12 +07:00
parent ce38a5711c
commit 11b1dd0cd8
54 changed files with 731 additions and 489 deletions

View File

@ -56,6 +56,7 @@ import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import Filters from '@/components/Form/Filters.vue' import Filters from '@/components/Form/Filters.vue'
import { Type1 } from '@/components/Form/FiltersType'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
@ -138,4 +139,3 @@ const { onResult, onError, loading, refetch } = useQuery(queries.cico.laporanChe
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -86,6 +86,7 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -93,7 +94,7 @@ const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const data = ref<any[]>([]) const data = ref<any[]>([])
const { onResult, onErr or, loading, refetch } = useQuery(qu eries.gangguan.daftar.berdasarkanMedia, { const { onResult, onError, loading, refetch } = useQuery(queries.gangguan.daftar.berdasarkanMedia, {
dateFrom: new Date().toISOString().slice(0, 10), dateFrom: new Date().toISOString().slice(0, 10),
dateTo: new Date().toISOString().slice(0, 10), dateTo: new Date().toISOString().slice(0, 10),
posko: 0, posko: 0,
@ -135,4 +136,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.daftarGangguanBerdasarkanMedia data.value = dummyData.gangguan.daftar.daftarGangguanBerdasarkanMedia
}) })
</script> </script>
@/utils/api/graphql

View File

@ -203,7 +203,7 @@ import InputText from '@/components/InputText.vue'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
impo rt { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
const position = { of: '#dataTable' } const position = { of: '#dataTable' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -355,4 +355,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.dialihkanKePoskoLain data.value = dummyData.gangguan.daftar.dialihkanKePoskoLain
}) })
</script> </script>
@/utils/api/graphql

View File

@ -86,15 +86,16 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const data = ref < a ny[]> ([]) const data = ref<any[]>([])
const { onResult, onError, loading, refetch } = useQuery( const { onResult, onError, loading, refetch } = useQuery(
q ueries.gangguan.daftar.diselesaikanMobileAPKT, queries.gangguan.daftar.diselesaikanMobileAPKT,
{ {
dateFrom: new Date('2023-10-01').toISOString().slice(0, 10), dateFrom: new Date('2023-10-01').toISOString().slice(0, 10),
dateTo: new Date('2023-10-01').toISOString().slice(0, 10), dateTo: new Date('2023-10-01').toISOString().slice(0, 10),
@ -137,4 +138,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.daftarGangguanDiselesaikanMobileAPKT data.value = dummyData.gangguan.daftar.daftarGangguanDiselesaikanMobileAPKT
}) })
</script> </script>
@/utils/api/graphql

View File

@ -244,4 +244,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.melaporLebihDariSatuKali data.value = dummyData.gangguan.daftar.melaporLebihDariSatuKali
}) })
</script> </script>
@/utils/api/graphql

View File

@ -196,7 +196,7 @@ import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
const position = { of: '#data' } const position = { of: '#data' }
cons t showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const data = ref<any[]>([]) const data = ref<any[]>([])
@ -213,11 +213,13 @@ const showData = () => showDetail.value = true
const closeDetail = () => showDetail.value = false const closeDetail = () => showDetail.value = false
const filterData = (params: any) => { const filterData = (params: any) => {
const { minT maxTime, posko, uid, up3 } = params const { minTime, maxTime, posko, uid, up3 } = params
console.t(param console.table(params);
const dateValue = params.periode.split(' s/d ') const dateValue = params.periode.split(' s/d ')
refetch(dateFrom: dateValue[0] refetch({
? dateValue[0].sp '-').r se().join('-') dateFrom: dateValue[0]
? dateValue[0].split('-').reverse().join('-')
: new Date().toISOString().slice(0, 10), : new Date().toISOString().slice(0, 10),
dateTo: dateValue[1] dateTo: dateValue[1]
? dateValue[1].split('-').reverse().join('-') ? dateValue[1].split('-').reverse().join('-')
@ -228,16 +230,16 @@ const filterData = (params: any) => {
idUid: uid ? uid.id : 0, idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0 idUp3: up3 ? up3.id : 0
}) })
onResult((queryResult) => { onResult((queryResult) => {
if (queryResult.data != undefined) { if (queryResult.data != undefined) {
data.value = queryResult.data.daftarGangguanRecoveryTime data.value = queryResult.data.daftarGangguanRecoveryTime
} }
console.log(queryResult.loading) console.log(queryResult.loading)
console.log(queryResult.networkStatus) console.log(queryResult.networkStatus)
}) })
onError((error) => { onError((error) => {
console.log(error) console.log(error)
}) })
} }
@ -256,4 +258,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.gangguanRecoveryTime data.value = dummyData.gangguan.daftar.gangguanRecoveryTime
}) })
</script> </script>
@/utils/api/graphql

View File

@ -182,14 +182,14 @@ import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
const position = { of: '#data' } const position = { of: '#data' }
cons t showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const data = ref<any[]>([]) const data = ref<any[]>([])
const dataDetail = ref<any>({}) const dataDetail = ref<any>({})
const showDetail = ref(false) const showDetail = ref(false)
const onSelectionChanged = ({ selected RowsData }: any) => { const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = selectedRowsData[0] const data = selectedRowsData[0]
dataDetail.value = data dataDetail.value = data
} }
@ -203,27 +203,27 @@ const filterData = (params: any) => {
const dateValue = params.periode.split(' s/d ') const dateValue = params.periode.split(' s/d ')
refetch({ refetch({
dateFrom: dateValue[0] dateFrom: dateValue[0]
? dateVa 0].split('-').reverse().join('-') ? dateValue[0].split('-').reverse().join('-')
: new Da.toISO ng().slice(0, 10), : new Date().toISOString().slice(0, 10),
dateTo: dateValue[1] dateTo: dateValue[1]
? dateValue split('-').reverse().join('-') ? dateValue[1].split('-').reverse().join('-')
: new Date(ISOStr).slice(0, 10), : new Date().toISOString().slice(0, 10),
minDurasiResponseTime: minTime ? minTime : 0, minDurasiResponseTime: minTime ? minTime : 0,
maxDurasiResponseTime: maxTime ? maxTime : 1, maxDurasiResponseTime: maxTime ? maxTime : 1,
posko: posko ? posko.id : 0, posko: posko ? posko.id : 0,
idUid: uid ? uid.id : 0, idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0 idUp3: up3 ? up3.id : 0
}) })
onResult((queryResult) => { onResult((queryResult) => {
if (queryResult.data != undefined) { if (queryResult.data != undefined) {
data.value = queryResult.data.daftarGangguanResponseTime data.value = queryResult.data.daftarGangguanResponseTime
} }
console.log(queryResult.loading) console.log(queryResult.loading)
console.log(queryResult.networkStatus) console.log(queryResult.networkStatus)
}) })
onError((error) => { onError((error) => {
console.log(error) console.log(error)
}) })
} }
const { onResult, onError, loading, refetch } = useQuery(queries.gangguan.daftar.responseTime, { const { onResult, onError, loading, refetch } = useQuery(queries.gangguan.daftar.responseTime, {
@ -241,4 +241,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.gangguanResponseTime data.value = dummyData.gangguan.daftar.gangguanResponseTime
}) })
</script> </script>
@/utils/api/graphql

View File

@ -70,14 +70,13 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import Filters from '@/components/Form/Filters.vue'; import Filters from '@/components/Form/Filters.vue'
import { useQuery } from '@vue/apollo-composable'; import Type1 from '@/components/Form/FiltersType/Type1.vue'
import { queries } from '@/utils/api/api.graphql'; import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { dummyData } from '@/utils/dummy'; import { onMounted, ref } from 'vue'
i t from '@ nents/Form/FiltersType/Type1.vue' import { DxDataGrid } from 'devextreme-vue'
m / F rs eferenc ort { onMounted, ref } from 'vue rt { DxDataG from 'devextreme - vue' import {
impo DxColumn,
xColumn,
DxExport, DxExport,
DxLoadPanel, DxLoadPanel,
DxPager, DxPager,
@ -85,6 +84,9 @@ xColumn,
DxSearchPanel, DxSearchPanel,
DxSelection DxSelection
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -100,7 +102,7 @@ const { onResult, onError, loading, refetch } = useQuery(queries.gangguan.daftar
idUp3: 0 idUp3: 0
}) })
c onst filterData = (params: any) => { const filterData = (params: any) => {
const { posko, uid, up3 } = params const { posko, uid, up3 } = params
const dateValue = params.periode.split(' s/d ') const dateValue = params.periode.split(' s/d ')
refetch({ refetch({
@ -114,11 +116,11 @@ c onst filterData = (params: any) => {
idUid: uid ? uid.id : 0, idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0 idUp3: up3 ? up3.id : 0
}) })
onResult((queryRe) => { onResult((queryResult) => {
if (queryResult.data != undefined) { if (queryResult.data != undefined) {
data.value = quer ult.data.daftarGangguanSelesaiTanpaIdPelanggan data.value = queryResult.data.daftarGangguanSelesaiTanpaIdPelanggan
}
c le.log(queryResult.data) console.log(queryResult.data)
console.log(queryResult.loading) console.log(queryResult.loading)
console.log(queryResult.networkStatus) console.log(queryResult.networkStatus)
}) })
@ -132,4 +134,3 @@ onMounted(() => {
data.value = dummyData.gangguan.daftar.daftarGangguanSelesaiTanpaIdPelanggan data.value = dummyData.gangguan.daftar.daftarGangguanSelesaiTanpaIdPelanggan
}) })
</script> </script>
@/utils/api/graphql

View File

@ -85,10 +85,10 @@ import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apoll o-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
import { dummyData } from "@/ut " import { dummyData } from '@/utils/dummy'
import { formatNumber, isNumber } from '@/utils /numbers' import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -170,4 +170,3 @@ onMounted(() => {
data.value = dummyData.gangguan.rekap.rekapitulasiGangguanAlihPosko data.value = dummyData.gangguan.rekap.rekapitulasiGangguanAlihPosko
}) })
</script> </script>
@/utils/api/graphql

View File

@ -91,12 +91,14 @@ import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
import { formatPercentage, isNumber } from '@/utils/numbers' import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
import { dummyData } from '@/utils/dummy'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = const showIndicator = ref(true)
const shading = ref(true) wPane = ref(true) const shading = ref(true)
const onExpo rting = (e: any) => { const showPane = ref(true)
const onExporting = (e: any) => {
if (e.format === 'pdf') { if (e.format === 'pdf') {
const doc = new jsPDF() const doc = new jsPDF()
@ -173,4 +175,3 @@ onMounted(() => {
data.value = dummyData.gangguan.rekap.rekapitulasiGangguanBerdasarkanMedia data.value = dummyData.gangguan.rekap.rekapitulasiGangguanBerdasarkanMedia
}) })
</script> </script>
@/utils/api/graphql

View File

@ -144,4 +144,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -180,13 +180,13 @@ import {
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-save r' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs ' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apo llo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { const position = { of: '#data' }
of: '#data showIndicator = ref(true) const showIndicator = ref(true)
ing = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const onExporting = (e: any) => { const onExporting = (e: any) => {
if (e.format === 'pdf') { if (e.format === 'pdf') {
@ -215,12 +215,12 @@ const onExporting = (e: any) => {
e.cancel = true e.cancel = true
} }
} }
const onSelectionChanged = ({ selectedRowsData }: any) => { const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = selectedRowsData[0] const data = selectedRowsData[0]
console.log(data) console.log(data)
} }
const data = ref<any[]>([]) const data = ref<any[]>([])
const { onResult, onError, loading, refetch } = useQuery( const { onResult, onError, loading, refetch } = useQuery(
queries.gangguan.rekap.gangguanDiselesaikanMobileAPKT, queries.gangguan.rekap.gangguanDiselesaikanMobileAPKT,
@ -231,7 +231,7 @@ const { onResult, onError, loading, refetch } = useQuery(
idUid: 0, idUid: 0,
idUp3: 0 idUp3: 0
} }
) )
const filterData = (params: any) => { const filterData = (params: any) => {
const dateValue = params.periode.split(' s/d ') const dateValue = params.periode.split(' s/d ')
const { posko, uid, up3 } = params const { posko, uid, up3 } = params
@ -259,7 +259,6 @@ const filterData = (params: any) => {
onError((error) => { onError((error) => {
console.log(error) console.log(error)
}) })
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -172,6 +172,9 @@ import {
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers' import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
@ -344,4 +347,3 @@ onMounted(() => {
) )
}) })
</script> </script>
@/utils/api/graphql

View File

@ -124,6 +124,7 @@ import {
DxSearchPanel, DxSearchPanel,
DxSelection DxSelection
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
@ -132,16 +133,16 @@ import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
import { formatNumber, formatPercentage, isNumber } from '@/utils/n umbers' import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
const position = { of: '#dat a' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const data = ref<any[]>([]) const data = ref<any[]>([])
cons ing = (e: any) => { const onExporting = (e: any) => {
if ( == 'pdf') { if (e.format === 'pdf') {
const doc = ne w jsPDF() const doc = new jsPDF()
exportToPdf({ exportToPdf({
jsPDFDocument: doc, jsPDFDocument: doc,
@ -212,4 +213,3 @@ onMounted(() => {
data.value = dummyData.gangguan.rekap.rekapitulasiJenisGangguanSE004 data.value = dummyData.gangguan.rekap.rekapitulasiJenisGangguanSE004
}) })
</script> </script>
@/utils/api/graphql

View File

@ -148,4 +148,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -205,12 +205,11 @@ import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs ' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apo llo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from f import { queries } from '@/utils/api/api.graphql'
import { dummyData } from '@/utils/dummy' import { dummyData } from '@/utils/dummy'
import { formatNumber, isNumber } from '@ bers' import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
om '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -372,4 +371,3 @@ onMounted(() => {
}) })
}) })
</script> </script>
@/utils/api/graphql

View File

@ -375,4 +375,3 @@ onMounted(() => {
}) })
}) })
</script> </script>
@/utils/api/graphql

View File

@ -212,4 +212,3 @@ onMounted(() => {
data.value = dummyData.gangguan.rekap.rekapitulasiGangguanPerTanggal data.value = dummyData.gangguan.rekap.rekapitulasiGangguanPerTanggal
}) })
</script> </script>
@/utils/api/graphql

View File

@ -196,4 +196,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -162,4 +162,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -166,13 +166,13 @@ import {
DxSearchPanel, DxSearchPanel,
DxSelection DxSelection
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from f import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
om 'file-saver'
im port { useQuery } from '@vue/apollo-composable'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -182,18 +182,23 @@ const dataDetail = ref<any>()
const showDetail = ref(false) const showDetail = ref(false)
const closeDetail = () => { const closeDetail = () => {
value = false showDetail.value = false
} }
const showData = () => { const showData = () => {
lue = true showDetail.value = true
} }
const onSelectionChanged = ({ sele : any) taDetail.value = sta[0] const onSelectionChanged = ({ selectedRowsData }: any) => {
dataDetail.value = selectedRowsData[0]
console.log(selectedRowsData[0]) console.log(selectedRowsData[0])
} }
ting = (e: any) => {
if (e.format === 'pdf') { = new exportToPdf({ const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
exportToPdf({
jsPDFDocument: doc, jsPDFDocument: doc,
component: e.component, component: e.component,
indent: 5 indent: 5
@ -258,4 +263,3 @@ const filterData = (params: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -193,4 +193,3 @@ onMounted(() => {
data.value = dummyData.keluhan.daftar.daftarKeluhanDialihkanKeUnitLain data.value = dummyData.keluhan.daftar.daftarKeluhanDialihkanKeUnitLain
}) })
</script> </script>
@/utils/api/graphql

View File

@ -173,14 +173,15 @@ import {
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'fil e-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'e xceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@v ue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: const position = { of: '#data' }
const showIndicator = ref st shading = ref(true) const showIndicator = ref(true)
const s howPane = ref(true) const shading = ref(true)
const showPane = ref(true)
const dataDetail = ref<any>() const dataDetail = ref<any>()
const showDetail = ref(false) const showDetail = ref(false)

View File

@ -164,6 +164,7 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
@ -176,16 +177,22 @@ const showPane = ref(true)
const dataDetail = ref<any>() const dataDetail = ref<any>()
const showDetail = ref(false) const showDetail = ref(false)
const closeDetai showDetail.value = false const closeDetail = () => {
showDetail.value = false
} }
const showData howDetail.value = true const showData = () => {
showDetail.value = true
} }
const onSelectionChang edRows y) => { const onSelectionChanged = ({ selectedRowsData }: any) => {
dataDetalectedRowsData[0] dataDetail.value = selectedRowsData[0]
console.log(selectedRow onst onExporting = (e: any) => { console.log(selectedRowsData[0])
if (e.format con ew jsPDF() }
const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
exportToPdf({ exportToPdf({
jsPDFDocument: doc, jsPDFDocument: doc,
@ -209,7 +216,7 @@ const onSelectionChang edRows y) => {
}) })
e.cancel = true e.cancel = true
} }
} }
const data = ref<any[]>([]) const data = ref<any[]>([])

View File

@ -164,8 +164,10 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { saveAs } from 'fil e-saver' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
@ -179,16 +181,22 @@ const closeDetail = () => {
showDetail.value = false showDetail.value = false
} }
const showData = () tail.value = true const showData = () => {
showDetail.value = true
} }
const onSelectionChang edRowsData }: any) => { const onSelectionChanged = ({ selectedRowsData }: any) => {
dataDetail.value = sel 0] dataDetail.value = selectedRowsData[0]
c(selectedRowsData[onExporting = (e: any) => { console.log(selectedRowsData[0])
if (e.format const doc = new jsPDF() }
const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
exportToPdf({ exportToPdf({
ent: d component: e.component, jsPDFDocument: doc,
component: e.component,
indent: 5 indent: 5
}).then(() => { }).then(() => {
doc.save(`.pdf`) doc.save(`.pdf`)
@ -208,7 +216,7 @@ const onSelectionChang edRowsData }: any) => {
}) })
e.cancel = true e.cancel = true
} }
} }
const data = ref<any[]>([]) const data = ref<any[]>([])

View File

@ -163,9 +163,11 @@ import {
DxSearchPanel, DxSearchPanel,
DxSelection DxSelection
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'e xceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
@ -176,16 +178,22 @@ const showPane = ref(true)
const dataDetail = ref<any>() const dataDetail = ref<any>()
const showDetail = ref(false) const showDetail = ref(false)
const closeDetail howDetail.value = false const closeDetail = () => {
showDetail.value = false
} }
const showData = wDetail.value = true const showData = () => {
showDetail.value = true
} }
const onSelectionChanged RowsDa => { const onSelectionChanged = ({ selectedRowsData }: any) => {
dataDetailctedRowsData[0] dataDetail.value = selectedRowsData[0]
console.log(selectedRowsD st onExporting = (e: any) => { console.log(selectedRowsData[0])
if (e.format == const jsPDF() }
const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
exportToPdf({ exportToPdf({
jsPDFDocument: doc, jsPDFDocument: doc,
@ -252,4 +260,3 @@ const filterData = (params: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -75,14 +75,15 @@ import {
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const sh owIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
cons t showPane = ref(true) const showPane = ref(true)
const onExporting = (e: any) => { const onExporting = (e: any) => {
if (e.format === 'pdf') { if (e.format === 'pdf') {
const doc = new jsPDF() const doc = new jsPDF()
@ -103,16 +104,23 @@ const onExporting = (e: any) => {
worksheet, worksheet,
autoFilterEnabled: true autoFilterEnabled: true
}).then(() => { }).then(() => {
workbook.xlsx.writeBuffer().then((buf{ workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: octet-stream' }), 'DataGrid.xlsx') saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
}) })
el = t })
const onSelectionselectedRowsData }: any) => {
const data Data[0] e.cancel = true
}
}
const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = selectedRowsData[0]
console.log(data) console.log(data)
} }
const data = ref< nst { onError, loading, refetch } = useQuery(queries.keluhan.daftar.keluhanDiselesaikanCC123, { const data = ref<any[]>([])
const { onResult, onError, loading, refetch } = useQuery(queries.keluhan.daftar.keluhanDiselesaikanCC123, {
dateFrom: new Date('2023-10-01').toISOString().slice(0, 10), dateFrom: new Date('2023-10-01').toISOString().slice(0, 10),
dateTo: new Date('2023-10-01').toISOString().slice(0, 10), dateTo: new Date('2023-10-01').toISOString().slice(0, 10),
idUlp: 0, idUlp: 0,

View File

@ -316,4 +316,3 @@ const filterData = (params: any) => {
}) })
} }
</script> </script>
@/utils/api/graphql

View File

@ -73,7 +73,7 @@ const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const onExporting = (e: any) => { const onExporting = (e: any) => {
if (e.format === 'pdf') { if (e.format === 'pdf') {
const d oc = new jsPDF() const doc = new jsPDF()
exportToPdf({ exportToPdf({
jsPDFDocument: doc, jsPDFDocument: doc,

View File

@ -1,25 +1,58 @@
<template> <template>
<Filters @reset-form="data = []" @run-search="() => filterData(filters)" :report-button="true" class="mb-4"> <Filters
@reset-form="data = []"
@run-search="() => filterData(filters)"
:report-button="true"
class="mb-4"
>
<Type13 @update:filters="(value) => filters = value" /> <Type13 @update:filters="(value) => filters = value" />
</Filters> </Filters>
<div id="data"> <div id="data">
<DxDataGrid class="max-h-[calc(100vh-140px)] mb-10" :data-source="data" :show-column-lines="true" <DxDataGrid
:show-row-lines="false" :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true" class="max-h-[calc(100vh-140px)] mb-10"
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true" :data-source="data"
column-resizing-mode="widget" :word-wrap-enabled="true"> :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"
:word-wrap-enabled="true"
>
<DxSelection mode="single" /> <DxSelection mode="single" />
<DxPaging :enabled="false" /> <DxPaging :enabled="false" />
<DxScrolling column-rendering-mode="virtual" mode="virtual" /> <DxScrolling column-rendering-mode="virtual" mode="virtual" />
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading" <DxLoadPanel
v-if="loading" v-model:visible="loading" :enabled="true" /> :position="position"
:show-indicator="showIndicator"
:show-pane="showPane"
:shading="shading"
v-if="loading"
v-model:visible="loading"
:enabled="true"
/>
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" /> <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" /> <DxColumnFixing :enabled="true" />
<DxColumn css-class="custom-table-column" :width="100" alignment="center" <DxColumn
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" data-field="no" css-class="custom-table-column"
caption="No" /> :width="100"
alignment="center"
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
data-type="number"
data-field="no"
caption="No"
/>
<!-- <DxColumn <!-- <DxColumn
:width="120" :width="120"
alignment="center" alignment="center"
@ -30,84 +63,284 @@
name="NamaUID" name="NamaUID"
v-if="filters.groupBy" v-if="filters.groupBy"
/> --> /> -->
<DxColumn :width="170" alignment="center" data-field="fungsi_bidang" caption="Fungsi Bidang" <DxColumn
css-class="custom-table-column" cell-template="cell-left" /> :width="170"
alignment="center"
data-field="fungsi_bidang"
caption="Fungsi Bidang"
css-class="custom-table-column"
cell-template="cell-left"
/>
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total" <DxColumn
css-class="custom-table-column" /> :width="150"
alignment="center"
data-field="total"
data-type="number"
caption="Total"
css-class="custom-table-column"
/>
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column"> <DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_selesai" data-type="number" caption="Jml" <DxColumn
css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="persen_selesai" data-type="number" caption="%" alignment="center"
css-class="custom-table-column" cell-template="percent" /> data-field="total_selesai"
data-type="number"
caption="Jml"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="persen_selesai"
data-type="number"
caption="%"
css-class="custom-table-column"
cell-template="percent"
/>
</DxColumn> </DxColumn>
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column"> <DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_inproses" data-type="number" caption="Jml" <DxColumn
css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="persen_inproses" data-type="number" caption="%" alignment="center"
css-class="custom-table-column" cell-template="percent" /> data-field="total_inproses"
data-type="number"
caption="Jml"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="persen_inproses"
data-type="number"
caption="%"
css-class="custom-table-column"
cell-template="percent"
/>
</DxColumn> </DxColumn>
</DxColumn> </DxColumn>
<DxColumn alignment="center" caption="Response Time" css-class="custom-table-column"> <DxColumn alignment="center" caption="Response Time" css-class="custom-table-column">
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column"> <DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_durasi_response" data-type="number" <DxColumn
caption="Total" css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number" alignment="center"
caption="Rata-Rata" css-class="custom-table-column" /> data-field="total_durasi_response"
<DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number" caption="Max" data-type="number"
css-class="custom-table-column" cell-template="data-waktu" /> caption="Total"
<DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number" caption="Min" css-class="custom-table-column"
css-class="custom-table-column" cell-template="data-waktu" /> />
<DxColumn
:width="150"
alignment="center"
data-field="avg_durasi_response"
data-type="number"
caption="Rata-Rata"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="min_durasi_response"
data-type="number"
caption="Max"
css-class="custom-table-column"
cell-template="data-waktu"
/>
<DxColumn
:width="150"
alignment="center"
data-field="max_durasi_response"
data-type="number"
caption="Min"
css-class="custom-table-column"
cell-template="data-waktu"
/>
</DxColumn> </DxColumn>
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number" <DxColumn
caption=">SLA" css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number" alignment="center"
caption="≤SLA" css-class="custom-table-column" /> data-field="total_diatas_sla_response"
data-type="number"
caption=">SLA"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="total_dibawah_sla_response"
data-type="number"
caption="≤SLA"
css-class="custom-table-column"
/>
</DxColumn> </DxColumn>
</DxColumn> </DxColumn>
<DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column"> <DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column">
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column"> <DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_durasi_recovery" data-type="number" <DxColumn
caption="Total" css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number" alignment="center"
caption="Rata-Rata" css-class="custom-table-column" /> data-field="total_durasi_recovery"
<DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number" caption="Max" data-type="number"
css-class="custom-table-column" cell-template="data-waktu" /> caption="Total"
<DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number" caption="Min" css-class="custom-table-column"
css-class="custom-table-column" cell-template="data-waktu" /> />
<DxColumn
:width="150"
alignment="center"
data-field="avg_durasi_recovery"
data-type="number"
caption="Rata-Rata"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="max_durasi_recovery"
data-type="number"
caption="Max"
css-class="custom-table-column"
cell-template="data-waktu"
/>
<DxColumn
:width="150"
alignment="center"
data-field="min_durasi_recovery"
data-type="number"
caption="Min"
css-class="custom-table-column"
cell-template="data-waktu"
/>
</DxColumn> </DxColumn>
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number" <DxColumn
caption=">SLA" css-class="custom-table-column" /> :width="150"
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number" alignment="center"
caption="≤SLA" css-class="custom-table-column" /> data-field="total_diatas_sla_recovery"
data-type="number"
caption=">SLA"
css-class="custom-table-column"
/>
<DxColumn
:width="150"
alignment="center"
data-field="total_dibawah_sla_recovery"
data-type="number"
caption="≤SLA"
css-class="custom-table-column"
/>
</DxColumn> </DxColumn>
</DxColumn> </DxColumn>
<DxSummary> <DxSummary>
<DxTotalItem summary-type="sum" display-format="Total" show-in-column="no" css-class="text-white" /> <DxTotalItem
<DxTotalItem summary-type="sum" display-format="{0}" column="total" css-class="text-white" /> summary-type="sum"
<DxTotalItem summary-type="sum" display-format="{0}" column="total_selesai" css-class="text-white" /> display-format="Total"
<DxTotalItem summary-type="sum" display-format="{0}%" column="persen_selesai" css-class="text-white" /> show-in-column="no"
<DxTotalItem summary-type="sum" display-format="{0}" column="total_inproses" css-class="text-white" /> css-class="text-white"
<DxTotalItem summary-type="sum" display-format="{0}%" column="persen_inproses" css-class="text-white" /> />
<DxTotalItem summary-type="sum" display-format="{0}" column="total_durasi_response" css-class="text-white" /> <DxTotalItem
<DxTotalItem summary-type="sum" display-format="{0}" column="avg_durasi_response" css-class="text-white" /> summary-type="sum"
<DxTotalItem summary-type="sum" display-format="{0}" column="min_durasi_response" css-class="text-white" /> display-format="{0}"
<DxTotalItem summary-type="sum" display-format="{0}" column="max_durasi_response" css-class="text-white" /> column="total"
<DxTotalItem summary-type="sum" display-format="{0}" column="total_diatas_sla_response" css-class="text-white"
css-class="text-white" /> />
<DxTotalItem summary-type="sum" display-format="{0}" column="total_dibawah_sla_response" <DxTotalItem
css-class="text-white" /> summary-type="sum"
<DxTotalItem summary-type="sum" display-format="{0}" column="total_durasi_recovery" css-class="text-white" /> display-format="{0}"
<DxTotalItem summary-type="sum" display-format="{0}" column="avg_durasi_recovery" css-class="text-white" /> column="total_selesai"
<DxTotalItem summary-type="sum" display-format="{0}" column="min_durasi_recovery" css-class="text-white" /> css-class="text-white"
<DxTotalItem summary-type="sum" display-format="{0}" column="max_durasi_recovery" css-class="text-white" /> />
<DxTotalItem summary-type="sum" display-format="{0}" column="total_diatas_sla_recovery" <DxTotalItem
css-class="text-white" /> summary-type="sum"
<DxTotalItem summary-type="sum" display-format="{0}" column="total_dibawah_sla_recovery" display-format="{0}%"
css-class="text-white" /> column="persen_selesai"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_inproses"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}%"
column="persen_inproses"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_durasi_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="avg_durasi_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="min_durasi_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="max_durasi_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_diatas_sla_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_dibawah_sla_response"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_durasi_recovery"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="avg_durasi_recovery"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="min_durasi_recovery"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="max_durasi_recovery"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_diatas_sla_recovery"
css-class="text-white"
/>
<DxTotalItem
summary-type="sum"
display-format="{0}"
column="total_dibawah_sla_recovery"
css-class="text-white"
/>
</DxSummary> </DxSummary>
<template #data-waktu="{ data }"> <template #data-waktu="{ data }">
@ -115,11 +348,9 @@
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }} {{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p> </p>
</template> </template>
<template #percent="{ data }"> <template #percent="{ data }">
<p>{{ data.text }}%</p> <p>{{ data.text }}%</p>
</template> </template>
<template #cell-left="{ data }"> <template #cell-left="{ data }">
<p class="text-left"> <p class="text-left">
{{ data.text }} {{ data.text }}
@ -147,15 +378,15 @@ import {
DxSummary, DxSummary,
DxTotalItem DxTotalItem
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf ' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils /graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showInd icator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)

View File

@ -189,9 +189,9 @@ import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/ utils/graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of : '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
@ -268,4 +268,3 @@ const filterData = (params: any) => {
}) })
} }
</script> </script>
@/utils/api/graphql

View File

@ -158,7 +158,7 @@ const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
c onst onExporting = (e: any) => { const onExporting = (e: any) => {
if (e.format === 'pdf') { if (e.format === 'pdf') {
const doc = new jsPDF() const doc = new jsPDF()

View File

@ -144,11 +144,11 @@ import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQ uery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/graphql ' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const onExporting = (e: any) => { const onExporting = (e: any) => {
@ -223,4 +223,3 @@ const filterData = (params: any) => {
}) })
} }
</script> </script>
@/utils/api/graphql

View File

@ -190,11 +190,11 @@ import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-co mposable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: ' #data' } const position = { of: '#data' }
const showIndicator = ref(t rue) const showIndicator = ref(true)
const shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
const onExporting = (e: any) => { const onExporting = (e: any) => {

View File

@ -87,7 +87,7 @@ import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@ vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -165,4 +165,3 @@ const filterData = (params: any) => {
}) })
} }
</script> </script>
@/utils/api/graphql

View File

@ -146,4 +146,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -146,4 +146,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -131,4 +131,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -134,4 +134,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -199,4 +199,3 @@ onMounted(() => {
getMonthName(filters.value.bulan.id) getMonthName(filters.value.bulan.id)
}) })
</script> </script>
@/utils/api/graphql

View File

@ -172,4 +172,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -59,7 +59,7 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_export er' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'

View File

@ -147,4 +147,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -147,4 +147,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -145,4 +145,3 @@ onMounted(() => {
}) })
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -144,4 +144,3 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -163,4 +163,3 @@ const filterData = (params: any) => {
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -60,8 +60,8 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_ exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'fi le-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'

View File

@ -66,12 +66,11 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from fro import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
'devextreme/excel_exporter'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)

View File

@ -111,7 +111,7 @@ import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { getMonthName } from '@/utils/texts' import { getMonthName } from '@/utils/texts'
i mport { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)

View File

@ -156,4 +156,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -61,6 +61,7 @@ import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
@ -83,15 +84,15 @@ const onExporting = (e: any) => {
doc.save(`.pdf`) doc.save(`.pdf`)
}) })
} else { } else {
const workbook = new Wor kbook() const workbook = new Workbook()
const worksheet = workbook.addWorksheet('Employees') const worksheet = workbook.addWorksheet('Employees')
exportToExcel({ exportToExcel({
component: e.component, component: e.component,
et, worksheet,
autoFilterEnable autoFilterEnabled: true
}).then(() => { }).then(() => {
workbo ok.xlsx.writeBuffer().then((buffer: any) => { workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx') saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
}) })
}) })

View File

@ -72,10 +72,10 @@ import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql' import { queries } from '@/utils/api/api.graphql'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
co nst shading = ref(true) const shading = ref(true)
const showPane = ref(true) const showPane = ref(true)
con st dataDetail = ref<any>() const dataDetail = ref<any>()
const showDetail = ref(fals e) const showDetail = ref(false)
const data = ref<any[]>([]) const data = ref<any[]>([])
const onExporting = (e: any) => { const onExporting = (e: any) => {
@ -95,29 +95,32 @@ const onExporting = (e: any) => {
exportToExcel({ exportToExcel({
component: e.component, component: e.component,
workshe autoFilterEnabled: true worksheet,
autoFilterEnabled: true
}).then(() => { }).then(() => {
book.x eBuffer().then((buffer: any) => { workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([bu type: 'application/octet-stream' }), 'DataGrid. } saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
})
})
e.cancel = true e.cancel = true
} }
} }
const onSelectionChanged = ({ selectedRowsData }: any) => { const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = selectedRowsData[0] const data = selectedRowsData[0]
console.log(data) console.log(data)
} }
const { onResult, onError, loading, refetch } = useQuery(queries.monalisa.laporan.kumulatif.kepatuhandanAkurasiDalamPelaporanKumulatif, { const { onResult, onError, loading, refetch } = useQuery(queries.monalisa.laporan.kumulatif.kepatuhandanAkurasiDalamPelaporanKumulatif, {
regional: '', regional: '',
idUlp: 0, idUlp: 0,
idUid: 0, idUid: 0,
idUp3: 0, idUp3: 0,
bulan: 10, bulan: 10,
tahun: 2023 tahun: 2023
}) })
const filterData = (params: any) => { const filterData = (params: any) => {
const { regional, ulp, uid, up3, bulan, tahun } = params const { regional, ulp, uid, up3, bulan, tahun } = params
refetch({ refetch({
@ -139,7 +142,6 @@ const onExporting = (e: any) => {
onError((error) => { onError((error) => {
console.log(error) console.log(error)
}) })
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql

View File

@ -105,7 +105,7 @@ import {
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'
import { exportDataGrid as exportToExcel } from 'devextreme/ex cel_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
import { Workbook } from 'exceljs' import { Workbook } from 'exceljs'
import { useQuery } from '@vue/apollo-composable' import { useQuery } from '@vue/apollo-composable'
@ -191,4 +191,3 @@ const filterData = (params: any) => {
} }
const filters = ref() const filters = ref()
</script> </script>
@/utils/api/graphql