+
+
No Laporan:
@@ -313,6 +305,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.text }}
+
+
+
+
+
+ {{ data.text }}
+
+
+
+
+
+
+
+
+
+
No Laporan:
+
+
+
+
+
Create Date:
+
+
+
+
+
User:
+
+
+
+
+
Keterangan:
+
+
+
+
@@ -347,11 +463,58 @@ const position = { of: '#data' }
const showIndicator = ref(true)
const shading = ref(true)
const showPane = ref(true)
+const data = ref
([])
+const dataSub = ref([])
const dataSelected = ref()
+const dataSubSelected = ref()
const dialogDetail = ref(false)
+const closedialogDetail = () => (dialogDetail.value = false)
+const loadingData = ref(false)
+const loadingSubData = ref(false)
+const detailType = ref('form') // form, table
-const closeDialog = () => {
- dialogDetail.value = false
+const filters = ref()
+const reportMeta = ref({
+ uid: { id: 0, name: 'Semua Unit Induk Distribusi/Wilayah' },
+ up3: { id: 0, name: 'Semua Unit Pelaksanaan Pelayanan Pelanggan' },
+ ulp: { id: 0, name: 'Semua Unit Layanan Pelanggan' },
+ minJmlLapor: 1,
+ maxJmlLapor: 1,
+ periode: ''
+})
+
+const setDetailType = (columnCaption: string) => {
+ if (columnCaption == 'Jml Lapor') {
+ detailType.value = 'table'
+ } else {
+ detailType.value = 'form'
+ }
+}
+
+const getDetail = async () => {
+ const dateValue = filters.value.periode.split(' s/d ')
+ const selected = dataSelected.value
+
+ const query = {
+ noLaporan: selected?.no_laporan ? selected?.no_laporan : ''
+ }
+ loadingSubData.value = false
+ await requestGraphQl(queries.keluhan.daftar.keluhanMelaporLebihDariSatuKaliDetail, query)
+ .then((result) => {
+ if (result.data.data != undefined) {
+ dataSub.value = result.data.data.detailKeluhanLaporLebihDariSatuKali
+ } else {
+ dataSub.value = []
+ }
+
+ reportMeta.value = filters.value
+ })
+ .catch((err) => {
+ console.error(err)
+ })
+ .finally(() => {
+ loadingSubData.value = false
+ })
}
const dataGridRef = ref(null)
@@ -361,16 +524,27 @@ const clearSelection = () => {
}
const showDetail = () => {
clearSelection()
+ dataSubSelected.value = null
dialogDetail.value = true
+ if (detailType.value == 'table') {
+ getDetail()
+ }
}
-const onSelectionChanged = ({ selectedRowsData }: any) => {
+const onDataSelectionChanged = ({ selectedRowsData }: any) => {
if (selectedRowsData[0] != undefined) {
dataSelected.value = selectedRowsData[0]
+ showDetail()
}
- showDetail()
}
+const onDataSubSelectionChanged = ({ selectedRowsData }: any) => {
+ const data = selectedRowsData[0]
+ dataSubSelected.value = data
+}
+
+const closeDialog = () => (dialogDetail.value = false)
+
const onExporting = (e: any) => {
const periode = reportMeta.value.periode ? reportMeta.value.periode.split(' s/d ') : ''
@@ -565,9 +739,6 @@ const onExporting = (e: any) => {
}
}
-const data = ref([])
-const loading = ref(false)
-
const filterData = async (params: any) => {
const dateValue = params.periode.split(' s/d ')
const { ulp, uid, up3 } = params
@@ -588,7 +759,7 @@ const filterData = async (params: any) => {
idUp3: up3 ? up3.id : 0
}
- loading.value = true
+ loadingData.value = true
await requestGraphQl(queries.keluhan.daftar.keluhanMelaporLebihDariSatuKali, query)
.then((result) => {
if (result.data.data != undefined) {
@@ -603,20 +774,10 @@ const filterData = async (params: any) => {
console.error(err)
})
.finally(() => {
- loading.value = false
+ loadingData.value = false
})
}
-const filters = ref()
-const reportMeta = ref({
- uid: { id: 0, name: 'Semua Unit Induk Distribusi/Wilayah' },
- up3: { id: 0, name: 'Semua Unit Pelaksanaan Pelayanan Pelanggan' },
- ulp: { id: 0, name: 'Semua Unit Layanan Pelanggan' },
- minJmlLapor: 1,
- maxJmlLapor: 1,
- periode: ''
-})
-
onMounted(() => {
if (import.meta.env.DEV) {
data.value = [