Refactor code to handle optional properties in RGangguan_ALL.vue, RGangguan_PerPosko.vue, RGangguan_BerdasarMedia.vue, RGangguan_AlihPosko.vue, RGangguan_JenisGangguanSE.vue, and RGangguan_RatingPerRegu.vue

This commit is contained in:
Dede Fuji Abdul 2024-03-19 09:18:07 +07:00
parent d3e8246eb5
commit 0b59f772f1
8 changed files with 170 additions and 27 deletions

View File

@ -1085,9 +1085,13 @@ const getDetail = () => {
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: ref.id_posko, posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref.id_uid, idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref.id_up3 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( const { onResult, onError, loading, refetch } = useQuery(

View File

@ -301,7 +301,7 @@
<DxColumn <DxColumn
:width="150" :width="150"
alignment="center" alignment="center"
data-field="" data-field="media"
caption="Sumber Lapor" caption="Sumber Lapor"
css-class="custom-table-column" css-class="custom-table-column"
cell-template="formatText" cell-template="formatText"
@ -456,7 +456,7 @@
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Sumber Lapor:</h3> <h3 class="text-sm font-medium w-[135px] text-gray-800">Sumber Lapor:</h3>
<InputText :readonly="true" value="" class-name="flex-1" /> <InputText :readonly="true" :value="dataSubSelected?.media" class-name="flex-1" />
</div> </div>
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
@ -543,7 +543,7 @@ const getDetail = () => {
} }
const { onResult, onError, loading, refetch } = useQuery( const { onResult, onError, loading, refetch } = useQuery(
queries.gangguan.rekap.gangguanAllDetail, queries.gangguan.rekap.gangguanAlihPoskoDetail,
query query
) )

View File

@ -522,9 +522,13 @@ const getDetail = () => {
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: ref.id_posko, posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref.id_uid, idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref.id_up3 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( const { onResult, onError, loading, refetch } = useQuery(

View File

@ -546,7 +546,7 @@
<DxColumn <DxColumn
:width="150" :width="150"
alignment="center" alignment="center"
data-field="idpel_nometer" data-field="id_pelnomormeter"
caption="IDPEL/NO METER" caption="IDPEL/NO METER"
css-class="custom-table-column" css-class="custom-table-column"
cell-template="formatText" cell-template="formatText"
@ -700,7 +700,11 @@
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">IDPEL/NO METER:</h3> <h3 class="text-sm font-medium w-[135px] text-gray-800">IDPEL/NO METER:</h3>
<InputText :readonly="true" :value="dataSubSelected?.idpel_nometer" class-name="flex-1" /> <InputText
:readonly="true"
:value="dataSubSelected?.id_pelnomormeter"
class-name="flex-1"
/>
</div> </div>
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
@ -883,11 +887,12 @@ const getDetail = () => {
: new Date().toISOString().slice(0, 10), : new Date().toISOString().slice(0, 10),
posko: ref.id_posko, posko: ref.id_posko,
idUid: ref.id_uid, idUid: ref.id_uid,
idUp3: ref.id_up3 idUp3: ref.id_up3,
idEquiment: ref?.id_fasilitas ? ref.id_fasilitas : 0
} }
const { onResult, onError, loading, refetch } = useQuery( const { onResult, onError, loading, refetch } = useQuery(
queries.gangguan.rekap.gangguanAllDetail, queries.gangguan.rekap.jenisGangguanSE004Detail,
query query
) )

View File

@ -898,9 +898,13 @@ const getDetail = () => {
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: ref.id_posko, posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref.id_uid, idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref.id_up3 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( const { onResult, onError, loading, refetch } = useQuery(

View File

@ -296,7 +296,7 @@
<DxColumn <DxColumn
:width="150" :width="150"
alignment="center" alignment="center"
data-field="rating" data-field="nilai_rating"
caption="Rating" caption="Rating"
css-class="custom-table-column" css-class="custom-table-column"
cell-template="formatRating" cell-template="formatRating"
@ -451,7 +451,7 @@
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Rating:</h3> <h3 class="text-sm font-medium w-[135px] text-gray-800">Rating:</h3>
<InputText :readonly="true" :value="dataSubSelected?.rating" class-name="flex-1" /> <InputText :readonly="true" :value="dataSubSelected?.nilai_rating" class-name="flex-1" />
</div> </div>
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
@ -629,9 +629,13 @@ const getDetail = () => {
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: ref.id_posko, posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref.id_uid, idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref.id_up3 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( const { onResult, onError, loading, refetch } = useQuery(

View File

@ -288,7 +288,7 @@
<DxColumn <DxColumn
:width="150" :width="150"
alignment="center" alignment="center"
data-field="rating" data-field="nilai_rating"
caption="Rating" caption="Rating"
css-class="custom-table-column" css-class="custom-table-column"
cell-template="formatRating" cell-template="formatRating"
@ -443,7 +443,7 @@
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
<h3 class="text-sm font-medium w-[135px] text-gray-800">Rating:</h3> <h3 class="text-sm font-medium w-[135px] text-gray-800">Rating:</h3>
<InputText :readonly="true" :value="dataSubSelected?.rating" class-name="flex-1" /> <InputText :readonly="true" :value="dataSubSelected?.nilai_rating" class-name="flex-1" />
</div> </div>
<div class="flex flex-row items-center justify-between w-full"> <div class="flex flex-row items-center justify-between w-full">
@ -621,9 +621,13 @@ const getDetail = () => {
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: ref.id_posko, posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref.id_uid, idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref.id_up3 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( const { onResult, onError, loading, refetch } = useQuery(

View File

@ -938,6 +938,53 @@ export const queries = {
} }
} }
`, `,
jenisGangguanSE004Detail: gql`
query detailGangguanJenisGangguanSE004(
$dateFrom: Date!
$dateTo: Date!
$posko: Int!
$idUid: Int!
$idUp3: Int!
$idEquipment: Int!
) {
detailGangguanJenisGangguanSE004(
dateFrom: $dateFrom
dateTo: $dateTo
posko: $posko
idUid: $idUid
idUp3: $idUp3
idEquipment: $idEquipment
) {
id
nama_regional
id_uid
nama_uid
id_up3
nama_up3
id_ulp
nama_ulp
id_posko
nama_posko
no_laporan
waktu_lapor
waktu_response
waktu_recovery
durasi_response_time
durasi_recovery_time
status_akhir
id_pelnomormeter
id_nomormeter
nama_pelapor
alamat_pelapor
no_telp_pelapor
keterangan_pelapor
tindakan
penyebab
is_masih_proses
kwh_lost
}
}
`,
jenisGangguan: gql` jenisGangguan: gql`
query rekapitulasiPerJenisGangguan( query rekapitulasiPerJenisGangguan(
$dateFrom: Date! $dateFrom: Date!
@ -1148,12 +1195,16 @@ export const queries = {
} }
`, `,
gangguanAllDetail: gql` gangguanAllDetail: gql`
query daftarGangguanDiselesaikanMobileAPKT( query detailGangguan(
$dateFrom: Date! $dateFrom: Date!
$dateTo: Date! $dateTo: Date!
$posko: Int! $posko: Int!
$idUid: Int! $idUid: Int!
$idUp3: Int! $idUp3: Int!
$idRegu: Int!
$media: String!
$idUlp: Int!
$namaRegional: String!
) { ) {
detailGangguan( detailGangguan(
dateFrom: $dateFrom dateFrom: $dateFrom
@ -1161,8 +1212,21 @@ export const queries = {
posko: $posko posko: $posko
idUid: $idUid idUid: $idUid
idUp3: $idUp3 idUp3: $idUp3
idRegu: $idRegu
idUlp: $idUlp
namaRegional: $namaRegional
media: $media
) { ) {
id id
nama_regional
id_uid
nama_uid
id_up3
nama_up3
id_ulp
nama_ulp
id_posko
nama_posko
no_laporan no_laporan
pembuat_laporan pembuat_laporan
waktu_lapor waktu_lapor
@ -1188,6 +1252,7 @@ export const queries = {
tindakan tindakan
kode_gangguan kode_gangguan
jenis_gangguan jenis_gangguan
nilai_rating
} }
} }
`, `,
@ -1216,6 +1281,59 @@ export const queries = {
posko_out posko_out
} }
} }
`,
gangguanAlihPoskoDetail: gql`
query detailGangguanAlihPosko(
$dateFrom: Date!
$dateTo: Date!
$posko: Int!
$idUid: Int!
$idUp3: Int!
) {
detailGangguanAlihPosko(
dateFrom: $dateFrom
dateTo: $dateTo
posko: $posko
idUid: $idUid
idUp3: $idUp3
) {
id
nama_regional
id_uid
nama_uid
id_up3
nama_up3
id_ulp
nama_ulp
id_posko
nama_posko
no_laporan
pembuat_laporan
waktu_lapor
waktu_response
waktu_recovery
durasi_dispatch_time
durasi_response_time
durasi_recovery_time
status_akhir
is_marking
referensi_marking
idpel_nometer
nama_pelapor
alamat_pelapor
no_telp_pelapor
keterangan_pelapor
media
jarak_closing
dispatch_oleh
diselesaikan_oleh
penyebab
tindakan
kode_gangguan
jenis_gangguan
nilai_rating
}
}
` `
}, },
daftar: { daftar: {