diff --git a/src/components/Form/FiltersType/Type18.vue b/src/components/Form/FiltersType/Type18.vue
new file mode 100644
index 0000000..fd8c3ab
--- /dev/null
+++ b/src/components/Form/FiltersType/Type18.vue
@@ -0,0 +1,49 @@
+
+
+
diff --git a/src/components/Form/FiltersType/Type2.vue b/src/components/Form/FiltersType/Type2.vue
index 43000fd..7bf7f2f 100644
--- a/src/components/Form/FiltersType/Type2.vue
+++ b/src/components/Form/FiltersType/Type2.vue
@@ -1,42 +1,119 @@
Regional:
-
+
Unit Induk Distribusi/Wilayah:
-
+
- Unit Pelaksanaan Pelayanan Pelanggan:
+ Unit Pelaksanaan Pelayanan Pelanggan:
-
+
- Unit Layanan Pelanggan:
+ Unit Layanan Pelanggan:
-
+
+
diff --git a/src/components/Form/FiltersType/Type3.vue b/src/components/Form/FiltersType/Type3.vue
index 7896596..199e63b 100644
--- a/src/components/Form/FiltersType/Type3.vue
+++ b/src/components/Form/FiltersType/Type3.vue
@@ -1,34 +1,71 @@
Unit Induk Distribusi/Wilayah:
-
+
- Unit Pelaksanaan Pelayanan Pelanggan:
+ Unit Pelaksanaan Pelayanan Pelanggan:
-
+
- Unit Layanan Pelanggan:
+ Unit Layanan Pelanggan:
-
+
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type4.vue b/src/components/Form/FiltersType/Type4.vue
index 8bbb211..8a803f7 100644
--- a/src/components/Form/FiltersType/Type4.vue
+++ b/src/components/Form/FiltersType/Type4.vue
@@ -1,13 +1,56 @@
Unit Induk Distribusi/Wilayah:
-
+
@@ -15,7 +58,11 @@
>Unit Pelaksanaan Pelayanan Pelanggan:
-
+
@@ -23,7 +70,11 @@
>Unit Layanan Pelanggan:
-
+
@@ -31,12 +82,25 @@
>Jenis Laporan:
-
+ {
+ data.jenisLaporan = value
+ }"
+ :data="[
+ { id: 1, name: 'Laporan Berulang Unit' },
+ { id: 2, name: 'Laporan Berulang Pelanggan' },
+ { id: 3, name: 'Laporan Berulang Pelanggan dan Unit' },
+ ]"
+ :placeholder="'Semua Jenis Laporan'"
+ />
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type5.vue b/src/components/Form/FiltersType/Type5.vue
index 1e4286f..f1a85c4 100644
--- a/src/components/Form/FiltersType/Type5.vue
+++ b/src/components/Form/FiltersType/Type5.vue
@@ -1,13 +1,68 @@
- Unit Induk Distribusi/Wilayah:
+ Unit Induk Distribusi/Wilayah:
-
+
@@ -15,18 +70,20 @@
>Unit Pelaksanaan Pelayanan Pelanggan:
-
+
Posko:
-
+
-
+
Periode Tanggal:
-
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type6.vue b/src/components/Form/FiltersType/Type6.vue
index 2965ffe..45a3b76 100644
--- a/src/components/Form/FiltersType/Type6.vue
+++ b/src/components/Form/FiltersType/Type6.vue
@@ -1,42 +1,90 @@
Unit Induk Distribusi/Wilayah:
-
+
- Unit Pelaksanaan Pelayanan Pelanggan:
+ Unit Pelaksanaan Pelayanan Pelanggan:
-
+
Posko:
-
+
-
+
Periode Tanggal:
-
+ {
+ data.periode = value
+ }" />
Lapor Ulang:
-
+ {
+ data.minJmlLapor = value
+ }" />
s/d
-
+ {
+ data.maxJmlLapor = value
+ }" />
+
diff --git a/src/components/Form/FiltersType/Type7.vue b/src/components/Form/FiltersType/Type7.vue
index eaa7dc1..5247344 100644
--- a/src/components/Form/FiltersType/Type7.vue
+++ b/src/components/Form/FiltersType/Type7.vue
@@ -1,46 +1,163 @@
Unit Induk Distribusi/Wilayah:
-
+
- Unit Pelaksanaan Pelayanan Pelanggan:
+ Unit Pelaksanaan Pelayanan Pelanggan:
-
+
Posko:
-
+
-
+
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
Durasi:
-
+
-
-
+
+ {
+ data.minTime =value
+ }
+ "
+
+ />
s/d
-
+ {
+ data.maxTime = value
+ }
+ "
+ :disabled="triggerInput"
+ />
diff --git a/src/components/Form/FiltersType/Type8.vue b/src/components/Form/FiltersType/Type8.vue
index 467c9cd..d80c165 100644
--- a/src/components/Form/FiltersType/Type8.vue
+++ b/src/components/Form/FiltersType/Type8.vue
@@ -1,26 +1,82 @@
Unit Induk Distribusi/Wilayah:
-
+
- Unit Pelaksanaan Pelayanan Pelanggan:
+ Unit Pelaksanaan Pelayanan Pelanggan:
-
+
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/Type9.vue b/src/components/Form/FiltersType/Type9.vue
index ebbe9f1..3e7251b 100644
--- a/src/components/Form/FiltersType/Type9.vue
+++ b/src/components/Form/FiltersType/Type9.vue
@@ -2,13 +2,71 @@
import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue'
import InlineRadioGroup from '@/components/Form/InlineRadioGroup.vue'
+
+import { onMounted, ref, watch } from 'vue'
+import {
+ selectedUid,
+ selectedUp3Posko,
+ selectedPosko,
+ fetchUid,
+ itemsUid,
+ itemsUp3,
+ itemsPosko
+} from './reference'
+
+const uidPlaceholder = 'Semua Unit Induk Distribusi/Wilayah'
+const uppPlaceholder = 'Semua Unit Pelaksanaan Pelayanan Pelanggan'
+const poskoPlaceholder = 'Semua Posko'
+const uppp = ref({ id: 0, name: uppPlaceholder })
+const uid = ref({ id: 0, name: uidPlaceholder })
+const posko = ref({ id: 0, name: poskoPlaceholder })
+const emit = defineEmits(['update:filters'])
+const data = ref({
+ uid: uid.value,
+ up3: uppp.value,
+ posko: posko.value,
+ periode: ''
+})
+
+watch(data.value, (value) => {
+ emit('update:filters', value)
+})
+
+const setUid = (value: any) => {
+ uid.value = value
+ selectedUid(value)
+ uppp.value = { id: 0, name: uppPlaceholder }
+ data.value.uid = value
+}
+
+const setUp3 = (value: any) => {
+ uppp.value = value
+ selectedUp3Posko(value)
+ posko.value = { id: 0, name: poskoPlaceholder }
+ data.value.up3 = value
+}
+
+const setPosko = (value: any) => {
+ posko.value = value
+ selectedPosko(value)
+ data.value.posko = value
+}
+
+onMounted(() => {
+ emit('update:filters', data.value)
+ fetchUid()
+})
Unit Induk Distribusi/Wilayah:
-
+
@@ -16,19 +74,30 @@
>Unit Pelaksanaan Pelayanan Pelanggan:
-
+
Posko:
-
+
Periode Tanggal:
-
+ {
+ data.periode = value
+ }
+ " />
diff --git a/src/components/Form/FiltersType/index.ts b/src/components/Form/FiltersType/index.ts
index b9f86ec..adbde8f 100644
--- a/src/components/Form/FiltersType/index.ts
+++ b/src/components/Form/FiltersType/index.ts
@@ -15,3 +15,4 @@ export { default as Type14 } from '@/components/Form/FiltersType/Type14.vue'
export { default as Type15 } from '@/components/Form/FiltersType/Type15.vue'
export { default as Type16 } from '@/components/Form/FiltersType/Type16.vue'
export { default as Type17 } from '@/components/Form/FiltersType/Type17.vue'
+export { default as Type18 } from '@/components/Form/FiltersType/Type18.vue'
diff --git a/src/components/Form/FiltersType/reference.ts b/src/components/Form/FiltersType/reference.ts
new file mode 100644
index 0000000..b7fb5f8
--- /dev/null
+++ b/src/components/Form/FiltersType/reference.ts
@@ -0,0 +1,173 @@
+import { getUid, getUp3, getPosko, getUlp,getUidRegional } 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'
+
+interface Item {
+ id: any;
+ name: any;
+}
+const months = [
+ { id: 1, name: 'Januari' },
+ { id: 2, name: 'Februari' },
+ { id: 3, name: 'Maret' },
+ { id: 4, name: 'April' },
+ { id: 5, name: 'Mei' },
+ { id: 6, name: 'Juni' },
+ { id: 7, name: 'Juli' },
+ { id: 8, name: 'Agustus' },
+ { id: 9, name: 'September' },
+ { id: 10, name: 'Oktober' },
+ { id: 11, name: 'November' },
+ { id: 12, name: 'Desember' },
+]
+
+// create 4 year back array
+const year = new Date().getFullYear();
+let years = ref
- ([]);
+for (let i = 0; i < 5; i++) {
+ years.value.push({ id: year - i, name: year - i })
+}
+
+const timeout = ref()
+const itemsUid = ref
- ([]);
+const itemsUp3 = ref
- ([]);
+const itemsPosko = ref
- ([]);
+const itemsUlp = ref
- ([]);
+const itemsRegional = ref
- ([]);
+const itemsMedia = ref
- ([]);
+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 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 {
+ const res = await getUid()
+ itemsUid.value = res.data.map((item: any) => (
+ {
+ id: item.id,
+ name: item.nama,
+ }
+ ));
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ }
+};
+const fetchUidWithRegional = async (regional: number) => {
+ try {
+ const res = await getUidRegional(regional)
+ itemsUid.value = res.data.map((item: any) => (
+ {
+ id: item.id,
+ name: item.nama,
+ }
+ ));
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ }
+}
+const fetchDataUp3 = async (uid: number) => {
+ try {
+ const res = await getUp3(uid)
+ itemsUp3.value = res.data.map((item: any) => ({
+ id: item.id,
+ name: item.nama
+ }))
+ } catch (error) {
+ console.error('Error fetching data:', error)
+ }
+}
+const fetchDataUlp = async (up3: number) => {
+ try {
+ const res = await getUlp(up3)
+ itemsUlp.value = res.data.map((item: any) => (
+ {
+ id: item.id,
+ name: item.nama,
+ }
+ ));
+ } catch (error) {
+ console.error('Error fetching data:', error)
+ }
+}
+const fetchDataPosko = async (up3: number) => {
+ clearTimeout(timeout.value)
+ timeout.value = setTimeout(async () => {
+ try {
+ const res = await getPosko(up3)
+ itemsPosko.value = res.data.map((item: any) => (
+ {
+ id: item.id,
+ name: item.nama,
+ }
+ ));
+ } catch (error) {
+ console.error('Error fetching data:', error);
+ }
+ }, 300);
+};
+const selectedUid = (value: any) => {
+ useRegionStore().setData(value.id)
+ fetchDataUp3(value.id)
+}
+const selectedUp3Posko = (value: any) => {
+ if (value.id != 0) {
+ useUp3Store().setData(value.id)
+ fetchDataPosko(value.id)
+ }
+}
+const selectedUp3Ulp = (value: any) => {
+ useUp3Store().setData(value.id)
+ fetchDataUlp(value.id)
+}
+const selectedPosko = (value: any) => {
+ usePostsStore().setData(value.id)
+}
+const selectedUlp = (value: any) => {
+ useUlpStore().setData(value.id)
+}
+
+export { selectedUid, selectedUp3Posko, selectedUp3Ulp, selectedPosko, selectedUlp, fetchMedia,fetchStatus,fetchRegional, fetchUid, itemsUid, itemsUp3, itemsPosko, itemsRegional, itemsMedia, itemsUlp, months, years };
diff --git a/src/components/Form/InlineRadioGroup.vue b/src/components/Form/InlineRadioGroup.vue
index 6672c35..a017791 100644
--- a/src/components/Form/InlineRadioGroup.vue
+++ b/src/components/Form/InlineRadioGroup.vue
@@ -3,8 +3,9 @@
-
{{
item.title }}
@@ -15,7 +16,7 @@
diff --git a/src/components/Form/InputNumber.vue b/src/components/Form/InputNumber.vue
new file mode 100644
index 0000000..b6b5d08
--- /dev/null
+++ b/src/components/Form/InputNumber.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
diff --git a/src/components/Form/InputWithSuffix.vue b/src/components/Form/InputWithSuffix.vue
index 0a6d3c8..fed2b2a 100644
--- a/src/components/Form/InputWithSuffix.vue
+++ b/src/components/Form/InputWithSuffix.vue
@@ -1,34 +1,55 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_61.vue b/src/components/Pages/Anomali/Table_61.vue
index bddb20c..0cac13c 100644
--- a/src/components/Pages/Anomali/Table_61.vue
+++ b/src/components/Pages/Anomali/Table_61.vue
@@ -11,7 +11,8 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_62.vue b/src/components/Pages/Anomali/Table_62.vue
index 39bd6e9..efabbcd 100644
--- a/src/components/Pages/Anomali/Table_62.vue
+++ b/src/components/Pages/Anomali/Table_62.vue
@@ -10,7 +10,8 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_63.vue b/src/components/Pages/Anomali/Table_63.vue
index c2bb30d..6f969f5 100644
--- a/src/components/Pages/Anomali/Table_63.vue
+++ b/src/components/Pages/Anomali/Table_63.vue
@@ -11,7 +11,8 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_64.vue b/src/components/Pages/Anomali/Table_64.vue
index 119fa0f..834db62 100644
--- a/src/components/Pages/Anomali/Table_64.vue
+++ b/src/components/Pages/Anomali/Table_64.vue
@@ -11,7 +11,8 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_65.vue b/src/components/Pages/Anomali/Table_65.vue
index 08bb921..7f7768f 100644
--- a/src/components/Pages/Anomali/Table_65.vue
+++ b/src/components/Pages/Anomali/Table_65.vue
@@ -11,7 +11,8 @@
-
+
diff --git a/src/components/Pages/Anomali/Table_66.vue b/src/components/Pages/Anomali/Table_66.vue
index 39bd6e9..efabbcd 100644
--- a/src/components/Pages/Anomali/Table_66.vue
+++ b/src/components/Pages/Anomali/Table_66.vue
@@ -10,7 +10,8 @@
-
+
diff --git a/src/components/Pages/Cico/Table_60.vue b/src/components/Pages/Cico/Table_60.vue
index 3bd57d1..51eea6b 100644
--- a/src/components/Pages/Cico/Table_60.vue
+++ b/src/components/Pages/Cico/Table_60.vue
@@ -7,7 +7,8 @@
-
+
diff --git a/src/components/Pages/Ctt/Table_67.vue b/src/components/Pages/Ctt/Table_67.vue
index b3ff284..65a1a3b 100644
--- a/src/components/Pages/Ctt/Table_67.vue
+++ b/src/components/Pages/Ctt/Table_67.vue
@@ -7,7 +7,8 @@
-
+
diff --git a/src/components/Pages/Gangguan/Table_1.vue b/src/components/Pages/Gangguan/Table_1.vue
index 36183f3..edde852 100644
--- a/src/components/Pages/Gangguan/Table_1.vue
+++ b/src/components/Pages/Gangguan/Table_1.vue
@@ -1,295 +1,348 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ data.text }}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.text }}
+
+
+
+
+
+
+
+
+
+ No Laporan:
+
+
+
+
+
+
+ Pembuat Laporan:
+
+
+
+
+
+
+ Tanggal Laporan:
+
+
+
+
+
+
+ Tanggal Dialihkan:
+
+
+
+
+
+
+ Tanggal Respon:
+
+
+
+
+
+
+ Tanggal Recovery:
+
+
+
+
+
+
+ Durasi Response Time:
+
+
+
+
+
+
+ Durasi Recovery Time:
+
+
+
+
+
+
+ Posko Awal:
+
+
+
+
+
+
+ Posko Tujuan:
+
+
+
+
+
+
+ Status:
+
+
+
+
+
+
+ IDPEL/NO METER:
+
+
+
+
+
+
+ Nama Pelapor:
+
+
+
+
+
+
+ Alamat Pelapor:
+
+
+
+
+
+
+ Pembuat Laporan:
+
+
+
+
+
+
+ Keterangan Pelapor:
+
+
+
+
+
+
+ Sumber Laporan:
+
+
+
+
+
+
+ Posko:
+
+
+
-
-
-
-
- No Laporan:
-
-
-
-
-
-
- Pembuat Laporan:
-
-
-
-
-
-
- Tanggal Laporan:
-
-
-
-
-
-
- Tanggal Dialihkan:
-
-
-
-
-
-
- Tanggal Respon:
-
-
-
-
-
-
- Tanggal Recovery:
-
-
-
-
-
-
- Durasi Response Time:
-
-
-
-
-
-
- Durasi Recovery Time:
-
-
-
-
-
-
- Posko Awal:
-
-
-
-
-
-
- Posko Tujuan:
-
-
-
-
-
-
- Status:
-
-
-
-
-
-
- IDPEL/NO METER:
-
-
-
-
-
-
- Nama Pelapor:
-
-
-
-
-
-
- Alamat Pelapor:
-
-
-
-
-
-
- Pembuat Laporan:
-
-
-
-
-
-
- Keterangan Pelapor:
-
-
-
-
-
-
- Sumber Laporan:
-
-
-
-
-
-
- Posko:
-
-
-
-
-
-
+
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Gangguan/Table_10.vue b/src/components/Pages/Gangguan/Table_10.vue
index 50f03d4..e1fb885 100644
--- a/src/components/Pages/Gangguan/Table_10.vue
+++ b/src/components/Pages/Gangguan/Table_10.vue
@@ -1,71 +1,81 @@
+
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
+
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
@@ -73,16 +83,74 @@
\ No newline at end of file
+
diff --git a/src/components/Pages/Gangguan/Table_11.vue b/src/components/Pages/Gangguan/Table_11.vue
index e04cde4..4e7ece9 100644
--- a/src/components/Pages/Gangguan/Table_11.vue
+++ b/src/components/Pages/Gangguan/Table_11.vue
@@ -1,5 +1,12 @@
+
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
+
@@ -147,8 +156,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_12.vue b/src/components/Pages/Gangguan/Table_12.vue
index 8c74234..7171732 100644
--- a/src/components/Pages/Gangguan/Table_12.vue
+++ b/src/components/Pages/Gangguan/Table_12.vue
@@ -1,69 +1,80 @@
-
-
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -72,7 +83,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_13.vue b/src/components/Pages/Gangguan/Table_13.vue
index b250090..d3f24e9 100644
--- a/src/components/Pages/Gangguan/Table_13.vue
+++ b/src/components/Pages/Gangguan/Table_13.vue
@@ -1,69 +1,80 @@
-
-
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -72,7 +83,9 @@
\ 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 cc0df4c..805f843 100644
--- a/src/components/Pages/Gangguan/Table_14.vue
+++ b/src/components/Pages/Gangguan/Table_14.vue
@@ -1,47 +1,64 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
+
+
-
-
-
-
-
+
-
\ No newline at end of file
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3,
+ })
+
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiGangguanBerdasarkanMedia
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Gangguan/Table_15.vue b/src/components/Pages/Gangguan/Table_15.vue
index 2401a66..2c8fc3c 100644
--- a/src/components/Pages/Gangguan/Table_15.vue
+++ b/src/components/Pages/Gangguan/Table_15.vue
@@ -1,28 +1,42 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_16.vue b/src/components/Pages/Gangguan/Table_16.vue
index 754c03b..9ea618f 100644
--- a/src/components/Pages/Gangguan/Table_16.vue
+++ b/src/components/Pages/Gangguan/Table_16.vue
@@ -1,44 +1,61 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -48,20 +65,23 @@
-
+
-
+
-
+
-
+
@@ -69,20 +89,23 @@
-
+
-
+
-
+
-
+
@@ -92,20 +115,25 @@
-
+
-
+
-
+
-
+
@@ -113,20 +141,23 @@
-
+
-
+
-
+
-
+
@@ -138,7 +169,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_17.vue b/src/components/Pages/Gangguan/Table_17.vue
index 9ef5ff6..c4f12f0 100644
--- a/src/components/Pages/Gangguan/Table_17.vue
+++ b/src/components/Pages/Gangguan/Table_17.vue
@@ -1,18 +1,27 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
+
@@ -62,6 +71,8 @@
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_18.vue b/src/components/Pages/Gangguan/Table_18.vue
index eef6b31..f45dab6 100644
--- a/src/components/Pages/Gangguan/Table_18.vue
+++ b/src/components/Pages/Gangguan/Table_18.vue
@@ -1,17 +1,27 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
@@ -56,22 +66,37 @@
-
\ No newline at end of file
+const filterData = (params: any) => {
+
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3,
+ })
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiGangguanRatingPerRegu
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+const filters = ref()
+
diff --git a/src/components/Pages/Gangguan/Table_19.vue b/src/components/Pages/Gangguan/Table_19.vue
index 0c02ace..7aca001 100644
--- a/src/components/Pages/Gangguan/Table_19.vue
+++ b/src/components/Pages/Gangguan/Table_19.vue
@@ -1,41 +1,51 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -43,7 +53,9 @@
\ 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 992efcb..bb3099d 100644
--- a/src/components/Pages/Gangguan/Table_2.vue
+++ b/src/components/Pages/Gangguan/Table_2.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
-
+
-
-
-
-
-
-
+
@@ -40,7 +46,7 @@
caption="No Telp Pelapor" cell-template="data" />
-
@@ -66,21 +72,21 @@
Tanggal Lapor:
-
+
Tanggal Response:
-
+
Tanggal Recovery:
-
+
@@ -115,7 +121,7 @@
IDPEL/NO METER:
-
+
@@ -158,13 +164,21 @@
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_20.vue b/src/components/Pages/Gangguan/Table_20.vue
index 0c02ace..af9cb86 100644
--- a/src/components/Pages/Gangguan/Table_20.vue
+++ b/src/components/Pages/Gangguan/Table_20.vue
@@ -1,41 +1,51 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -43,16 +53,31 @@
\ No newline at end of file
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3,
+ })
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiGangguanCleansingTransaksiTM
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Gangguan/Table_3.vue b/src/components/Pages/Gangguan/Table_3.vue
index 5ce9164..2f727f7 100644
--- a/src/components/Pages/Gangguan/Table_3.vue
+++ b/src/components/Pages/Gangguan/Table_3.vue
@@ -1,58 +1,147 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_4.vue b/src/components/Pages/Gangguan/Table_4.vue
index 7d9dd02..2871a26 100644
--- a/src/components/Pages/Gangguan/Table_4.vue
+++ b/src/components/Pages/Gangguan/Table_4.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
@@ -7,54 +13,130 @@
-
+
+
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_5.vue b/src/components/Pages/Gangguan/Table_5.vue
index 558d2d8..fb323a9 100644
--- a/src/components/Pages/Gangguan/Table_5.vue
+++ b/src/components/Pages/Gangguan/Table_5.vue
@@ -1,58 +1,128 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
+
-
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_6.vue b/src/components/Pages/Gangguan/Table_6.vue
index 228a69e..a5a2671 100644
--- a/src/components/Pages/Gangguan/Table_6.vue
+++ b/src/components/Pages/Gangguan/Table_6.vue
@@ -1,56 +1,125 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_7.vue b/src/components/Pages/Gangguan/Table_7.vue
index 558d2d8..5086c33 100644
--- a/src/components/Pages/Gangguan/Table_7.vue
+++ b/src/components/Pages/Gangguan/Table_7.vue
@@ -1,58 +1,134 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
+
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_8.vue b/src/components/Pages/Gangguan/Table_8.vue
index f3651d2..9d4ffb5 100644
--- a/src/components/Pages/Gangguan/Table_8.vue
+++ b/src/components/Pages/Gangguan/Table_8.vue
@@ -1,82 +1,180 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
+
-
-
-
+
+
-
-
+
-
-
-
-
+
+
-
+
-
-
-
-
+
+
-
+
-
-
-
-
+
+
\ No newline at end of file
diff --git a/src/components/Pages/Gangguan/Table_9.vue b/src/components/Pages/Gangguan/Table_9.vue
index 3058e3b..efdc5b8 100644
--- a/src/components/Pages/Gangguan/Table_9.vue
+++ b/src/components/Pages/Gangguan/Table_9.vue
@@ -1,13 +1,21 @@
+
-
-
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
@@ -114,16 +122,88 @@
\ No newline at end of file
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ 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) => {
+ console.log(queryError)
+ })
+}
+
+const filters= ref();
+
diff --git a/src/components/Pages/Keluhan/Table_21.vue b/src/components/Pages/Keluhan/Table_21.vue
index 7a24da1..f7b69a7 100644
--- a/src/components/Pages/Keluhan/Table_21.vue
+++ b/src/components/Pages/Keluhan/Table_21.vue
@@ -1,61 +1,86 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
\ No newline at end of file
+
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanDipindahkanKePoskoLain
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_22.vue b/src/components/Pages/Keluhan/Table_22.vue
index fff7549..01388bb 100644
--- a/src/components/Pages/Keluhan/Table_22.vue
+++ b/src/components/Pages/Keluhan/Table_22.vue
@@ -1,64 +1,89 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
+
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ const minJmlLapor = params.minJmlLapor ? params.minJmlLapor : 1;
+ const maxJmlLapor = params.maxJmlLapor ? params.maxJmlLapor : 100;
+ refetch({
+ minJmlLapor: minJmlLapor,
+ maxJmlLapor: maxJmlLapor,
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanMelaporLebihDariSatuKali
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_23.vue b/src/components/Pages/Keluhan/Table_23.vue
index 9ab55fe..e8a6eda 100644
--- a/src/components/Pages/Keluhan/Table_23.vue
+++ b/src/components/Pages/Keluhan/Table_23.vue
@@ -1,61 +1,85 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
\ No newline at end of file
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ const minDurasiResponseTime = params.minDurasiResponseTime ? params.minDurasiResponseTime : 0
+ const maxDurasiResponseTime = params.maxDurasiResponseTime ? params.maxDurasiResponseTime : 0
+ refetch({
+ 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),
+ minDurasiResponseTime: minDurasiResponseTime,
+ maxDurasiResponseTime: maxDurasiResponseTime,
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanResponseTime
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_24.vue b/src/components/Pages/Keluhan/Table_24.vue
index 3f9c53a..e749520 100644
--- a/src/components/Pages/Keluhan/Table_24.vue
+++ b/src/components/Pages/Keluhan/Table_24.vue
@@ -1,62 +1,87 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ const minDurasiRecoveryTime = params.minDurasiRecoveryTime ? params.minDurasiRecoveryTime : 0
+ const maxDurasiRecoveryTime = params.maxDurasiRecoveryTime ? params.maxDurasiRecoveryTime : 0
+ refetch({
+ 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),
+ minDurasiRecoveryTime: minDurasiRecoveryTime,
+ maxDurasiRecoveryTime: maxDurasiRecoveryTime,
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanRecoveryTime
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_25.vue b/src/components/Pages/Keluhan/Table_25.vue
index 9a73c42..a333140 100644
--- a/src/components/Pages/Keluhan/Table_25.vue
+++ b/src/components/Pages/Keluhan/Table_25.vue
@@ -1,64 +1,89 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
\ No newline at end of file
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanSelesaiTanpaIdPelanggan
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_26.vue b/src/components/Pages/Keluhan/Table_26.vue
index 7574554..ad45849 100644
--- a/src/components/Pages/Keluhan/Table_26.vue
+++ b/src/components/Pages/Keluhan/Table_26.vue
@@ -1,4 +1,10 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
-
-
+
-
-
-
+
+
-
-
+
-
-
-
-
-
-
-
+
\ No newline at end of file
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanBerdasarkanMedia
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+const filters = ref();
+
diff --git a/src/components/Pages/Keluhan/Table_27.vue b/src/components/Pages/Keluhan/Table_27.vue
index 71cc8ec..a4fbce7 100644
--- a/src/components/Pages/Keluhan/Table_27.vue
+++ b/src/components/Pages/Keluhan/Table_27.vue
@@ -1,42 +1,51 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
+
+
-
-
-
-
-
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ const media = params.media ? params.media.id : ''
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3,
+ media: media
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.daftarKeluhanDiselesaikanCC123
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+
diff --git a/src/components/Pages/Keluhan/Table_28.vue b/src/components/Pages/Keluhan/Table_28.vue
index e46260c..c6ca6de 100644
--- a/src/components/Pages/Keluhan/Table_28.vue
+++ b/src/components/Pages/Keluhan/Table_28.vue
@@ -1,108 +1,203 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanAll
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+
diff --git a/src/components/Pages/Keluhan/Table_29.vue b/src/components/Pages/Keluhan/Table_29.vue
index 24ae135..b3ab454 100644
--- a/src/components/Pages/Keluhan/Table_29.vue
+++ b/src/components/Pages/Keluhan/Table_29.vue
@@ -1,88 +1,113 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanPerFungsiBidang
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+
diff --git a/src/components/Pages/Keluhan/Table_30.vue b/src/components/Pages/Keluhan/Table_30.vue
index 4816c2d..00a70a0 100644
--- a/src/components/Pages/Keluhan/Table_30.vue
+++ b/src/components/Pages/Keluhan/Table_30.vue
@@ -1,80 +1,89 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+
+ onResult(queryResult => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanPerJenisKeluhan
+ ;
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+
diff --git a/src/components/Pages/Keluhan/Table_31.vue b/src/components/Pages/Keluhan/Table_31.vue
index 48a1708..a6c5bff 100644
--- a/src/components/Pages/Keluhan/Table_31.vue
+++ b/src/components/Pages/Keluhan/Table_31.vue
@@ -1,18 +1,26 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
+
-
+
-
+
@@ -73,7 +81,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Keluhan/Table_32.vue b/src/components/Pages/Keluhan/Table_32.vue
index d3eaa66..77bbe03 100644
--- a/src/components/Pages/Keluhan/Table_32.vue
+++ b/src/components/Pages/Keluhan/Table_32.vue
@@ -1,128 +1,345 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanPerTanggal
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+ }
+
diff --git a/src/components/Pages/Keluhan/Table_33.vue b/src/components/Pages/Keluhan/Table_33.vue
index b879473..f423b65 100644
--- a/src/components/Pages/Keluhan/Table_33.vue
+++ b/src/components/Pages/Keluhan/Table_33.vue
@@ -1,127 +1,217 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanPerUnit
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+
+}
+
diff --git a/src/components/Pages/Keluhan/Table_34.vue b/src/components/Pages/Keluhan/Table_34.vue
index fb032a8..97afa3f 100644
--- a/src/components/Pages/Keluhan/Table_34.vue
+++ b/src/components/Pages/Keluhan/Table_34.vue
@@ -1,86 +1,177 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
+const filters = ref();
+
+const filterData = (params: any) => {
+ const dateValue = params.periode.split(' s/d ')
+ const posko = params.posko ? params.posko.id : ''
+ const uid = params.uid ? params.uid.id : 0
+ const up3 = params.up3 ? params.up3.id : 0
+ refetch({
+ 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),
+ posko: posko,
+ idUid: uid,
+ idUp3: up3
+ })
+
+ onResult((queryResult) => {
+ if (queryResult.data != undefined) {
+ data.value = queryResult.data.rekapitulasiKeluhanBerdasarkanMedia
+
+ }
+ console.log(queryResult.data)
+ console.log(queryResult.loading)
+ console.log(queryResult.networkStatus)
+ })
+ onError((error) => {
+ console.log(error)
+ })
+}
+
diff --git a/src/components/Pages/Keluhan/Table_35.vue b/src/components/Pages/Keluhan/Table_35.vue
index 695ad2d..be1f318 100644
--- a/src/components/Pages/Keluhan/Table_35.vue
+++ b/src/components/Pages/Keluhan/Table_35.vue
@@ -1,60 +1,68 @@
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
-
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -63,7 +71,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Material/Table_68.vue b/src/components/Pages/Material/Table_68.vue
index 028ca60..d88d8a4 100644
--- a/src/components/Pages/Material/Table_68.vue
+++ b/src/components/Pages/Material/Table_68.vue
@@ -7,7 +7,8 @@
-
+
diff --git a/src/components/Pages/Material/Table_69.vue b/src/components/Pages/Material/Table_69.vue
index 0286cf2..6cabde2 100644
--- a/src/components/Pages/Material/Table_69.vue
+++ b/src/components/Pages/Material/Table_69.vue
@@ -7,7 +7,8 @@
-
+
diff --git a/src/components/Pages/MenuProvider.vue b/src/components/Pages/MenuProvider.vue
index a22e1af..05786d5 100644
--- a/src/components/Pages/MenuProvider.vue
+++ b/src/components/Pages/MenuProvider.vue
@@ -1,25 +1,20 @@
-
-
-
{{ pageTitle }}
-
-
-
-
-
-
-
-
-
+
+
+
{{ pageTitle }}
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/components/Pages/Monalisa/Table_36.vue b/src/components/Pages/Monalisa/Table_36.vue
index 7ba947c..add6a38 100644
--- a/src/components/Pages/Monalisa/Table_36.vue
+++ b/src/components/Pages/Monalisa/Table_36.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +44,38 @@
\ No newline at end of file
+ console.log(bulanSekarang.value)
+});
+const filters= ref();
+
diff --git a/src/components/Pages/Monalisa/Table_37.vue b/src/components/Pages/Monalisa/Table_37.vue
index 9689a17..2bb02ba 100644
--- a/src/components/Pages/Monalisa/Table_37.vue
+++ b/src/components/Pages/Monalisa/Table_37.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +44,39 @@
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_38.vue b/src/components/Pages/Monalisa/Table_38.vue
index 3bf4ae5..c9d5cf2 100644
--- a/src/components/Pages/Monalisa/Table_38.vue
+++ b/src/components/Pages/Monalisa/Table_38.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,7 +44,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_39.vue b/src/components/Pages/Monalisa/Table_39.vue
index a46cd82..9001c0c 100644
--- a/src/components/Pages/Monalisa/Table_39.vue
+++ b/src/components/Pages/Monalisa/Table_39.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,15 +44,104 @@
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_40.vue b/src/components/Pages/Monalisa/Table_40.vue
index 93ec2d8..dce4030 100644
--- a/src/components/Pages/Monalisa/Table_40.vue
+++ b/src/components/Pages/Monalisa/Table_40.vue
@@ -1,127 +1,223 @@
-
-
-
-
-
-
-
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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..18aa714 100644
--- a/src/components/Pages/Monalisa/Table_41.vue
+++ b/src/components/Pages/Monalisa/Table_41.vue
@@ -1,37 +1,134 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_42.vue b/src/components/Pages/Monalisa/Table_42.vue
index 39a3ee3..39a520a 100644
--- a/src/components/Pages/Monalisa/Table_42.vue
+++ b/src/components/Pages/Monalisa/Table_42.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +44,104 @@
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_43.vue b/src/components/Pages/Monalisa/Table_43.vue
index 35f0495..e98abe6 100644
--- a/src/components/Pages/Monalisa/Table_43.vue
+++ b/src/components/Pages/Monalisa/Table_43.vue
@@ -1,33 +1,41 @@
-
-
+ filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
+
-
+
-
+
-
-
-
+
+
-
-
-
+
+
@@ -36,16 +44,104 @@
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_44.vue b/src/components/Pages/Monalisa/Table_44.vue
index 4347892..409f104 100644
--- a/src/components/Pages/Monalisa/Table_44.vue
+++ b/src/components/Pages/Monalisa/Table_44.vue
@@ -1,12 +1,19 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -25,16 +32,105 @@
\ No newline at end of file
+const filters = ref()
+
diff --git a/src/components/Pages/Monalisa/Table_45.vue b/src/components/Pages/Monalisa/Table_45.vue
index 7ba947c..b1cd80a 100644
--- a/src/components/Pages/Monalisa/Table_45.vue
+++ b/src/components/Pages/Monalisa/Table_45.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
-
-
-
-
-
-
@@ -36,7 +43,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_46.vue b/src/components/Pages/Monalisa/Table_46.vue
index a2fd52a..45217a5 100644
--- a/src/components/Pages/Monalisa/Table_46.vue
+++ b/src/components/Pages/Monalisa/Table_46.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
-
-
-
-
-
-
@@ -36,7 +43,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_47.vue b/src/components/Pages/Monalisa/Table_47.vue
index 9393684..10e38cf 100644
--- a/src/components/Pages/Monalisa/Table_47.vue
+++ b/src/components/Pages/Monalisa/Table_47.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
-
-
-
-
-
-
@@ -36,8 +43,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_48.vue b/src/components/Pages/Monalisa/Table_48.vue
index 3156041..d6320e7 100644
--- a/src/components/Pages/Monalisa/Table_48.vue
+++ b/src/components/Pages/Monalisa/Table_48.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
@@ -72,8 +79,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_49.vue b/src/components/Pages/Monalisa/Table_49.vue
index d8a4635..4eca558 100644
--- a/src/components/Pages/Monalisa/Table_49.vue
+++ b/src/components/Pages/Monalisa/Table_49.vue
@@ -1,12 +1,19 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -22,8 +29,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_50.vue b/src/components/Pages/Monalisa/Table_50.vue
index 80f6978..77c4ea7 100644
--- a/src/components/Pages/Monalisa/Table_50.vue
+++ b/src/components/Pages/Monalisa/Table_50.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
-
+
-
-
-
-
-
-
@@ -36,8 +43,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_51.vue b/src/components/Pages/Monalisa/Table_51.vue
index 4d7dbff..76c12da 100644
--- a/src/components/Pages/Monalisa/Table_51.vue
+++ b/src/components/Pages/Monalisa/Table_51.vue
@@ -1,12 +1,19 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -25,8 +32,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_52.vue b/src/components/Pages/Monalisa/Table_52.vue
index 022c57b..6db98bc 100644
--- a/src/components/Pages/Monalisa/Table_52.vue
+++ b/src/components/Pages/Monalisa/Table_52.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -82,8 +89,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_53.vue b/src/components/Pages/Monalisa/Table_53.vue
index 1b8cee5..680806e 100644
--- a/src/components/Pages/Monalisa/Table_53.vue
+++ b/src/components/Pages/Monalisa/Table_53.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -44,8 +51,10 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_54.vue b/src/components/Pages/Monalisa/Table_54.vue
index fe355bd..cc689e9 100644
--- a/src/components/Pages/Monalisa/Table_54.vue
+++ b/src/components/Pages/Monalisa/Table_54.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -34,8 +41,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_55.vue b/src/components/Pages/Monalisa/Table_55.vue
index e1bec20..d980bee 100644
--- a/src/components/Pages/Monalisa/Table_55.vue
+++ b/src/components/Pages/Monalisa/Table_55.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -36,8 +43,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_56.vue b/src/components/Pages/Monalisa/Table_56.vue
index 1370814..8a70cc3 100644
--- a/src/components/Pages/Monalisa/Table_56.vue
+++ b/src/components/Pages/Monalisa/Table_56.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -69,8 +76,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_57.vue b/src/components/Pages/Monalisa/Table_57.vue
index 55a1fbc..5341f68 100644
--- a/src/components/Pages/Monalisa/Table_57.vue
+++ b/src/components/Pages/Monalisa/Table_57.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -44,8 +51,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_58.vue b/src/components/Pages/Monalisa/Table_58.vue
index 254e7d7..d3882f0 100644
--- a/src/components/Pages/Monalisa/Table_58.vue
+++ b/src/components/Pages/Monalisa/Table_58.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -34,8 +41,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/Monalisa/Table_59.vue b/src/components/Pages/Monalisa/Table_59.vue
index 954b5e1..331b5f7 100644
--- a/src/components/Pages/Monalisa/Table_59.vue
+++ b/src/components/Pages/Monalisa/Table_59.vue
@@ -1,5 +1,11 @@
-
+
filterData(filters)" class="mb-4">
+ {
+ filters = value
+ }
+ " />
+
+
-
+
@@ -37,8 +44,9 @@
\ No newline at end of file
diff --git a/src/components/Pages/PencarianData/Table_71.vue b/src/components/Pages/PencarianData/Table_71.vue
index cf587b8..2af40d5 100644
--- a/src/components/Pages/PencarianData/Table_71.vue
+++ b/src/components/Pages/PencarianData/Table_71.vue
@@ -7,7 +7,8 @@
-
+
@@ -36,11 +37,18 @@
-
+ emit('update:selected', value)"
+ v-model="selected"
+ v-slot="{ open }"
+ >
-
+
@@ -75,6 +95,7 @@
@after-leave="query = ''"
>
- {{ item.value }}
+ {{ item.name }}
+interface DataItem {
+ id: number;
+ name: string;
+}
+
+import { ref, computed, onMounted } from 'vue'
+import {
+ Combobox,
+ ComboboxInput,
+ ComboboxButton,
+ ComboboxOptions,
+ ComboboxOption,
+ TransitionRoot
+} from '@headlessui/vue'
+import { CheckIcon, ChevronUpDownIcon } from '@heroicons/vue/20/solid'
+
+const props = defineProps({
+ placeholder: {
+ type: String,
+ default: ''
+ },
+ data: {
+ type: Array as () => DataItem[],
+ default: []
+ }
+})
+const emit = defineEmits(["update:selected"])
+
+const data = computed(() => [{ id: 0, name: props.placeholder }, ...props.data]);
+
+let selected = ref([data.value[0]])
+let query = ref('')
+let filteredData = computed(() =>
+ query.value === ''
+ ? data.value
+ : data.value.filter((item: DataItem) =>
+ item.name
+ .toLowerCase()
+ .replace(/\s+/g, '')
+ .includes(query.value.toLowerCase().replace(/\s+/g, ''))
+ )
+)
+
+const show = ref(false)
+ const removeJenis = (item: DataItem) => {
+ selected.value = selected.value.filter((i) => i.id !== item.id)
+ }
+onMounted(() => {
+})
+
+
+
+
+
+ emit('update:selected', value)" v-model="selected" v-slot="{ open }" multiple>
+
+
+
+
+
+
+
+
+
+
+ Empty
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+ Nothing found.
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main.ts b/src/main.ts
index 642dd9d..472bf77 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,20 +1,20 @@
// import 'devextreme/dist/css/dx.material.blue.light.compact.css'
import '@lottiefiles/lottie-player'
import '@/assets/css/main.css'
-import { createApp } from 'vue'
import { createPinia } from 'pinia'
-import { createApolloProvider } from '@vue/apollo-option'
-import { apolloClient } from './utils/graphql'
import App from './App.vue'
import router from './router'
+import { createApp, provide, h } from 'vue'
+import { DefaultApolloClient } from '@vue/apollo-composable'
+import { apolloClient } from './utils/graphql'
-const app = createApp(App)
-
-const apolloProvider = createApolloProvider({
- defaultClient: apolloClient,
-});
+const app = createApp({
+ setup() {
+ provide(DefaultApolloClient, apolloClient())
+ },
+ render: () => h(App),
+})
app.use(createPinia())
-app.use(apolloProvider)
app.use(router)
-app.mount('#app')
+app.mount('#app')
\ No newline at end of file
diff --git a/src/router/index.ts b/src/router/index.ts
index e79991c..592d3ea 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,4 +1,3 @@
-
import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router'
import { useAuthStore } from '@/stores/auth'
import HomeView from '@/views/HomeView.vue'
@@ -28,7 +27,7 @@ import {
GangguanTable17,
GangguanTable18,
GangguanTable19,
- GangguanTable20,
+ GangguanTable20
} from '@/components/Pages/Gangguan'
import {
KeluhanTable1,
@@ -45,7 +44,7 @@ import {
KeluhanTable12,
KeluhanTable13,
KeluhanTable14,
- KeluhanTable15,
+ KeluhanTable15
} from '@/components/Pages/Keluhan'
import {
MonalisaTable1,
@@ -74,7 +73,12 @@ import {
MonalisaTable9
} from '@/components/Pages/Monalisa'
import { CicoTable1 } from '@/components/Pages/Cico'
-import { AnomaliTable1, AnomaliTable2, AnomaliTable3, AnomaliTable5 } from '@/components/Pages/Anomali'
+import {
+ AnomaliTable1,
+ AnomaliTable2,
+ AnomaliTable3,
+ AnomaliTable5
+} from '@/components/Pages/Anomali'
import { CttTable1 } from '@/components/Pages/Ctt'
import { MaterialTable1, MaterialTable2 } from '@/components/Pages/Material'
import { TransaksiTable1 } from '@/components/Pages/Transaksi'
@@ -89,7 +93,7 @@ export const routes: RouteRecordRaw[] = [
{
path: '',
name: 'Home Page',
- component: WelcomePage,
+ component: WelcomePage
},
{
path: 'gangguan',
@@ -102,43 +106,43 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Daftar Gangguan Dialihkan Ke Posko Lain',
- component: GangguanTable1,
+ component: GangguanTable1
},
{
path: '2',
name: 'Daftar Gangguan Melapor Lebih Dari 1 Kali',
- component: GangguanTable2,
+ component: GangguanTable2
},
{
path: '3',
name: 'Daftar Gangguan Response Time',
- component: GangguanTable3,
+ component: GangguanTable3
},
{
path: '4',
name: 'Daftar Gangguan Recovery Time',
- component: GangguanTable4,
+ component: GangguanTable4
},
{
path: '5',
name: 'Daftar Gangguan Selesai Tanpa ID Pelanggan',
- component: GangguanTable5,
+ component: GangguanTable5
},
{
path: '6',
name: 'Daftar Gangguan Berdasarkan Media',
- component: GangguanTable6,
+ component: GangguanTable6
},
{
path: '7',
name: 'Daftar Gangguan Diselesaikan Mobile APKT',
- component: GangguanTable7,
+ component: GangguanTable7
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'rekapitulasi',
@@ -147,77 +151,77 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Rekapitulasi Gangguan All',
- component: GangguanTable8,
+ component: GangguanTable8
},
{
path: '2',
name: 'Rekapitulasi Gangguan/Jenis Gangguan',
- component: GangguanTable9,
+ component: GangguanTable9
},
{
path: '3',
name: 'Rekapitulasi Gangguan/Jenis Gangguan SE 004',
- component: GangguanTable10,
+ component: GangguanTable10
},
{
path: '4',
name: 'Rekapitulasi Gangguan Per Posko',
- component: GangguanTable11,
+ component: GangguanTable11
},
{
path: '5',
name: 'Rekapitulasi Gangguan Per Regu',
- component: GangguanTable12,
+ component: GangguanTable12
},
{
path: '6',
name: 'Rekapitulasi Gangguan Per Tanggal',
- component: GangguanTable13,
+ component: GangguanTable13
},
{
path: '7',
name: 'Rekapitulasi Gangguan Berdasarkan Media',
- component: GangguanTable14,
+ component: GangguanTable14
},
{
path: '8',
name: 'Rekapitulasi Gangguan Alih Posko',
- component: GangguanTable15,
+ component: GangguanTable15
},
{
path: '9',
name: 'Rekapitulasi Gangguan Diselesaikan Mobile APKT',
- component: GangguanTable16,
+ component: GangguanTable16
},
{
path: '10',
name: 'Rekapitulasi Rating Per Posko',
- component: GangguanTable17,
+ component: GangguanTable17
},
{
path: '11',
name: 'Rekapitulasi Rating Per Regu',
- component: GangguanTable18,
+ component: GangguanTable18
},
{
path: '12',
name: 'Rekapitulasi Koreksi Transaksi Individual',
- component: GangguanTable19,
+ component: GangguanTable19
},
{
path: '13',
name: 'Rekapitulasi Cleansing Transaksi TM',
- component: GangguanTable20,
+ component: GangguanTable20
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
]
},
@@ -232,43 +236,43 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Daftar Keluhan Dialihkan Ke Unit Lain',
- component: KeluhanTable1,
+ component: KeluhanTable1
},
{
path: '2',
name: 'Daftar Keluhan Pelanggan Lebih Dari 1 Kali',
- component: KeluhanTable2,
+ component: KeluhanTable2
},
{
path: '3',
name: 'Daftar Keluhan Response Time',
- component: KeluhanTable3,
+ component: KeluhanTable3
},
{
path: '4',
name: 'Daftar Keluhan Recovery Time',
- component: KeluhanTable4,
+ component: KeluhanTable4
},
{
path: '5',
name: 'Daftar Keluhan Selesai Tanpa ID Pelanggan',
- component: KeluhanTable5,
+ component: KeluhanTable5
},
{
path: '6',
name: 'Daftar Keluhan Berdasarkan Media',
- component: KeluhanTable6,
+ component: KeluhanTable6
},
{
path: '7',
name: 'Daftar Keluhan Selesai di CC123',
- component: KeluhanTable7,
+ component: KeluhanTable7
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'rekapitulasi',
@@ -277,54 +281,54 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Rekapitulasi Keluhan All',
- component: KeluhanTable8,
+ component: KeluhanTable8
},
{
path: '2',
name: 'Rekapitulasi Keluhan Per Fungsi Bidang',
- component: KeluhanTable9,
+ component: KeluhanTable9
},
{
path: '3',
name: 'Rekapitulasi Keluhan Per Jenis Keluhan',
- component: KeluhanTable10,
+ component: KeluhanTable10
},
{
path: '4',
name: 'Rekapitulasi Keluhan Per Kelompok Keluhan',
- component: KeluhanTable11,
+ component: KeluhanTable11
},
{
path: '5',
name: 'Rekapitulasi Keluhan Per Tanggal',
- component: KeluhanTable12,
+ component: KeluhanTable12
},
{
path: '6',
name: 'Rekapitulasi Keluhan Per Unit',
- component: KeluhanTable13,
+ component: KeluhanTable13
},
{
path: '7',
name: 'Rekapitulasi Keluhan Berdasarkan Media',
- component: KeluhanTable14,
+ component: KeluhanTable14
},
{
path: '8',
name: 'Rekapitulasi Rating Per Unit',
- component: KeluhanTable15,
+ component: KeluhanTable15
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'monalisa',
@@ -341,59 +345,59 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Jumlah Kali Gangguan',
- component: MonalisaTable1,
+ component: MonalisaTable1
},
{
path: '2',
name: 'Dispacthing Time (DT) Gangguan',
- component: MonalisaTable2,
+ component: MonalisaTable2
},
{
path: '3',
name: 'Recovery Time (RCT) Gangguan',
- component: MonalisaTable3,
+ component: MonalisaTable3
},
{
path: '4',
name: 'Response Time (RPT) Gangguan',
- component: MonalisaTable4,
+ component: MonalisaTable4
},
{
path: '5',
name: 'Jumlah dan Durasi RPT RCT Gangguan',
- component: MonalisaTable5,
+ component: MonalisaTable5
},
{
path: '6',
name: 'Rekapitulasi Gangguan Per Jenis Gangguan',
- component: MonalisaTable6,
+ component: MonalisaTable6
},
{
path: '7',
name: 'Rekapitulasi Lapor Ulang Gangguan',
- component: MonalisaTable7,
+ component: MonalisaTable7
},
{
path: '8',
name: 'Rekapitulasi ENS Gangguan',
- component: MonalisaTable8,
+ component: MonalisaTable8
},
{
path: '9',
name: 'Rekapitulasi Gangguan Belum Selesai',
- component: MonalisaTable9,
+ component: MonalisaTable9
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'keluhan',
@@ -406,49 +410,49 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Jumlah Kali Keluhan',
- component: MonalisaTable10,
+ component: MonalisaTable10
},
{
path: '2',
name: 'Recovery Time (RCT) Keluhan',
- component: MonalisaTable11,
+ component: MonalisaTable11
},
{
path: '3',
name: 'Response Time (RPT) Keluhan',
- component: MonalisaTable12,
+ component: MonalisaTable12
},
{
path: '4',
name: 'Jumlah dan Durasi RPT RCT Keluhan',
- component: MonalisaTable13,
+ component: MonalisaTable13
},
{
path: '5',
name: 'Rekapitulasi Gangguan Per Jenis Keluhan',
- component: MonalisaTable14,
+ component: MonalisaTable14
},
{
path: '6',
name: 'Rekapitulasi Lapor Ulang Keluhan',
- component: MonalisaTable15,
+ component: MonalisaTable15
},
{
path: '7',
name: 'Rekapitulasi Keluhan Belum Selesai',
- component: MonalisaTable16,
+ component: MonalisaTable16
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'laporan-kpi',
@@ -461,28 +465,28 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: '(Monalisa) Penurunan Jumlah Komplain',
- component: MonalisaTable17,
+ component: MonalisaTable17
},
{
path: '2',
name: '(Monalisa) Aging Complaint',
- component: MonalisaTable18,
+ component: MonalisaTable18
},
{
path: '3',
name: '(Monalisa) Energy Not Sales (ENS)',
- component: MonalisaTable19,
+ component: MonalisaTable19
},
{
path: '4',
name: '(Monalisa) Kepatuhan dan Akurasi Dalam Pelaporan',
- component: MonalisaTable20,
+ component: MonalisaTable20
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'kumulatif',
@@ -491,40 +495,40 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Penurunan Jumlah Komplain',
- component: MonalisaTable21,
+ component: MonalisaTable21
},
{
path: '2',
name: 'Aging Complaint',
- component: MonalisaTable22,
+ component: MonalisaTable22
},
{
path: '3',
name: 'Energy Not Sales (ENS)',
- component: MonalisaTable23,
+ component: MonalisaTable23
},
{
path: '4',
name: 'Kepatuhan dan Akurasi Dalam Pelaporan',
- component: MonalisaTable24,
+ component: MonalisaTable24
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
- },
- ],
+ component: EmptyPage
+ }
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
- },
- ],
+ component: EmptyPage
+ }
+ ]
},
{
path: 'check-in-out',
@@ -537,19 +541,19 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Laporan Check In /Check Out (CICO)',
- component: CicoTable1,
+ component: CicoTable1
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'anomali-pengaduan',
@@ -562,18 +566,18 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Laporan Anomali Penangan Pengaduan Gangguan Unit',
- component: AnomaliTable1,
+ component: AnomaliTable1
},
{
path: '2',
name: 'Laporan Anomali Penangan Pengaduan Gangguan Petugas',
- component: AnomaliTable3,
+ component: AnomaliTable3
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'keluhan',
@@ -582,19 +586,19 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Laporan Anomali Penangan Pengaduan Keluhan Unit',
- component: AnomaliTable5,
+ component: AnomaliTable5
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'ctt-kwh-periksa',
@@ -603,13 +607,13 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Laporan CTT & KWH Periksa',
- component: CttTable1,
+ component: CttTable1
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'material',
@@ -622,13 +626,13 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Daftar Gangguan Dan Material Yang Dipakai',
- component: MaterialTable1,
+ component: MaterialTable1
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'rekapitulasi',
@@ -637,19 +641,19 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Rekapitulasi Pemakaian Material',
- component: MaterialTable2,
+ component: MaterialTable2
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'transaksi',
@@ -658,13 +662,13 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Transaksi APKT',
- component: TransaksiTable1,
+ component: TransaksiTable1
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
- ],
+ ]
},
{
path: 'pencarian-data',
@@ -673,17 +677,17 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Pencarian Report Number',
- component: PencarianDataTable1,
+ component: PencarianDataTable1
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
]
},
{
path: ':pathMatch(.*)*',
- component: EmptyPage,
+ component: EmptyPage
}
]
},
@@ -711,46 +715,45 @@ export const routes: RouteRecordRaw[] = [
]
export const mergeChildrenRoutes = (routes: RouteRecordRaw[]): RouteRecordRaw[] => {
- const mergedRoutes: RouteRecordRaw[] = [];
+ const mergedRoutes: RouteRecordRaw[] = []
for (const route of routes) {
if (route.children && route.children.length > 0) {
// Buat salinan route tanpa children
- const topLevelRoute: RouteRecordRaw = { ...route, children: [] };
+ const topLevelRoute: RouteRecordRaw = { ...route, children: [] }
// Salin setiap route children ke children route paling atas
for (const childRoute of route.children) {
- const fullPath = `${route.path}/${childRoute.path}`.replace(/\/+/g, '/');
- const mergedChildRoute: RouteRecordRaw = { ...childRoute, path: fullPath };
- topLevelRoute.children?.push(mergedChildRoute);
+ const fullPath = `${route.path}/${childRoute.path}`.replace(/\/+/g, '/')
+ const mergedChildRoute: RouteRecordRaw = { ...childRoute, path: fullPath }
+ topLevelRoute.children?.push(mergedChildRoute)
}
- mergedRoutes.push(topLevelRoute);
+ mergedRoutes.push(topLevelRoute)
} else {
// Jika route tidak memiliki children, tambahkan as is
- mergedRoutes.push(route);
+ mergedRoutes.push(route)
}
}
- return mergedRoutes;
+ return mergedRoutes
}
export const extractLeafRoutes = (routes: RouteRecordRaw[], parentPath = ''): RouteRecordRaw[] => {
- const leafRoutes: RouteRecordRaw[] = [];
+ const leafRoutes: RouteRecordRaw[] = []
for (const route of routes) {
-
- const fullPath = `${parentPath}/${route.path}`.replace(/\/+/g, '/');
+ const fullPath = `${parentPath}/${route.path}`.replace(/\/+/g, '/')
if (route.children && route.children.length > 0) {
- leafRoutes.push(...extractLeafRoutes(route.children, fullPath));
+ leafRoutes.push(...extractLeafRoutes(route.children, fullPath))
} else {
- const leafRoute = { ...route, path: fullPath };
- leafRoutes.push(leafRoute);
+ const leafRoute = { ...route, path: fullPath }
+ leafRoutes.push(leafRoute)
}
}
- return leafRoutes;
+ return leafRoutes
}
export const fixRoute = (route: RouteRecordRaw[]): RouteRecordRaw[] => {
@@ -770,14 +773,27 @@ export const fixRoute = (route: RouteRecordRaw[]): RouteRecordRaw[] => {
getRoute(r.children, `${parent}/${r.path}`)
} else {
const fullPath = `${parent.replace('/', '')}/${r.path.replace('/', '')}`
- if (newRoute.find((nr) => nr.path !== '/' && nr.path === '/home' && fullPath.includes(nr.path))) {
+ if (
+ newRoute.find(
+ (nr) => nr.path !== '/' && nr.path === '/home' && fullPath.includes(nr.path)
+ )
+ ) {
const index = newRoute.findIndex((nr) => nr.path !== '/' && fullPath.includes(nr.path))
newRoute[index] = {
- ...newRoute[index], children: [...newRoute[index].children ?? [], {
- path: fullPath === '/home/' ? '' : fullPath.includes('/home/') ? fullPath.replace('/home/', '') : fullPath,
- name: r.name,
- component: r.component
- } as RouteRecordRaw]
+ ...newRoute[index],
+ children: [
+ ...(newRoute[index].children ?? []),
+ {
+ path:
+ fullPath === '/home/'
+ ? ''
+ : fullPath.includes('/home/')
+ ? fullPath.replace('/home/', '')
+ : fullPath,
+ name: r.name,
+ component: r.component
+ } as RouteRecordRaw
+ ]
}
} else {
newRoute.push({
@@ -792,25 +808,26 @@ export const fixRoute = (route: RouteRecordRaw[]): RouteRecordRaw[] => {
getRoute(route)
// remove duplicate route path and sort by path length
- const uniqueRoute = newRoute.filter((nr, index, self) => self.findIndex((n) => n.path === nr.path) === index).sort((a, b) => b.path.length - a.path.length)
+ const uniqueRoute = newRoute
+ .filter((nr, index, self) => self.findIndex((n) => n.path === nr.path) === index)
+ .sort((a, b) => b.path.length - a.path.length)
// console.log('route', newRoute);
// return uniqueRoute
return newRoute
}
-
const router = createRouter({
history: createWebHistory(),
linkActiveClass: 'active',
stringifyQuery: qs.stringify,
routes: fixRoute(routes),
- strict: true,
+ strict: true
})
router.beforeEach((to, from, next) => {
// redirect to login page if not logged in and trying to access a restricted page
- const auth = useAuthStore();
+ const auth = useAuthStore()
// if to is not found, redirect to 404
if (to.matched.length === 0) {
diff --git a/src/stores/date.ts b/src/stores/date.ts
new file mode 100644
index 0000000..6748c4d
--- /dev/null
+++ b/src/stores/date.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useDateStore = defineStore('date', () => {
+ const dateValue = ref('')
+ const setDateValue = (value: string) => {
+ dateValue.value = value
+ }
+ const getDateValue = () => {
+ return dateValue.value;
+ }
+ return {
+ setDateValue,
+ getDateValue,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/filters.ts b/src/stores/filters.ts
index 5e31569..b2cbf9a 100644
--- a/src/stores/filters.ts
+++ b/src/stores/filters.ts
@@ -19,6 +19,7 @@ import {
Type15,
Type16,
Type17,
+ Type18
} from '@/components/Form/FiltersType'
const test1: { [key: string]: any } = {
@@ -38,7 +39,8 @@ const test1: { [key: string]: any } = {
'type-14': Type14,
'type-15': Type15,
'type-16': Type16,
- 'type-17': Type17
+ 'type-17': Type17,
+ 'type-18': Type18
}
const getFilters = (type: string): VueElement => {
diff --git a/src/stores/filtersAction.ts b/src/stores/filtersAction.ts
new file mode 100644
index 0000000..3f60e22
--- /dev/null
+++ b/src/stores/filtersAction.ts
@@ -0,0 +1,9 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+
+export const useSearchStore = defineStore('dateTest', () => {
+ return {
+ isTriggerChange: ref(false),
+ }
+})
\ No newline at end of file
diff --git a/src/stores/media.ts b/src/stores/media.ts
new file mode 100644
index 0000000..cf9f5f7
--- /dev/null
+++ b/src/stores/media.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useMediaStore = defineStore('media', () => {
+ const media = ref('')
+ const setData = (value: string) => {
+ media.value = value
+ }
+ const getData = () => {
+ return media.value
+ }
+ return {
+ setData,
+ getData,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/posts.ts b/src/stores/posts.ts
new file mode 100644
index 0000000..b8ae4db
--- /dev/null
+++ b/src/stores/posts.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const usePostsStore = defineStore('posts', () => {
+ const posts = ref('')
+ const setData = (value: string) => {
+ posts.value = value
+ }
+ const getData = () => {
+ return posts.value
+ }
+ return {
+ setData,
+ getData,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/queries.ts b/src/stores/queries.ts
index 09d0e5d..e287beb 100644
--- a/src/stores/queries.ts
+++ b/src/stores/queries.ts
@@ -1,7 +1,7 @@
import { ref, computed } from 'vue'
import { defineStore } from 'pinia'
import gql from 'graphql-tag'
-import { useQuery } from '@apollo/client'
+import { useQuery } from '@vue/apollo-composable'
export const useQueryStore = defineStore('query', () => {
const getUser = useQuery(gql`
diff --git a/src/stores/region.ts b/src/stores/region.ts
new file mode 100644
index 0000000..33c362d
--- /dev/null
+++ b/src/stores/region.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useRegionStore = defineStore('region', () => {
+ const region = ref()
+ const setData = (value: Number) => {
+ region.value = value
+ }
+ const getData = () => {
+ return region.value
+ }
+ return {
+ setData,
+ getData,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/totalDuration.ts b/src/stores/totalDuration.ts
new file mode 100644
index 0000000..81afbdb
--- /dev/null
+++ b/src/stores/totalDuration.ts
@@ -0,0 +1,25 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useTotalDuration = defineStore('totalDuration', () => {
+ const totalMin = ref(1)
+ const totalMax = ref(1)
+ const setDataMin = (value: any) => {
+ totalMin.value = value
+ }
+ const getDataMin = () => {
+ return totalMin.value
+ }
+ const setDataMax = (value: any) => {
+ totalMax.value = value
+ }
+ const getDataMax = () => {
+ return totalMax.value
+ }
+ return {
+ setDataMin,
+ getDataMin,
+ setDataMax,
+ getDataMax,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/totalReport.ts b/src/stores/totalReport.ts
new file mode 100644
index 0000000..2fbccf9
--- /dev/null
+++ b/src/stores/totalReport.ts
@@ -0,0 +1,25 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useTotalReport = defineStore('totalReport', () => {
+ const totalMin = ref(1)
+ const totalMax = ref(1)
+ const setDataMin = (value: any) => {
+ totalMin.value = value
+ }
+ const getDataMin = () => {
+ return totalMin.value
+ }
+ const setDataMax = (value: any) => {
+ totalMax.value = value
+ }
+ const getDataMax = () => {
+ return totalMax.value
+ }
+ return {
+ setDataMin,
+ getDataMin,
+ setDataMax,
+ getDataMax,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/ulp.ts b/src/stores/ulp.ts
new file mode 100644
index 0000000..7455deb
--- /dev/null
+++ b/src/stores/ulp.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useUlpStore = defineStore('ulp', () => {
+ const ulp = ref()
+ const setData = (value: number) => {
+ ulp.value = value
+ }
+ const getData = () => {
+ return ulp.value
+ }
+ return {
+ setData,
+ getData,
+ }
+})
\ No newline at end of file
diff --git a/src/stores/up3.ts b/src/stores/up3.ts
new file mode 100644
index 0000000..3139ec9
--- /dev/null
+++ b/src/stores/up3.ts
@@ -0,0 +1,16 @@
+import { ref } from 'vue'
+import { defineStore } from 'pinia'
+
+export const useUp3Store = defineStore('up3', () => {
+ const up3 = ref()
+ const setData = (value: number) => {
+ up3.value = value
+ }
+ const getData = () => {
+ return up3.value
+ }
+ return {
+ setData,
+ getData,
+ }
+})
\ No newline at end of file
diff --git a/src/utils/graphql.ts b/src/utils/graphql.ts
index 3aecf89..6f062b1 100644
--- a/src/utils/graphql.ts
+++ b/src/utils/graphql.ts
@@ -1,16 +1,24 @@
import { ApolloClient, createHttpLink, InMemoryCache } from '@apollo/client/core'
-// HTTP connection to the API
-const httpLink = createHttpLink({
- // You should use an absolute URL here
- uri: 'http://localhost:3020/graphql',
-})
+export const apolloClient = () => {
-// Cache implementation
-const cache = new InMemoryCache()
+ const httpLink = createHttpLink({
+ uri: 'http://192.168.1.84/:32180/graphql',
+ credentials: 'include', // Include credentials for cross-origin requests
+ });
-// Create the apollo client
-export const apolloClient = new ApolloClient({
+
+ const apolloClient = new ApolloClient({
+ cache: new InMemoryCache(),
link: httpLink,
- cache,
-})
\ No newline at end of file
+ headers: {
+ Accept: 'application/json',
+ 'Accept-Encoding': 'gzip, deflate',
+ 'Cache-Control': 'no-cache',
+ Connection: 'keep-alive',
+ 'Content-Type': 'application/json',
+ // Add other headers as needed
+ },
+ });
+ return apolloClient;
+}
\ No newline at end of file
diff --git a/src/utils/network.ts b/src/utils/network.ts
new file mode 100644
index 0000000..3012ef3
--- /dev/null
+++ b/src/utils/network.ts
@@ -0,0 +1,14 @@
+import axios from 'axios'
+
+const instance = axios.create({
+ baseURL: 'http://192.168.1.84/:32180'
+})
+
+const getUid = async () => await instance.get('/uid')
+const getUidRegional = async (regional: number) => await instance.get('/uid?regional=' + regional)
+const getMedia = async () => await instance.get('/media')
+const getJenisTransaksi = async () => await instance.get('/jenisTransaksi')
+const getUp3 = async (uid: number) => await instance.get('/up3?uid=' + uid)
+const getUlp = async (up3: number) => await instance.get('/ulp?up3=' + up3)
+const getPosko = async (uppp: number) => await instance.get('/posko?up3=' + uppp)
+export { getUid, getUp3, getPosko, getUlp, getMedia, getJenisTransaksi, getUidRegional}
diff --git a/src/utils/numbers.ts b/src/utils/numbers.ts
index e69de29..18dac0f 100644
--- a/src/utils/numbers.ts
+++ b/src/utils/numbers.ts
@@ -0,0 +1,17 @@
+const splitRoutePath = (routePath: string): string[] => {
+ const routeParts = routePath.split('/').filter((part) => part !== '')
+
+ const routeArray: string[] = []
+ let currentRoute = ''
+
+ for (const part of routeParts) {
+ currentRoute += `/${part}`
+ routeArray.push(currentRoute)
+ }
+
+ return routeArray
+}
+
+export {
+ splitRoutePath
+}
\ No newline at end of file
diff --git a/src/utils/texts.ts b/src/utils/texts.ts
index 18dac0f..9f3036f 100644
--- a/src/utils/texts.ts
+++ b/src/utils/texts.ts
@@ -11,7 +11,13 @@ const splitRoutePath = (routePath: string): string[] => {
return routeArray
}
-
+const getMonthName = (monthNumber :number)=> {
+ const months = [
+ 'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni',
+ 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
+ ];
+ return months[monthNumber - 1] || '';
+ }
export {
- splitRoutePath
+ splitRoutePath,getMonthName
}
\ No newline at end of file