Add GraphQL queries for material-related data

This commit is contained in:
Dede Fuji Abdul
2024-03-29 10:54:16 +07:00
parent 2bbf120210
commit 30bc1cbb97
28 changed files with 1137 additions and 1226 deletions

View File

@ -253,7 +253,7 @@ import {
import { Type15 } from '@/components/Form/FiltersType'
import Filters from '@/components/Form/Filters.vue'
import { useQuery } from '@vue/apollo-composable'
import { queries } from '@/utils/api/api.graphql'
import { queries, requestGraphQl } from '@/utils/api/api.graphql'
import { formatWaktu } from '@/components/Form/FiltersType/reference'
import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
import { apolloClient } from '@/utils/api/api.graphql'
@ -303,45 +303,49 @@ const onDataSubSelectionChanged = ({ selectedRowsData }: any) => {
dataSubSelected.value = data
}
const filterData = (params: any) => {
const filterData = async (params: any) => {
const dateValue = params.periode.split(' s/d ')
const { type, keyword, searchBy } = params
const { onResult, onError, loading, refetch } = useQuery(
const query = {
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),
noLaporan: searchBy == 'Nomor Laporan' ? keyword : '',
namaPelapor: searchBy == 'Nama Pelapor' ? keyword : '',
noTelpPelapor: searchBy == 'No Telepon' ? keyword : '',
alamatPelapor: searchBy == 'Alamat' ? keyword : '',
pembuatLaporan: searchBy == 'Pembuat' ? keyword : ''
}
loadingData.value = true
await requestGraphQl(
filters.value.type == 'Gangguan'
? queries.pencarian.pencarianGangguan
: queries.pencarian.pencarianKeluhan,
{
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),
noLaporan: searchBy == 'Nomor Laporan' ? keyword : '',
namaPelapor: searchBy == 'Nama Pelapor' ? keyword : '',
noTelpPelapor: searchBy == 'No Telepon' ? keyword : '',
alamatPelapor: searchBy == 'Alamat' ? keyword : '',
pembuatLaporan: searchBy == 'Pembuat' ? keyword : ''
}
query
)
onResult((queryResult) => {
if (queryResult.data != undefined) {
if (type == 'Gangguan') {
data.value = queryResult.data.pencarianDataReportNumberGangguan
.then((result) => {
if (result.data.data != undefined) {
data.value = result.data.data.agingComplaintKumulatif
if (type == 'Gangguan') {
data.value = result.data.data.pencarianDataReportNumberGangguan
} else {
data.value = result.data.data.pencarianDataReportNumberKeluhan
}
} else {
data.value = queryResult.data.pencarianDataReportNumberKeluhan
data.value = []
}
}
})
onError((error) => {
console.log(error)
})
watch(loading, (value) => {
loadingData.value = value
})
})
.catch((err) => {
console.error(err)
})
.finally(() => {
loadingData.value = false
})
}
onMounted(() => {