Refactor showData to showDetail and add loadingData
This commit is contained in:
@ -26,8 +26,7 @@
|
|||||||
:show-indicator="showIndicator"
|
:show-indicator="showIndicator"
|
||||||
:show-pane="showPane"
|
:show-pane="showPane"
|
||||||
:shading="shading"
|
:shading="shading"
|
||||||
v-if="loading"
|
v-model:visible="loadingData"
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
:enabled="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -272,19 +271,19 @@
|
|||||||
</DxSummary>
|
</DxSummary>
|
||||||
|
|
||||||
<template #formatText="{ data }">
|
<template #formatText="{ data }">
|
||||||
<p class="text-left cursor-pointer" @click="showData()">
|
<p class="text-left cursor-pointer" @click="showDetail()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #formatPercentage="{ data }">
|
<template #formatPercentage="{ data }">
|
||||||
<p class="text-right cursor-pointer" @click="showData()">
|
<p class="text-right cursor-pointer" @click="showDetail()">
|
||||||
{{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
|
{{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
|
||||||
</p>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #formatNumber="{ data }">
|
<template #formatNumber="{ data }">
|
||||||
<p class="text-right cursor-pointer" @click="showData()">
|
<p class="text-right cursor-pointer" @click="showDetail()">
|
||||||
{{
|
{{
|
||||||
isNumber(data.text)
|
isNumber(data.text)
|
||||||
? data.column.caption == '%'
|
? data.column.caption == '%'
|
||||||
@ -304,7 +303,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DetailDialog
|
<DetailDialog
|
||||||
:open="showDetail"
|
:open="dialogDetail"
|
||||||
title="Detail Rekapitulasi Koreksi Transaksi Individual"
|
title="Detail Rekapitulasi Koreksi Transaksi Individual"
|
||||||
@on-close="closeDetail"
|
@on-close="closeDetail"
|
||||||
:full-width="true"
|
:full-width="true"
|
||||||
@ -962,7 +961,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Filters from '@/components/Form/Filters.vue'
|
import Filters from '@/components/Form/Filters.vue'
|
||||||
import Type18 from '@/components/Form/FiltersType/Type18.vue'
|
import Type18 from '@/components/Form/FiltersType/Type18.vue'
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref, watch } from 'vue'
|
||||||
import { DxDataGrid } from 'devextreme-vue'
|
import { DxDataGrid } from 'devextreme-vue'
|
||||||
import {
|
import {
|
||||||
DxColumn,
|
DxColumn,
|
||||||
@ -989,7 +988,11 @@ import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
|||||||
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
||||||
import DetailDialog from '@/components/Dialogs/DetailDialog.vue'
|
import DetailDialog from '@/components/Dialogs/DetailDialog.vue'
|
||||||
import InputText from '@/components/InputText.vue'
|
import InputText from '@/components/InputText.vue'
|
||||||
|
import { apolloClient } from '@/utils/api/api.graphql'
|
||||||
|
import { provideApolloClient } from '@vue/apollo-composable'
|
||||||
|
|
||||||
|
const client = apolloClient()
|
||||||
|
provideApolloClient(client)
|
||||||
const position = { of: '#data' }
|
const position = { of: '#data' }
|
||||||
const showIndicator = ref(true)
|
const showIndicator = ref(true)
|
||||||
const shading = ref(true)
|
const shading = ref(true)
|
||||||
@ -998,15 +1001,62 @@ const data = ref<any[]>([])
|
|||||||
const dataSub = ref<any[]>([])
|
const dataSub = ref<any[]>([])
|
||||||
const dataSelected = ref()
|
const dataSelected = ref()
|
||||||
const dataSubSelected = ref()
|
const dataSubSelected = ref()
|
||||||
const showDetail = ref(false)
|
const dialogDetail = ref(false)
|
||||||
|
const loadingData = ref(false)
|
||||||
const loadingSubData = ref(false)
|
const loadingSubData = ref(false)
|
||||||
|
|
||||||
const showData = () => {
|
const getDetail = () => {
|
||||||
showDetail.value = true
|
loadingSubData.value = true
|
||||||
|
const dateValue = filters.value.periode.split(' s/d ')
|
||||||
|
const ref = dataSelected.value
|
||||||
|
|
||||||
|
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),
|
||||||
|
posko: ref?.id_posko ? ref?.id_posko : 0,
|
||||||
|
idUid: ref?.id_uid ? ref?.id_uid : 0,
|
||||||
|
idUp3: ref?.id_up3 ? ref?.id_up3 : 0,
|
||||||
|
idRegu: ref?.id_regu ? ref?.id_regu : 0,
|
||||||
|
idUlp: ref?.id_ulp ? ref?.id_ulp : 0,
|
||||||
|
namaRegional: ref?.nama_regional ? ref?.nama_regional : '',
|
||||||
|
media: ref?.media ? ref?.media : ''
|
||||||
|
}
|
||||||
|
|
||||||
|
const { onResult, onError, loading, refetch } = useQuery(
|
||||||
|
queries.gangguan.rekap.gangguanAllDetail,
|
||||||
|
query
|
||||||
|
)
|
||||||
|
|
||||||
|
onResult((queryResult) => {
|
||||||
|
if (queryResult.data != undefined) {
|
||||||
|
dataSub.value = queryResult.data.detailGangguan
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
onError((error) => {
|
||||||
|
console.log(error)
|
||||||
|
})
|
||||||
|
|
||||||
|
watch(loading, (value) => {
|
||||||
|
loadingSubData.value = value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const showDetail = () => {
|
||||||
|
if (dataSelected.value != null) {
|
||||||
|
dataSub.value = []
|
||||||
|
dataSubSelected.value = null
|
||||||
|
dialogDetail.value = true
|
||||||
|
getDetail()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const closeDetail = () => {
|
const closeDetail = () => {
|
||||||
showDetail.value = false
|
dialogDetail.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
const onExporting = (e: any) => {
|
const onExporting = (e: any) => {
|
||||||
@ -1040,38 +1090,31 @@ const onExporting = (e: any) => {
|
|||||||
|
|
||||||
const onDataSelectionChanged = ({ selectedRowsData }: any) => {
|
const onDataSelectionChanged = ({ selectedRowsData }: any) => {
|
||||||
dataSelected.value = selectedRowsData[0]
|
dataSelected.value = selectedRowsData[0]
|
||||||
console.log(data)
|
showDetail()
|
||||||
}
|
}
|
||||||
|
|
||||||
const onDataSubSelectionChanged = ({ selectedRowsData }: any) => {
|
const onDataSubSelectionChanged = ({ selectedRowsData }: any) => {
|
||||||
dataSubSelected.value = selectedRowsData[0]
|
dataSubSelected.value = selectedRowsData[0]
|
||||||
console.log(dataSubSelected)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { onResult, onError, loading, refetch } = useQuery(
|
|
||||||
queries.gangguan.rekap.gangguanKoreksiTransaksiIndividual,
|
|
||||||
{
|
|
||||||
dateFrom: new Date().toISOString().slice(0, 10),
|
|
||||||
dateTo: new Date().toISOString().slice(0, 10),
|
|
||||||
posko: 0,
|
|
||||||
idUid: 0,
|
|
||||||
idUp3: 0
|
|
||||||
}
|
|
||||||
)
|
|
||||||
const filterData = (params: any) => {
|
const filterData = (params: any) => {
|
||||||
const dateValue = params.periode.split(' s/d ')
|
const dateValue = params.periode.split(' s/d ')
|
||||||
const { posko, uid, up3 } = params
|
const { posko, uid, up3 } = params
|
||||||
refetch({
|
|
||||||
|
const { onResult, onError, loading, refetch } = useQuery(
|
||||||
|
queries.gangguan.rekap.gangguanKoreksiTransaksiIndividual,
|
||||||
|
{
|
||||||
dateFrom: dateValue[0]
|
dateFrom: dateValue[0]
|
||||||
? dateValue[0].split('-').reverse().join('-')
|
? dateValue[0].split('-').reverse().join('-')
|
||||||
: new Date().toISOString().slice(0, 10),
|
: new Date().toISOString().slice(0, 10),
|
||||||
dateTo: dateValue[1]
|
dateTo: dateValue[1]
|
||||||
? dateValue[1].split('-').reverse().join('-')
|
? dateValue[1].split('-').reverse().join('-')
|
||||||
: new Date().toISOString().slice(0, 10),
|
: new Date().toISOString().slice(0, 10),
|
||||||
posko: posko ? posko.id : 0,
|
idPosko: posko ? posko.id : 0,
|
||||||
idUid: uid ? uid.id : 0,
|
idUid: uid ? uid.id : 0,
|
||||||
idUp3: up3 ? up3.id : 0
|
idUp3: up3 ? up3.id : 0
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
onResult((queryResult) => {
|
onResult((queryResult) => {
|
||||||
if (queryResult.data != undefined) {
|
if (queryResult.data != undefined) {
|
||||||
@ -1081,10 +1124,16 @@ const filterData = (params: any) => {
|
|||||||
console.log(queryResult.loading)
|
console.log(queryResult.loading)
|
||||||
console.log(queryResult.networkStatus)
|
console.log(queryResult.networkStatus)
|
||||||
})
|
})
|
||||||
|
|
||||||
onError((error) => {
|
onError((error) => {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(loading, (value) => {
|
||||||
|
loadingData.value = value
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const filters = ref()
|
const filters = ref()
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (import.meta.env.DEV) {
|
if (import.meta.env.DEV) {
|
||||||
|
Reference in New Issue
Block a user