Merge branch 'dev-defuj' of https://github.com/defuj/eis into dev-eko
This commit is contained in:
		| @@ -122,7 +122,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="170" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="nama_posko_lama" | ||||
|         caption="Posko Asal" | ||||
| @@ -130,7 +130,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="170" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="nama_posko_baru" | ||||
|         caption="Posko Tujuan" | ||||
| @@ -138,7 +138,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="150" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="status_akhir" | ||||
|         caption="Status" | ||||
| @@ -154,7 +154,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="150" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="nama_pelapor" | ||||
|         caption="Nama Pelapor" | ||||
| @@ -162,7 +162,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="170" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="alamat_pelapor" | ||||
|         caption="Alamat Pelapor" | ||||
| @@ -174,7 +174,7 @@ | ||||
|         alignment="center" | ||||
|         data-field="no_telp_pelapor" | ||||
|         caption="No Telp Pelapor" | ||||
|         cell-template="cellCenter" | ||||
|         cell-template="formatText" | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
| @@ -194,7 +194,7 @@ | ||||
|       /> | ||||
|       <DxColumn | ||||
|         css-class="custom-table-column" | ||||
|         :width="170" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="nama_posko_lama" | ||||
|         caption="Posko" | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|         { | ||||
|           id: 1, | ||||
|           name: 'Dibawah  / Sesuai SLA (<= 3 Jam)', | ||||
|           min: '1', | ||||
|           min: '0', | ||||
|           max: '180' | ||||
|         }, | ||||
|         { | ||||
|   | ||||
| @@ -60,50 +60,187 @@ | ||||
|       <DxColumn :width="70" alignment="center" data-field="persen_inproses" data-type="number" caption="%" | ||||
|         :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|       <DxColumn alignment="center" caption="Dispatching Time" css-class="custom-table-column"> | ||||
|         <DxColumn :width="150" alignment="center" data-field="avg_durasi_dispatch" data-type="number" | ||||
|           caption="Rata-Rata" :allow-resizing="false" css-class="custom-table-column" cell-template="formatDPT" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="max_durasi_dispatch" data-type="number" caption="Max" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="min_durasi_dispatch" data-type="number" caption="Min" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_diatas_sla_dispatch" data-type="number" | ||||
|           caption=">SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_dispatch" data-type="number" | ||||
|           caption="≤SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="avg_durasi_dispatch" | ||||
|           data-type="number" | ||||
|           caption="Rata-Rata" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatDPT" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="max_durasi_dispatch" | ||||
|           data-type="number" | ||||
|           caption="Max" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="min_durasi_dispatch" | ||||
|           data-type="number" | ||||
|           caption="Min" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_diatas_sla_dispatch" | ||||
|           data-type="number" | ||||
|           caption=">SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_dibawah_sla_dispatch" | ||||
|           data-type="number" | ||||
|           caption="≤SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|       </DxColumn> | ||||
|       <DxColumn alignment="center" caption="Response Time" css-class="custom-table-column"> | ||||
|         <DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number" | ||||
|           caption="Rata-Rata" :allow-resizing="false" css-class="custom-table-column" cell-template="formatRPT" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number" caption="Max" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number" caption="Min" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number" | ||||
|           caption=">SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number" | ||||
|           caption="≤SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="avg_durasi_response" | ||||
|           data-type="number" | ||||
|           caption="Rata-Rata" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatRPT" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="max_durasi_response" | ||||
|           data-type="number" | ||||
|           caption="Max" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="min_durasi_response" | ||||
|           data-type="number" | ||||
|           caption="Min" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_diatas_sla_response" | ||||
|           data-type="number" | ||||
|           caption=">SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_dibawah_sla_response" | ||||
|           data-type="number" | ||||
|           caption="≤SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|       </DxColumn> | ||||
|       <DxColumn alignment="center" caption="Recovery Time" css-class="custom-table-column"> | ||||
|         <DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number" | ||||
|           caption="Rata-Rata" :allow-resizing="false" cs s-class="custom-table-column" cell-template="formatRCT" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number" caption="Max" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number" caption="Min" | ||||
|           :allow-resizing="false" css-class="custom-table-column" cell-template="formatTime" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number" | ||||
|           caption=">SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number" | ||||
|           caption="≤SLA" :allow-resizing="false" css-class="custom-table-column" cell-template="formatNumber" /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="avg_durasi_recovery" | ||||
|           data-type="number" | ||||
|           caption="Rata-Rata" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatRCT" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="max_durasi_recovery" | ||||
|           data-type="number" | ||||
|           caption="Max" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="min_durasi_recovery" | ||||
|           data-type="number" | ||||
|           caption="Min" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatTime" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_diatas_sla_recovery" | ||||
|           data-type="number" | ||||
|           caption=">SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|         <DxColumn | ||||
|           :width="150" | ||||
|           alignment="center" | ||||
|           data-field="total_dibawah_sla_recovery" | ||||
|           data-type="number" | ||||
|           caption="≤SLA" | ||||
|           :allow-resizing="false" | ||||
|           css-class="custom-table-column" | ||||
|           cell-template="formatNumber" | ||||
|         /> | ||||
|       </DxColumn> | ||||
|  | ||||
|       <DxSummary :calculate-custom-summary="calculateCustomSummary"> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" name="total" column="total" | ||||
|           summary-type="custom" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" name="total_selesai" column="total_selesai" | ||||
|           summary-type="custom" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|  | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" name="persen_selesai" column="persen_selesai" | ||||
|           summary-type="custom" css-class="!text-right" :customize-text="(e: any) => formatPercentage(e.value)" /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_selesai" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="persen_selesai" | ||||
|           summary-type="avg" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatPercentage(e.value)" | ||||
|         /> | ||||
|         <!-- <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
| @@ -112,48 +249,143 @@ | ||||
|           summary-type="custom" | ||||
|           css-class="!text-right" | ||||
|         /> --> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" name="total_inproses" column="total_inproses" | ||||
|           summary-type="custom" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" name="persen_inproses" | ||||
|           column="persen_inproses" summary-type="custom" css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatPercentage(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="avg_durasi_dispatch" | ||||
|           summary-type="avg" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_inproses" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="persen_inproses" | ||||
|           summary-type="avg" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatPercentage(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="avg_durasi_dispatch" | ||||
|           summary-type="avg" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="max_durasi_dispatch" | ||||
|           summary-type="max" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="min_durasi_dispatch" | ||||
|           summary-type="min" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_diatas_sla_dispatch" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_dibawah_sla_dispatch" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="avg_durasi_response" | ||||
|           summary-type="avg" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="max_durasi_response" | ||||
|           summary-type="max" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="min_durasi_response" | ||||
|           summary-type="min" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_diatas_sla_response" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_dibawah_sla_response" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="avg_durasi_recovery" | ||||
|           summary-type="avg" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="max_durasi_recovery" | ||||
|           summary-type="max" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="min_durasi_recovery" | ||||
|           summary-type="min" css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_diatas_sla_recovery" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem :show-in-group-footer="false" :align-by-column="true" column="total_dibawah_sla_recovery" | ||||
|           summary-type="sum" css-class="!text-right" :customize-text="(e: any) => formatNumber(e.value)" /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="max_durasi_dispatch" | ||||
|           summary-type="max" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="min_durasi_dispatch" | ||||
|           summary-type="min" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_diatas_sla_dispatch" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_dibawah_sla_dispatch" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="avg_durasi_response" | ||||
|           summary-type="avg" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="max_durasi_response" | ||||
|           summary-type="max" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="min_durasi_response" | ||||
|           summary-type="min" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_diatas_sla_response" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_dibawah_sla_response" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="avg_durasi_recovery" | ||||
|           summary-type="avg" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="max_durasi_recovery" | ||||
|           summary-type="max" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="min_durasi_recovery" | ||||
|           summary-type="min" | ||||
|           css-class="!text-center" | ||||
|           :customize-text="(e: any) => (parseInt(e.value) ? formatWaktu(e.value) : '-')" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_diatas_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="false" | ||||
|           :align-by-column="true" | ||||
|           column="total_dibawah_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|       </DxSummary> | ||||
|  | ||||
|       <template #formatText="{ data }"> | ||||
| @@ -571,57 +803,22 @@ const setAgreementDialog = (column: string) => { | ||||
|     agreeToShowDialog.value = false | ||||
|   } | ||||
| } | ||||
| let total_selesai = 0; | ||||
| let total_inproses = 0; | ||||
| let total = 0; | ||||
|  | ||||
| const calculateCustomSummary = (options: any) => { | ||||
|   if (options.name == 'persenSelesai') { | ||||
|     console.log(options.component.persen_selesai) | ||||
|  | ||||
|   if (options.name === 'total') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total += options.value; | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total | ||||
|  | ||||
|     } | ||||
|   } | ||||
|   if (options.name === 'total_inproses') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_inproses += options.value; | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_inproses | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'total_selesai') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_selesai += options.value; | ||||
|  | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_selesai | ||||
|     } | ||||
|  | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'persen_selesai') { | ||||
|     if (options.summaryProcess === 'start') { | ||||
|       total_selesai = 0; | ||||
|       total = 0; | ||||
|     } else if (options.summaryProcess === 'calculate') { | ||||
|  | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|  | ||||
|       options.totalValue = (total_selesai / total) * 100; | ||||
|     } | ||||
|   } | ||||
|   if (options.name === 'persen_inproses') { | ||||
|     if (options.summaryProcess === 'start') { | ||||
|       total_inproses = 0; | ||||
|       total = 0; | ||||
|     } else if (options.summaryProcess === 'calculate') { | ||||
|  | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|  | ||||
|       options.totalValue = (total_inproses / total) * 100; | ||||
|     switch (options.summaryProcess) { | ||||
|       case 'start': | ||||
|         // Initializing "totalValue" here | ||||
|         options.totalValue = 1 | ||||
|         break | ||||
|       case 'calculate': | ||||
|         // Modifying "totalValue" here | ||||
|         break | ||||
|       case 'finalize': | ||||
|         // Assigning the final value to "totalValue" here | ||||
|         break | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -782,7 +979,7 @@ const showDetail = () => { | ||||
|   if (agreeToShowDialog.value) { | ||||
|     dataSub.value = [] | ||||
|     dataSubSelected.value = null | ||||
|     //     getDetail() | ||||
|     getDetail() | ||||
|   } | ||||
| } | ||||
|  | ||||
| @@ -832,29 +1029,29 @@ onMounted(() => { | ||||
|         nama_ulp: 'ULP DOMPU', | ||||
|         id_posko: 443201, | ||||
|         nama_posko: 'POSKO ULP DOMPU', | ||||
|         total: 34, | ||||
|         total_selesai: 34, | ||||
|         persen_selesai: 100, | ||||
|         total_inproses: 0, | ||||
|         persen_inproses: 0, | ||||
|         avg_durasi_dispatch: 4.735294117647059, | ||||
|         min_durasi_dispatch: 11, | ||||
|         max_durasi_dispatch: 2562, | ||||
|         total_dibawah_sla_dispatch: 19, | ||||
|         total_diatas_sla_dispatch: 15, | ||||
|         avg_durasi_response: 29.848484848484848, | ||||
|         min_durasi_response: 625, | ||||
|         max_durasi_response: 4202, | ||||
|         total_dibawah_sla_response: 27, | ||||
|         total_diatas_sla_response: 6, | ||||
|         avg_durasi_recovery: 50.53125, | ||||
|         min_durasi_recovery: 1282, | ||||
|         max_durasi_recovery: 5794, | ||||
|         total_dibawah_sla_recovery: 32, | ||||
|         total: 426, | ||||
|         total_selesai: 374, | ||||
|         persen_selesai: 87.79342723004694, | ||||
|         total_inproses: 52, | ||||
|         persen_inproses: 12.206572769953052, | ||||
|         avg_durasi_dispatch: 2.4715447154471546, | ||||
|         min_durasi_dispatch: 0, | ||||
|         max_durasi_dispatch: 723, | ||||
|         total_dibawah_sla_dispatch: 331, | ||||
|         total_diatas_sla_dispatch: 38, | ||||
|         avg_durasi_response: 12.729411764705882, | ||||
|         min_durasi_response: 160, | ||||
|         max_durasi_response: 2004, | ||||
|         total_dibawah_sla_response: 340, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 21.4070796460177, | ||||
|         min_durasi_recovery: 160, | ||||
|         max_durasi_recovery: 2619, | ||||
|         total_dibawah_sla_recovery: 339, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         total_dispatch: 34, | ||||
|         total_response: 33, | ||||
|         total_recovery: 32 | ||||
|         count_durasi_dispatch: 394, | ||||
|         count_durasi_response: 365, | ||||
|         count_durasi_recovery: 364 | ||||
|       }, | ||||
|       { | ||||
|         id: 316201, | ||||
| @@ -867,29 +1064,64 @@ onMounted(() => { | ||||
|         nama_ulp: 'ULP MARISA', | ||||
|         id_posko: 316201, | ||||
|         nama_posko: 'POSKO ULP MARISA', | ||||
|         total: 19, | ||||
|         total_selesai: 19, | ||||
|         persen_selesai: 100, | ||||
|         total_inproses: 0, | ||||
|         persen_inproses: 0, | ||||
|         avg_durasi_dispatch: 1.6111111111111112, | ||||
|         min_durasi_dispatch: 12, | ||||
|         max_durasi_dispatch: 437, | ||||
|         total_dibawah_sla_dispatch: 16, | ||||
|         total_diatas_sla_dispatch: 2, | ||||
|         avg_durasi_response: 17.22222222222222, | ||||
|         min_durasi_response: 483, | ||||
|         max_durasi_response: 2541, | ||||
|         total_dibawah_sla_response: 18, | ||||
|         total: 152, | ||||
|         total_selesai: 121, | ||||
|         persen_selesai: 79.60526315789474, | ||||
|         total_inproses: 31, | ||||
|         persen_inproses: 20.394736842105264, | ||||
|         avg_durasi_dispatch: 1.5221238938053097, | ||||
|         min_durasi_dispatch: 1, | ||||
|         max_durasi_dispatch: 1748, | ||||
|         total_dibawah_sla_dispatch: 101, | ||||
|         total_diatas_sla_dispatch: 12, | ||||
|         avg_durasi_response: 10.786516853932584, | ||||
|         min_durasi_response: 54, | ||||
|         max_durasi_response: 2349, | ||||
|         total_dibawah_sla_response: 89, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 31.38888888888889, | ||||
|         min_durasi_recovery: 1183, | ||||
|         max_durasi_recovery: 3216, | ||||
|         total_dibawah_sla_recovery: 18, | ||||
|         avg_durasi_recovery: 19.32183908045977, | ||||
|         min_durasi_recovery: 54, | ||||
|         max_durasi_recovery: 3723, | ||||
|         total_dibawah_sla_recovery: 87, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         total_dispatch: 18, | ||||
|         total_response: 18, | ||||
|         total_recovery: 18 | ||||
|         count_durasi_dispatch: 118, | ||||
|         count_durasi_response: 94, | ||||
|         count_durasi_recovery: 92 | ||||
|       }, | ||||
|       { | ||||
|         id: 422401, | ||||
|         nama_regional: 'REGIONAL SULMAPANA', | ||||
|         id_uid: 42, | ||||
|         nama_uid: 'WILAYAH PAPUA DAN PAPUA BARAT', | ||||
|         id_up3: 422, | ||||
|         nama_up3: 'UP3 BIAK', | ||||
|         id_ulp: 42240, | ||||
|         nama_ulp: 'ULP WAROPEN', | ||||
|         id_posko: 422401, | ||||
|         nama_posko: 'POSKO ULP WAROPEN', | ||||
|         total: 15, | ||||
|         total_selesai: 13, | ||||
|         persen_selesai: 86.66666666666667, | ||||
|         total_inproses: 2, | ||||
|         persen_inproses: 13.333333333333334, | ||||
|         avg_durasi_dispatch: 1.0769230769230769, | ||||
|         min_durasi_dispatch: 0, | ||||
|         max_durasi_dispatch: 218, | ||||
|         total_dibawah_sla_dispatch: 13, | ||||
|         total_diatas_sla_dispatch: 0, | ||||
|         avg_durasi_response: 11.833333333333334, | ||||
|         min_durasi_response: 119, | ||||
|         max_durasi_response: 1756, | ||||
|         total_dibawah_sla_response: 12, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 20.545454545454547, | ||||
|         min_durasi_recovery: 119, | ||||
|         max_durasi_recovery: 1908, | ||||
|         total_dibawah_sla_recovery: 11, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         count_durasi_dispatch: 15, | ||||
|         count_durasi_response: 14, | ||||
|         count_durasi_recovery: 13 | ||||
|       }, | ||||
|       { | ||||
|         id: 433801, | ||||
| @@ -902,29 +1134,29 @@ onMounted(() => { | ||||
|         nama_ulp: 'ULP SUMBA BARAT DAYA', | ||||
|         id_posko: 433801, | ||||
|         nama_posko: 'POSKO ULP SUMBA BARAT DAYA', | ||||
|         total: 34, | ||||
|         total_selesai: 34, | ||||
|         persen_selesai: 100, | ||||
|         total_inproses: 0, | ||||
|         persen_inproses: 0, | ||||
|         avg_durasi_dispatch: 2.5185185185185186, | ||||
|         min_durasi_dispatch: 17, | ||||
|         max_durasi_dispatch: 473, | ||||
|         total_dibawah_sla_dispatch: 23, | ||||
|         total_diatas_sla_dispatch: 4, | ||||
|         avg_durasi_response: 35.34615384615385, | ||||
|         min_durasi_response: 768, | ||||
|         max_durasi_response: 5726, | ||||
|         total_dibawah_sla_response: 19, | ||||
|         total_diatas_sla_response: 7, | ||||
|         avg_durasi_recovery: 57.34615384615385, | ||||
|         min_durasi_recovery: 1571, | ||||
|         max_durasi_recovery: 7213, | ||||
|         total_dibawah_sla_recovery: 26, | ||||
|         total: 188, | ||||
|         total_selesai: 162, | ||||
|         persen_selesai: 86.17021276595744, | ||||
|         total_inproses: 26, | ||||
|         persen_inproses: 13.829787234042554, | ||||
|         avg_durasi_dispatch: 1.4675324675324675, | ||||
|         min_durasi_dispatch: 2, | ||||
|         max_durasi_dispatch: 567, | ||||
|         total_dibawah_sla_dispatch: 147, | ||||
|         total_diatas_sla_dispatch: 7, | ||||
|         avg_durasi_response: 12.777777777777779, | ||||
|         min_durasi_response: 241, | ||||
|         max_durasi_response: 2772, | ||||
|         total_dibawah_sla_response: 134, | ||||
|         total_diatas_sla_response: 1, | ||||
|         avg_durasi_recovery: 26.119402985074625, | ||||
|         min_durasi_recovery: 453, | ||||
|         max_durasi_recovery: 3755, | ||||
|         total_dibawah_sla_recovery: 134, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         total_dispatch: 27, | ||||
|         total_response: 26, | ||||
|         total_recovery: 26 | ||||
|         count_durasi_dispatch: 158, | ||||
|         count_durasi_response: 139, | ||||
|         count_durasi_recovery: 138 | ||||
|       }, | ||||
|       { | ||||
|         id: 514603, | ||||
| @@ -937,29 +1169,29 @@ onMounted(() => { | ||||
|         nama_ulp: 'ULP NGANJUK', | ||||
|         id_posko: 514603, | ||||
|         nama_posko: 'POSKO ULP NGANJUK', | ||||
|         total: 183, | ||||
|         total_selesai: 183, | ||||
|         persen_selesai: 100, | ||||
|         total_inproses: 0, | ||||
|         persen_inproses: 0, | ||||
|         avg_durasi_dispatch: 11.38888888888889, | ||||
|         min_durasi_dispatch: 12, | ||||
|         max_durasi_dispatch: 4932, | ||||
|         total_dibawah_sla_dispatch: 53, | ||||
|         total_diatas_sla_dispatch: 37, | ||||
|         avg_durasi_response: 14.10204081632653, | ||||
|         min_durasi_response: 315, | ||||
|         max_durasi_response: 2385, | ||||
|         total_dibawah_sla_response: 49, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 21.73469387755102, | ||||
|         min_durasi_recovery: 424, | ||||
|         max_durasi_recovery: 3989, | ||||
|         total_dibawah_sla_recovery: 49, | ||||
|         total: 1436, | ||||
|         total_selesai: 1238, | ||||
|         persen_selesai: 86.2116991643454, | ||||
|         total_inproses: 198, | ||||
|         persen_inproses: 13.788300835654596, | ||||
|         avg_durasi_dispatch: 7.207339449541284, | ||||
|         min_durasi_dispatch: 4, | ||||
|         max_durasi_dispatch: 2760, | ||||
|         total_dibawah_sla_dispatch: 508, | ||||
|         total_diatas_sla_dispatch: 582, | ||||
|         avg_durasi_response: 21.72106824925816, | ||||
|         min_durasi_response: 130, | ||||
|         max_durasi_response: 5415, | ||||
|         total_dibawah_sla_response: 945, | ||||
|         total_diatas_sla_response: 66, | ||||
|         avg_durasi_recovery: 27.93168316831683, | ||||
|         min_durasi_recovery: 130, | ||||
|         max_durasi_recovery: 5978, | ||||
|         total_dibawah_sla_recovery: 1010, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         total_dispatch: 90, | ||||
|         total_response: 49, | ||||
|         total_recovery: 49 | ||||
|         count_durasi_dispatch: 1180, | ||||
|         count_durasi_response: 1101, | ||||
|         count_durasi_recovery: 1100 | ||||
|       }, | ||||
|       { | ||||
|         id: 532931, | ||||
| @@ -972,29 +1204,169 @@ onMounted(() => { | ||||
|         nama_ulp: 'ULP LELES', | ||||
|         id_posko: 532931, | ||||
|         nama_posko: 'POSKO ULP LELES', | ||||
|         total: 36, | ||||
|         total_selesai: 36, | ||||
|         persen_selesai: 100, | ||||
|         total_inproses: 0, | ||||
|         persen_inproses: 0, | ||||
|         avg_durasi_dispatch: 0.6388888888888888, | ||||
|         min_durasi_dispatch: 5, | ||||
|         max_durasi_dispatch: 271, | ||||
|         total_dibawah_sla_dispatch: 36, | ||||
|         total_diatas_sla_dispatch: 0, | ||||
|         avg_durasi_response: 10.38888888888889, | ||||
|         min_durasi_response: 295, | ||||
|         max_durasi_response: 1270, | ||||
|         total_dibawah_sla_response: 36, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 21.63888888888889, | ||||
|         min_durasi_recovery: 926, | ||||
|         max_durasi_recovery: 1886, | ||||
|         total_dibawah_sla_recovery: 36, | ||||
|         total: 370, | ||||
|         total_selesai: 324, | ||||
|         persen_selesai: 87.56756756756758, | ||||
|         total_inproses: 46, | ||||
|         persen_inproses: 12.432432432432433, | ||||
|         avg_durasi_dispatch: 0.9965635738831615, | ||||
|         min_durasi_dispatch: 3, | ||||
|         max_durasi_dispatch: 1495, | ||||
|         total_dibawah_sla_dispatch: 285, | ||||
|         total_diatas_sla_dispatch: 6, | ||||
|         avg_durasi_response: 16.597173144876326, | ||||
|         min_durasi_response: 247, | ||||
|         max_durasi_response: 5372, | ||||
|         total_dibawah_sla_response: 261, | ||||
|         total_diatas_sla_response: 22, | ||||
|         avg_durasi_recovery: 25.93594306049822, | ||||
|         min_durasi_recovery: 475, | ||||
|         max_durasi_recovery: 7354, | ||||
|         total_dibawah_sla_recovery: 281, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         total_dispatch: 36, | ||||
|         total_response: 36, | ||||
|         total_recovery: 36 | ||||
|         count_durasi_dispatch: 295, | ||||
|         count_durasi_response: 287, | ||||
|         count_durasi_recovery: 285 | ||||
|       }, | ||||
|       { | ||||
|         id: 543601, | ||||
|         nama_regional: 'REGIONAL JMB', | ||||
|         id_uid: 2, | ||||
|         nama_uid: 'DISTRIBUSI JAKARTA RAYA', | ||||
|         id_up3: 9, | ||||
|         nama_up3: 'UP3 CIPUTAT', | ||||
|         id_ulp: 54360, | ||||
|         nama_ulp: 'UP3 CIPUTAT', | ||||
|         id_posko: 543601, | ||||
|         nama_posko: 'POSKO CIPUTAT', | ||||
|         total: 3446, | ||||
|         total_selesai: 2826, | ||||
|         persen_selesai: 82.0081253627394, | ||||
|         total_inproses: 620, | ||||
|         persen_inproses: 17.99187463726059, | ||||
|         avg_durasi_dispatch: 3.46793930494371, | ||||
|         min_durasi_dispatch: 1, | ||||
|         max_durasi_dispatch: 2761, | ||||
|         total_dibawah_sla_dispatch: 1740, | ||||
|         total_diatas_sla_dispatch: 303, | ||||
|         avg_durasi_response: 30.737704918032787, | ||||
|         min_durasi_response: 29, | ||||
|         max_durasi_response: 8303, | ||||
|         total_dibawah_sla_response: 1465, | ||||
|         total_diatas_sla_response: 243, | ||||
|         avg_durasi_recovery: 49.72835112692764, | ||||
|         min_durasi_recovery: 29, | ||||
|         max_durasi_recovery: 10280, | ||||
|         total_dibawah_sla_recovery: 1686, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         count_durasi_dispatch: 2123, | ||||
|         count_durasi_response: 1789, | ||||
|         count_durasi_recovery: 1768 | ||||
|       }, | ||||
|       { | ||||
|         id: 327601, | ||||
|         nama_regional: 'REGIONAL SULMAPANA', | ||||
|         id_uid: 32, | ||||
|         nama_uid: 'WILAYAH SULAWESI SELATAN, TENGGARA DAN BARAT', | ||||
|         id_up3: 32700, | ||||
|         nama_up3: 'UP3 BULUKUMBA', | ||||
|         id_ulp: 32760, | ||||
|         nama_ulp: 'ULP SINJAI', | ||||
|         id_posko: 327601, | ||||
|         nama_posko: 'POSKO ULP SINJAI', | ||||
|         total: 401, | ||||
|         total_selesai: 344, | ||||
|         persen_selesai: 85.785536159601, | ||||
|         total_inproses: 57, | ||||
|         persen_inproses: 14.214463840399002, | ||||
|         avg_durasi_dispatch: 1.3757396449704142, | ||||
|         min_durasi_dispatch: 1, | ||||
|         max_durasi_dispatch: 2875, | ||||
|         total_dibawah_sla_dispatch: 319, | ||||
|         total_diatas_sla_dispatch: 19, | ||||
|         avg_durasi_response: 17.36760124610592, | ||||
|         min_durasi_response: 615, | ||||
|         max_durasi_response: 3359, | ||||
|         total_dibawah_sla_response: 318, | ||||
|         total_diatas_sla_response: 3, | ||||
|         avg_durasi_recovery: 31.22429906542056, | ||||
|         min_durasi_recovery: 994, | ||||
|         max_durasi_recovery: 3849, | ||||
|         total_dibawah_sla_recovery: 321, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         count_durasi_dispatch: 340, | ||||
|         count_durasi_response: 323, | ||||
|         count_durasi_recovery: 323 | ||||
|       }, | ||||
|       { | ||||
|         id: 146301, | ||||
|         nama_regional: 'REGIONAL SUMKAL', | ||||
|         id_uid: 140, | ||||
|         nama_uid: 'WILAYAH SUMATERA SELATAN, JAMBI & BENGKULU (S2JB)', | ||||
|         id_up3: 1403, | ||||
|         nama_up3: 'UP3 BENGKULU', | ||||
|         id_ulp: 14630, | ||||
|         nama_ulp: 'ULP MUARA AMAN', | ||||
|         id_posko: 146301, | ||||
|         nama_posko: 'POSKO ULP MUARA AMAN', | ||||
|         total: 16, | ||||
|         total_selesai: 14, | ||||
|         persen_selesai: 87.5, | ||||
|         total_inproses: 2, | ||||
|         persen_inproses: 12.5, | ||||
|         avg_durasi_dispatch: 3.8, | ||||
|         min_durasi_dispatch: 91, | ||||
|         max_durasi_dispatch: 991, | ||||
|         total_dibawah_sla_dispatch: 9, | ||||
|         total_diatas_sla_dispatch: 1, | ||||
|         avg_durasi_response: 13.555555555555555, | ||||
|         min_durasi_response: 625, | ||||
|         max_durasi_response: 1117, | ||||
|         total_dibawah_sla_response: 9, | ||||
|         total_diatas_sla_response: 0, | ||||
|         avg_durasi_recovery: 24.444444444444443, | ||||
|         min_durasi_recovery: 1305, | ||||
|         max_durasi_recovery: 1825, | ||||
|         total_dibawah_sla_recovery: 9, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         count_durasi_dispatch: 10, | ||||
|         count_durasi_response: 9, | ||||
|         count_durasi_recovery: 9 | ||||
|       }, | ||||
|       { | ||||
|         id: 561201, | ||||
|         nama_regional: 'REGIONAL JMB', | ||||
|         id_uid: 56, | ||||
|         nama_uid: 'DISTRIBUSI BANTEN', | ||||
|         id_up3: 534, | ||||
|         nama_up3: 'UP3 BANTEN UTARA', | ||||
|         id_ulp: 56120, | ||||
|         nama_ulp: 'ULP CILEGON', | ||||
|         id_posko: 561201, | ||||
|         nama_posko: 'POSKO ULP CILEGON', | ||||
|         total: 1177, | ||||
|         total_selesai: 1057, | ||||
|         persen_selesai: 89.80458793542905, | ||||
|         total_inproses: 120, | ||||
|         persen_inproses: 10.195412064570943, | ||||
|         avg_durasi_dispatch: 2.6475972540045767, | ||||
|         min_durasi_dispatch: 2, | ||||
|         max_durasi_dispatch: 2544, | ||||
|         total_dibawah_sla_dispatch: 796, | ||||
|         total_diatas_sla_dispatch: 78, | ||||
|         avg_durasi_response: 19.35131396957123, | ||||
|         min_durasi_response: 90, | ||||
|         max_durasi_response: 4412, | ||||
|         total_dibawah_sla_response: 713, | ||||
|         total_diatas_sla_response: 10, | ||||
|         avg_durasi_recovery: 32.180281690140845, | ||||
|         min_durasi_recovery: 90, | ||||
|         max_durasi_recovery: 4951, | ||||
|         total_dibawah_sla_recovery: 710, | ||||
|         total_diatas_sla_recovery: 0, | ||||
|         count_durasi_dispatch: 894, | ||||
|         count_durasi_response: 743, | ||||
|         count_durasi_recovery: 730 | ||||
|       } | ||||
|     ] | ||||
|     dataSub.value = [] | ||||
|   | ||||
| @@ -79,7 +79,7 @@ | ||||
|         data-field="posko_in" | ||||
|         caption="Posko IN" | ||||
|         css-class="custom-table-column" | ||||
|         cell-template="formatNumber" | ||||
|         cell-template="formatNumberPoskoIn" | ||||
|       /> | ||||
|       <DxColumn | ||||
|         :width="180" | ||||
| @@ -87,7 +87,7 @@ | ||||
|         data-field="posko_out" | ||||
|         caption="Posko OUT" | ||||
|         css-class="custom-table-column" | ||||
|         cell-template="formatNumber" | ||||
|         cell-template="formatNumberPoskoOut" | ||||
|       /> | ||||
|  | ||||
|       <DxSummary> | ||||
| @@ -96,6 +96,7 @@ | ||||
|           column="number" | ||||
|           display-format="Total" | ||||
|           css-class="!text-left" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
| @@ -103,6 +104,7 @@ | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
| @@ -110,17 +112,42 @@ | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|       </DxSummary> | ||||
|  | ||||
|       <template #formatText="{ data }"> | ||||
|         <p class="text-left cursor-pointer"> | ||||
|         <p class="text-left cursor-pointer" @click="setPoskoSelected('')"> | ||||
|           {{ data.text }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumber="{ data }"> | ||||
|         <p class="text-right cursor-pointer"> | ||||
|         <p class="text-right cursor-pointer" @click="setPoskoSelected('')"> | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberPoskoIn="{ data }"> | ||||
|         <p class="text-right cursor-pointer" @click="setPoskoSelected('in')"> | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberPoskoOut="{ data }"> | ||||
|         <p class="text-right cursor-pointer" @click="setPoskoSelected('out')"> | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
| @@ -522,23 +549,27 @@ const reportMeta = ref({ | ||||
|   posko: { id: 0, name: 'Semua Posko' }, | ||||
|   periode: '' | ||||
| }) | ||||
| const poskoSelected = ref('') | ||||
| const setPoskoSelected = (value: string) => { | ||||
|   poskoSelected.value = value | ||||
| } | ||||
|  | ||||
| const getDetail = async () => { | ||||
|   loadingSubData.value = true | ||||
|   const dateValue = filters.value.periode.split(' s/d ') | ||||
|   const ref = dataSelected.value | ||||
|  | ||||
|   const query = { | ||||
|   var query: any = { | ||||
|     dateFrom: dateValue[0] | ||||
|       ? dateValue[0].split('-').reverse().join('-') | ||||
|       : new Date().toISOString().slice(0, 10), | ||||
|     dateTo: dateValue[1] | ||||
|       ? dateValue[1].split('-').reverse().join('-') | ||||
|       : new Date().toISOString().slice(0, 10), | ||||
|     idUid: ref.id_uid, | ||||
|     idUp3: ref.id_up3, | ||||
|     idPoskoLama: ref.id_posko_lama, | ||||
|     idPoskoBaru: ref.id_posko_baru | ||||
|     idUid: 0, | ||||
|     idUp3: 0, | ||||
|     idPoskoLama: poskoSelected.value == 'out' ? ref.id_posko_lama : 0, | ||||
|     idPoskoBaru: poskoSelected.value == 'in' ? ref.id_posko_baru : 0 | ||||
|   } | ||||
|  | ||||
|   await requestGraphQl(queries.gangguan.rekap.gangguanAlihPoskoDetail, query) | ||||
| @@ -567,8 +598,9 @@ const showDetail = () => { | ||||
|   clearSelection() | ||||
|   dataSub.value = [] | ||||
|   dataSubSelected.value = null | ||||
|   // dialogDetail.value = true | ||||
|   getDetail() | ||||
|   if (poskoSelected.value != '') { | ||||
|     getDetail() | ||||
|   } | ||||
| } | ||||
|  | ||||
| const closeDialog = () => { | ||||
|   | ||||
| @@ -562,7 +562,7 @@ const showDetail = () => { | ||||
|   dataSub.value = [] | ||||
|   dataSubSelected.value = null | ||||
|   if (date.value != '') { | ||||
|     //     getDetail() | ||||
|     getDetail() | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -544,7 +544,7 @@ const showDetail = () => { | ||||
|   clearSelection() | ||||
|   dataSubSelected.value = null | ||||
|   if (monthSelected.value != null) { | ||||
|     //     getDetail() | ||||
|     getDetail() | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -69,9 +69,9 @@ | ||||
|         " | ||||
|       /> | ||||
|       <DxColumn | ||||
|         :width="150" | ||||
|         :width="250" | ||||
|         alignment="center" | ||||
|         data-field="jenisGangguan" | ||||
|         data-field="tipe_permasalahan" | ||||
|         caption="Jenis Gangguan" | ||||
|         css-class="custom-table-column" | ||||
|         cell-template="formatText" | ||||
| @@ -80,7 +80,7 @@ | ||||
|         <DxColumn | ||||
|           :width="120" | ||||
|           alignment="center" | ||||
|           data-field="laporan.total" | ||||
|           data-field="total" | ||||
|           data-type="number" | ||||
|           caption="Total" | ||||
|           css-class="custom-table-column" | ||||
| @@ -90,7 +90,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="laporan.sudahSelesai.jml" | ||||
|             data-field="total_selesai" | ||||
|             data-type="number" | ||||
|             caption="Jml" | ||||
|             css-class="custom-table-column" | ||||
| @@ -99,7 +99,7 @@ | ||||
|           <DxColumn | ||||
|             :width="70" | ||||
|             alignment="center" | ||||
|             data-field="laporan.sudahSelesai.persen" | ||||
|             data-field="persen_selesai" | ||||
|             data-type="number" | ||||
|             caption="%" | ||||
|             css-class="custom-table-column" | ||||
| @@ -110,7 +110,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="laporan.belumSelesai.jml" | ||||
|             data-field="total_inproses" | ||||
|             data-type="number" | ||||
|             caption="Jml" | ||||
|             css-class="custom-table-column" | ||||
| @@ -119,7 +119,7 @@ | ||||
|           <DxColumn | ||||
|             :width="70" | ||||
|             alignment="center" | ||||
|             data-field="laporan.belumSelesai.persen" | ||||
|             data-field="persen_inproses" | ||||
|             data-type="number" | ||||
|             caption="%" | ||||
|             css-class="custom-table-column" | ||||
| @@ -132,7 +132,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.menit.total" | ||||
|             data-field="total_durasi_response" | ||||
|             data-type="number" | ||||
|             caption="Total" | ||||
|             css-class="custom-table-column" | ||||
| @@ -141,7 +141,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.menit.rataRata" | ||||
|             data-field="avg_durasi_response" | ||||
|             data-type="number" | ||||
|             caption="Rata-Rata" | ||||
|             css-class="custom-table-column" | ||||
| @@ -150,7 +150,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.menit.max" | ||||
|             data-field="max_durasi_response" | ||||
|             data-type="number" | ||||
|             caption="Max" | ||||
|             css-class="custom-table-column" | ||||
| @@ -159,7 +159,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.menit.min" | ||||
|             data-field="min_durasi_response" | ||||
|             data-type="number" | ||||
|             caption="Min" | ||||
|             css-class="custom-table-column" | ||||
| @@ -170,7 +170,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.laporan.lebihSla" | ||||
|             data-field="total_diatas_sla_response" | ||||
|             data-type="number" | ||||
|             caption=">SLA" | ||||
|             css-class="custom-table-column" | ||||
| @@ -179,7 +179,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="responseTime.laporan.kurangSla" | ||||
|             data-field="total_dibawah_sla_response" | ||||
|             data-type="number" | ||||
|             caption="≤SLA" | ||||
|             css-class="custom-table-column" | ||||
| @@ -192,7 +192,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.menit.total" | ||||
|             data-field="total_durasi_recovery" | ||||
|             data-type="number" | ||||
|             caption="Total" | ||||
|             css-class="custom-table-column" | ||||
| @@ -201,7 +201,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.menit.rataRata" | ||||
|             data-field="avg_durasi_recovery" | ||||
|             data-type="number" | ||||
|             caption="Rata-Rata" | ||||
|             css-class="custom-table-column" | ||||
| @@ -210,7 +210,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.menit.max" | ||||
|             data-field="max_durasi_recovery" | ||||
|             data-type="number" | ||||
|             caption="Max" | ||||
|             css-class="custom-table-column" | ||||
| @@ -219,7 +219,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.menit.min" | ||||
|             data-field="min_durasi_recovery" | ||||
|             data-type="number" | ||||
|             caption="Min" | ||||
|             css-class="custom-table-column" | ||||
| @@ -230,7 +230,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.laporan.lebihSla" | ||||
|             data-field="total_diatas_sla_recovery" | ||||
|             data-type="number" | ||||
|             caption=">SLA" | ||||
|             css-class="custom-table-column" | ||||
| @@ -239,7 +239,7 @@ | ||||
|           <DxColumn | ||||
|             :width="120" | ||||
|             alignment="center" | ||||
|             data-field="recoveryTime.laporan.kurangSla" | ||||
|             data-field="total_dibawah_sla_recovery" | ||||
|             data-type="number" | ||||
|             caption="≤SLA" | ||||
|             css-class="custom-table-column" | ||||
| @@ -248,7 +248,7 @@ | ||||
|         </DxColumn> | ||||
|       </DxColumn> | ||||
|  | ||||
|       <DxSummary> | ||||
|       <DxSummary :calculate-custom-summary="calculateCustomSummary"> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="no" | ||||
| @@ -257,7 +257,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="laporan.total" | ||||
|           column="total" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -265,7 +265,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="laporan.sudahSelesai.jml" | ||||
|           column="total_selesai" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -273,7 +273,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="laporan.sudahSelesai.persen" | ||||
|           column="persen_selesai" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -281,7 +281,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="laporan.belumSelesai.jml" | ||||
|           column="total_inproses" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -289,7 +289,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="laporan.belumSelesai.persen" | ||||
|           column="persen_inproses" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -297,7 +297,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.menit.total" | ||||
|           column="total_durasi_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -305,7 +305,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.menit.rataRata" | ||||
|           column="avg_durasi_response" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -313,7 +313,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.menit.max" | ||||
|           column="max_durasi_response" | ||||
|           summary-type="max" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -321,7 +321,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.menit.min" | ||||
|           column="min_durasi_response" | ||||
|           summary-type="min" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -329,7 +329,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.laporan.lebihSla" | ||||
|           column="total_diatas_sla_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -337,7 +337,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="responseTime.laporan.kurangSla" | ||||
|           column="total_dibawah_sla_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -345,7 +345,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.menit.total" | ||||
|           column="total_durasi_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -353,7 +353,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.menit.rataRata" | ||||
|           column="avg_durasi_recovery" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -361,7 +361,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.menit.max" | ||||
|           column="max_durasi_recovery" | ||||
|           summary-type="max" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -369,7 +369,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.menit.min" | ||||
|           column="min_durasi_recovery" | ||||
|           summary-type="min" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -377,7 +377,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.laporan.lebihSla" | ||||
|           column="total_diatas_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -385,7 +385,7 @@ | ||||
|         /> | ||||
|         <DxGroupItem | ||||
|           :show-in-group-footer="true" | ||||
|           column="recoveryTime.laporan.kurangSla" | ||||
|           column="total_dibawah_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="!text-right" | ||||
| @@ -563,46 +563,8 @@ const filterData = async (params: any) => { | ||||
|         data.value = [...result.data.data.rekapitulasiPerJenisGangguan].map( | ||||
|           (item: any, index: number) => { | ||||
|             return { | ||||
|               no: ++index, | ||||
|               sub_kelompok: item.sub_kelompok, | ||||
|               nama_sub_kelompok: item.nama_sub_kelompok, | ||||
|               kode: item.kode, | ||||
|               jenisGangguan: item.tipe_permasalahan, | ||||
|               laporan: { | ||||
|                 total: item.total, | ||||
|                 sudahSelesai: { | ||||
|                   jml: item.total_selesai, | ||||
|                   persen: item.persen_selesai | ||||
|                 }, | ||||
|                 belumSelesai: { | ||||
|                   jml: item.total_inproses, | ||||
|                   persen: item.persen_inproses | ||||
|                 } | ||||
|               }, | ||||
|               responseTime: { | ||||
|                 menit: { | ||||
|                   total: item.total_durasi_response, | ||||
|                   rataRata: item.avg_durasi_response, | ||||
|                   max: item.max_durasi_response, | ||||
|                   min: item.min_durasi_response | ||||
|                 }, | ||||
|                 laporan: { | ||||
|                   lebihSla: item.total_diatas_sla_response, | ||||
|                   kurangSla: item.total_dibawah_sla_response | ||||
|                 } | ||||
|               }, | ||||
|               recoveryTime: { | ||||
|                 menit: { | ||||
|                   total: item.total_durasi_recovery, | ||||
|                   rataRata: item.avg_durasi_recovery, | ||||
|                   max: item.max_durasi_recovery, | ||||
|                   min: item.min_durasi_recovery | ||||
|                 }, | ||||
|                 laporan: { | ||||
|                   lebihSla: item.total_diatas_sla_recovery, | ||||
|                   kurangSla: item.total_dibawah_sla_recovery | ||||
|                 } | ||||
|               } | ||||
|               ...item, | ||||
|               no: ++index | ||||
|             } | ||||
|           } | ||||
|         ) | ||||
| @@ -619,6 +581,50 @@ const filterData = async (params: any) => { | ||||
|     }) | ||||
| } | ||||
|  | ||||
| let total = 0 | ||||
| let total_selesai = 0 | ||||
| let total_inproses = 0 | ||||
| let count_durasi_dispatch = 0 | ||||
| let total_durasi_dispatch = 0 | ||||
| let count_durasi_response = 0 | ||||
| let total_durasi_response = 0 | ||||
| let count_durasi_recovery = 0 | ||||
| let total_durasi_recovery = 0 | ||||
| const calculateCustomSummary = (options: any) => { | ||||
|   if (options.name === 'total') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'total_selesai') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_selesai += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_selesai | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'total_inproses') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_inproses += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_inproses | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'persen_selesai') { | ||||
|     if (options.summaryProcess === 'start') { | ||||
|       total = 0 | ||||
|       total_selesai = 0 | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = (total_selesai / total) * 100 | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| const filters = ref() | ||||
| onMounted(() => { | ||||
|   if (import.meta.env.DEV) { | ||||
|   | ||||
| @@ -75,6 +75,15 @@ | ||||
|         name="UIDGroup" | ||||
|         :group-index="2" | ||||
|       /> | ||||
|       <DxColumn | ||||
|         alignment="center" | ||||
|         data-field="nama_up3" | ||||
|         caption="UP3" | ||||
|         css-class="custom-table-column" | ||||
|         cell-template="formatText" | ||||
|         name="UP3Group" | ||||
|         :group-index="3" | ||||
|       /> | ||||
|       <DxColumn alignment="center" caption="Bulan" css-class="custom-table-column"> | ||||
|         <DxColumn | ||||
|           alignment="center" | ||||
| @@ -1174,6 +1183,7 @@ const setMonth = (month: any) => { | ||||
|  | ||||
| const getDetail = async () => { | ||||
|   loadingSubData.value = true | ||||
|   const { jenisTransaksi } = filters.value | ||||
|   const dateValue = filters.value.periode.split(' s/d ') | ||||
|   const ref = dataSelected.value | ||||
|   const compDate = dateValue[0].split('-').reverse().join('-').split('-') | ||||
| @@ -1185,11 +1195,35 @@ const getDetail = async () => { | ||||
|     dateTo: dateValue[1] | ||||
|       ? dateValue[1].split('-').reverse().join('-') | ||||
|       : new Date().toISOString().slice(0, 10), | ||||
|     posko: ref?.id_posko ? ref?.id_posko : 0, | ||||
|     posko: ref?.id_ulp ? ref?.id_ulp : 0, | ||||
|     idUid: ref?.id_uid ? ref?.id_uid : 0, | ||||
|     idUp3: ref?.id_up3 ? ref?.id_up3 : 0, | ||||
|     bulan: monthSelected.value, | ||||
|     tahun: parseInt(compDate[0]) | ||||
|     tahun: parseInt(compDate[0]), | ||||
|     is_transaksi_individual: | ||||
|       jenisTransaksi.length == 4 || jenisTransaksi.length == 0 | ||||
|         ? 0 | ||||
|         : jenisTransaksi.includes('Koreksi Transaksi Individual') | ||||
|           ? 1 | ||||
|           : 2, | ||||
|     is_cleansing_transaksi_tm: | ||||
|       jenisTransaksi.length == 4 || jenisTransaksi.length == 0 | ||||
|         ? 0 | ||||
|         : jenisTransaksi.includes('Cleansing Traksaksi TM') | ||||
|           ? 1 | ||||
|           : 2, | ||||
|     is_koreksi_transaksi_tm: | ||||
|       jenisTransaksi.length == 4 || jenisTransaksi.length == 0 | ||||
|         ? 0 | ||||
|         : jenisTransaksi.includes('Koreksi Transaksi TM') | ||||
|           ? 1 | ||||
|           : 2, | ||||
|     is_koreksi_gangguan_dan_anev: | ||||
|       jenisTransaksi.length == 4 || jenisTransaksi.length == 0 | ||||
|         ? 0 | ||||
|         : jenisTransaksi.includes('Koreksi Kode Gangguan dan Anev') | ||||
|           ? 1 | ||||
|           : 2 | ||||
|   } | ||||
|  | ||||
|   loadingSubData.value = true | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|     :report-button="true" | ||||
|     class="mb-4" | ||||
|   > | ||||
|     <Type9 @update:filters="(value) => updateFilters(value)" /> | ||||
|     <Type9 @update:filters="(value) => (filters = value)" /> | ||||
|   </Filters> | ||||
|  | ||||
|   <div id="data"> | ||||
| @@ -998,11 +998,6 @@ const closeDialog = () => { | ||||
|   dialogDetail.value = false | ||||
| } | ||||
|  | ||||
| const updateFilters = (value: any) => { | ||||
|   filters.value = value | ||||
|   reportMeta.value.groupBy = value.groupBy | ||||
| } | ||||
|  | ||||
| const onExporting = (e: any) => { | ||||
|   if (e.format === 'pdf') { | ||||
|     exportToPDF(reportMeta.value, data.value) | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
|     :report-button="true" | ||||
|     class="mb-4" | ||||
|   > | ||||
|     <Type9 @update:filters="(value) => updateFilters(value)" /> | ||||
|     <Type9 @update:filters="(value) => (filters = value)" /> | ||||
|   </Filters> | ||||
|  | ||||
|   <div id="data"> | ||||
| @@ -53,7 +53,7 @@ | ||||
|         :width="120" | ||||
|         alignment="center" | ||||
|         data-field="nama_uid" | ||||
|         caption="Nama UID" | ||||
|         caption="UID" | ||||
|         css-class="custom-table-column" | ||||
|         group-index="0" | ||||
|         v-if="isGroupBy" | ||||
| @@ -296,6 +296,155 @@ | ||||
|           {{ parseInt(data.text) ? formatWaktu(data.text) : '-' }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <DxSummary :calculate-custom-summary="calculateCustomSummary"> | ||||
|         <DxTotalItem | ||||
|           display-format="TOTAL" | ||||
|           show-in-column="tanggal" | ||||
|           css-class="text-white !text-left" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="total" | ||||
|           name="total" | ||||
|           summary-type="custom" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="total_selesai" | ||||
|           name="total_selesai" | ||||
|           summary-type="custom" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="persen_selesai" | ||||
|           name="persen_selesai" | ||||
|           summary-type="custom" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatPercentage(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxTotalItem | ||||
|           column="total_inproses" | ||||
|           name="total_inproses" | ||||
|           summary-type="custom" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="persen_inproses" | ||||
|           name="persen_inproses" | ||||
|           summary-type="custom" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatPercentage(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxTotalItem | ||||
|           column="total_durasi_response" | ||||
|           name="total_durasi_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="avg_durasi_response" | ||||
|           name="avg_durasi_response" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="max_durasi_response" | ||||
|           name="max_durasi_response" | ||||
|           summary-type="max" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatWaktu(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="min_durasi_response" | ||||
|           name="min_durasi_response" | ||||
|           summary-type="min" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatWaktu(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxTotalItem | ||||
|           column="total_diatas_sla_response" | ||||
|           name="total_diatas_sla_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="total_dibawah_sla_response" | ||||
|           name="total_dibawah_sla_response" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxTotalItem | ||||
|           column="total_durasi_recovery" | ||||
|           name="total_durasi_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="avg_durasi_recovery" | ||||
|           name="avg_durasi_recovery" | ||||
|           summary-type="avg" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="max_durasi_recovery" | ||||
|           name="max_durasi_recovery" | ||||
|           summary-type="max" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatWaktu(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="min_durasi_recovery" | ||||
|           name="min_durasi_recovery" | ||||
|           summary-type="min" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatWaktu(e.value)" | ||||
|         /> | ||||
|  | ||||
|         <DxTotalItem | ||||
|           column="total_diatas_sla_recovery" | ||||
|           name="total_diatas_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|         <DxTotalItem | ||||
|           column="total_dibawah_sla_recovery" | ||||
|           name="total_dibawah_sla_recovery" | ||||
|           summary-type="sum" | ||||
|           display-format="{0}" | ||||
|           css-class="text-white !text-right" | ||||
|           :customize-text="(e: any) => formatNumber(e.value)" | ||||
|         /> | ||||
|       </DxSummary> | ||||
|     </DxDataGrid> | ||||
|   </div> | ||||
|  | ||||
| @@ -645,7 +794,9 @@ import { | ||||
|   DxPaging, | ||||
|   DxScrolling, | ||||
|   DxSearchPanel, | ||||
|   DxSelection | ||||
|   DxSelection, | ||||
|   DxSummary, | ||||
|   DxTotalItem | ||||
| } from 'devextreme-vue/data-grid' | ||||
| import { queries, requestGraphQl } from '@/utils/api/api.graphql' | ||||
| import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers' | ||||
| @@ -767,11 +918,6 @@ const onExportingDetail = (e: any) => { | ||||
|   } | ||||
| } | ||||
|  | ||||
| const updateFilters = (value: any) => { | ||||
|   filters.value = value | ||||
|   reportMeta.value.groupBy = value.groupBy | ||||
| } | ||||
|  | ||||
| const onDataSelectionChanged = ({ selectedRowsData }: any) => { | ||||
|   if (selectedRowsData[0] != undefined) { | ||||
|     dataSelected.value = selectedRowsData[0] | ||||
| @@ -835,6 +981,55 @@ const filterData = async (params: any) => { | ||||
|     }) | ||||
| } | ||||
|  | ||||
| let total = 0 | ||||
| let total_selesai = 0 | ||||
| let persen_selesai = 0 | ||||
| let total_inproses = 0 | ||||
| let persen_inproses = 0 | ||||
| const calculateCustomSummary = (options: any) => { | ||||
|   if (options.name === 'total') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'total_selesai') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_selesai += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_selesai | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'total_inproses') { | ||||
|     if (options.summaryProcess === 'calculate') { | ||||
|       total_inproses += options.value | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = total_inproses | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'persen_selesai') { | ||||
|     if (options.summaryProcess === 'start') { | ||||
|       total = 0 | ||||
|       total_selesai = 0 | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = (total_selesai / total) * 100 | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   if (options.name === 'persen_inproses') { | ||||
|     if (options.summaryProcess === 'start') { | ||||
|       total = 0 | ||||
|       total_inproses = 0 | ||||
|     } else if (options.summaryProcess === 'finalize') { | ||||
|       options.totalValue = (total_inproses / total) * 100 | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| onMounted(() => { | ||||
|   if (import.meta.env.DEV) { | ||||
|     data.value = [ | ||||
|   | ||||
| @@ -684,7 +684,59 @@ const reportMeta = ref({ | ||||
| }) | ||||
| const agreeToShowDialog = ref(false) | ||||
| const progressSelected = ref(0) | ||||
| // const ratingToShow = ref(0) | ||||
| // const nonRating = ref(0) | ||||
|  | ||||
| // const setAgreementDialog = ( | ||||
| //   status: boolean, | ||||
| //   progress: number, | ||||
| //   rating: number, | ||||
| //   ratingStatus: number | ||||
| // ) => { | ||||
| //   agreeToShowDialog.value = status | ||||
| //   progressSelected.value = progress | ||||
| //   ratingToShow.value = rating | ||||
| //   nonRating.value = ratingStatus | ||||
| // } | ||||
|  | ||||
| // const getDetail = async () => { | ||||
| //   const dateValue = filters.value.periode.split(' s/d ') | ||||
| //   const ref = dataSelected.value | ||||
|  | ||||
| //   const query = { | ||||
| //     dateFrom: dateValue[0] | ||||
| //       ? dateValue[0].split('-').reverse().join('-') | ||||
| //       : new Date().toISOString().slice(0, 10), | ||||
| //     dateTo: dateValue[1] | ||||
| //       ? dateValue[1].split('-').reverse().join('-') | ||||
| //       : new Date().toISOString().slice(0, 10), | ||||
| //     posko: ref?.id_ulp ? ref?.id_ulp : 0, | ||||
| //     idUid: ref?.id_uid ? ref?.id_uid : 0, | ||||
| //     idUp3: ref?.id_up3 ? ref?.id_up3 : 0, | ||||
| //     idRegu: ref?.id_regu ? ref?.id_regu : 0, | ||||
| //     namaRegional: ref?.nama_regional ? ref?.nama_regional : '', | ||||
| //     isSelesai: progressSelected.value, | ||||
| //     isNonRating: nonRating.value, | ||||
| //     nilaiRating: ratingToShow.value | ||||
| //   } | ||||
|  | ||||
| //   loadingSubData.value = true | ||||
| //   await requestGraphQl(queries.gangguan.rekap.gangguanRatingDetail, query) | ||||
| //     .then((result) => { | ||||
| //       if (result.data.data != undefined) { | ||||
| //         dataSub.value = result.data.data.detailRekapitulasiGangguanBerdasarkanRating | ||||
| //       } else { | ||||
| //         dataSub.value = [] | ||||
| //       } | ||||
| //     }) | ||||
| //     .catch((err) => { | ||||
| //       console.error(err) | ||||
| //     }) | ||||
| //     .finally(() => { | ||||
| //       loadingSubData.value = false | ||||
| //       dialogDetail.value = true | ||||
| //     }) | ||||
| // } | ||||
| const setAgreementDialog = (status: boolean, progress: number) => { | ||||
|   agreeToShowDialog.value = status | ||||
|   progressSelected.value = progress | ||||
|   | ||||
		Reference in New Issue
	
	Block a user