Rekapitulasi Gangguan Berdasarkan Media
This commit is contained in:
		| @@ -1,30 +1,27 @@ | ||||
| <template> | ||||
|     <Filters @run-search="() => filterData(filters)" class="mb-4"> | ||||
|     <Type9 @update:filters="(value) => { | ||||
|         filters = value | ||||
|       } | ||||
|       " /> | ||||
|   </Filters> | ||||
|         <Type9 @update:filters="(value) => { | ||||
|             filters = value | ||||
|         } | ||||
|             " /> | ||||
|     </Filters> | ||||
|     <div id="data"> | ||||
|         <DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false" :show-borders="true" | ||||
|             :row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onSelectionChanged" | ||||
|             :column-width="100" @exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget" | ||||
|             :word-wrap-enabled="true"> | ||||
|         <DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false" | ||||
|             :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true" | ||||
|             @selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" | ||||
|             :allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="true"> | ||||
|             <DxSelection mode="single" /> | ||||
|             <DxPaging :enabled="false" /> | ||||
|             <DxScrolling column-rendering-mode="virtual" mode="virtual" /> | ||||
|             <DxLoadPanel :position="position" :show-indicator="showIndicator"  | ||||
|             :show-pane="showPane" :shading="shading" | ||||
|             v-if="loading" v-model:visible="loading" :enabled="true" /> | ||||
|             <DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading" | ||||
|                 v-if="loading" v-model:visible="loading" :enabled="true" /> | ||||
|  | ||||
|             <DxSearchPanel :visible="true" :highlight-case-sensitive="true" /> | ||||
|             <DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" /> | ||||
|             <DxColumnFixing :enabled="true" /> | ||||
|  | ||||
|              <DxColumn css-class="custom-table-column" :width="50" alignment="center" | ||||
|             :calculateCellValue="(item:any) => data.findIndex((i)=>i == item)+1" | ||||
|              data-type="number" | ||||
|                 caption="No" /> | ||||
|             <DxColumn css-class="custom-table-column" :width="50" alignment="center" | ||||
|                 :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" /> | ||||
|             <DxColumn :width="170" alignment="center" data-field="tanggal" caption="Tanggal Lapor" | ||||
|                 css-class="custom-table-column" /> | ||||
|             <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
| @@ -47,36 +44,36 @@ | ||||
|                 <DxColumn alignment="center" caption="Menit" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_response" data-type="number" caption="Total" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="avg_durasi_response" data-type="number" caption="Rata-Rata" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="max_durasi_response" data-type="number" caption="Max" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="min_durasi_response" data-type="number" caption="Min" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="avg_durasi_response" data-type="number" | ||||
|                         caption="Rata-Rata" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="max_durasi_response" data-type="number" | ||||
|                         caption="Max" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="min_durasi_response" data-type="number" | ||||
|                         caption="Min" css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|                 <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_diatas_sla_response" data-type="number" caption=">SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_dibawah_sla_response" data-type="number" caption="≤SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_diatas_sla_response" data-type="number" | ||||
|                         caption=">SLA" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_dibawah_sla_response" data-type="number" | ||||
|                         caption="≤SLA" css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|             </DxColumn> | ||||
|             <DxColumn alignment="center" caption="Recovery Time" css-class="custom-table-column"> | ||||
|                 <DxColumn alignment="center" caption="Menit" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_recovery" data-type="number" caption="Total" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="avg_durasi_recovery" data-type="number" caption="Rata-Rata" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="max_durasi_recovery" data-type="number" caption="Max" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="min_durasi_recovery" data-type="number" caption="Min" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="avg_durasi_recovery" data-type="number" | ||||
|                         caption="Rata-Rata" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="max_durasi_recovery" data-type="number" | ||||
|                         caption="Max" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="min_durasi_recovery" data-type="number" | ||||
|                         caption="Min" css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|                 <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_diatas_sla_recovery" data-type="number" caption=">SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number" caption="≤SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_diatas_sla_recovery" data-type="number" | ||||
|                         caption=">SLA" css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number" | ||||
|                         caption="≤SLA" css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|             </DxColumn> | ||||
|         </DxDataGrid> | ||||
| @@ -152,25 +149,19 @@ query rekapitulasiGangguanPerTanggal( | ||||
|         idUid: $idUid | ||||
|         idUp3: $idUp3 | ||||
|     ) { | ||||
|         avg_durasi_dispatch | ||||
|         nama_posko | ||||
|         avg_durasi_recovery | ||||
|         avg_durasi_response | ||||
|         id_uid | ||||
|         id_up3 | ||||
|         max_durasi_dispatch | ||||
|         max_durasi_recovery | ||||
|         max_durasi_response | ||||
|         min_durasi_dispatch | ||||
|         min_durasi_recovery | ||||
|         min_durasi_response | ||||
|         persen_inproses | ||||
|         persen_selesai | ||||
|         tanggal | ||||
|         total | ||||
|         total_diatas_sla_dispatch | ||||
|         total_diatas_sla_recovery | ||||
|         total_diatas_sla_response | ||||
|         total_dibawah_sla_dispatch | ||||
|         total_dibawah_sla_recovery | ||||
|         total_dibawah_sla_response | ||||
|         total_inproses | ||||
| @@ -178,22 +169,22 @@ query rekapitulasiGangguanPerTanggal( | ||||
|         } | ||||
| }`; | ||||
|  | ||||
|     const { onResult, onError,loading,refetch } = useQuery(GET_REKAPITULASI_GANGGUAN_PER_TANGGAL, { | ||||
|         dateFrom: new Date("2023-10-01").toISOString().slice(0, 10), | ||||
|         dateTo: new Date("2023-10-01").toISOString().slice(0, 10), | ||||
|         posko: 0, | ||||
|         idUid: 0, | ||||
|         idUp3: 0, | ||||
|     }) | ||||
| const { onResult, onError, loading, refetch } = useQuery(GET_REKAPITULASI_GANGGUAN_PER_TANGGAL, { | ||||
|     dateFrom: new Date("2023-10-01").toISOString().slice(0, 10), | ||||
|     dateTo: new Date("2023-10-01").toISOString().slice(0, 10), | ||||
|     posko: 0, | ||||
|     idUid: 0, | ||||
|     idUp3: 0, | ||||
| }) | ||||
| const filterData = (params: any) => { | ||||
|     const dateValue = params.periode.split(' s/d ') | ||||
|       const { posko, uid, up3 } = params | ||||
|     const { posko, uid, up3 } = params | ||||
|     refetch({ | ||||
|         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), | ||||
|         dateTo: dateValue[1] ? dateValue[1].split('-').reverse().join('-') : new Date().toISOString().slice(0, 10), | ||||
|         posko: posko ? posko.id : 0, | ||||
|         idUid: uid ? uid.id :0, | ||||
|         idUp3: up3? up3.id:0, | ||||
|         idUid: uid ? uid.id : 0, | ||||
|         idUp3: up3 ? up3.id : 0, | ||||
|     }) | ||||
|     onResult(queryResult => { | ||||
|         if (queryResult.data != undefined) { | ||||
| @@ -206,7 +197,7 @@ const filterData = (params: any) => { | ||||
|     onError((error) => { | ||||
|         console.log(error) | ||||
|     }) | ||||
|     | ||||
|  | ||||
| } | ||||
| const filters = ref(); | ||||
| </script> | ||||
		Reference in New Issue
	
	Block a user