Refactor CSS styles and fix formatting issues in MonalisaLK_EnergyNotSales.vue

This commit is contained in:
Dede Fuji Abdul
2024-03-11 22:42:15 +07:00
parent d8d5dc9f5b
commit 99afd50f37
40 changed files with 6887 additions and 2429 deletions

View File

@ -1,173 +1,534 @@
<template>
<Filters @run-search="() => filterData(filters)" :report-button="true" class="mb-4">
<Type1 @update:filters="(value) => filters = value" />
<Type1 @update:filters="(value) => (filters = value)" />
</Filters>
<div id="data">
<DxDataGrid class="max-h-[calc(100vh-140px)] mb-10" :data-source="data" :show-column-lines="true"
:show-row-lines="false" :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
@selection-changed="onDataSelectionChanged" :column-width="100" @exporting="onExporting"
:allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="false">
<DxDataGrid
class="max-h-[calc(100vh-140px)] mb-10"
:data-source="data"
:show-column-lines="true"
:show-row-lines="false"
:show-borders="true"
:row-alternation-enabled="true"
:hover-state-enabled="true"
@selection-changed="onDataSelectionChanged"
:column-width="100"
@exporting="onExporting"
:allow-column-resizing="true"
column-resizing-mode="widget"
:word-wrap-enabled="false"
>
<DxSelection mode="single" />
<DxPaging :enabled="false" />
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
v-if="loading" v-model:visible="loading" :enabled="true" />
<DxLoadPanel
:position="position"
:show-indicator="showIndicator"
:show-pane="showPane"
:shading="shading"
v-if="loading"
v-model:visible="loading"
:enabled="true"
/>
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
<DxExport
:enabled="true"
:formats="['pdf', 'xlsx', 'document']"
:allow-export-selected-data="false"
/>
<DxColumnFixing :enabled="true" />
<DxColumn :width="200" alignment="center" data-field="user_regu" caption="User Regu"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="200" alignment="center" data-field="personil_yantek" caption="Personil Yantek"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="200" alignment="center" data-field="jumlah_wo_gangguan_individual" data-type="number"
caption="Jumlah WO Gangguan Individual" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn :width="200" alignment="center" data-field="avg_durasi_wo_gangguan_individual" data-type="number"
caption="Rata-rata Durasi WO Gangguan" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn :width="200" alignment="center" data-field="avg_rpt_wo_gangguan_individual" data-type="number"
caption="Rata-rata RPT WO Gangguan" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn :width="200" alignment="center" data-field="avg_rct_wo_gangguan_individual" data-type="number"
caption="Rata-rata RCT WO Gangguan" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn :width="200" alignment="center" data-field="jumlah_wo_penugasan_khusus" data-type="number"
caption="Jumlah Wo Penugasan Khusus" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn :width="200" alignment="center" data-field="avg_wo_penugasan_khusus" data-type="number"
caption="Rata-rata Durasi WO Penugasan" css-class="custom-table-column" cell-template="cellRight" />
<DxColumn
:width="200"
alignment="center"
data-field="user_regu"
caption="User Regu"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="200"
alignment="center"
data-field="personil_yantek"
caption="Personil Yantek"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="200"
alignment="center"
data-field="jumlah_wo_gangguan_individual"
data-type="number"
caption="Jumlah WO Gangguan Individual"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<DxColumn
:width="200"
alignment="center"
data-field="avg_durasi_wo_gangguan_individual"
data-type="number"
caption="Rata-rata Durasi WO Gangguan"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<DxColumn
:width="200"
alignment="center"
data-field="avg_rpt_wo_gangguan_individual"
data-type="number"
caption="Rata-rata RPT WO Gangguan"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<DxColumn
:width="200"
alignment="center"
data-field="avg_rct_wo_gangguan_individual"
data-type="number"
caption="Rata-rata RCT WO Gangguan"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<DxColumn
:width="200"
alignment="center"
data-field="jumlah_wo_penugasan_khusus"
data-type="number"
caption="Jumlah Wo Penugasan Khusus"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<DxColumn
:width="200"
alignment="center"
data-field="avg_wo_penugasan_khusus"
data-type="number"
caption="Rata-rata Durasi WO Penugasan"
css-class="custom-table-column"
cell-template="formatNumber"
/>
<template #cellLeft="{ data }">
<template #formatText="{ data }">
<p class="text-left cursor-pointer" @click="showDialogDataSelected()">
{{ data.text }}
</p>
</template>
<template #cellRight="{ data }">
<template #formatNumber="{ data }">
<p class="text-right cursor-pointer" @click="showDialogDataSelected()">
{{ isNumber(data.text) ? data.column.caption == '%' ? formatPercentage(data.text) :
formatNumber(data.text) :
data.text }}
{{
isNumber(data.text)
? data.column.caption == '%'
? formatPercentage(data.text)
: formatNumber(data.text)
: data.text
}}
</p>
</template>
</DxDataGrid>
</div>
<DetailDialog :open="dialogDataSelected" title="Daftar Detail Jumlah WO Gangguan Individu"
@on-close="closeDialogDataSelected" :full-width="true">
<DetailDialog
:open="dialogDataSelected"
title="Daftar Detail Jumlah WO Gangguan Individu"
@on-close="closeDialogDataSelected"
:full-width="true"
>
<div class="w-full mb-4 lg:w-[70%] lg:float-left">
<div class="p-4 bg-white rounded-xl lg:mr-4">
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="dataSub" :show-column-lines="true"
:show-row-lines="false" :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
@selection-changed="onDataSubSelectionChanged" :column-width="100" @exporting="onExporting"
:allow-column-resizing="true" column-resizing-mode="widget">
<DxDataGrid
class="max-h-[calc(100vh-140px)]"
:data-source="dataSub"
:show-column-lines="true"
:show-row-lines="false"
:show-borders="true"
:row-alternation-enabled="true"
:hover-state-enabled="true"
@selection-changed="onDataSubSelectionChanged"
:column-width="100"
@exporting="onExporting"
:allow-column-resizing="true"
column-resizing-mode="widget"
>
<DxSelection mode="single" />
<DxPaging :page-size="5" :enabled="true" />
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
:show-info="true" :show-navigation-buttons="true" />
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
v-if="loading" v-model:visible="loading" :enabled="true" />
<DxPager
:visible="true"
:allowed-page-sizes="[5, 10, 20]"
display-mode="full"
:show-page-size-selector="true"
:show-info="true"
:show-navigation-buttons="true"
/>
<DxLoadPanel
:position="position"
:show-indicator="showIndicator"
:show-pane="showPane"
:shading="shading"
v-if="loading"
v-model:visible="loading"
:enabled="true"
/>
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
<DxExport
:enabled="true"
:formats="['pdf', 'xlsx', 'document']"
:allow-export-selected-data="false"
/>
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
:calculateCellValue="(item: any) => dataSub.findIndex((i) => i == item) + 1" data-type="number" caption="No"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="UID/UIW" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="UP3" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Posko" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Sumber Lapor" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Created By" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Dispatch By" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Dispatch Time"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="User Regu" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Nama Regu" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Nama Petugas" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Shif" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Check In Petugas"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="No Laporan" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Lapor" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Penugasan Baru"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Dalam Perjalanan"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Pengerjaan"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Nyala Sementara"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Nyala" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tgl Selesai" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Durasi Perjalanan"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Durasi WO" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Check Out Petugas"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="RPT" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="RCT" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Rating" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Jml Pelanggan Padam"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Fasilitas" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Sub Fasilitas"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Peralatan" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Dampak Kerusakan"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Penyebab" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Kelompok Penyebab"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Cuaca" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Keterangan Pelapor"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Keterangan" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Penyebab Padam"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Tindakan" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="APKT Status" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="Referensi Marking"
css-class="custom-table-column" cell-template="cellLeft" />
<DxColumn :width="150" alignment="center" data-field="" caption="BLTH" css-class="custom-table-column"
cell-template="cellLeft" />
<DxColumn
css-class="custom-table-column"
:width="50"
alignment="center"
:calculateCellValue="(item: any) => dataSub.findIndex((i) => i == item) + 1"
data-type="number"
caption="No"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="UID/UIW"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="UP3"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Posko"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Sumber Lapor"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Created By"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Dispatch By"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Dispatch Time"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="User Regu"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Nama Regu"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Nama Petugas"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Shif"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Check In Petugas"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="No Laporan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Lapor"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Penugasan Baru"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Dalam Perjalanan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Pengerjaan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Nyala Sementara"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Nyala"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tgl Selesai"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Durasi Perjalanan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Durasi WO"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Check Out Petugas"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="RPT"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="RCT"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Rating"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Jml Pelanggan Padam"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Fasilitas"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Sub Fasilitas"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Peralatan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Dampak Kerusakan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Penyebab"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Kelompok Penyebab"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Cuaca"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Keterangan Pelapor"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Keterangan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Penyebab Padam"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Tindakan"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="APKT Status"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="Referensi Marking"
css-class="custom-table-column"
cell-template="formatText"
/>
<DxColumn
:width="150"
alignment="center"
data-field=""
caption="BLTH"
css-class="custom-table-column"
cell-template="formatText"
/>
<template #cellLeft="{ data }">
<template #formatText="{ data }">
<p class="text-left cursor-pointer">
{{ data.text }}
</p>
</template>
<template #data-waktu="{ data }">
<template #formatTime="{ data }">
<p>
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p>
</template>
</DxDataGrid>
</div>
</div>
<div class="w-full mb-4 lg:w-[30%] lg:float-right">
<div class="p-4 space-y-2 bg-white rounded-xl">
@ -370,10 +731,8 @@
<h3 class="text-sm font-medium w-[135px] text-gray-800">BLTH</h3>
<InputText :readonly="true" :value="dataSubSelected" class-name="flex-1" />
</div>
</div>
</div>
</DetailDialog>
</template>
@ -413,8 +772,8 @@ const dataSubSelected = ref<any>()
const data = ref<any[]>([])
const dataSub = ref<any[]>([])
const dialogDataSelected = ref(false)
const closeDialogDataSelected = () => dialogDataSelected.value = false
const showDialogDataSelected = () => dialogDataSelected.value = true
const closeDialogDataSelected = () => (dialogDataSelected.value = false)
const showDialogDataSelected = () => (dialogDataSelected.value = true)
const onExporting = (e: any) => {
if (e.format === 'pdf') {
@ -496,15 +855,15 @@ const filters = ref()
onMounted(() => {
data.value = [
{
"user_regu": "11110.REGU1",
"personil_yantek": "11110_FAUZI",
"jumlah_wo_gangguan_individual": 54,
"avg_durasi_wo_gangguan_individual": 70.67,
"avg_rpt_wo_gangguan_individual": 40.69,
"avg_rct_wo_gangguan_individual": 71.61,
"jumlah_wo_penugasan_khusus": 31,
"avg_wo_penugasan_khusus": 63.79
user_regu: '11110.REGU1',
personil_yantek: '11110_FAUZI',
jumlah_wo_gangguan_individual: 54,
avg_durasi_wo_gangguan_individual: 70.67,
avg_rpt_wo_gangguan_individual: 40.69,
avg_rct_wo_gangguan_individual: 71.61,
jumlah_wo_penugasan_khusus: 31,
avg_wo_penugasan_khusus: 63.79
}
]
})
</script>
</script>