fix(filters): change source code in filters type

This commit is contained in:
kur0nek-o 2024-02-09 19:05:40 +07:00
parent cb8e11b1e9
commit e2790a3686
6 changed files with 108 additions and 111 deletions

View File

@ -4,15 +4,15 @@ import {
selectedUid, selectedUid,
selectedUp3Posko, selectedUp3Posko,
selectedPosko, selectedPosko,
fetchData, fetchUid,
items, itemsUid,
itemsUp3, itemsUp3,
itemsPosko itemsPosko
} from './reference' } from './reference'
import Select from '@/components/Select.vue' import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue' import DatePicker from '@/components/DatePicker.vue'
// fetchData();
const uidPlaceholder = 'Semua Unit Induk Distribusi/Wilayah' const uidPlaceholder = 'Semua Unit Induk Distribusi/Wilayah'
const uppPlaceholder = 'Semua Unit Pelaksanaan Pelayanan Pelanggan' const uppPlaceholder = 'Semua Unit Pelaksanaan Pelayanan Pelanggan'
const poskoPlaceholder = 'Semua Posko' const poskoPlaceholder = 'Semua Posko'
@ -55,6 +55,7 @@ const setPosko = (value: any) => {
onMounted(() => { onMounted(() => {
emit('update:filters', data.value) emit('update:filters', data.value)
fetchUid()
}) })
</script> </script>
@ -65,7 +66,7 @@ onMounted(() => {
> >
<Select <Select
:data="items" :data="itemsUid"
@update:selected="setUid($event)" @update:selected="setUid($event)"
:placeholder="uidPlaceholder" :placeholder="uidPlaceholder"
:selected="uid" :selected="uid"

View File

@ -1,4 +1,4 @@
<script setup lang="ts"> <!-- <script setup lang="ts">
import Select from '@/components/Select.vue' import Select from '@/components/Select.vue'
import { selectedUid, selectedUp3Ulp, fetchData, items, itemsUp3, itemsUlp,itemsRegional ,months, years} from './reference'; import { selectedUid, selectedUp3Ulp, fetchData, items, itemsUp3, itemsUlp,itemsRegional ,months, years} from './reference';
import { ref } from 'vue'; import { ref } from 'vue';
@ -68,4 +68,6 @@ const setUlp = (value: any) => {
<Select :data="years" placeholder="Pilih Tahun" /> <Select :data="years" placeholder="Pilih Tahun" />
</div> </div>
</div> </div>
</template> </template> -->
<template></template>

View File

@ -1,4 +1,4 @@
<script setup lang="ts"> <!-- <script setup lang="ts">
import Select from '@/components/Select.vue' import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue' import DatePicker from '@/components/DatePicker.vue'
import { selectedUid, selectedUp3Ulp,selectedUlp, fetchData, items, itemsUp3, itemsUlp } from './reference'; import { selectedUid, selectedUp3Ulp,selectedUlp, fetchData, items, itemsUp3, itemsUlp } from './reference';
@ -53,4 +53,5 @@ const setUlp = (value: any) => {
<DatePicker /> <DatePicker />
</div> </div>
</template> </template> -->
<template></template>

View File

@ -1,121 +1,123 @@
import { getUid, getUp3, getPosko, getUlp } from '@/utils/network'
import { getUid, getUp3, getPosko ,getUlp} from '@/utils/network';
import { ref } from 'vue' import { ref } from 'vue'
import { usePostsStore } from '@/stores/posts'; import { usePostsStore } from '@/stores/posts'
import { useUp3Store } from '@/stores/up3'; import { useUp3Store } from '@/stores/up3'
import { useRegionStore } from '@/stores/region'; import { useRegionStore } from '@/stores/region'
import { useUlpStore } from '@/stores/ulp'; import { useUlpStore } from '@/stores/ulp'
interface Item { interface Item {
id: number; id: number
name: any; name: any
} }
const months =[ const months = [
{id:1, name: 'Januari'}, { id: 1, name: 'Januari' },
{id:2, name: 'Februari'}, { id: 2, name: 'Februari' },
{id:3, name: 'Maret'}, { id: 3, name: 'Maret' },
{id:4, name: 'April'}, { id: 4, name: 'April' },
{id:5, name: 'Mei'}, { id: 5, name: 'Mei' },
{id:6, name: 'Juni'}, { id: 6, name: 'Juni' },
{id:7, name: 'Juli'}, { id: 7, name: 'Juli' },
{id:8, name: 'Agustus'}, { id: 8, name: 'Agustus' },
{id:9, name: 'September'}, { id: 9, name: 'September' },
{id:10, name: 'Oktober'}, { id: 10, name: 'Oktober' },
{id:11, name: 'November'}, { id: 11, name: 'November' },
{id:12, name: 'Desember'}, { id: 12, name: 'Desember' }
] ]
// create 4 year back array // create 4 year back array
const year = new Date().getFullYear(); const year = new Date().getFullYear()
const years =ref<Item[]>([]); const years = ref<Item[]>([])
for (let i = 0; i < 5; i++) { for (let i = 0; i < 5; i++) {
years.value.push({id:year-i, name: year-i}) years.value.push({ id: year - i, name: year - i })
} }
const timeout = ref()
const items = ref<Item[]>([]); // Create a ref to store the items
const itemsUp3 = ref<Item[]>([]); const itemsUid = ref<Item[]>([])
const itemsPosko = ref<Item[]>([]); const itemsUp3 = ref<Item[]>([])
const itemsUlp = ref<Item[]>([]); const itemsPosko = ref<Item[]>([])
const itemsRegional = ref<Item[]>([]); const itemsUlp = ref<Item[]>([])
const itemsMedia = ref<Item[]>([]); const itemsRegional = ref<Item[]>([])
const itemsMedia = ref<Item[]>([])
// Fetch data from the API using Axios // Fetch data from the API using Axios
const fetchData = async () => { const fetchUid = async () => {
try { try {
const res = await getUid() const res = await getUid()
items.value = res.data.map((item: any) => ( itemsUid.value = res.data.map((item: any) => ({
{ id: item.id,
id: item.id, name: item.nama
name: item.nama, }))
} } catch (error) {
)); console.error('Error fetching data:', error)
} catch (error) { }
console.error('Error fetching data:', error); }
}
};
const fetchDataUp3 = async (uid: number) => { const fetchDataUp3 = async (uid: number) => {
try { try {
const res = await getUp3(uid) const res = await getUp3(uid)
itemsUp3.value = res.data.map((item: any) => ( itemsUp3.value = res.data.map((item: any) => ({
{ id: item.id,
id: item.id, name: item.nama
name: item.nama, }))
}
));
} catch (error) { } catch (error) {
console.error('Error fetching data:', error); console.error('Error fetching data:', error)
} }
}
};
const fetchDataUlp = async (up3: number) => { const fetchDataUlp = async (up3: number) => {
try { try {
const res = await getUlp(up3) const res = await getUlp(up3)
itemsUlp.value = res.data.map((item: any) => ( itemsUlp.value = res.data.map((item: any) => ({
{ id: item.id,
id: item.id, name: item.nama
name: item.nama, }))
}
));
} catch (error) { } catch (error) {
console.error('Error fetching data:', error); console.error('Error fetching data:', error)
} }
} }
const fetchDataPosko = async (up3: number) => { const fetchDataPosko = async (up3: number) => {
clearTimeout(timeout.value)
timeout.value = setTimeout(async () => {
try { try {
const res = await getPosko(up3) const res = await getPosko(up3)
itemsPosko.value = res.data.map((item: any) => ( itemsPosko.value = res.data.map((item: any) => ({
{ id: item.id,
id: item.id, name: item.nama
name: item.nama, }))
}
));
} catch (error) { } catch (error) {
console.error('Error fetching data:', error); console.error('Error fetching data:', error)
} }
},300); }
};
const selectedUid = (value: any) => { const selectedUid = (value: any) => {
useRegionStore().setData(value.id); useRegionStore().setData(value.id)
fetchDataUp3(value.id); fetchDataUp3(value.id)
} }
const selectedUp3Posko = (value: any) => { const selectedUp3Posko = (value: any) => {
useUp3Store().setData(value.id); if (value.id != 0) {
fetchDataPosko(value.id); useUp3Store().setData(value.id)
fetchDataPosko(value.id)
}
} }
const selectedUp3Ulp = (value: any) => { const selectedUp3Ulp = (value: any) => {
useUp3Store().setData(value.id); useUp3Store().setData(value.id)
fetchDataUlp(value.id); fetchDataUlp(value.id)
} }
const selectedPosko = (value: any) => { const selectedPosko = (value: any) => {
usePostsStore().setData(value.id); usePostsStore().setData(value.id)
} }
const selectedUlp = (value: any) => { const selectedUlp = (value: any) => {
useUlpStore().setData(value.id); useUlpStore().setData(value.id)
} }
export {
selectedUid,
export { selectedUid, selectedUp3Posko ,selectedUp3Ulp, selectedPosko,selectedUlp, fetchData, items, itemsUp3, itemsPosko,itemsRegional,itemsMedia,itemsUlp ,months ,years}; selectedUp3Posko,
selectedUp3Ulp,
selectedPosko,
selectedUlp,
fetchUid,
itemsUid,
itemsUp3,
itemsPosko,
itemsRegional,
itemsMedia,
itemsUlp,
months,
years
}

View File

@ -37,8 +37,6 @@ computed(() => {
if (props.selected.id === 0) { if (props.selected.id === 0) {
selected.value = { id: 0, name: props.placeholder } selected.value = { id: 0, name: props.placeholder }
} }
// console.log('selected', selected.value.name)
}) })
watch( watch(
@ -63,10 +61,6 @@ let filteredData = computed(() =>
) )
) )
watch(selected, (value) => {
emit('update:selected', value)
})
const show = ref(false) const show = ref(false)
</script> </script>

View File

@ -1,16 +1,13 @@
import axios from "axios"; import axios from 'axios'
const instance = axios.create({ const instance = axios.create({
baseURL: 'http://localhost:8443' baseURL: 'http://10.8.0.13:8443'
}); })
const getUid = async () => await instance.get('/uid')
const getUid = async () => await instance.get('/uid'); const getMedia = async () => await instance.get('/media')
const getMedia = async() => await instance.get('/media'); const getJenisTransaksi = async () => await instance.get('/jenisTransaksi')
const getJenisTransaksi = async() => await instance.get('/jenisTransaksi'); const getUp3 = async (uid: number) => await instance.get('/up3?uid=' + uid)
const getUp3 = async ( const getUlp = async (up3: number) => await instance.get('/ulp?up3=' + up3)
uid: number, const getPosko = async (uppp: number) => await instance.get('/posko?up3=' + uppp)
) => await instance.get('/up3?uid=' + uid); export { getUid, getUp3, getPosko, getUlp, getMedia, getJenisTransaksi }
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 };