Update Anomali_LAPPGU_LPP and Anomali_LAPPGP_LPP components

This commit is contained in:
Dede Fuji Abdul
2024-04-01 03:23:27 +07:00
parent 71e04cddb4
commit 3ff5e44a27
6 changed files with 517 additions and 83 deletions

View File

@@ -1,10 +1,17 @@
<template>
<Filters @run-search="() => filterData(filters)" class="mb-4">
<Type4 @update:filters="(value) => filters = value" />
</Filters>
<Filters @run-search="() => filterData(filters)" class="mb-4">
<Type4
@update:filters="(value) => (filters = value)"
:jenis-laporan="[
{ id: 1, name: 'Laporan Berulang Unit' },
{ id: 2, name: 'Laporan Rating Negatif' },
{ id: 3, name: 'Laporan Skip Step' }
]"
/>
</Filters>
<Anomali_LAPPKU_LPT :data="data" />
<Anomali_LAPPKU_LPP :data="data" />
<Anomali_LAPPKU_LPT :data="data" :loading="loadingData" />
<Anomali_LAPPKU_LPP :data="data" />
</template>
<script setup lang="ts">
@@ -14,66 +21,76 @@ import { Anomali_LAPPKU_LPT, Anomali_LAPPKU_LPP } from '../.'
import { Type4 } from '@/components/Form/FiltersType'
import { useQuery } from '@vue/apollo-composable'
import gql from 'graphql-tag'
import { queries, requestGraphQl } from '@/utils/api/api.graphql'
const data = ref<any[]>([])
const dataSub = ref<any[]>([])
const dataSelected = ref<any>()
const dataSubSelected = ref<any>()
const dialogDetail = ref(false)
const closedialogDetail = () => (dialogDetail.value = false)
const loadingData = ref(false)
const loadingSubData = ref(false)
const GET_laporanCheckInCheckOut = gql`
query laporanCheckInCheckOut($dateFrom: Date!, $dateTo: Date!, $posko: String, $idUid: Int, $idUp3: Int) {
laporanCheckInCheckOut(
dateFrom: $dateFrom
dateTo: $dateTo
posko: $posko
idUid: $idUid
idUp3: $idUp3
) {
avg_durasi_wo_gangguan_individual
avg_durasi_wo_penugasan_khusus
avg_rct_wo_gangguan_individual
avg_rpt_wo_gangguan_individual
jumlah_wo_gangguan_individual
jumlah_wo_penugasan_khusus
personil_yantek
user_regu
}
const filters = ref({
jenisLaporan: {
id: 1,
name: 'Laporan Berulang Unit'
},
ulp: 0,
uid: 0,
up3: 0
})
const resetData = () => {
data.value = []
dataSub.value = []
}
const filterData = async (params: any) => {
resetData()
const { ulp, uid, up3, jenisLaporan } = params
console.table('LAPPKU', jenisLaporan)
const dateValue = params.periode.split(' s/d ')
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),
idUlp: ulp ? ulp.id : 0,
idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0,
namaRegional: ''
}
`
const filterData = (params: any) => {
const { posko, uid, up3 } = params
const dateValue = params.periode.split(' s/d ')
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 ? posko.id : "",
idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0
})
onResult((queryResult) => {
if (queryResult.data != undefined) {
queryResult.data.daftarGangguanDialihkanKePoskoLain.forEach((item: any) => {
data.value = [
...data.value,
{
...item,
}
]
})
loadingData.value = true
await requestGraphQl(
jenisLaporan.name == 'Laporan Berulang Unit'
? queries.anomali.keluhan.unitBerulang
: jenisLaporan.name == 'Laporan Rating Negatif'
? queries.anomali.keluhan.unitRatingNegatif
: queries.anomali.keluhan.unitSkipStep,
query
)
.then((result) => {
if (result.data.data != undefined) {
if (jenisLaporan.name == 'Laporan Berulang Unit') {
data.value = result.data.data.anomaliLaporanPenangananPengaduanKeluhanUnitBerulang
} else if (jenisLaporan.name == 'Laporan Rating Negatif') {
data.value = result.data.data.anomaliLaporanPenangananPengaduanKeluhanUnitRatingNegatif
} else {
data.value = result.data.data.anomaliLaporanPenangananPengaduanKeluhanUnitSkipStep
}
console.log(queryResult.data)
console.log(queryResult.loading)
console.log(queryResult.networkStatus)
} else {
data.value = []
}
})
onError((error) => {
console.log(error)
.catch((err) => {
console.error(err)
})
.finally(() => {
loadingData.value = false
})
}
const { onResult, onError, loading, refetch } = useQuery(
GET_laporanCheckInCheckOut,
{
dateFrom: new Date().toISOString().slice(0, 10),
dateTo: new Date().toISOString().slice(0, 10),
posko: '',
idUid: 0,
idUp3: 0
}
)
const filters = ref()
</script>
</script>