From 4031e8cdf6725d732a4dfd335df04c9b37dc47d6 Mon Sep 17 00:00:00 2001 From: Dede Fuji Abdul Date: Mon, 8 Apr 2024 20:06:30 +0700 Subject: [PATCH] Refactor grouping logic in RGangguan_PerTanggal.vue, Type13.vue, and RGangguan_PerRegu.vue --- src/components/Form/FiltersType/Type13.vue | 39 ++++++-- .../Gangguan/Rekap/RGangguan_PerRegu.vue | 81 ++++++++++++++-- .../Gangguan/Rekap/RGangguan_PerTanggal.vue | 25 ++++- .../Rekap/RKeluhan_PerFungsiBidang.vue | 92 +++++++++++++++---- .../Rekap/RKeluhan_PerKelompokKeluhan.vue | 91 ++++++++++++++---- .../Keluhan/Rekap/RKeluhan_PerTanggal.vue | 89 +++++++++++++++--- 6 files changed, 352 insertions(+), 65 deletions(-) diff --git a/src/components/Form/FiltersType/Type13.vue b/src/components/Form/FiltersType/Type13.vue index 50c0401..00e0b98 100755 --- a/src/components/Form/FiltersType/Type13.vue +++ b/src/components/Form/FiltersType/Type13.vue @@ -67,12 +67,22 @@ onMounted(() => {
-
-
@@ -80,14 +90,25 @@ onMounted(() => {
-
- +
+ - +
- diff --git a/src/components/Pages/Gangguan/Rekap/RGangguan_PerRegu.vue b/src/components/Pages/Gangguan/Rekap/RGangguan_PerRegu.vue index a4c9746..97c2963 100755 --- a/src/components/Pages/Gangguan/Rekap/RGangguan_PerRegu.vue +++ b/src/components/Pages/Gangguan/Rekap/RGangguan_PerRegu.vue @@ -49,13 +49,15 @@ :calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1" /> ([ + { + data: '', + caption: 'Seluruh Unit' + } +]) const agreeToShowDialog = ref(false) const progressSelected = ref(0) const isGroupBy = ref(false) @@ -1225,6 +1233,67 @@ const filterData = async (params: any) => { resetData() const dateValue = params.periode.split(' s/d ') const { posko, uid, up3 } = params + isGroupBy.value = params.groupBy + if (isGroupBy.value) { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (up3.id != 0 || posko.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } else { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + } + } else { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + + if (up3.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (posko.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } + } else { + grouping.value = [ + { + data: '', + caption: 'Seluruh Unit' + } + ] + } + } const query = { dateFrom: dateValue[0] @@ -1241,7 +1310,7 @@ const filterData = async (params: any) => { loadingData.value = true await requestGraphQl(queries.gangguan.rekap.gangguanPerRegu, query) .then((result) => { - isGroupBy.value = params.groupBy + if (result.data.data != undefined) { data.value = result.data.data.rekapitulasiGangguanPerRegu } else { diff --git a/src/components/Pages/Gangguan/Rekap/RGangguan_PerTanggal.vue b/src/components/Pages/Gangguan/Rekap/RGangguan_PerTanggal.vue index 007a34b..15856cb 100755 --- a/src/components/Pages/Gangguan/Rekap/RGangguan_PerTanggal.vue +++ b/src/components/Pages/Gangguan/Rekap/RGangguan_PerTanggal.vue @@ -58,6 +58,15 @@ group-index="0" v-if="isGroupBy" /> + ([ + { + data: '', + caption: 'Seluruh Unit' + }, + { + data: 'nama_uid', + caption: 'UID' + }, + { + data: 'nama_up3', + caption: 'UP3' + } +]) const agreeToShowDialog = ref(false) const progressSelected = ref(0) const isGroupBy = ref(false) @@ -958,6 +981,7 @@ const filterData = async (params: any) => { resetData() const dateValue = params.periode.split(' s/d ') const { posko, uid, up3 } = params + isGroupBy.value = params.groupBy const query = { dateFrom: dateValue[0] @@ -974,7 +998,6 @@ const filterData = async (params: any) => { loadingData.value = true await requestGraphQl(queries.gangguan.rekap.gangguanPerTanggal, query) .then((result) => { - isGroupBy.value = params.groupBy if (result.data.data != undefined) { data.value = result.data.data.rekapitulasiGangguanPerTanggal } else { diff --git a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerFungsiBidang.vue b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerFungsiBidang.vue index 1e6d13d..e39f947 100755 --- a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerFungsiBidang.vue +++ b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerFungsiBidang.vue @@ -47,26 +47,18 @@ data-type="number" caption="No" cell-template="formatNumber" + :calculate-display-value="(item: any) => data.findIndex((i) => i == item) + 1" /> - ([ + { + data: '', + caption: 'Seluruh Unit' + } +]) let total = 0 let total_selesai = 0 @@ -1000,6 +998,67 @@ const filterData = async (params: any) => { resetData() const dateValue = params.periode.split(' s/d ') const { ulp, uid, up3 } = params + isGroupBy.value = params.groupBy + if (isGroupBy.value) { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (up3.id != 0 || ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } else { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + } + } else { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + + if (up3.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } + } else { + grouping.value = [ + { + data: '', + caption: 'Seluruh Unit' + } + ] + } + } const query = { dateFrom: dateValue[0] @@ -1017,7 +1076,6 @@ const filterData = async (params: any) => { await requestGraphQl(queries.keluhan.rekap.keluhanPenyelesaianPerFungsiBIidang, query) .then((result) => { if (result.data.data != undefined) { - isGroupBy.value = params.groupBy if (filters.value.groupBy) { data.value = [...result.data.data.rekapitulasiKeluhanPenyelesaianPerFungsiBidang] .sort((a, b) => a.nama_uid.localeCompare(b.nama_uid)) diff --git a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerKelompokKeluhan.vue b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerKelompokKeluhan.vue index df0b989..def15ec 100755 --- a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerKelompokKeluhan.vue +++ b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerKelompokKeluhan.vue @@ -50,24 +50,15 @@ cell-template="formatNumber" /> - ([ + { + data: '', + caption: 'Seluruh Distribusi' + } +]) let total = 0 let total_selesai = 0 @@ -997,6 +994,67 @@ const filterData = async (params: any) => { resetData() const dateValue = params.periode.split(' s/d ') const { ulp, uid, up3 } = params + isGroupBy.value = params.groupBy + if (isGroupBy.value) { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (up3.id != 0 || ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } else { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + } + } else { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + + if (up3.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } + } else { + grouping.value = [ + { + data: '', + caption: 'Seluruh Distribusi' + } + ] + } + } const query = { dateFrom: dateValue[0] @@ -1018,7 +1076,6 @@ const filterData = async (params: any) => { query ) .then((result) => { - isGroupBy.value = params.groupBy if (result.data.data != undefined) { data.value = isGroupBy.value ? result.data.data.rekapitulasiKeluhanPerKelompokKeluhanUid diff --git a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerTanggal.vue b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerTanggal.vue index e3588b9..0552066 100755 --- a/src/components/Pages/Keluhan/Rekap/RKeluhan_PerTanggal.vue +++ b/src/components/Pages/Keluhan/Rekap/RKeluhan_PerTanggal.vue @@ -58,22 +58,15 @@ cell-template="formatText" /> - ([ + { + data: '', + caption: 'Seluruh Distribusi' + } +]) let total = 0 let total_selesai = 0 @@ -1000,6 +999,67 @@ const filterData = async (params: any) => { resetData() const dateValue = params.periode.split(' s/d ') const { ulp, uid, up3 } = params + isGroupBy.value = params.groupBy + if (isGroupBy.value) { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (up3.id != 0 || ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } else { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + } + } else { + if (uid.id != 0) { + grouping.value = [ + { + data: 'nama_uid', + caption: 'UID' + } + ] + + if (up3.id != 0) { + grouping.value = [ + { + data: 'nama_up3', + caption: 'UP3' + } + ] + + if (ulp.id != 0) { + grouping.value = [ + { + data: 'nama_ulp', + caption: 'ULP' + } + ] + } + } + } else { + grouping.value = [ + { + data: '', + caption: 'Seluruh Unit' + } + ] + } + } const query = { dateFrom: dateValue[0] @@ -1016,7 +1076,6 @@ const filterData = async (params: any) => { loadingData.value = true await requestGraphQl(queries.keluhan.rekap.keluhanPerTanggal, query) .then((result) => { - isGroupBy.value = params.groupBy if (result.data.data != undefined) { data.value = result.data.data.rekapitulasiKeluhanPerTanggal } else {