diff --git a/src/components/Form/FiltersType/Type1.vue b/src/components/Form/FiltersType/Type1.vue index 3f3bdaa..8be577b 100644 --- a/src/components/Form/FiltersType/Type1.vue +++ b/src/components/Form/FiltersType/Type1.vue @@ -1,7 +1,7 @@ diff --git a/src/components/Form/FiltersType/reference.ts b/src/components/Form/FiltersType/reference.ts index bca59e9..a290e46 100644 --- a/src/components/Form/FiltersType/reference.ts +++ b/src/components/Form/FiltersType/reference.ts @@ -1,17 +1,42 @@ -import { getUid, getUp3, getPosko } from '@/utils/network'; +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'; + interface Item { id: number; 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(); +const years =ref([]); +for (let i = 0; i < 5; i++) { + years.value.push({id:year-i, name: year-i}) +} const timeout = ref() const items = ref([]); const itemsUp3 = ref([]); const itemsPosko = ref([]); +const itemsUlp = ref([]); +const itemsRegional = ref([]); +const itemsMedia = ref([]); // Fetch data from the API using Axios const fetchData = async () => { try { @@ -43,11 +68,24 @@ const fetchDataUp3 = async (uid: number) => { } }; -const fetchDataPosko = async (uppp: number) => { +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(uppp) + const res = await getPosko(up3) itemsPosko.value = res.data.map((item: any) => ( { id: item.id, @@ -62,16 +100,22 @@ const fetchDataPosko = async (uppp: number) => { const selectedUid = (value: any) => { useRegionStore().setData(value.id); fetchDataUp3(value.id); - selectedUppp({id: 0, name: ''}); } -const selectedUppp = (value: any) => { +const selectedUp3Posko = (value: any) => { 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, selectedUppp, selectedPosko, fetchData, items, itemsUp3, itemsPosko }; +export { selectedUid, selectedUp3Posko ,selectedUp3Ulp, selectedPosko,selectedUlp, fetchData, items, itemsUp3, itemsPosko,itemsRegional,itemsMedia,itemsUlp ,months ,years}; diff --git a/src/utils/network.ts b/src/utils/network.ts index 0be9cfd..6785b74 100644 --- a/src/utils/network.ts +++ b/src/utils/network.ts @@ -11,5 +11,6 @@ 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 }; +export { getUid, getUp3, getPosko,getUlp,getMedia,getJenisTransaksi };