diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue
index 4497169..194dc62 100644
--- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue
+++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP.vue
@@ -1,6 +1,13 @@
filterData(filters)" class="mb-4">
- (filters = value)" />
+ (filters = value)"
+ :jenis-laporan="[
+ { id: 1, name: 'Laporan Berulang Unit' },
+ { id: 2, name: 'Laporan Rating Negatif' },
+ { id: 3, name: 'Laporan Skip Step' }
+ ]"
+ />
@@ -8,52 +15,33 @@
diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
index da741ba..338e0e3 100755
--- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
+++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPP.vue
@@ -10,8 +10,7 @@
:show-borders="true"
:row-alternation-enabled="true"
:hover-state-enabled="true"
- @selection-changed="onSelectionChanged"
- :column-width="100"
+ @selection-changed="onDataSelectionChanged"
@exporting="onExporting"
:allow-column-resizing="true"
column-resizing-mode="widget"
@@ -29,18 +28,19 @@
@@ -67,30 +68,33 @@
@@ -103,33 +107,66 @@
+
+
+
+ {{
+ 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) : '-' }}
+
+
@@ -149,11 +186,23 @@ 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 { computed } from 'vue'
+import { computed, ref } from 'vue'
+import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
+import { formatWaktu } from '@/components/Form/FiltersType/reference'
const props = defineProps({
data: Array as () => any[]
})
const data = computed(() => props.data)
+const dataSub = ref([])
+const dataSelected = ref({})
+const dataSubSelected = ref({})
+const showDetail = ref(false)
+const showData = () => {
+ showDetail.value = true
+}
+const closeDetail = () => {
+ showDetail.value = false
+}
const onExporting = (e: any) => {
if (e.format === 'pdf') {
@@ -184,8 +233,8 @@ const onExporting = (e: any) => {
}
}
-const onSelectionChanged = ({ selectedRowsData }: any) => {
- const data = selectedRowsData[0]
+const onDataSelectionChanged = ({ selectedRowsData }: any) => {
+ const dataSelected = selectedRowsData[0]
console.log(data)
}
diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPT.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPT.vue
index 7999410..aefb558 100755
--- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPT.vue
+++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGP_LPT.vue
@@ -9,7 +9,7 @@
:show-borders="true"
:row-alternation-enabled="true"
:hover-state-enabled="true"
- @selection-changed="onSelectionChanged"
+ @selection-changed="onDataSelectionChanged"
:column-width="100"
@exporting="onExporting"
:allow-column-resizing="true"
@@ -40,9 +40,20 @@
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
@@ -119,18 +169,20 @@
@@ -139,22 +191,161 @@
+
+
+
+ {{
+ 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) : '-' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -165,17 +356,21 @@ import {
DxColumn,
DxColumnFixing,
DxExport,
+ DxGroupItem,
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)
@@ -189,6 +384,16 @@ const props = defineProps({
}
})
const data = computed(() => props.data)
+const dataSub = ref([])
+const dataSelected = ref({})
+const dataSubSelected = ref({})
+const showDetail = ref(false)
+const showData = () => {
+ showDetail.value = true
+}
+const closeDetail = () => {
+ showDetail.value = false
+}
const loading = ref(computed(() => props.loading))
const onExporting = (e: any) => {
@@ -220,8 +425,8 @@ const onExporting = (e: any) => {
}
}
-const onSelectionChanged = ({ selectedRowsData }: any) => {
- const data = selectedRowsData[0]
+const onDataSelectionChanged = ({ selectedRowsData }: any) => {
+ dataSelected.value = selectedRowsData[0]
console.log(data)
}
diff --git a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU.vue b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU.vue
index 68ddb01..5607a4b 100644
--- a/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU.vue
+++ b/src/components/Pages/Anomali/Gangguan/Anomali_LAPPGU.vue
@@ -31,7 +31,7 @@ const filterData = (params: any) => {
jenisLaporan.name == 'Laporan Berulang Unit'
? queries.anomali.gangguan.unitBerulang
: jenisLaporan.name == 'Laporan Rating Negatif'
- ? queries.anomali.gangguan.ratingNegatif
+ ? queries.anomali.gangguan.unitRatingNegatif
: queries.anomali.gangguan.unitSkipStep,
{
dateFrom: new Date().toISOString().slice(0, 10),
diff --git a/src/utils/api/api.graphql.ts b/src/utils/api/api.graphql.ts
index 30624ba..aa9ca71 100755
--- a/src/utils/api/api.graphql.ts
+++ b/src/utils/api/api.graphql.ts
@@ -2147,7 +2147,7 @@ export const queries = {
}
}
`,
- ratingNegatif: gql`
+ unitRatingNegatif: gql`
query anomaliPenangananPengaduanGangguanUnitRatingNegatif(
#$namaRegional: String!
$idUlp: Int!
@@ -2224,6 +2224,111 @@ export const queries = {
persen_anomali_non_marking
}
}
+ `,
+ petugasBerulang: gql`
+ query anomaliPenangananPengaduanGangguanPetugasBerulang(
+ #$namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliPenangananPengaduanGangguanPetugasBerulang(
+ #namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ total_petugas
+ anomali_pln_mobile_marking
+ anomali_pln_mobile_non_marking
+ anomali_cc123_marking
+ anomali_cc123_non_marking
+ total_anomali_marking
+ total_anomali_non_marking
+ persen_anomali_pln_mobile_marking
+ persen_anomali_pln_mobile_non_marking
+ persen_anomali_cc123_marking
+ persen_anomali_cc123_non_marking
+ persen_anomali_marking
+ persen_anomali_non_marking
+ }
+ }
+ `,
+ petugasRatingNegatif: gql`
+ query anomaliPenangananPengaduanGangguanPetugasRatingNegatif(
+ #$namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliPenangananPengaduanGangguanPetugasRatingNegatif(
+ #namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ total_petugas
+ anomali_pln_mobile_marking
+ anomali_pln_mobile_non_marking
+ anomali_cc123_marking
+ anomali_cc123_non_marking
+ total_anomali_marking
+ total_anomali_non_marking
+ persen_anomali_pln_mobile_marking
+ persen_anomali_pln_mobile_non_marking
+ persen_anomali_cc123_marking
+ persen_anomali_cc123_non_marking
+ persen_anomali_marking
+ persen_anomali_non_marking
+ }
+ }
+ `,
+ petugasSkipStep: gql`
+ query anomaliPenangananPengaduanGangguanPetugasSkipStep(
+ $namaRegional: String!
+ $idUlp: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ ) {
+ anomaliPenangananPengaduanGangguanPetugasSkipStep(
+ namaRegional: $namaRegional
+ idUlp: $idUlp
+ idUid: $idUid
+ idUp3: $idUp3
+ ) {
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_ulp
+ nama_ulp
+ total_petugas
+ anomali_pln_mobile_marking
+ anomali_pln_mobile_non_marking
+ anomali_cc123_marking
+ anomali_cc123_non_marking
+ total_anomali_marking
+ total_anomali_non_marking
+ persen_anomali_pln_mobile_marking
+ persen_anomali_pln_mobile_non_marking
+ persen_anomali_cc123_marking
+ persen_anomali_cc123_non_marking
+ persen_anomali_marking
+ persen_anomali_non_marking
+ }
+ }
`
}
}