Update version.json to 0.0.130-vm
This commit is contained in:
@ -12,6 +12,7 @@
|
||||
<div id="data">
|
||||
<DxDataGrid
|
||||
ref="dataGridRef"
|
||||
@cell-click="onCellClicked"
|
||||
:allow-column-reordering="true"
|
||||
class="max-h-[calc(100vh-140px)] mb-10"
|
||||
:data-source="data"
|
||||
@ -258,42 +259,38 @@
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="media"
|
||||
caption="Sumber Lapor"
|
||||
data-field="no_tugas"
|
||||
caption="No Tugas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="pembuat_laporan"
|
||||
caption="Created By"
|
||||
data-field="nama_tugas"
|
||||
caption="Jenis Penugasan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="dispatch_by"
|
||||
caption="Dispatch By"
|
||||
data-field="keterangan"
|
||||
caption="Keterangan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_dispatch"
|
||||
caption="Dispatch Time"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="user_regu"
|
||||
caption="User Regu"
|
||||
data-field="nama_catat_oleh"
|
||||
caption="Petugas Catat"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -302,6 +299,79 @@
|
||||
caption="Nama Regu"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="no_referensi"
|
||||
caption="No Referensi"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="personil_yantek"
|
||||
caption="Personil Yantek"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="media"
|
||||
caption="Sumber Lapor"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="pembuat_laporan"
|
||||
caption="Created By"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="dispatch_by"
|
||||
caption="Dispatch By"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_dispatch"
|
||||
caption="Dispatch Time"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="user_regu"
|
||||
caption="User Regu"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="nama_regu"
|
||||
caption="Nama Regu"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -310,6 +380,7 @@
|
||||
caption="Nama Petugas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -320,6 +391,7 @@
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
v-if="isGangguanIndividual"
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="check_in_petugas"
|
||||
@ -327,6 +399,25 @@
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
v-if="!isGangguanIndividual"
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_login"
|
||||
caption="Check In Petugas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_catat"
|
||||
caption="Tgl Catat"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
@ -334,6 +425,7 @@
|
||||
caption="No Laporan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -342,6 +434,7 @@
|
||||
caption="Tgl Lapor"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -350,6 +443,7 @@
|
||||
caption="Tgl Penugasan Baru"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -358,6 +452,16 @@
|
||||
caption="Tgl Dalam Perjalanan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_perjalanan"
|
||||
caption="Tgl Perjalanan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -384,6 +488,7 @@
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
v-if="isGangguanIndividual"
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_selesai"
|
||||
@ -392,12 +497,22 @@
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
v-if="!isGangguanIndividual"
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="durasi_waktu_response"
|
||||
data-field="waktu_recovery"
|
||||
caption="Tgl Selesai"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_perjalanan"
|
||||
caption="Durasi Perjalanan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -406,6 +521,16 @@
|
||||
caption="Durasi WO"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="durasi_wo_time"
|
||||
caption="Durasi WO Penugasan Khusus"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -414,6 +539,16 @@
|
||||
caption="Check Out Petugas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="waktu_logout"
|
||||
caption="Check Out Petugas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -422,6 +557,7 @@
|
||||
caption="RPT"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -430,6 +566,7 @@
|
||||
caption="RCT"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -438,6 +575,7 @@
|
||||
caption="Rating"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -446,6 +584,7 @@
|
||||
caption="Jml Pelanggan Padam"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -454,6 +593,7 @@
|
||||
caption="Fasilitas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -462,6 +602,7 @@
|
||||
caption="Sub Fasilitas"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -470,6 +611,7 @@
|
||||
caption="Peralatan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -478,6 +620,7 @@
|
||||
caption="Dampak Kerusakan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -486,6 +629,7 @@
|
||||
caption="Penyebab"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -494,6 +638,7 @@
|
||||
caption="Kelompok Penyebab"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -502,6 +647,7 @@
|
||||
caption="Cuaca"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -510,6 +656,7 @@
|
||||
caption="Keterangan Pelapor"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -518,6 +665,7 @@
|
||||
caption="Keterangan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -527,6 +675,7 @@
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
:calculate-display-value="(item: any) => `${item.penyebab} - ${item.kelompok_penyebab}`"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -535,6 +684,7 @@
|
||||
caption="Tindakan"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -543,6 +693,7 @@
|
||||
caption="APKT Status"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -551,6 +702,7 @@
|
||||
caption="Referensi Marking"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
@ -559,6 +711,34 @@
|
||||
caption="BLTH"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="status_akhir"
|
||||
caption="Status"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatNumber"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="nama_selesai_oleh"
|
||||
caption="Selesai Oleh"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
<DxColumn
|
||||
:width="150"
|
||||
alignment="center"
|
||||
data-field="keterangan_selesai"
|
||||
caption="Keterangan Selesai"
|
||||
css-class="custom-table-column"
|
||||
cell-template="formatText"
|
||||
v-if="!isGangguanIndividual"
|
||||
/>
|
||||
|
||||
<template #formatText="{ data }">
|
||||
@ -572,6 +752,18 @@
|
||||
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
|
||||
</p>
|
||||
</template>
|
||||
|
||||
<template #formatNumber="{ data }">
|
||||
<p class="text-right cursor-pointer">
|
||||
{{
|
||||
isNumber(data.text)
|
||||
? data.column.caption == '%'
|
||||
? formatPercentage(data.text)
|
||||
: formatNumber(data.text)
|
||||
: data.text
|
||||
}}
|
||||
</p>
|
||||
</template>
|
||||
</DxDataGrid>
|
||||
</div>
|
||||
</div>
|
||||
@ -592,12 +784,55 @@
|
||||
<InputText :readonly="true" :value="dataSubSelected?.nama_posko" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">No Tugas:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.no_tugas" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Jenis Penugasan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.nama_tugas" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Keterangan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.keterangan" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Petugas Catat:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.nama_catat_oleh"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Nama Regu:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.nama_regu" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">No Referensi:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.no_referensi" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Personil Yantek:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.personil_yantek"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Sumber Lapor:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.media" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Created By:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -606,12 +841,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Dispatch By:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.dispatch_by" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Dispatch Time:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -620,17 +855,17 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">User Regu:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.user_regu" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Nama Regu:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.nama_regu" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" 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"
|
||||
@ -644,7 +879,7 @@
|
||||
<InputText :readonly="true" :value="dataSubSelected?.shift" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Check In Petugas:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -653,17 +888,27 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Check In Petugas:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_login" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Catat:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_catat" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">No Laporan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.no_laporan" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Lapor:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_lapor" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Penugasan Regu:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -672,7 +917,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Dalam Perjalanan:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -685,7 +930,7 @@
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Pengerjaan:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.waktu_perjalanan"
|
||||
:value="dataSubSelected?.waktu_response"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
@ -704,26 +949,44 @@
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_nyala" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Selesai:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_selesai" 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">Durasi Perjalanan:</h3>
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tgl Selesai:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.durasi_waktu_response"
|
||||
:value="dataSubSelected?.waktu_recovery"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Durasi Perjalanan:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.waktu_perjalanan"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Durasi WO:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.durasi_wo" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Durasi WO Penugasan Khusus:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.durasi_wo_time"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Check Out Petugas:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -732,7 +995,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Check Out Petugas:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.waktu_logout" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">RPT</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -741,7 +1009,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">RCT</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -750,12 +1018,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Rating</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.rating" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Jml Pelanggan Padam:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -764,22 +1032,22 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Fasilitas:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.fasilitas" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Sub Fasilitas:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.sub_fasilitas" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Peralatan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.peralatan" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Dampak Kerusakan:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -788,12 +1056,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Penyebab:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.penyebab" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Kelompok Penyebab:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -802,12 +1070,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Cuaca:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.cuaca" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Keterangan Pelapor:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -816,12 +1084,12 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Keterangan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.keterangan" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Penyebab Padam:</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -830,17 +1098,17 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Tindakan:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.tindakan" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">APKT Status:</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.status_akhir" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Referensi Marking</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
@ -849,10 +1117,33 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row items-center justify-between w-full">
|
||||
<div v-if="isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">BLTH</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.blth" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Status</h3>
|
||||
<InputText :readonly="true" :value="dataSubSelected?.status_akhir" class-name="flex-1" />
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Selesai Oleh</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.nama_selesai_oleh"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div v-if="!isGangguanIndividual" class="flex flex-row items-center justify-between w-full">
|
||||
<h3 class="text-sm font-medium w-[135px] text-gray-800">Keterangan Selesai</h3>
|
||||
<InputText
|
||||
:readonly="true"
|
||||
:value="dataSubSelected?.keterangan_selesai"
|
||||
class-name="flex-1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</DetailDialog>
|
||||
@ -895,11 +1186,6 @@ import {
|
||||
|
||||
const client = apolloClient()
|
||||
provideApolloClient(client)
|
||||
|
||||
const position = { of: '#data' }
|
||||
const showIndicator = ref(true)
|
||||
const shading = ref(true)
|
||||
const showPane = ref(true)
|
||||
const dataSelected = ref<any>()
|
||||
const dataSubSelected = ref<any>()
|
||||
const data = ref<any[]>([])
|
||||
@ -913,6 +1199,24 @@ const reportMeta = ref({
|
||||
posko: { id: 0, name: 'Semua Posko' },
|
||||
periode: ''
|
||||
})
|
||||
const isTotal = ref(false)
|
||||
const isGangguanIndividual = ref(false)
|
||||
const isDialogEnabled = ref(false)
|
||||
|
||||
const onCellClicked = (e: any) => {
|
||||
if (e.rowType == 'data' || e.rowType == 'totalFooter') {
|
||||
isTotal.value = e.rowType == 'totalFooter'
|
||||
if (
|
||||
e.column.dataField == 'jumlah_wo_gangguan_individual' ||
|
||||
e.column.dataField == 'jumlah_wo_penugasan_khusus'
|
||||
) {
|
||||
isGangguanIndividual.value = e.column.dataField == 'jumlah_wo_gangguan_individual'
|
||||
isDialogEnabled.value = true
|
||||
} else {
|
||||
isDialogEnabled.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const closedialogDetail = () => (dialogDetail.value = false)
|
||||
|
||||
@ -930,14 +1234,23 @@ const getDetail = async () => {
|
||||
idPosko: selected?.id_posko ? selected?.id_posko : 0,
|
||||
idUid: selected?.id_uid ? selected?.id_uid : 0,
|
||||
idUp3: selected?.id_up3 ? selected?.id_up3 : 0,
|
||||
personilYantek: selected?.personil_yantek ? selected?.personil_yantek : ''
|
||||
personilYantek: isTotal.value ? '' : selected?.personil_yantek ? selected?.personil_yantek : ''
|
||||
}
|
||||
|
||||
loadingSubData.value = true
|
||||
await requestGraphQl(queries.cico.laporanCheckInCheckOutDetail, query)
|
||||
await requestGraphQl(
|
||||
isGangguanIndividual.value
|
||||
? queries.cico.laporanCheckInCheckOutDetailIndividual
|
||||
: queries.cico.laporanCheckInCheckOutDetailKhusus,
|
||||
query
|
||||
)
|
||||
.then((result) => {
|
||||
if (result.data.data != undefined) {
|
||||
dataSub.value = result.data.data.detailCheckInCheckOut
|
||||
if (isGangguanIndividual.value) {
|
||||
dataSub.value = result.data.data.detailCheckInCheckOutIndividu
|
||||
} else {
|
||||
dataSub.value = result.data.data.detailCheckInCheckOutKhusus
|
||||
}
|
||||
} else {
|
||||
dataSub.value = []
|
||||
}
|
||||
@ -960,7 +1273,9 @@ const showDetail = () => {
|
||||
clearSelection()
|
||||
dataSub.value = []
|
||||
dataSubSelected.value = null
|
||||
getDetail()
|
||||
if (isDialogEnabled.value) {
|
||||
getDetail()
|
||||
}
|
||||
}
|
||||
|
||||
const onExporting = (e: any) => {
|
||||
|
@ -3783,6 +3783,114 @@ export const queries = {
|
||||
}
|
||||
},
|
||||
cico: {
|
||||
laporanCheckInCheckOutDetailIndividual: gql`
|
||||
query detailCheckInCheckOutIndividu(
|
||||
$dateFrom: Date!
|
||||
$dateTo: Date!
|
||||
$idPosko: Int!
|
||||
$idUid: Int!
|
||||
$idUp3: Int!
|
||||
$personilYantek: String!
|
||||
) {
|
||||
detailCheckInCheckOutIndividu(
|
||||
dateFrom: $dateFrom
|
||||
dateTo: $dateTo
|
||||
idPosko: $idPosko
|
||||
idUid: $idUid
|
||||
idUp3: $idUp3
|
||||
personilYantek: $personilYantek
|
||||
) {
|
||||
id
|
||||
id_uid
|
||||
nama_uid
|
||||
id_up3
|
||||
nama_up3
|
||||
id_posko
|
||||
nama_posko
|
||||
media
|
||||
pembuat_laporan
|
||||
dispatch_by
|
||||
durasi_waktu_dispatch
|
||||
user_regu
|
||||
nama_regu
|
||||
personil_yantek
|
||||
shift
|
||||
check_in_petugas
|
||||
no_laporan
|
||||
durasi_wo
|
||||
waktu_lapor
|
||||
waktu_dispatch
|
||||
waktu_perjalanan
|
||||
waktu_nyala_sementara
|
||||
waktu_nyala
|
||||
waktu_selesai
|
||||
waktu_response
|
||||
check_out_petugas
|
||||
durasi_menit_response
|
||||
durasi_menit_recovery
|
||||
rating
|
||||
jml_pelanggan_padam
|
||||
fasilitas
|
||||
sub_fasilitas
|
||||
peralatan
|
||||
dampak_kerusakan
|
||||
kelompok_penyebab
|
||||
cuaca
|
||||
keterangan_pelapor
|
||||
keterangan
|
||||
penyebab
|
||||
tindakan
|
||||
status_akhir
|
||||
referensi_marking
|
||||
blth
|
||||
}
|
||||
}
|
||||
`,
|
||||
laporanCheckInCheckOutDetailKhusus: gql`
|
||||
query detailCheckInCheckOutKhusus(
|
||||
$dateFrom: Date!
|
||||
$dateTo: Date!
|
||||
$idPosko: Int!
|
||||
$idUid: Int!
|
||||
$idUp3: Int!
|
||||
$personilYantek: String!
|
||||
) {
|
||||
detailCheckInCheckOutKhusus(
|
||||
dateFrom: $dateFrom
|
||||
dateTo: $dateTo
|
||||
idPosko: $idPosko
|
||||
idUid: $idUid
|
||||
idUp3: $idUp3
|
||||
personilYantek: $personilYantek
|
||||
) {
|
||||
id
|
||||
nama_uid
|
||||
nama_up3
|
||||
nama_posko
|
||||
no_tugas
|
||||
nama_tugas
|
||||
keterangan
|
||||
nama_catat_oleh
|
||||
nama_regu
|
||||
no_referensi
|
||||
personil_yantek
|
||||
shift
|
||||
waktu_login
|
||||
waktu_catat
|
||||
waktu_perjalanan
|
||||
waktu_response
|
||||
waktu_nyala
|
||||
waktu_nyala_sementara
|
||||
waktu_recovery
|
||||
durasi_wo_time
|
||||
durasi_wo
|
||||
waktu_logout
|
||||
status_akhir
|
||||
nama_selesai_oleh
|
||||
keterangan_selesai
|
||||
}
|
||||
}
|
||||
`,
|
||||
laporanCheckInCheckOutDetail: gql`
|
||||
query detailCheckInCheckOut(
|
||||
$dateFrom: Date!
|
||||
|
Reference in New Issue
Block a user