diff --git a/src/components/Form/FiltersType/Type4.vue b/src/components/Form/FiltersType/Type4.vue index db91e07..086a1a3 100755 --- a/src/components/Form/FiltersType/Type4.vue +++ b/src/components/Form/FiltersType/Type4.vue @@ -1,7 +1,15 @@ @@ -78,11 +86,7 @@ onMounted(() => {
-
diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue index 847939d..630b0ff 100644 --- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue +++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue @@ -20,7 +20,7 @@ import { Anomali_LAPPGP_LPT, Anomali_LAPPGP_LPP } from '../.' import { useQuery } from '@vue/apollo-composable' import { Type4 } from '@/components/Form/FiltersType' import Filters from '@/components/Form/Filters.vue' -import { queries } from '@/utils/api/api.graphql' +import { queries, requestGraphQl } from '@/utils/api/api.graphql' import { apolloClient } from '@/utils/api/api.graphql' import { provideApolloClient } from '@vue/apollo-composable' @@ -44,50 +44,58 @@ const filters = ref({ up3: 0 }) -const filterData = (params: any) => { +const resetData = () => { + data.value = [] + dataSub.value = [] +} + +const filterData = async (params: any) => { + resetData() const { ulp, uid, up3, jenisLaporan } = params + console.table('LAPPGP', jenisLaporan) const dateValue = params.periode.split(' s/d ') + const query = { + dateFrom: dateValue[0] + ? dateValue[0].split('-').reverse().join('-') + : new Date().toISOString().slice(0, 10), + dateTo: dateValue[1] + ? dateValue[1].split('-').reverse().join('-') + : new Date().toISOString().slice(0, 10), + idUlp: ulp ? ulp.id : 0, + idUid: uid ? uid.id : 0, + idUp3: up3 ? up3.id : 0, + namaRegional: '' + } - const { onResult, onError, loading, refetch } = useQuery( - filters.value.jenisLaporan.name == 'Laporan Berulang Unit' - ? queries.anomali.gangguan.petugasBerulang - : filters.value.jenisLaporan.name == 'Laporan Rating Negatif' - ? queries.anomali.gangguan.petugasRatingNegatif - : queries.anomali.gangguan.petugasSkipStep, - { - namaRegional: '', - // dateFrom: dateValue[0] - // ? dateValue[0].split('-').reverse().join('-') - // : new Date().toISOString().slice(0, 10), - // dateTo: dateValue[1] - // ? dateValue[1].split('-').reverse().join('-') - // : new Date().toISOString().slice(0, 10), - idUlp: ulp ? ulp.id : 0, - idUid: uid ? uid.id : 0, - idUp3: up3 ? up3.id : 0 - } + loadingData.value = true + await requestGraphQl( + jenisLaporan.name == 'Laporan Berulang Unit' + ? queries.anomali.gangguan.unitBerulang + : jenisLaporan.name == 'Laporan Rating Negatif' + ? queries.anomali.gangguan.unitRatingNegatif + : queries.anomali.gangguan.unitSkipStep, + query ) - - onResult((queryResult) => { - if (queryResult.data != undefined) { - if (jenisLaporan.name == 'Laporan Berulang Unit') { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanPetugasBerulang - } else if (jenisLaporan.name == 'Laporan Rating Negatif') { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanPetugasRatingNegatif + .then((result) => { + if (result.data.data != undefined) { + if (jenisLaporan.name == 'Laporan Berulang Unit') { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitBerulang + } else if (jenisLaporan.name == 'Laporan Rating Negatif') { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitRatingNegatif + } else { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitSkipStep + } } else { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanPetugasSkipStep + data.value = [] } - } - console.log(queryResult.data) - }) - onError((error) => { - console.log(error) - }) - - watch(loading, (value) => { - loadingData.value = value - }) + }) + .catch((err) => { + console.error(err) + }) + .finally(() => { + loadingData.value = false + }) } onMounted(() => { diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue index 05fb23f..bffcc18 100755 --- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue +++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue @@ -18,6 +18,7 @@ column-resizing-mode="widget" :word-wrap-enabled="true" > + @@ -36,6 +37,37 @@ css-class="custom-table-column" cell-template="formatText" /> + - + @@ -50,15 +50,36 @@ cell-template="formatText" /> + + { +const resetData = () => { + data.value = [] + dataSub.value = [] +} + +const filterData = async (params: any) => { + resetData() const { ulp, uid, up3, jenisLaporan } = params + console.table('LAPPGU', jenisLaporan) const dateValue = params.periode.split(' s/d ') + const query = { + dateFrom: dateValue[0] + ? dateValue[0].split('-').reverse().join('-') + : new Date().toISOString().slice(0, 10), + dateTo: dateValue[1] + ? dateValue[1].split('-').reverse().join('-') + : new Date().toISOString().slice(0, 10), + idUlp: ulp ? ulp.id : 0, + idUid: uid ? uid.id : 0, + idUp3: up3 ? up3.id : 0, + namaRegional: '' + } - const { onResult, onError, loading, refetch } = useQuery( - filters.value.jenisLaporan.name == 'Laporan Berulang Unit' + loadingData.value = true + await requestGraphQl( + jenisLaporan.name == 'Laporan Berulang Unit' ? queries.anomali.gangguan.unitBerulang - : filters.value.jenisLaporan.name == 'Laporan Rating Negatif' + : jenisLaporan.name == 'Laporan Rating Negatif' ? queries.anomali.gangguan.unitRatingNegatif : queries.anomali.gangguan.unitSkipStep, - { - namaRegional: '', - // dateFrom: dateValue[0] - // ? dateValue[0].split('-').reverse().join('-') - // : new Date().toISOString().slice(0, 10), - // dateTo: dateValue[1] - // ? dateValue[1].split('-').reverse().join('-') - // : new Date().toISOString().slice(0, 10), - idUlp: ulp ? ulp.id : 0, - idUid: uid ? uid.id : 0, - idUp3: up3 ? up3.id : 0 - } + query ) - - onResult((queryResult) => { - if (queryResult.data != undefined) { - if (jenisLaporan.name == 'Laporan Berulang Unit') { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanUnitBerulang - } else if (jenisLaporan.name == 'Laporan Rating Negatif') { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanUnitRatingNegatif + .then((result) => { + if (result.data.data != undefined) { + if (jenisLaporan.name == 'Laporan Berulang Unit') { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitBerulang + } else if (jenisLaporan.name == 'Laporan Rating Negatif') { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitRatingNegatif + } else { + data.value = result.data.data.anomaliPenangananPengaduanGangguanUnitSkipStep + } } else { - data.value = queryResult.data.anomaliPenangananPengaduanGangguanUnitSkipStep + data.value = [] } - } - }) - - onError((error) => { - console.log(error) - }) - - watch(loading, (value) => { - loadingData.value = value - }) + }) + .catch((err) => { + console.error(err) + }) + .finally(() => { + loadingData.value = false + }) } onMounted(() => { diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU_LPP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU_LPP.vue index 6120d44..441cc5f 100755 --- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU_LPP.vue +++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU_LPP.vue @@ -18,6 +18,7 @@ column-resizing-mode="widget" :word-wrap-enabled="true" > + @@ -36,6 +37,37 @@ css-class="custom-table-column" cell-template="formatText" /> + - + @@ -29,7 +29,6 @@ :show-indicator="showIndicator" :show-pane="showPane" :shading="shading" - v-if="loading" v-model:visible="loading" :enabled="true" /> @@ -49,16 +48,38 @@ css-class="custom-table-column" cell-template="formatText" /> + + + - - - + + + - - + + \ No newline at end of file + diff --git a/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPP.vue b/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPP.vue index 5d03e36..9dbff21 100755 --- a/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPP.vue +++ b/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPP.vue @@ -4,6 +4,7 @@
+ @@ -26,7 +28,6 @@ :show-indicator="showIndicator" :show-pane="showPane" :shading="shading" - v-if="loading" v-model:visible="loading" :enabled="true" /> @@ -40,18 +41,20 @@ + + + + + + + @@ -91,6 +128,7 @@ import { DxColumn, DxColumnFixing, DxExport, + DxGrouping, DxLoadPanel, DxPaging, DxScrolling, @@ -103,12 +141,18 @@ import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { saveAs } from 'file-saver' import { Workbook } from 'exceljs' import { computed, ref } from 'vue' +import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers' +import { formatWaktu } from '@/components/Form/FiltersType/reference' const position = { of: '#data' } const showIndicator = ref(true) const shading = ref(true) const showPane = ref(true) const props = defineProps({ - data: Array as () => any[] + data: Array as () => any[], + loading: { + type: Boolean, + default: false + } }) const data = computed(() => props.data) const loading = ref(false) diff --git a/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPT.vue b/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPT.vue index 0036aa0..1bd83ff 100755 --- a/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPT.vue +++ b/src/components/Pages/Anomali/Keluhan/Anomali_LAPPKU_LPT.vue @@ -4,6 +4,7 @@ + @@ -27,7 +29,6 @@ :show-indicator="showIndicator" :show-pane="showPane" :shading="shading" - v-if="loading" v-model:visible="loading" :enabled="true" /> @@ -42,59 +43,96 @@ + + + @@ -107,30 +145,33 @@ @@ -144,33 +185,180 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -181,25 +369,34 @@ import { DxColumn, DxColumnFixing, DxExport, + DxGroupItem, + DxGrouping, DxLoadPanel, DxPaging, DxScrolling, DxSearchPanel, - DxSelection + DxSelection, + DxSummary } from 'devextreme-vue/data-grid' import { jsPDF } from 'jspdf' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' import { saveAs } from 'file-saver' import { Workbook } from 'exceljs' +import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers' +import { formatWaktu } from '@/components/Form/FiltersType/reference' const position = { of: '#data' } const showIndicator = ref(true) const shading = ref(true) const showPane = ref(true) -const loading = ref(false) const props = defineProps({ - data: Array as () => any[] + data: Array as () => any[], + loading: { + type: Boolean, + default: false + } }) +const loading = computed(() => props.loading) const data = computed(() => props.data) const onExporting = (e: any) => { diff --git a/src/components/Pages/Cico/LaporanCICO.vue b/src/components/Pages/Cico/LaporanCICO.vue index 79c44c2..1a78abc 100755 --- a/src/components/Pages/Cico/LaporanCICO.vue +++ b/src/components/Pages/Cico/LaporanCICO.vue @@ -184,7 +184,7 @@ @@ -243,7 +243,7 @@