Update pagination and allowed page sizes in RGangguan_ALL.vue and add summary and group items in RGangguan_JenisGangguanSE.vue

This commit is contained in:
Dede Fuji Abdul
2024-03-13 00:38:50 +07:00
parent 772f893d83
commit ae33b9b3a6
3 changed files with 204 additions and 42 deletions

View File

@ -24,10 +24,10 @@
column-resizing-mode="widget" column-resizing-mode="widget"
> >
<DxSelection mode="single" /> <DxSelection mode="single" />
<DxPaging :page-size="5" :enabled="true" /> <DxPaging :page-size="40" :enabled="true" />
<DxPager <DxPager
:visible="true" :visible="true"
:allowed-page-sizes="[5, 10, 20]" :allowed-page-sizes="[20, 40, 60]"
display-mode="full" display-mode="full"
:show-page-size-selector="true" :show-page-size-selector="true"
:show-info="true" :show-info="true"
@ -54,6 +54,7 @@
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
data-type="number" data-type="number"
caption="No" caption="No"
cell-template="formatNumber"
/> />
<DxColumn <DxColumn
:width="150" :width="150"
@ -308,12 +309,6 @@
/> />
</DxColumn> </DxColumn>
<template #cellCenter="{ data }">
<p class="cursor-pointer" @click="showDialogDataSelected()">
{{ data.text }}
</p>
</template>
<template #formatText="{ data }"> <template #formatText="{ data }">
<p class="text-left cursor-pointer" @click="showDialogDataSelected()"> <p class="text-left cursor-pointer" @click="showDialogDataSelected()">
{{ data.text }} {{ data.text }}

View File

@ -20,7 +20,6 @@
:row-alternation-enabled="true" :row-alternation-enabled="true"
:hover-state-enabled="true" :hover-state-enabled="true"
@selection-changed="onSelectionChanged" @selection-changed="onSelectionChanged"
:column-width="100"
@exporting="onExporting" @exporting="onExporting"
:allow-column-resizing="true" :allow-column-resizing="true"
column-resizing-mode="widget" column-resizing-mode="widget"
@ -257,135 +256,146 @@
:show-in-group-footer="true" :show-in-group-footer="true"
column="no" column="no"
display-format="Total" display-format="Total"
cell-template="formatNumber" css-class="!text-left"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="laporan.total" column="laporan.total"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="laporan.sudahSelesai.jml" column="laporan.sudahSelesai.jml"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="laporan.sudahSelesai.persen" column="laporan.sudahSelesai.persen"
summary-type="sum" summary-type="avg"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="laporan.belumSelesai.jml" column="laporan.belumSelesai.jml"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="laporan.belumSelesai.persen" column="laporan.belumSelesai.persen"
summary-type="sum" summary-type="avg"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.menit.total" column="responseTime.menit.total"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.menit.rataRata" column="responseTime.menit.rataRata"
summary-type="sum" summary-type="avg"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.menit.max" column="responseTime.menit.max"
summary-type="sum" summary-type="max"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.menit.min" column="responseTime.menit.min"
summary-type="sum" summary-type="min"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.laporan.lebihSla" column="responseTime.laporan.lebihSla"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="responseTime.laporan.kurangSla" column="responseTime.laporan.kurangSla"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.menit.total" column="recoveryTime.menit.total"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.menit.rataRata" column="recoveryTime.menit.rataRata"
summary-type="sum" summary-type="avg"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.menit.max" column="recoveryTime.menit.max"
summary-type="sum" summary-type="max"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.menit.min" column="recoveryTime.menit.min"
summary-type="sum" summary-type="min"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.laporan.lebihSla" column="recoveryTime.laporan.lebihSla"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="true" :show-in-group-footer="true"
column="recoveryTime.laporan.kurangSla" column="recoveryTime.laporan.kurangSla"
summary-type="sum" summary-type="sum"
display-format="{0}" display-format="{0}"
cell-template="formatNumber" css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/> />
</DxSummary> </DxSummary>
<template #cellCenter="{ data }">
<p class="cursor-pointer">
{{ data.text }}
</p>
</template>
<template #formatText="{ data }"> <template #formatText="{ data }">
<p class="text-left cursor-pointer"> <p class="text-left cursor-pointer">
{{ data.text }} {{ data.text }}

View File

@ -63,6 +63,16 @@
css-class="custom-table-column" css-class="custom-table-column"
cell-template="cellCenter" cell-template="cellCenter"
/> />
<DxColumn
:width="120"
alignment="center"
data-field="kode"
caption="Kode"
css-class="custom-table-column"
cell-template="cellCenter"
name="kodeGroup"
:group-index="0"
/>
<DxColumn <DxColumn
:width="150" :width="150"
alignment="center" alignment="center"
@ -272,6 +282,151 @@
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }} {{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p> </p>
</template> </template>
<DxSummary>
<DxGroupItem
:show-in-group-footer="true"
column="no"
display-format="Total"
css-class="!text-left"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_selesai"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="persen_selesai"
summary-type="avg"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatPercentage(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_inproses"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="persen_inproses"
summary-type="avg"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatPercentage(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_durasi_response"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="avg_durasi_response"
summary-type="avg"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="max_durasi_response"
summary-type="min"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/>
<DxGroupItem
:show-in-group-footer="true"
column="min_durasi_response"
summary-type="max"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_diatas_sla_response"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_dibawah_sla_response"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_durasi_recovery"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="avg_durasi_recovery"
summary-type="avg"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="max_durasi_recovery"
summary-type="max"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/>
<DxGroupItem
:show-in-group-footer="true"
column="min_durasi_recovery"
summary-type="min"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_diatas_sla_recovery"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
<DxGroupItem
:show-in-group-footer="true"
column="total_dibawah_sla_recovery"
summary-type="sum"
display-format="{0}"
css-class="!text-right"
:customize-text="(e: any) => formatNumber(parseFloat(e.value.toString()))"
/>
</DxSummary>
</DxDataGrid> </DxDataGrid>
</div> </div>
</template> </template>
@ -290,7 +445,9 @@ import {
DxPaging, DxPaging,
DxScrolling, DxScrolling,
DxSearchPanel, DxSearchPanel,
DxSelection DxSelection,
DxSummary,
DxGroupItem
} from 'devextreme-vue/data-grid' } from 'devextreme-vue/data-grid'
import { jsPDF } from 'jspdf' import { jsPDF } from 'jspdf'
import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter'