diff --git a/src/components/Form/FiltersType/Type14.vue b/src/components/Form/FiltersType/Type14.vue
index f705d7d..e405774 100644
--- a/src/components/Form/FiltersType/Type14.vue
+++ b/src/components/Form/FiltersType/Type14.vue
@@ -29,6 +29,9 @@
diff --git a/src/components/Form/FiltersType/Type15.vue b/src/components/Form/FiltersType/Type15.vue
index 1760098..5492379 100644
--- a/src/components/Form/FiltersType/Type15.vue
+++ b/src/components/Form/FiltersType/Type15.vue
@@ -20,6 +20,9 @@
diff --git a/src/components/Form/FiltersType/Type16.vue b/src/components/Form/FiltersType/Type16.vue
index 61a8e47..05e4601 100644
--- a/src/components/Form/FiltersType/Type16.vue
+++ b/src/components/Form/FiltersType/Type16.vue
@@ -1,6 +1,8 @@
diff --git a/src/components/Form/FiltersType/Type17.vue b/src/components/Form/FiltersType/Type17.vue
index 90b56cb..5f752f9 100644
--- a/src/components/Form/FiltersType/Type17.vue
+++ b/src/components/Form/FiltersType/Type17.vue
@@ -8,7 +8,10 @@
diff --git a/src/components/Form/FiltersType/Type18.vue b/src/components/Form/FiltersType/Type18.vue
index 422ead4..fd8c3ab 100644
--- a/src/components/Form/FiltersType/Type18.vue
+++ b/src/components/Form/FiltersType/Type18.vue
@@ -3,7 +3,7 @@ import Select from '@/components/Select.vue'
import SelectMulti from '@/components/SelectMulti.vue'
import DatePicker from '@/components/DatePicker.vue'
-import { selectedUid, selectedUppp, selectedPosko ,fetchData, items,itemsUp3, itemsPosko} from './reference';
+import { selectedUid, selectedUp3Posko, selectedPosko ,fetchUid, itemsUid,itemsUp3, itemsPosko} from './reference';
fetchData();
const departments = [
@@ -20,13 +20,13 @@ const departments = [
Unit Induk Distribusi/Wilayah:
-
+
Unit Pelaksanaan Pelayanan Pelanggan:
-
diff --git a/src/components/Form/FiltersType/Type2.vue b/src/components/Form/FiltersType/Type2.vue
index 0f1db07..1e89bf4 100644
--- a/src/components/Form/FiltersType/Type2.vue
+++ b/src/components/Form/FiltersType/Type2.vue
@@ -1,8 +1,7 @@
diff --git a/src/components/Form/FiltersType/Type4.vue b/src/components/Form/FiltersType/Type4.vue
index 8bbb211..524e921 100644
--- a/src/components/Form/FiltersType/Type4.vue
+++ b/src/components/Form/FiltersType/Type4.vue
@@ -37,6 +37,9 @@
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type5.vue b/src/components/Form/FiltersType/Type5.vue
index 1e4286f..877e7fa 100644
--- a/src/components/Form/FiltersType/Type5.vue
+++ b/src/components/Form/FiltersType/Type5.vue
@@ -27,6 +27,9 @@
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type6.vue b/src/components/Form/FiltersType/Type6.vue
index b336b66..1aaa92b 100644
--- a/src/components/Form/FiltersType/Type6.vue
+++ b/src/components/Form/FiltersType/Type6.vue
@@ -2,7 +2,7 @@
import InputNumber from '@/components/Form/InputNumber.vue'
import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue'
- import { selectedUid, selectedUppp, selectedPosko ,fetchData, items,itemsUp3, itemsPosko} from './reference';
+ import { selectedUid, selectedUp3Posko, selectedPosko ,fetchUid, itemsUid,itemsUp3, itemsPosko} from './reference';
import { useTotalReport } from '@/stores/totalReport';
fetchData();
const changeMinReport = (value: any) => {
@@ -17,7 +17,7 @@ import { useTotalReport } from '@/stores/totalReport';
Unit Induk Distribusi/Wilayah:
-
+
@@ -25,7 +25,7 @@ import { useTotalReport } from '@/stores/totalReport';
>Unit Pelaksanaan Pelayanan Pelanggan:
-
+
@@ -37,7 +37,10 @@ import { useTotalReport } from '@/stores/totalReport';
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type7.vue b/src/components/Form/FiltersType/Type7.vue
index fb5e817..ae54627 100644
--- a/src/components/Form/FiltersType/Type7.vue
+++ b/src/components/Form/FiltersType/Type7.vue
@@ -61,7 +61,10 @@ import { ref } from 'vue';
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type8.vue b/src/components/Form/FiltersType/Type8.vue
index 467c9cd..db03adb 100644
--- a/src/components/Form/FiltersType/Type8.vue
+++ b/src/components/Form/FiltersType/Type8.vue
@@ -21,6 +21,9 @@
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type9.vue b/src/components/Form/FiltersType/Type9.vue
index ebbe9f1..5e9fd0c 100644
--- a/src/components/Form/FiltersType/Type9.vue
+++ b/src/components/Form/FiltersType/Type9.vue
@@ -28,7 +28,10 @@
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/reference.ts b/src/components/Form/FiltersType/reference.ts
index a2642e2..de13f8c 100644
--- a/src/components/Form/FiltersType/reference.ts
+++ b/src/components/Form/FiltersType/reference.ts
@@ -1,12 +1,11 @@
-import { getUid, getUp3, getPosko, getUlp } from '@/utils/network'
-import { ref } from 'vue'
import { usePostsStore } from '@/stores/posts'
-import { useUp3Store } from '@/stores/up3'
import { useRegionStore } from '@/stores/region'
import { useUlpStore } from '@/stores/ulp'
-
+import { useUp3Store } from '@/stores/up3'
+import { getUid, getUp3, getPosko, getUlp } from '@/utils/network'
+import { ref } from 'vue'
interface Item {
- id: number
+ id: any
name: any
}
const months = [
@@ -29,15 +28,30 @@ const years = ref
- ([])
for (let i = 0; i < 5; i++) {
years.value.push({ id: year - i, name: year - i })
}
-
-// Create a ref to store the items
const itemsUid = ref
- ([])
const itemsUp3 = ref
- ([])
const itemsPosko = ref
- ([])
const itemsUlp = ref
- ([])
const itemsRegional = ref
- ([])
const itemsMedia = ref
- ([])
-
+// Fetch data from the API using Axios
+const fetchMedia = () => {
+ itemsMedia.value = [
+ { id: 'Ulasan Aplikasi PLN Mobile', name: 'Ulasan Aplikasi PLN Mobile' },
+ { id: 'Twitter', name: 'Twitter' },
+ { id: 'PLN Mobile', name: 'PLN Mobile' },
+ { id: 'Media Massa', name: 'Media Massa' },
+ { id: 'Live Chat Website', name: 'Live Chat Website' },
+ { id: 'Live Chat PLN Mobile', name: 'Live Chat PLN Mobile' },
+ { id: 'Instagram', name: 'Instagram' },
+ { id: 'Facebook', name: 'Facebook' },
+ { id: 'Email', name: 'Email' },
+ { id: 'EMS', name: 'EMS' },
+ { id: 'Datang ke Kantor', name: 'Datang ke Kantor' },
+ { id: 'Call ke Kantor Unit', name: 'Call ke Kantor Unit' },
+ { id: 'Call PLN 123', name: 'Call PLN 123' }
+ ]
+}
// Fetch data from the API using Axios
const fetchUid = async () => {
try {
@@ -84,6 +98,31 @@ const fetchDataPosko = async (up3: number) => {
console.error('Error fetching data:', error)
}
}
+const fetchRegional = () => {
+ itemsRegional.value = [
+ { id: '1', name: 'Wilayah Sumatera' },
+ { id: '2', name: 'Wilayah Jawa Bali' },
+ { id: '3', name: 'Wilayah Kalimantan' },
+ { id: '4', name: 'Wilayah Sulawesi' },
+ { id: '5', name: 'Wilayah Nusa Tenggara' },
+ { id: '6', name: 'Wilayah Maluku Papua' }
+ ]
+}
+const fetchStatus = (data: any) => {
+ const status = [
+ { id: '8', name: 'Selesai' },
+ { id: '7', name: 'Nyala' },
+ { id: '6', name: 'Pengalihan' },
+ { id: '5', name: 'Dialihkan' },
+ { id: '4', name: 'Dalam Pengerjaan' },
+ { id: '3', name: 'Dalam Perjalanan' },
+ { id: '2', name: 'Penugasan Regu' },
+ { id: '1', name: 'lapor' }
+ ]
+ const filteredStatus = status.find((item) => item.id == data)
+ const name = filteredStatus ? filteredStatus.name : null
+ return name
+}
const selectedUid = (value: any) => {
useRegionStore().setData(value.id)
fetchDataUp3(value.id)
@@ -111,7 +150,10 @@ export {
selectedUp3Ulp,
selectedPosko,
selectedUlp,
+ fetchRegional,
fetchUid,
+ fetchMedia,
+ fetchStatus,
itemsUid,
itemsUp3,
itemsPosko,
diff --git a/src/components/Pages/Gangguan/Table_1.vue b/src/components/Pages/Gangguan/Table_1.vue
index 83debbb..1005af0 100644
--- a/src/components/Pages/Gangguan/Table_1.vue
+++ b/src/components/Pages/Gangguan/Table_1.vue
@@ -1,5 +1,13 @@
- console.log(filters)" class="mb-4">
+ {
+ console.log(filters)
+ filterData(filters)
+ }
+ "
+ class="mb-4"
+ >
{
@@ -53,23 +61,6 @@
:allow-export-selected-data="false"
/>
-
-
-
@@ -90,7 +81,7 @@
css-class="custom-table-column"
:width="150"
alignment="center"
- data-field="tanggal_dialihkan"
+ data-field="waktu_dialihkan"
caption="Tgl Dialihkan"
cell-template="data"
/>
@@ -98,7 +89,7 @@
css-class="custom-table-column"
:width="150"
alignment="center"
- data-field="tanggal_respon"
+ data-field="waktu_response"
caption="Tgl Response"
cell-template="data"
/>
@@ -106,7 +97,7 @@
css-class="custom-table-column"
:width="150"
alignment="center"
- data-field="tanggal_recovery"
+ data-field="waktu_recovery"
caption="Tgl Recovery"
cell-template="data"
/>
@@ -232,22 +223,22 @@
Tanggal Laporan:
-
+
Tanggal Dialihkan:
-
+
Tanggal Respon:
-
+
Tanggal Recovery:
-
+
@@ -319,10 +310,8 @@
diff --git a/src/components/Pages/Gangguan/Table_10.vue b/src/components/Pages/Gangguan/Table_10.vue
index d031035..52dd7f9 100644
--- a/src/components/Pages/Gangguan/Table_10.vue
+++ b/src/components/Pages/Gangguan/Table_10.vue
@@ -1,10 +1,10 @@
-
+
@@ -15,63 +15,61 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
@@ -82,56 +80,69 @@
import { computed, onMounted, ref, watch } from 'vue'
import { useFiltersStore } from '@/stores/filters'
import { DxDataGrid } from 'devextreme-vue'
-import { DxColumn, DxColumnFixing, DxExport, DxLoadPanel, DxPaging, DxScrolling, DxSearchPanel, DxSelection } from 'devextreme-vue/data-grid'
+import {
+ DxColumn,
+ DxColumnFixing,
+ DxExport,
+ DxLoadPanel,
+ DxPaging,
+ DxScrolling,
+ DxSearchPanel,
+ DxSelection
+} 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 gql from 'graphql-tag';
+import gql from 'graphql-tag'
import { useDateStore } from '@/stores/date'
import { useSearchStore } from '@/stores/filtersAction'
import { usePostsStore } from '@/stores/posts'
import { useRegionStore } from '@/stores/region'
import { useUp3Store } from '@/stores/up3'
import { useQuery } from '@vue/apollo-composable'
-const position = { of: '#data' };
-const showIndicator = ref(true);
-const shading = ref(true);
-const showPane = ref(true);
+const position = { of: '#data' }
+const showIndicator = ref(true)
+const shading = ref(true)
+const showPane = ref(true)
const data = ref([])
const GET_REKAP_JENIS_GANGGUAN_SE004 = gql`
-query daftarGangguanRecoveryTime(
+ query rekapitulasiJenisGangguanSE004(
$dateFrom: Date!
$dateTo: Date!
$posko: String!
$idUid: Int!
$idUp3: Int!
-) {
- daftarKeluhanRecoveryTime(
- dateFrom: $dateFrom
- dateTo: $dateTo
- posko: $posko
- idUid: $idUid
- idUp3: $idUp3
+ ) {
+ rekapitulasiJenisGangguanSE004(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ posko: $posko
+ idUid: $idUid
+ idUp3: $idUp3
) {
- alamat_pelapor
- durasi_recovery_time
- durasi_response_time
- id_gangguan
- idpel_nometer
- keterangan_pelapor
- media
- nama_pelapor
- no_laporan
- no_telp_pelapor
- posko
- status_akhir
- waktu_recovery
- waktu_response
- }
-}`;
-const loadingVisible = ref(true)
+ sub_kelompok
+ total
+ selesai
+ persen_selesai
+ in_process
+ persen_in_process
+ total_durasi_response
+ avg_waktu_response_time
+ max_durasi_response
+ min_durasi_response
+ diatas_sla_durasi_response
+ dibawah_sla_durasi_response
+ total_durasi_recovery
+ avg_waktu_recovery_time
+ max_durasi_recovery
+ min_durasi_recovery
+ diatas_sla_durasi_recovery
+ dibawah_sla_durasi_recovery
+ }
+ }
+`
const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
@@ -139,7 +150,7 @@ const onExporting = (e: any) => {
exportToPdf({
jsPDFDocument: doc,
component: e.component,
- indent: 5,
+ indent: 5
}).then(() => {
doc.save(`.pdf`)
})
@@ -150,7 +161,7 @@ const onExporting = (e: any) => {
exportToExcel({
component: e.component,
worksheet,
- autoFilterEnabled: true,
+ autoFilterEnabled: true
}).then(() => {
workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
@@ -163,15 +174,15 @@ const onExporting = (e: any) => {
const { onResult, onError, loading, refetch } = useQuery(GET_REKAP_JENIS_GANGGUAN_SE004, {
dateFrom: new Date().toISOString().slice(0, 10),
dateTo: new Date().toISOString().slice(0, 10),
- posko: "",
+ posko: '',
idUid: 0,
- idUp3: 0,
+ idUp3: 0
})
const reportButton = useSearchStore()
const detected = computed(() => reportButton.isTriggerChange)
watch(detected, () => {
- const dateValue = useDateStore().getDateValue().split(' s/d ');
- const posko = usePostsStore().getData() ? usePostsStore().getData() : ""
+ const dateValue = useDateStore().getDateValue().split(' s/d ')
+ const posko = usePostsStore().getData() ? usePostsStore().getData() : ''
const up3 = useUp3Store().getData() ? useUp3Store().getData() : 0
const uid = useRegionStore().getData() ? useRegionStore().getData() : 0
refetch({
@@ -179,22 +190,17 @@ watch(detected, () => {
dateTo: dateValue[1].split('-').reverse().join('-'),
posko,
idUid: uid,
- idUp3: up3,
+ idUp3: up3
})
- onResult(queryResult => {
+ onResult((queryResult) => {
if (queryResult.data != undefined) {
- queryResult.data.rekapitulasiAllGangguan.forEach((item: any) => {
- data.value = [...data.value, {
- ...item,
- kode: 'Kode'
- }];
- })
+ data.value = queryResult.data.rekapitulasiJenisGangguanSE004;
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
}
- console.log(queryResult.loading)
- console.log(queryResult.networkStatus)
})
- onError(queryError => {
+ onError((queryError) => {
console.log(queryError)
})
})
@@ -212,4 +218,4 @@ onMounted(() => {
reportButton: true
})
})
-
\ No newline at end of file
+
diff --git a/src/components/Pages/Gangguan/Table_14.vue b/src/components/Pages/Gangguan/Table_14.vue
index e2db059..af2873c 100644
--- a/src/components/Pages/Gangguan/Table_14.vue
+++ b/src/components/Pages/Gangguan/Table_14.vue
@@ -12,17 +12,14 @@
-
+
-
@@ -31,18 +28,27 @@
import { onMounted, ref } from 'vue'
import { useFiltersStore } from '@/stores/filters'
import { DxDataGrid } from 'devextreme-vue'
-import { DxColumn, DxColumnFixing, DxExport, DxLoadPanel, DxPaging, DxScrolling, DxSearchPanel, DxSelection } from 'devextreme-vue/data-grid'
+import {
+ DxColumn,
+ DxColumnFixing,
+ DxExport,
+ DxLoadPanel,
+ DxPaging,
+ DxScrolling,
+ DxSearchPanel,
+ DxSelection
+} 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 { useQuery } from '@vue/apollo-composable'
-import gql from 'graphql-tag';
-const position = { of: '#data' };
-const showIndicator = ref(true);
-const shading = ref(true);
-const showPane = ref(true);
+import gql from 'graphql-tag'
+const position = { of: '#data' }
+const showIndicator = ref(true)
+const shading = ref(true)
+const showPane = ref(true)
const onExporting = (e: any) => {
if (e.format === 'pdf') {
const doc = new jsPDF()
@@ -50,7 +56,7 @@ const onExporting = (e: any) => {
exportToPdf({
jsPDFDocument: doc,
component: e.component,
- indent: 5,
+ indent: 5
}).then(() => {
doc.save(`.pdf`)
})
@@ -61,7 +67,7 @@ const onExporting = (e: any) => {
exportToExcel({
component: e.component,
worksheet,
- autoFilterEnabled: true,
+ autoFilterEnabled: true
}).then(() => {
workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
@@ -77,71 +83,71 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
console.log(data)
}
-
const data = ref
([])
const GET_REKAPITULASI_BERDASARKAN_MEDIA = gql`
-query rekapitulasiGangguanBerdasarkanMedia(
+ query rekapitulasiGangguanBerdasarkanMedia(
$dateFrom: Date!
$dateTo: Date!
$posko: String!
$idUid: Int!
$idUp3: Int!
-) {
+ ) {
rekapitulasiGangguanBerdasarkanMedia(
- dateFrom: $dateFrom
- dateTo: $dateTo
- posko: $posko
- idUid: $idUid
- idUp3: $idUp3
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ posko: $posko
+ idUid: $idUid
+ idUp3: $idUp3
) {
- media
- tgl1
- tgl10
- tgl11
- tgl12
- tgl13
- tgl14
- tgl15
- tgl16
- tgl17
- tgl18
- tgl19
- tgl2
- tgl20
- tgl21
- tgl22
- tgl23
- tgl24
- tgl25
- tgl26
- tgl27
- tgl28
- tgl29
- tgl3
- tgl30
- tgl31
- tgl4
- tgl5
- tgl6
- tgl7
- tgl8
- tgl9
- }
-}`;
+ media
+ tgl1
+ tgl10
+ tgl11
+ tgl12
+ tgl13
+ tgl14
+ tgl15
+ tgl16
+ tgl17
+ tgl18
+ tgl19
+ tgl2
+ tgl20
+ tgl21
+ tgl22
+ tgl23
+ tgl24
+ tgl25
+ tgl26
+ tgl27
+ tgl28
+ tgl29
+ tgl3
+ tgl30
+ tgl31
+ tgl4
+ tgl5
+ tgl6
+ tgl7
+ tgl8
+ tgl9
+ }
+ }
+`
const loadingVisible = ref(true)
onMounted(() => {
const filters = useFiltersStore()
const { onResult, onError } = useQuery(GET_REKAPITULASI_BERDASARKAN_MEDIA, {
- dateFrom: new Date("2023-10-01").toISOString().slice(0, 10),
- dateTo: new Date("2023-10-01").toISOString().slice(0, 10),
- posko: "",
+ dateFrom: new Date('2023-10-01').toISOString().slice(0, 10),
+ dateTo: new Date('2023-10-01').toISOString().slice(0, 10),
+ posko: '',
idUid: 0,
- idUp3: 0,
+ idUp3: 0
})
- onResult(queryResult => {
+ onResult((queryResult) => {
if (queryResult.data != undefined) {
- data.value = queryResult.data.rekapitulasiGangguanBerdasarkanMedia;
+ data.value = queryResult.data.rekapitulasiGangguanBerdasarkanMedia
loadingVisible.value = false
}
console.log(queryResult.data)
@@ -156,4 +162,4 @@ onMounted(() => {
reportButton: true
})
})
-
\ No newline at end of file
+
diff --git a/src/components/Pages/Gangguan/Table_2.vue b/src/components/Pages/Gangguan/Table_2.vue
index d27ea20..5583ee0 100644
--- a/src/components/Pages/Gangguan/Table_2.vue
+++ b/src/components/Pages/Gangguan/Table_2.vue
@@ -23,11 +23,11 @@
caption="No" />
-
-
-
@@ -73,21 +73,21 @@
Tanggal Lapor:
-
+
Tanggal Response:
-
+
Tanggal Recovery:
-
+
@@ -272,7 +272,6 @@ watch(detected, () => {
})
onMounted(() => {
const filters = useFiltersStore()
-
filters.setConfig({
type: 'type-6',
})
diff --git a/src/components/Pages/Gangguan/Table_3.vue b/src/components/Pages/Gangguan/Table_3.vue
index 82701f7..e15ff4e 100644
--- a/src/components/Pages/Gangguan/Table_3.vue
+++ b/src/components/Pages/Gangguan/Table_3.vue
@@ -16,11 +16,11 @@
-
-
-
diff --git a/src/components/Pages/Gangguan/Table_4.vue b/src/components/Pages/Gangguan/Table_4.vue
index 2bcb884..0db1f34 100644
--- a/src/components/Pages/Gangguan/Table_4.vue
+++ b/src/components/Pages/Gangguan/Table_4.vue
@@ -16,11 +16,11 @@
-
-
-
diff --git a/src/components/Pages/Gangguan/Table_5.vue b/src/components/Pages/Gangguan/Table_5.vue
index 7146857..fae4d7e 100644
--- a/src/components/Pages/Gangguan/Table_5.vue
+++ b/src/components/Pages/Gangguan/Table_5.vue
@@ -16,11 +16,11 @@
-
-
-
diff --git a/src/components/Pages/Gangguan/Table_6.vue b/src/components/Pages/Gangguan/Table_6.vue
index 44ffa4e..43392f7 100644
--- a/src/components/Pages/Gangguan/Table_6.vue
+++ b/src/components/Pages/Gangguan/Table_6.vue
@@ -21,16 +21,16 @@
-
-
+
-
-
+
diff --git a/src/components/Pages/Gangguan/Table_7.vue b/src/components/Pages/Gangguan/Table_7.vue
index 0be8d99..cf148b1 100644
--- a/src/components/Pages/Gangguan/Table_7.vue
+++ b/src/components/Pages/Gangguan/Table_7.vue
@@ -16,11 +16,11 @@
-
-
-
diff --git a/src/components/Pages/Gangguan/Table_9.vue b/src/components/Pages/Gangguan/Table_9.vue
index a9208a5..711defc 100644
--- a/src/components/Pages/Gangguan/Table_9.vue
+++ b/src/components/Pages/Gangguan/Table_9.vue
@@ -1,14 +1,14 @@
-
-
@@ -119,64 +119,83 @@
import { computed, onMounted, ref, watch } from 'vue'
import { useFiltersStore } from '@/stores/filters'
import { DxDataGrid } from 'devextreme-vue'
-import { DxColumn, DxColumnFixing, DxExport, DxGroupItem, DxGroupPanel, DxGrouping, DxLoadPanel, DxPaging, DxScrolling, DxSearchPanel, DxSelection, DxSummary } from 'devextreme-vue/data-grid'
+import {
+ DxColumn,
+ DxColumnFixing,
+ DxExport,
+ DxGroupItem,
+ DxGroupPanel,
+ DxGrouping,
+ DxLoadPanel,
+ DxPaging,
+ DxScrolling,
+ DxSearchPanel,
+ 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 gql from 'graphql-tag';
+import gql from 'graphql-tag'
import { useDateStore } from '@/stores/date'
import { useSearchStore } from '@/stores/filtersAction'
import { usePostsStore } from '@/stores/posts'
import { useRegionStore } from '@/stores/region'
import { useUp3Store } from '@/stores/up3'
import { useQuery } from '@vue/apollo-composable'
-const position = { of: '#data' };
-const showIndicator = ref(true);
-const shading = ref(true);
-const showPane = ref(true);
+const position = { of: '#data' }
+const showIndicator = ref(true)
+const shading = ref(true)
+const showPane = ref(true)
const dataReal = ref([])
-const GET_DAFTAR_GANGGUAN_RECOVERY_TIME = gql`
-query daftarGangguanRecoveryTime(
+const GET_REKAP_JENIS_GANGGUAN = gql`
+ query daftarGangguanRecoveryTime(
$dateFrom: Date!
$dateTo: Date!
$posko: String!
$idUid: Int!
$idUp3: Int!
-) {
- daftarKeluhanRecoveryTime(
- dateFrom: $dateFrom
- dateTo: $dateTo
- minDurasiRecoveryTime: $minDurasiRecoveryTime
- maxDurasiRecoveryTime: $maxDurasiRecoveryTime
- posko: $posko
- idUid: $idUid
- idUp3: $idUp3
+ ) {
+ rekapitulasiJenisGangguan(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ posko: $posko
+ idUid: $idUid
+ idUp3: $idUp3
) {
- alamat_pelapor
- durasi_recovery_time
- durasi_response_time
- id_gangguan
- idpel_nometer
- keterangan_pelapor
- media
- nama_pelapor
- no_laporan
- no_telp_pelapor
- posko
- status_akhir
- waktu_recovery
- waktu_response
- }
-}`;
-const { onResult, onError, loading, refetch } = useQuery(GET_DAFTAR_GANGGUAN_RECOVERY_TIME, {
+ avg_durasi_dispatch
+ avg_durasi_recovery
+ avg_durasi_response
+ max_durasi_dispatch
+ max_durasi_recovery
+ max_durasi_response
+ min_durasi_dispatch
+ min_durasi_recovery
+ min_durasi_response
+ persen_inproses
+ persen_selesai
+ tipe_permasalahan
+ total
+ total_diatas_sla_dispatch
+ total_diatas_sla_recovery
+ total_diatas_sla_response
+ total_dibawah_sla_recovery
+ total_dibawah_sla_response
+ total_dibawah_sla_dispatch
+ total_inproses
+ total_selesai
+ }
+ }
+`
+const { onResult, onError, loading, refetch } = useQuery(GET_REKAP_JENIS_GANGGUAN, {
dateFrom: new Date().toISOString().slice(0, 10),
dateTo: new Date().toISOString().slice(0, 10),
- posko: "",
+ posko: '',
idUid: 0,
- idUp3: 0,
+ idUp3: 0
})
const onExporting = (e: any) => {
if (e.format === 'pdf') {
@@ -185,7 +204,7 @@ const onExporting = (e: any) => {
exportToPdf({
jsPDFDocument: doc,
component: e.component,
- indent: 5,
+ indent: 5
}).then(() => {
doc.save(`.pdf`)
})
@@ -196,7 +215,7 @@ const onExporting = (e: any) => {
exportToExcel({
component: e.component,
worksheet,
- autoFilterEnabled: true,
+ autoFilterEnabled: true
}).then(() => {
workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
@@ -221,36 +240,36 @@ const data = [
total: 10,
sudahSelesai: {
jml: 5,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 5,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
},
recoveryTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
}
},
{
@@ -261,36 +280,36 @@ const data = [
total: 10,
sudahSelesai: {
jml: 5,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 5,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
},
recoveryTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
}
},
{
@@ -301,36 +320,36 @@ const data = [
total: 10,
sudahSelesai: {
jml: 5,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 5,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
},
recoveryTime: {
menit: {
total: 10,
rataRata: 10,
max: 10,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
}
},
{
@@ -341,36 +360,36 @@ const data = [
total: 12,
sudahSelesai: {
jml: 6,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 6,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 15,
rataRata: 12.5,
max: 18,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 7,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
},
recoveryTime: {
menit: {
total: 18,
rataRata: 15,
max: 20,
- min: 12,
+ min: 12
},
laporan: {
lebihSla: 8,
- kurangSla: 4,
- },
+ kurangSla: 4
+ }
}
},
{
@@ -381,36 +400,36 @@ const data = [
total: 8,
sudahSelesai: {
jml: 4,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 4,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 14,
rataRata: 14,
max: 16,
- min: 12,
+ min: 12
},
laporan: {
lebihSla: 6,
- kurangSla: 2,
- },
+ kurangSla: 2
+ }
},
recoveryTime: {
menit: {
total: 22,
rataRata: 16,
max: 26,
- min: 14,
+ min: 14
},
laporan: {
lebihSla: 9,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
}
},
{
@@ -421,36 +440,36 @@ const data = [
total: 8,
sudahSelesai: {
jml: 4,
- persen: 50,
+ persen: 50
},
belumSelesai: {
jml: 4,
- persen: 50,
- },
+ persen: 50
+ }
},
responseTime: {
menit: {
total: 12,
rataRata: 15,
max: 18,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 6,
- kurangSla: 2,
- },
+ kurangSla: 2
+ }
},
recoveryTime: {
menit: {
total: 16,
rataRata: 18,
max: 22,
- min: 14,
+ min: 14
},
laporan: {
lebihSla: 8,
- kurangSla: 0,
- },
+ kurangSla: 0
+ }
}
},
{
@@ -461,36 +480,36 @@ const data = [
total: 15,
sudahSelesai: {
jml: 10,
- persen: 66.67,
+ persen: 66.67
},
belumSelesai: {
jml: 5,
- persen: 33.33,
- },
+ persen: 33.33
+ }
},
responseTime: {
menit: {
total: 20,
rataRata: 13.33,
max: 24,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 9,
- kurangSla: 6,
- },
+ kurangSla: 6
+ }
},
recoveryTime: {
menit: {
total: 25,
rataRata: 16.67,
max: 30,
- min: 14,
+ min: 14
},
laporan: {
lebihSla: 12,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
}
},
{
@@ -501,36 +520,36 @@ const data = [
total: 7,
sudahSelesai: {
jml: 2,
- persen: 28.57,
+ persen: 28.57
},
belumSelesai: {
jml: 5,
- persen: 71.43,
- },
+ persen: 71.43
+ }
},
responseTime: {
menit: {
total: 18,
rataRata: 9,
max: 20,
- min: 6,
+ min: 6
},
laporan: {
lebihSla: 1,
- kurangSla: 6,
- },
+ kurangSla: 6
+ }
},
recoveryTime: {
menit: {
total: 28,
rataRata: 14,
max: 30,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 4,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
}
},
{
@@ -541,36 +560,36 @@ const data = [
total: 12,
sudahSelesai: {
jml: 8,
- persen: 66.67,
+ persen: 66.67
},
belumSelesai: {
jml: 4,
- persen: 33.33,
- },
+ persen: 33.33
+ }
},
responseTime: {
menit: {
total: 24,
rataRata: 20,
max: 28,
- min: 16,
+ min: 16
},
laporan: {
lebihSla: 9,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
},
recoveryTime: {
menit: {
total: 32,
rataRata: 26,
max: 36,
- min: 22,
+ min: 22
},
laporan: {
lebihSla: 11,
- kurangSla: 1,
- },
+ kurangSla: 1
+ }
}
},
{
@@ -581,36 +600,36 @@ const data = [
total: 15,
sudahSelesai: {
jml: 12,
- persen: 80,
+ persen: 80
},
belumSelesai: {
jml: 3,
- persen: 20,
- },
+ persen: 20
+ }
},
responseTime: {
menit: {
total: 22,
rataRata: 14.67,
max: 26,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 11,
- kurangSla: 4,
- },
+ kurangSla: 4
+ }
},
recoveryTime: {
menit: {
total: 30,
rataRata: 20,
max: 36,
- min: 16,
+ min: 16
},
laporan: {
lebihSla: 13,
- kurangSla: 2,
- },
+ kurangSla: 2
+ }
}
},
{
@@ -621,36 +640,36 @@ const data = [
total: 9,
sudahSelesai: {
jml: 6,
- persen: 66.67,
+ persen: 66.67
},
belumSelesai: {
jml: 3,
- persen: 33.33,
- },
+ persen: 33.33
+ }
},
responseTime: {
menit: {
total: 18,
rataRata: 12,
max: 22,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 8,
- kurangSla: 1,
- },
+ kurangSla: 1
+ }
},
recoveryTime: {
menit: {
total: 28,
rataRata: 18.67,
max: 34,
- min: 16,
+ min: 16
},
laporan: {
lebihSla: 10,
- kurangSla: 2,
- },
+ kurangSla: 2
+ }
}
},
{
@@ -661,36 +680,36 @@ const data = [
total: 11,
sudahSelesai: {
jml: 7,
- persen: 63.64,
+ persen: 63.64
},
belumSelesai: {
jml: 4,
- persen: 36.36,
- },
+ persen: 36.36
+ }
},
responseTime: {
menit: {
total: 20,
rataRata: 14.29,
max: 24,
- min: 12,
+ min: 12
},
laporan: {
lebihSla: 8,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
},
recoveryTime: {
menit: {
total: 32,
rataRata: 22.86,
max: 36,
- min: 18,
+ min: 18
},
laporan: {
lebihSla: 11,
- kurangSla: 1,
- },
+ kurangSla: 1
+ }
}
},
{
@@ -701,36 +720,36 @@ const data = [
total: 7,
sudahSelesai: {
jml: 5,
- persen: 71.43,
+ persen: 71.43
},
belumSelesai: {
jml: 2,
- persen: 28.57,
- },
+ persen: 28.57
+ }
},
responseTime: {
menit: {
total: 16,
rataRata: 12.8,
max: 20,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 4,
- kurangSla: 3,
- },
+ kurangSla: 3
+ }
},
recoveryTime: {
menit: {
total: 26,
rataRata: 20.8,
max: 30,
- min: 18,
+ min: 18
},
laporan: {
lebihSla: 7,
- kurangSla: 0,
- },
+ kurangSla: 0
+ }
}
},
{
@@ -741,36 +760,36 @@ const data = [
total: 14,
sudahSelesai: {
jml: 10,
- persen: 71.43,
+ persen: 71.43
},
belumSelesai: {
jml: 4,
- persen: 28.57,
- },
+ persen: 28.57
+ }
},
responseTime: {
menit: {
total: 22,
rataRata: 15.71,
max: 28,
- min: 10,
+ min: 10
},
laporan: {
lebihSla: 5,
- kurangSla: 6,
- },
+ kurangSla: 6
+ }
},
recoveryTime: {
menit: {
total: 32,
rataRata: 22.86,
max: 36,
- min: 18,
+ min: 18
},
laporan: {
lebihSla: 7,
- kurangSla: 7,
- },
+ kurangSla: 7
+ }
}
},
{
@@ -781,36 +800,36 @@ const data = [
total: 10,
sudahSelesai: {
jml: 8,
- persen: 80,
+ persen: 80
},
belumSelesai: {
jml: 2,
- persen: 20,
- },
+ persen: 20
+ }
},
responseTime: {
menit: {
total: 20,
rataRata: 16,
max: 26,
- min: 12,
+ min: 12
},
laporan: {
lebihSla: 6,
- kurangSla: 4,
- },
+ kurangSla: 4
+ }
},
recoveryTime: {
menit: {
total: 30,
rataRata: 23,
max: 36,
- min: 18,
+ min: 18
},
laporan: {
lebihSla: 8,
- kurangSla: 2,
- },
+ kurangSla: 2
+ }
}
},
{
@@ -821,36 +840,36 @@ const data = [
total: 13,
sudahSelesai: {
jml: 9,
- persen: 69.23,
+ persen: 69.23
},
belumSelesai: {
jml: 4,
- persen: 30.77,
- },
+ persen: 30.77
+ }
},
responseTime: {
menit: {
total: 24,
rataRata: 18.46,
max: 28,
- min: 16,
+ min: 16
},
laporan: {
lebihSla: 6,
- kurangSla: 7,
- },
+ kurangSla: 7
+ }
},
recoveryTime: {
menit: {
total: 34,
rataRata: 25.38,
max: 40,
- min: 20,
+ min: 20
},
laporan: {
lebihSla: 9,
- kurangSla: 4,
- },
+ kurangSla: 4
+ }
}
},
{
@@ -861,36 +880,36 @@ const data = [
total: 16,
sudahSelesai: {
jml: 11,
- persen: 68.75,
+ persen: 68.75
},
belumSelesai: {
jml: 5,
- persen: 31.25,
- },
+ persen: 31.25
+ }
},
responseTime: {
menit: {
total: 26,
rataRata: 19.38,
max: 32,
- min: 16,
+ min: 16
},
laporan: {
lebihSla: 7,
- kurangSla: 4,
- },
+ kurangSla: 4
+ }
},
recoveryTime: {
menit: {
total: 36,
rataRata: 24,
max: 42,
- min: 20,
+ min: 20
},
laporan: {
lebihSla: 8,
- kurangSla: 5,
- },
+ kurangSla: 5
+ }
}
},
{
@@ -901,44 +920,44 @@ const data = [
total: 12,
sudahSelesai: {
jml: 8,
- persen: 66.67,
+ persen: 66.67
},
belumSelesai: {
jml: 4,
- persen: 33.33,
- },
+ persen: 33.33
+ }
},
responseTime: {
menit: {
total: 22,
rataRata: 18.33,
max: 28,
- min: 14,
+ min: 14
},
laporan: {
lebihSla: 5,
- kurangSla: 7,
- },
+ kurangSla: 7
+ }
},
recoveryTime: {
menit: {
total: 32,
rataRata: 24,
max: 36,
- min: 18,
+ min: 18
},
laporan: {
lebihSla: 6,
- kurangSla: 6,
- },
+ kurangSla: 6
+ }
}
- },
+ }
]
const reportButton = useSearchStore()
const detected = computed(() => reportButton.isTriggerChange)
watch(detected, () => {
- const dateValue = useDateStore().getDateValue().split(' s/d ');
- const posko = usePostsStore().getData() ? usePostsStore().getData() : ""
+ const dateValue = useDateStore().getDateValue().split(' s/d ')
+ const posko = usePostsStore().getData() ? usePostsStore().getData() : ''
const up3 = useUp3Store().getData() ? useUp3Store().getData() : 0
const uid = useRegionStore().getData() ? useRegionStore().getData() : 0
refetch({
@@ -946,22 +965,61 @@ watch(detected, () => {
dateTo: dateValue[1].split('-').reverse().join('-'),
posko,
idUid: uid,
- idUp3: up3,
+ idUp3: up3
})
- onResult(queryResult => {
+ onResult((queryResult) => {
if (queryResult.data != undefined) {
- queryResult.data.rekapitulasiAllGangguan.forEach((item: any) => {
- dataReal.value = [...dataReal.value, {
- ...item,
- nama_unit: 'UNIT'
- }];
-
+ let no = 0
+ queryResult.data.rekapitulasiJenisGangguan.forEach((item: any) => {
+ dataReal.value = [
+ ...dataReal.value,
+ {
+ no: ++no,
+ kode: item.tipe_permasalahan,
+ jenisGangguan: item.tipe_permasalahan,
+ laporan: {
+ total: item.total,
+ sudahSelesai: {
+ jml: item.total_selesai,
+ persen: item.persen_selesai
+ },
+ belumSelesai: {
+ jml: item.total_inproses,
+ persen: item.persen_inproses
+ }
+ },
+ responseTime: {
+ menit: {
+ total: item.avg_durasi_response,
+ rataRata: item.avg_durasi_response,
+ max: item.max_durasi_response,
+ min: item.min_durasi_response
+ },
+ laporan: {
+ lebihSla: item.total_diatas_sla_response,
+ kurangSla: item.total_dibawah_sla_response
+ }
+ },
+ recoveryTime: {
+ menit: {
+ total: item.avg_durasi_recovery,
+ rataRata: item.avg_durasi_recovery,
+ max: item.max_durasi_recovery,
+ min: item.min_durasi_recovery
+ },
+ laporan: {
+ lebihSla: item.total_diatas_sla_recovery,
+ kurangSla: item.total_dibawah_sla_recovery
+ }
+ }
+ }
+ ]
})
}
console.log(queryResult.loading)
console.log(queryResult.networkStatus)
})
- onError(queryError => {
+ onError((queryError) => {
console.log(queryError)
})
})
@@ -973,4 +1031,4 @@ onMounted(() => {
reportButton: true
})
})
-
\ No newline at end of file
+
diff --git a/src/components/Pages/Keluhan/Table_21.vue b/src/components/Pages/Keluhan/Table_21.vue
index c8095f1..9dfbd77 100644
--- a/src/components/Pages/Keluhan/Table_21.vue
+++ b/src/components/Pages/Keluhan/Table_21.vue
@@ -20,7 +20,7 @@
-
+
-
+
-
-
+
-
-
+
-
-
-
-
-
-
+
-
-
-
-
-
+
diff --git a/src/components/Pages/Keluhan/Table_24.vue b/src/components/Pages/Keluhan/Table_24.vue
index d552b8d..b2c803e 100644
--- a/src/components/Pages/Keluhan/Table_24.vue
+++ b/src/components/Pages/Keluhan/Table_24.vue
@@ -17,33 +17,33 @@
:calculateCellValue="(item:any) => data.findIndex((i)=>i == item)+1"
data-type="number"
caption="No" />
-
-
+
-
-
+
-
-
-
-
+
-
-
-
+
-
-
-
-
-
+
diff --git a/src/components/Pages/Keluhan/Table_25.vue b/src/components/Pages/Keluhan/Table_25.vue
index a31dc91..631f2fb 100644
--- a/src/components/Pages/Keluhan/Table_25.vue
+++ b/src/components/Pages/Keluhan/Table_25.vue
@@ -1,9 +1,9 @@
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
@@ -56,7 +57,17 @@
import { onMounted, ref } from 'vue'
import { useFiltersStore } from '@/stores/filters'
import { DxDataGrid } from 'devextreme-vue'
-import { DxColumn, DxColumnFixing, DxExport, DxLoadPanel, DxPager, DxPaging, DxScrolling, DxSearchPanel, DxSelection } from 'devextreme-vue/data-grid'
+import {
+ DxColumn,
+ DxColumnFixing,
+ DxExport,
+ DxLoadPanel,
+ DxPager,
+ DxPaging,
+ DxScrolling,
+ DxSearchPanel,
+ DxSelection
+} 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'
@@ -72,7 +83,7 @@ const onExporting = (e: any) => {
exportToPdf({
jsPDFDocument: doc,
component: e.component,
- indent: 5,
+ indent: 5
}).then(() => {
doc.save(`.pdf`)
})
@@ -83,7 +94,7 @@ const onExporting = (e: any) => {
exportToExcel({
component: e.component,
worksheet,
- autoFilterEnabled: true,
+ autoFilterEnabled: true
}).then(() => {
workbook.xlsx.writeBuffer().then((buffer: any) => {
saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx')
@@ -101,55 +112,51 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = ref([])
const GET_DATA = gql`
-query daftarKeluhanSelesaiTanpaIdPelanggan
-(
+ query daftarKeluhanSelesaiTanpaIdPelanggan(
$dateFrom: Date!
$dateTo: Date!
$posko: String!
$idUid: Int!
$idUp3: Int!
-) {
- daftarKeluhanSelesaiTanpaIdPelanggan
-(
- dateFrom: $dateFrom
- dateTo: $dateTo
- posko: $posko
- idUid: $idUid
- idUp3: $idUp3
+ ) {
+ daftarKeluhanSelesaiTanpaIdPelanggan(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ posko: $posko
+ idUid: $idUid
+ idUp3: $idUp3
) {
- in_process
- indeks_rating
- jumlah_non_rating
- jumlah_rating
- nama_posko
- persen_in_process
- persen_non_rating
- persen_rating
- persen_selesai
- rating_1
- rating_2
- rating_3
- rating_4
- rating_5
- regu
- selesai
- total
- }
-}`;
+ alamat_pelapor
+ durasi_recovery_time
+ durasi_response_time
+ id_keluhan
+ idpel_nometer
+ keterangan_pelapor
+ media
+ nama_pelapor
+ no_laporan
+ no_telp_pelapor
+ posko
+ status_akhir
+ waktu_recovery
+ waktu_response
+ }
+ }
+`
const loadingVisible = ref(true)
onMounted(() => {
const filters = useFiltersStore()
const { onResult, onError } = useQuery(GET_DATA, {
- dateFrom: new Date("2023-10-01").toISOString().slice(0, 10),
- dateTo: new Date("2023-10-01").toISOString().slice(0, 10),
- posko: "",
+ dateFrom: new Date('2023-10-01').toISOString().slice(0, 10),
+ dateTo: new Date('2023-10-01').toISOString().slice(0, 10),
+ posko: '',
idUid: 0,
- idUp3: 0,
+ idUp3: 0
})
- onResult(queryResult => {
+ onResult((queryResult) => {
if (queryResult.data != undefined) {
- data.value = queryResult.data.daftarKeluhanSelesaiTanpaIdPelanggan;
+ data.value = queryResult.data.daftarKeluhanSelesaiTanpaIdPelanggan
loadingVisible.value = false
}
console.log(queryResult.data)
@@ -163,4 +170,4 @@ onMounted(() => {
type: 'type-3'
})
})
-
\ No newline at end of file
+
diff --git a/src/components/Pages/Keluhan/Table_26.vue b/src/components/Pages/Keluhan/Table_26.vue
index d7fba5d..2878695 100644
--- a/src/components/Pages/Keluhan/Table_26.vue
+++ b/src/components/Pages/Keluhan/Table_26.vue
@@ -17,31 +17,31 @@
:calculateCellValue="(item:any) => data.findIndex((i)=>i == item)+1"
data-type="number"
caption="No" />
-
-
+
-
-
-
-
+
-
+
-
-
-
-
-
-
-
+
diff --git a/src/components/Pages/Keluhan/Table_27.vue b/src/components/Pages/Keluhan/Table_27.vue
index 537e0ca..555348b 100644
--- a/src/components/Pages/Keluhan/Table_27.vue
+++ b/src/components/Pages/Keluhan/Table_27.vue
@@ -1,6 +1,6 @@
-
@@ -17,29 +17,29 @@
:calculateCellValue="(item:any) => data.findIndex((i)=>i == item)+1"
data-type="number"
caption="No" />
-
+
-
-
-
-
-
-
-
-
-
-
@@ -36,15 +36,15 @@
css-class="custom-table-column" />
-
-
-
-
-
diff --git a/src/components/Pages/Keluhan/Table_29.vue b/src/components/Pages/Keluhan/Table_29.vue
index 7147ac0..d3c8763 100644
--- a/src/components/Pages/Keluhan/Table_29.vue
+++ b/src/components/Pages/Keluhan/Table_29.vue
@@ -1,9 +1,9 @@
-
+
@@ -12,61 +12,59 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -132,47 +130,41 @@ const onSelectionChanged = ({ selectedRowsData }: any) => {
const data = ref([])
const GET_DATA = gql`
-query rekapitulasiKeluhanPerFungsiBidang
-(
+ query rekapitulasiKeluhanPerFungsiBidang(
$dateFrom: Date!
$dateTo: Date!
$posko: String!
$idUid: Int!
$idUp3: Int!
-) {
- rekapitulasiKeluhanPerFungsiBidang
-(
- dateFrom: $dateFrom
- dateTo: $dateTo
- posko: $posko
- idUid: $idUid
- idUp3: $idUp3
+ ) {
+ rekapitulasiKeluhanPerFungsiBidang(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ posko: $posko
+ idUid: $idUid
+ idUp3: $idUp3
) {
- avg_durasi_dispatch
- avg_durasi_recovery
- avg_durasi_response
- id_uid
- id_up3
- max_durasi_dispatch
- max_durasi_recovery
- max_durasi_response
- min_durasi_dispatch
- min_durasi_recovery
- min_durasi_response
- persen_inproses
- persen_selesai
- posko
- total
- total_diatas_sla_dispatch
- total_diatas_sla_recovery
- total_diatas_sla_response
- total_dibawah_sla_dispatch
- total_dibawah_sla_recovery
- total_dibawah_sla_response
- total_inproses
- total_selesai
- }
-}`
+ avgDurasiPenyelesaian
+ avgDurasiResponse
+ fungsiBidang
+ maxDurasiPenyelesaian
+ maxDurasiResponse
+ minDurasiPenyelesaian
+ minDurasiResponse
+ persenInProcess
+ persenSelesai
+ total
+ totalDiatasSlaPenyelesaian
+ totalDiatasSlaResponse
+ totalDibawahSlaPenyelesaian
+ totalDibawahSlaResponse
+ totalDurasiPenyelesaian
+ totalDurasiResponse
+ totalInProcess
+ totalSelesai
+ }
+ }
+`
const loadingVisible = ref(true)
onMounted(() => {
const filters = useFiltersStore()
diff --git a/src/components/Pages/Keluhan/Table_30.vue b/src/components/Pages/Keluhan/Table_30.vue
index 5b467a2..2dc3f37 100644
--- a/src/components/Pages/Keluhan/Table_30.vue
+++ b/src/components/Pages/Keluhan/Table_30.vue
@@ -19,54 +19,54 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Pages/Keluhan/Table_33.vue b/src/components/Pages/Keluhan/Table_33.vue
index e5d541d..fc6425c 100644
--- a/src/components/Pages/Keluhan/Table_33.vue
+++ b/src/components/Pages/Keluhan/Table_33.vue
@@ -1,197 +1,70 @@
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
diff --git a/src/components/Pages/Keluhan/Table_34.vue b/src/components/Pages/Keluhan/Table_34.vue
index 6fe1aeb..8a230c3 100644
--- a/src/components/Pages/Keluhan/Table_34.vue
+++ b/src/components/Pages/Keluhan/Table_34.vue
@@ -1,6 +1,6 @@
-
@@ -14,18 +14,10 @@
-
+
-
-
-
-
-
+
diff --git a/src/components/Pages/Keluhan/Table_35.vue b/src/components/Pages/Keluhan/Table_35.vue
index b63bcd6..bc93bec 100644
--- a/src/components/Pages/Keluhan/Table_35.vue
+++ b/src/components/Pages/Keluhan/Table_35.vue
@@ -1,6 +1,6 @@
-
@@ -14,48 +14,48 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Pages/MenuProvider.vue b/src/components/Pages/MenuProvider.vue
index 05786d5..e9ce7fd 100644
--- a/src/components/Pages/MenuProvider.vue
+++ b/src/components/Pages/MenuProvider.vue
@@ -14,12 +14,10 @@
diff --git a/src/components/Pages/Monalisa/Table_36.vue b/src/components/Pages/Monalisa/Table_36.vue
index 7ba947c..31fd66b 100644
--- a/src/components/Pages/Monalisa/Table_36.vue
+++ b/src/components/Pages/Monalisa/Table_36.vue
@@ -1,33 +1,35 @@
-
-
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,15 +38,41 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_37.vue b/src/components/Pages/Monalisa/Table_37.vue
index 9689a17..592beec 100644
--- a/src/components/Pages/Monalisa/Table_37.vue
+++ b/src/components/Pages/Monalisa/Table_37.vue
@@ -1,33 +1,37 @@
-
-
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +40,37 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_38.vue b/src/components/Pages/Monalisa/Table_38.vue
index 3bf4ae5..8ec6da1 100644
--- a/src/components/Pages/Monalisa/Table_38.vue
+++ b/src/components/Pages/Monalisa/Table_38.vue
@@ -1,33 +1,37 @@
-
-
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,7 +40,7 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_40.vue b/src/components/Pages/Monalisa/Table_40.vue
index 93ec2d8..dadc8af 100644
--- a/src/components/Pages/Monalisa/Table_40.vue
+++ b/src/components/Pages/Monalisa/Table_40.vue
@@ -1,127 +1,327 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_41.vue b/src/components/Pages/Monalisa/Table_41.vue
index 39c06a9..658272c 100644
--- a/src/components/Pages/Monalisa/Table_41.vue
+++ b/src/components/Pages/Monalisa/Table_41.vue
@@ -1,37 +1,125 @@
-
-
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_42.vue b/src/components/Pages/Monalisa/Table_42.vue
index 39a3ee3..e6e322c 100644
--- a/src/components/Pages/Monalisa/Table_42.vue
+++ b/src/components/Pages/Monalisa/Table_42.vue
@@ -1,9 +1,9 @@
-
-
+
+
@@ -12,22 +12,23 @@
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +37,105 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_43.vue b/src/components/Pages/Monalisa/Table_43.vue
index 35f0495..263a081 100644
--- a/src/components/Pages/Monalisa/Table_43.vue
+++ b/src/components/Pages/Monalisa/Table_43.vue
@@ -1,9 +1,9 @@
-
-
+
+
@@ -12,22 +12,23 @@
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +37,105 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_44.vue b/src/components/Pages/Monalisa/Table_44.vue
index 4347892..80ef723 100644
--- a/src/components/Pages/Monalisa/Table_44.vue
+++ b/src/components/Pages/Monalisa/Table_44.vue
@@ -1,5 +1,5 @@
-
+
@@ -25,16 +25,105 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_45.vue b/src/components/Pages/Monalisa/Table_45.vue
index 7ba947c..78703e7 100644
--- a/src/components/Pages/Monalisa/Table_45.vue
+++ b/src/components/Pages/Monalisa/Table_45.vue
@@ -1,5 +1,5 @@
-
+
-
+
-
-
-
-
-
-
diff --git a/src/components/Pages/Monalisa/Table_46.vue b/src/components/Pages/Monalisa/Table_46.vue
index a2fd52a..9ea8d12 100644
--- a/src/components/Pages/Monalisa/Table_46.vue
+++ b/src/components/Pages/Monalisa/Table_46.vue
@@ -1,5 +1,5 @@
-
+
-
+
-
-
-
-
-
-
diff --git a/src/components/Pages/Monalisa/Table_47.vue b/src/components/Pages/Monalisa/Table_47.vue
index 9393684..bc1941d 100644
--- a/src/components/Pages/Monalisa/Table_47.vue
+++ b/src/components/Pages/Monalisa/Table_47.vue
@@ -1,5 +1,5 @@
-
+
-
+
-
-
-
-
-
-
diff --git a/src/components/Pages/Monalisa/Table_48.vue b/src/components/Pages/Monalisa/Table_48.vue
index 3156041..a909d83 100644
--- a/src/components/Pages/Monalisa/Table_48.vue
+++ b/src/components/Pages/Monalisa/Table_48.vue
@@ -1,5 +1,5 @@
-
+
-
+
diff --git a/src/components/Pages/Monalisa/Table_49.vue b/src/components/Pages/Monalisa/Table_49.vue
index d8a4635..1578ef5 100644
--- a/src/components/Pages/Monalisa/Table_49.vue
+++ b/src/components/Pages/Monalisa/Table_49.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/components/Pages/Monalisa/Table_50.vue b/src/components/Pages/Monalisa/Table_50.vue
index 80f6978..8a7a12a 100644
--- a/src/components/Pages/Monalisa/Table_50.vue
+++ b/src/components/Pages/Monalisa/Table_50.vue
@@ -1,5 +1,5 @@
-
+
-
+
-
-
-
-
-
-
diff --git a/src/components/Pages/Monalisa/Table_51.vue b/src/components/Pages/Monalisa/Table_51.vue
index 4d7dbff..fb2a0a2 100644
--- a/src/components/Pages/Monalisa/Table_51.vue
+++ b/src/components/Pages/Monalisa/Table_51.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/components/Pages/Monalisa/Table_52.vue b/src/components/Pages/Monalisa/Table_52.vue
index 022c57b..9874dee 100644
--- a/src/components/Pages/Monalisa/Table_52.vue
+++ b/src/components/Pages/Monalisa/Table_52.vue
@@ -1,5 +1,5 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
interface DataItem {
- id: number
- name: string
+ id: any
+ name: any
}
import { ref, computed, watch } from 'vue'
diff --git a/src/components/SelectMulti.vue b/src/components/SelectMulti.vue
index ccd4359..9f9294d 100644
--- a/src/components/SelectMulti.vue
+++ b/src/components/SelectMulti.vue
@@ -53,7 +53,7 @@ onMounted(() => {
- emit('update:selected', value)" v-model="selected" v-slot="{ open }" multiple="">
+ emit('update:selected', value)" v-model="selected" v-slot="{ open }" multiple>
{
-
+
Empty
{{ item.name }}