Refactor code to improve readability and fix bugs in Gangguan and Monalisa components

This commit is contained in:
Dede Fuji Abdul 2024-04-18 11:05:18 +07:00
parent 57975f372e
commit cafced8d76
4 changed files with 53 additions and 16 deletions

View File

@ -1,6 +1,6 @@
{
"name": "eis",
"version": "0.0.111",
"version": "0.0.116",
"private": true,
"scripts": {
"dev": "vite",

View File

@ -325,7 +325,7 @@
<DxColumn
:width="150"
alignment="center"
data-field=""
data-field="pembuat_laporan"
caption="Nama Petugas"
css-class="custom-table-column"
cell-template="formatText"
@ -333,7 +333,7 @@
<DxColumn
:width="150"
alignment="center"
data-field=""
data-field="nama_posko_lama"
caption="Posko Asal"
css-class="custom-table-column"
cell-template="formatText"
@ -341,7 +341,7 @@
<DxColumn
:width="150"
alignment="center"
data-field=""
data-field="nama_posko_baru"
caption="Posko Tujuan"
css-class="custom-table-column"
cell-template="formatText"
@ -477,17 +477,29 @@
<div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Nama Petugas:</h3>
<InputText :readonly="true" value="" class-name="flex-1" />
<InputText
:readonly="true"
:value="dataSubSelected?.pembuat_laporan"
class-name="flex-1"
/>
</div>
<div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Posko Asal:</h3>
<InputText :readonly="true" value="" class-name="flex-1" />
<InputText
:readonly="true"
:value="dataSubSelected?.nama_posko_lama"
class-name="flex-1"
/>
</div>
<div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Posko Tujuan:</h3>
<InputText :readonly="true" value="" class-name="flex-1" />
<InputText
:readonly="true"
:value="dataSubSelected?.nama_posko_baru"
class-name="flex-1"
/>
</div>
</div>
</div>

View File

@ -334,13 +334,13 @@
</DxColumn>
<template #formatText="{ data }">
<p class="text-left cursor-pointer">
<p class="text-left" @click="setAgreementDialog(data.column.caption)">
{{ data.text }}
</p>
</template>
<template #formatNumber="{ data }">
<p class="text-right cursor-pointer">
<p class="text-right cursor-pointer" @click="setAgreementDialog(data.column.caption)">
{{
isNumber(data.text)
? data.column.caption == '%'
@ -352,13 +352,13 @@
</template>
<template #formatPercentage="{ data }">
<p class="text-right cursor-pointer">
<p class="text-right" @click="setAgreementDialog(data.column.caption)">
{{ parseFloat(data.text) ? formatPercentage(data.text) : '0%' }}
</p>
</template>
<template #formatTime="{ data }">
<p class="!text-right cursor-pointer">
<p class="!text-right" @click="setAgreementDialog(data.column.caption)">
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p>
</template>
@ -796,6 +796,8 @@ const dataSubSelected = ref<any>()
const dialogDetail = ref(false)
const loadingData = ref(false)
const loadingSubData = ref(false)
const progressSelected = ref(0)
const agreeToShowDialog = ref(false)
const reportMeta = ref({
uid: { id: 0, name: 'Semua Unit Induk Distribusi/Wilayah' },
up3: { id: 0, name: 'Semua Unit Pelaksanaan Pelayanan Pelanggan' },
@ -803,6 +805,21 @@ const reportMeta = ref({
periode: ''
})
const setAgreementDialog = (column: string) => {
if (column == 'd=(e+g)' || column == 'e' || column == 'g') {
agreeToShowDialog.value = true
if (column == 'd=(e+g)') {
progressSelected.value = 0
} else if (column == 'e') {
progressSelected.value = 1
} else {
progressSelected.value = 2
}
} else {
agreeToShowDialog.value = false
}
}
const getDetail = async () => {
loadingSubData.value = true
const dateValue = filters.value.periode.split(' s/d ')
@ -819,7 +836,8 @@ const getDetail = async () => {
posko: posko ? posko.id : 0,
idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0,
idRegu: ref.id_regu
idRegu: ref?.id_regu ? ref.id_regu : 0,
isSelesai: progressSelected.value
}
await requestGraphQl(queries.gangguan.rekap.gangguanDiselesaikanMobileAPKTDetail, query)
@ -846,10 +864,11 @@ const clearSelection = () => {
}
const showDetail = () => {
clearSelection()
dataSub.value = []
dataSubSelected.value = null
// dialogDetail.value = true
getDetail()
if (agreeToShowDialog.value) {
dataSub.value = []
dataSubSelected.value = null
getDetail()
}
}
const closeDialog = () => {

View File

@ -1724,6 +1724,7 @@ export const queries = {
$is_cleansing_transaksi_tm: Int!
$is_koreksi_transaksi_tm: Int!
$is_koreksi_gangguan_dan_anev: Int!
$namaRegional: String
) {
detailGangguanKoreksiTransaksiIndividu(
bulan: $bulan
@ -1737,6 +1738,7 @@ export const queries = {
is_cleansing_transaksi_tm: $is_cleansing_transaksi_tm
is_koreksi_transaksi_tm: $is_koreksi_transaksi_tm
is_koreksi_gangguan_dan_anev: $is_koreksi_gangguan_dan_anev
namaRegional: $namaRegional
) {
id
no_laporan
@ -1960,6 +1962,7 @@ export const queries = {
$idUid: Int!
$idUp3: Int!
$idRegu: Int!
$isSelesai: Int!
) {
detailGangguanDiselesaikanMobileApkt(
dateFrom: $dateFrom
@ -1968,6 +1971,7 @@ export const queries = {
idUid: $idUid
idUp3: $idUp3
idRegu: $idRegu
isSelesai: $isSelesai
) {
id
nama_regional
@ -2331,6 +2335,8 @@ export const queries = {
no_telp_pelapor
keterangan_pelapor
media
nama_posko_baru
nama_posko_lama
}
}
`