Add Monalisa dispatching time gangguan queries
This commit is contained in:
		| @@ -93,7 +93,7 @@ | ||||
|             data-type="number" | ||||
|             :caption="`${getMonthName(lastMonth)} ${lastYearMoM}`" | ||||
|             css-class="custom-table-column" | ||||
|             cell-template="formatNumber" | ||||
|             cell-template="formatNumberMomLastMonthLastYear" | ||||
|           /> | ||||
|           <DxColumn | ||||
|             :width="150" | ||||
| @@ -102,7 +102,7 @@ | ||||
|             data-type="number" | ||||
|             :caption="`${getMonthName(currentMonth)} ${currentYear}`" | ||||
|             css-class="custom-table-column" | ||||
|             cell-template="formatNumber" | ||||
|             cell-template="formatNumberMomCurrentMonthCurrentYear" | ||||
|           /> | ||||
|           <DxColumn | ||||
|             :width="70" | ||||
| @@ -122,7 +122,7 @@ | ||||
|             data-type="number" | ||||
|             :caption="`s.d ${getMonthName(currentMonth)} ${lastYear}`" | ||||
|             css-class="custom-table-column" | ||||
|             cell-template="formatNumber" | ||||
|             cell-template="formatNumberYoyCurrentMonthLastYear" | ||||
|           /> | ||||
|           <DxColumn | ||||
|             :width="150" | ||||
| @@ -131,7 +131,7 @@ | ||||
|             data-type="number" | ||||
|             :caption="`s.d ${getMonthName(currentMonth)} ${currentYear}`" | ||||
|             css-class="custom-table-column" | ||||
|             cell-template="formatNumber" | ||||
|             cell-template="formatNumberYoyCurrentMonthCurrentYear" | ||||
|           /> | ||||
|           <DxColumn | ||||
|             :width="70" | ||||
| @@ -253,7 +253,67 @@ | ||||
|       </DxSummary> | ||||
|  | ||||
|       <template #formatNumber="{ data }"> | ||||
|         <p class="text-right cursor-pointer"> | ||||
|         <p class="text-right cursor-pointer" @click="setRequirements('', 0, 0)"> | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberMomLastMonthLastYear="{ data }"> | ||||
|         <p | ||||
|           class="text-right cursor-pointer" | ||||
|           @click="setRequirements('mom', lastMonth, lastYearMoM)" | ||||
|         > | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberMomCurrentMonthCurrentYear="{ data }"> | ||||
|         <p | ||||
|           class="text-right cursor-pointer" | ||||
|           @click="setRequirements('mom', currentMonth, currentYear)" | ||||
|         > | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberYoyCurrentMonthLastYear="{ data }"> | ||||
|         <p | ||||
|           class="text-right cursor-pointer" | ||||
|           @click="setRequirements('yoy', currentMonth, lastYear)" | ||||
|         > | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
|                 ? formatPercentage(data.text) | ||||
|                 : formatNumber(data.text) | ||||
|               : data.text | ||||
|           }} | ||||
|         </p> | ||||
|       </template> | ||||
|  | ||||
|       <template #formatNumberYoyCurrentMonthCurrentYear="{ data }"> | ||||
|         <p | ||||
|           class="text-right cursor-pointer" | ||||
|           @click="setRequirements('yoy', currentMonth, currentYear)" | ||||
|         > | ||||
|           {{ | ||||
|             isNumber(data.text) | ||||
|               ? data.column.caption == '%' | ||||
| @@ -265,7 +325,7 @@ | ||||
|       </template> | ||||
|  | ||||
|       <template #formatText="{ data }"> | ||||
|         <p class="!text-left cursor-pointer"> | ||||
|         <p class="!text-left cursor-pointer" @click="setRequirements('', 0, 0)"> | ||||
|           {{ data.text }} | ||||
|         </p> | ||||
|       </template> | ||||
| @@ -748,6 +808,9 @@ const dialogDetail = ref(false) | ||||
| const closedialogDetail = () => (dialogDetail.value = false) | ||||
| const loadingData = ref(false) | ||||
| const loadingSubData = ref(false) | ||||
| const dataType = ref('') | ||||
| const dataYear = ref(new Date().getFullYear()) | ||||
| const dataMonth = ref(new Date().getMonth()) | ||||
| const reportMeta = ref({ | ||||
|   regional: { id: 0, name: 'Semua Regional' }, | ||||
|   uid: { id: 0, name: 'Semua Unit Induk Distribusi/Wilayah' }, | ||||
| @@ -763,6 +826,12 @@ const reportMeta = ref({ | ||||
|   lastYear: new Date().getFullYear() - 1 | ||||
| }) | ||||
|  | ||||
| const setRequirements = (type: string, month: number, year: number) => { | ||||
|   dataType.value = type | ||||
|   dataYear.value = year | ||||
|   dataMonth.value = month | ||||
| } | ||||
|  | ||||
| const onExporting = (e: any) => { | ||||
|   if (e.format === 'pdf') { | ||||
|     exportToPDF(reportMeta.value, data.value) | ||||
| @@ -835,32 +904,30 @@ const filterData = async (params: any) => { | ||||
| } | ||||
|  | ||||
| const getDetail = async () => { | ||||
|   const dateValue = filters.value.periode.split(' s/d ') | ||||
|   const selected = 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: selected?.id_ulp ? selected?.id_ulp : 0, | ||||
|     idUid: selected?.id_uid ? selected?.id_uid : 0, | ||||
|     idUp3: selected?.id_up3 ? selected?.id_up3 : 0, | ||||
|     idRegu: selected?.id_regu ? selected?.id_regu : 0, | ||||
|     bulan: dataMonth.value, | ||||
|     tahun: dataYear.value, | ||||
|     idUlp: selected?.id_ulp ? selected?.id_ulp : 0, | ||||
|     namaRegional: selected?.nama_regional ? selected?.nama_regional : '', | ||||
|     media: selected?.media ? selected?.media : '', | ||||
|     isSelesai: 0, | ||||
|     tanggal: '' | ||||
|     idUid: selected?.id_uid ? selected?.id_uid : 0, | ||||
|     idUp3: selected?.id_up3 ? selected?.id_up3 : 0 | ||||
|   } | ||||
|  | ||||
|   loadingSubData.value = true | ||||
|   await requestGraphQl(queries.gangguan.rekap.gangguanAllDetail, query) | ||||
|   await requestGraphQl( | ||||
|     dataType.value == 'yoy' | ||||
|       ? queries.monalisa.gangguan.rekap.dispatchingTimeGangguanDetailYoy | ||||
|       : queries.monalisa.gangguan.rekap.dispatchingTimeGangguanDetailMom, | ||||
|     query | ||||
|   ) | ||||
|     .then((result) => { | ||||
|       if (result.data.data != undefined) { | ||||
|         dataSub.value = result.data.data.detailGangguan | ||||
|         if (dataType.value == 'yoy') { | ||||
|           dataSub.value = result.data.data.detailMonalisaDispatchingTimeGangguanYoy | ||||
|         } else { | ||||
|           dataSub.value = result.data.data.detailMonalisaDispatchingTimeGangguanMoM | ||||
|         } | ||||
|       } else { | ||||
|         dataSub.value = [] | ||||
|       } | ||||
| @@ -882,7 +949,9 @@ const clearSelection = () => { | ||||
| const showDetail = () => { | ||||
|   clearSelection() | ||||
|   dataSubSelected.value = null | ||||
|   getDetail() | ||||
|   if (dataType.value == 'yoy' || dataType.value == 'mom') { | ||||
|     getDetail() | ||||
|   } | ||||
| } | ||||
| const onDataSelectionChanged = ({ selectedRowsData }: any) => { | ||||
|   if (selectedRowsData[0] != undefined) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user