diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
index 481d60e..bffcc18 100755
--- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
+++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
@@ -37,6 +37,37 @@
css-class="custom-table-column"
cell-template="formatText"
/>
+
+
- filterData(filters)" class="mb-4">
- filters = value" />
-
+ filterData(filters)" class="mb-4">
+ (filters = value)"
+ :jenis-laporan="[
+ { id: 1, name: 'Laporan Berulang Unit' },
+ { id: 2, name: 'Laporan Rating Negatif' },
+ { id: 3, name: 'Laporan Skip Step' }
+ ]"
+ />
+
-
-
+
+
\ 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 @@
+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
+
+
+
+ {{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
+
+
+
+
+
+ {{ data.text }}
+
+
+
+
+
+ {{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
+
+
@@ -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 @@
+
+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
+
+
+
+ {{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
+
+
+
+
+
+ {{ data.text }}
+
+
+
+
+
+ {{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -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/utils/api/api.graphql.ts b/src/utils/api/api.graphql.ts
index 9af4acc..47ed41a 100755
--- a/src/utils/api/api.graphql.ts
+++ b/src/utils/api/api.graphql.ts
@@ -3247,6 +3247,119 @@ export const queries = {
}
}
`
+ },
+ keluhan: {
+ unitBerulang: gql`
+ query anomaliLaporanPenangananPengaduanKeluhanUnitBerulang(
+ $dateFrom: Date!
+ $dateTo: Date!
+ $namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliLaporanPenangananPengaduanKeluhanUnitBerulang(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ wo_cc123
+ wo_pln_mobile
+ wo_loket
+ wo_lainnya
+ wo_total
+ anomali_pln_mobile
+ anomali_cc123
+ total_anomali
+ persen_anomali_pln_mobile
+ persen_anomali_cc123
+ }
+ }
+ `,
+ unitSkipStep: gql`
+ query anomaliLaporanPenangananPengaduanKeluhanUnitSkipStep(
+ $dateFrom: Date!
+ $dateTo: Date!
+ $namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliLaporanPenangananPengaduanKeluhanUnitSkipStep(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ wo_cc123
+ wo_pln_mobile
+ wo_loket
+ wo_lainnya
+ wo_total
+ anomali_pln_mobile
+ anomali_cc123
+ total_anomali
+ persen_anomali_pln_mobile
+ persen_anomali_cc123
+ }
+ }
+ `,
+ unitRatingNegatif: gql`
+ query anomaliLaporanPenangananPengaduanKeluhanUnitRatingNegatif(
+ $dateFrom: Date!
+ $dateTo: Date!
+ $namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliLaporanPenangananPengaduanKeluhanUnitRatingNegatif(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ wo_cc123
+ wo_pln_mobile
+ wo_loket
+ wo_lainnya
+ wo_total
+ anomali_pln_mobile
+ anomali_cc123
+ total_anomali
+ persen_anomali_pln_mobile
+ persen_anomali_cc123
+ }
+ }
+ `
}
},
cttKwhPeriksa: {