Update RGangguan_ALL.vue, Dockerfile, and api.graphql.ts
This commit is contained in:
parent
ae33b9b3a6
commit
9dc2dc3c03
30
Dockerfile
30
Dockerfile
@ -1,20 +1,20 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
# build stage
|
# build stage
|
||||||
FROM node:lts-alpine as builder
|
# FROM node:lts-alpine as builder
|
||||||
WORKDIR /apkt
|
# WORKDIR /apkt
|
||||||
COPY package*.json ./
|
# COPY package*.json ./
|
||||||
RUN npm install && npm install npm-run-all -g
|
# RUN npm install && npm install npm-run-all -g
|
||||||
COPY . .
|
# COPY . .
|
||||||
RUN npm run build
|
# RUN npm run build
|
||||||
# production stage
|
# # production stage
|
||||||
FROM nginx:stable-alpine
|
|
||||||
COPY --from=builder /apkt/dist /usr/share/nginx/html
|
|
||||||
COPY --from=builder /apkt/nginx.conf /etc/nginx/nginx.conf
|
|
||||||
EXPOSE 32166
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
|
|
||||||
# FROM nginx:stable-alpine
|
# FROM nginx:stable-alpine
|
||||||
# COPY /dist /usr/share/nginx/html
|
# COPY --from=builder /apkt/dist /usr/share/nginx/html
|
||||||
# COPY /nginx.conf /etc/nginx/nginx.conf
|
# COPY --from=builder /apkt/nginx.conf /etc/nginx/nginx.conf
|
||||||
# EXPOSE 32166
|
# EXPOSE 32166
|
||||||
# CMD ["nginx", "-g", "daemon off;"]
|
# CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
||||||
|
FROM nginx:stable-alpine
|
||||||
|
COPY /dist /usr/share/nginx/html
|
||||||
|
COPY /nginx.conf /etc/nginx/nginx.conf
|
||||||
|
EXPOSE 32166
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
@ -509,7 +509,7 @@
|
|||||||
<div class="p-4 bg-white rounded-xl lg:mr-4">
|
<div class="p-4 bg-white rounded-xl lg:mr-4">
|
||||||
<DxDataGrid
|
<DxDataGrid
|
||||||
class="max-h-[calc(100vh-140px)]"
|
class="max-h-[calc(100vh-140px)]"
|
||||||
:data-source="dummyData.gangguan.rekap.detailGangguan"
|
:data-source="dataSub"
|
||||||
:show-column-lines="true"
|
:show-column-lines="true"
|
||||||
:show-row-lines="false"
|
:show-row-lines="false"
|
||||||
:show-borders="true"
|
:show-borders="true"
|
||||||
@ -550,9 +550,7 @@
|
|||||||
css-class="custom-table-column"
|
css-class="custom-table-column"
|
||||||
:width="50"
|
:width="50"
|
||||||
alignment="center"
|
alignment="center"
|
||||||
:calculateCellValue="
|
:calculateCellValue="(item: any) => dataSub.findIndex((i) => i == item) + 1"
|
||||||
(item: any) => dummyData.gangguan.rekap.detailGangguan.findIndex((i) => i == item) + 1
|
|
||||||
"
|
|
||||||
data-type="number"
|
data-type="number"
|
||||||
caption="No"
|
caption="No"
|
||||||
cell-template="formatNumber"
|
cell-template="formatNumber"
|
||||||
|
@ -1,57 +1,134 @@
|
|||||||
<template>
|
<template>
|
||||||
<Filters @run-search="() => filterData(filters)" :report-button="true" class="mb-4">
|
<Filters @run-search="() => filterData(filters)" :report-button="true" class="mb-4">
|
||||||
<Type1 @update:filters="(value) => filters = value" />
|
<Type1 @update:filters="(value) => (filters = value)" />
|
||||||
</Filters>
|
</Filters>
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid class="max-h-[calc(100vh-140px)] mb-10" :data-source="data" :show-column-lines="true"
|
<DxDataGrid
|
||||||
:show-row-lines="false" :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
class="max-h-[calc(100vh-140px)] mb-10"
|
||||||
@selection-changed="onSelectionChanged" @exporting="onExporting" :allow-column-resizing="true"
|
:data-source="data"
|
||||||
column-resizing-mode="widget" :word-wrap-enabled="true">
|
:show-column-lines="true"
|
||||||
|
:show-row-lines="false"
|
||||||
|
:show-borders="true"
|
||||||
|
:row-alternation-enabled="true"
|
||||||
|
:hover-state-enabled="true"
|
||||||
|
@selection-changed="onSelectionChanged"
|
||||||
|
@exporting="onExporting"
|
||||||
|
:allow-column-resizing="true"
|
||||||
|
column-resizing-mode="widget"
|
||||||
|
:word-wrap-enabled="true"
|
||||||
|
>
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :enabled="false" />
|
<DxPaging :enabled="false" />
|
||||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||||
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
<DxLoadPanel
|
||||||
v-if="loading" v-model:visible="loading" :enabled="true" />
|
: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" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
<DxExport
|
||||||
|
:enabled="true"
|
||||||
|
:formats="['pdf', 'xlsx', 'document']"
|
||||||
|
:allow-export-selected-data="false"
|
||||||
|
/>
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn :width="50" alignment="center" caption="NO" css-class="custom-table-column" rowspan="4" colspan="2">
|
<DxColumn
|
||||||
<DxColumn :width="50" alignment="center"
|
:width="50"
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" caption="a"
|
alignment="center"
|
||||||
css-class="custom-table-column" />
|
caption="NO"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
rowspan="4"
|
||||||
|
colspan="2"
|
||||||
|
>
|
||||||
|
<DxColumn
|
||||||
|
:width="50"
|
||||||
|
alignment="center"
|
||||||
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
||||||
|
caption="a"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn :width="150" alignment="center" caption="Nama Regu" css-class="custom-table-column">
|
<DxColumn :width="150" alignment="center" caption="Nama Regu" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="regu" caption="b" css-class="custom-table-column" />
|
<DxColumn
|
||||||
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="regu"
|
||||||
|
caption="b"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatText"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn :width="150" alignment="center" caption="Kode Regu" css-class="custom-table-column">
|
<DxColumn :width="150" alignment="center" caption="Kode Regu" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="kode_regu" caption="c" css-class="custom-table-column" />
|
<DxColumn
|
||||||
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="kode_regu"
|
||||||
|
caption="c"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatText"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_laporan" caption="d=(e+g)"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total"
|
||||||
|
caption="d=(e+g)"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Jml" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Jml" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_selesai" caption="e"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_selesai"
|
||||||
|
caption="e"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_selesai" caption="f=(e/d)*100"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_selesai"
|
||||||
|
caption="f=(e/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Jml" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Jml" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_belum_selesai" caption="g"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_inproses"
|
||||||
|
caption="g"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_belum_selesai" caption="h=(g/d)*100"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_inproses"
|
||||||
|
caption="h=(g/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -61,23 +138,47 @@
|
|||||||
<DxColumn alignment="center" caption="Non Marking" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Non Marking" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_laporan_mobile_nonmarking" caption="i"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_mobile_nonmarking"
|
||||||
|
caption="i"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_laporan_mobile_nonmarking"
|
<DxColumn
|
||||||
caption="j=(i/d)*100" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_laporan_mobile_nonmarking"
|
||||||
|
caption="j=(i/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_response_mobile_nonmarking" caption="k"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_response_mobile_nonmarking"
|
||||||
|
caption="k"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_recovery_mobile_nonmarking" caption="l"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_recovery_mobile_nonmarking"
|
||||||
|
caption="l"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -85,23 +186,47 @@
|
|||||||
<DxColumn alignment="center" caption="Marking" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Marking" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_laporan_mobile_marking" caption="m"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_laporan_mobile_marking"
|
||||||
|
caption="m"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_laporan_mobile_marking"
|
<DxColumn
|
||||||
caption="n=(m/d)*100" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_laporan_mobile_marking"
|
||||||
|
caption="n=(m/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_response_mobile_marking" caption="o"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_response_mobile_marking"
|
||||||
|
caption="o"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_recovery_mobile_marking" caption="p"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_recovery_mobile_marking"
|
||||||
|
caption="p"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -111,23 +236,47 @@
|
|||||||
<DxColumn alignment="center" caption="Non Marking" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Non Marking" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_laporan_nonmobile_nonmarking" caption="q"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_laporan_nonmobile_nonmarking"
|
||||||
|
caption="q"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_laporan_nonmobile_nonmarking"
|
<DxColumn
|
||||||
caption="r=(q/d)*100" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_laporan_nonmobile_nonmarking"
|
||||||
|
caption="r=(q/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_response_nonmobile_nonmarking"
|
<DxColumn
|
||||||
caption="s" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_response_nonmobile_nonmarking"
|
||||||
|
caption="s"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_recovery_nonmobile_nonmarking"
|
<DxColumn
|
||||||
caption="t" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_recovery_nonmobile_nonmarking"
|
||||||
|
caption="t"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -135,28 +284,82 @@
|
|||||||
<DxColumn alignment="center" caption="Marking" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Marking" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Total" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_laporan_nonmobile_marking" caption="u"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="total_laporan_nonmobile_marking"
|
||||||
|
caption="u"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="%" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_laporan_nonmobile_marking"
|
<DxColumn
|
||||||
caption="v=(u/d)*100" css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="persen_laporan_nonmobile_marking"
|
||||||
|
caption="v=(u/d)*100"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatPercentage"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Waktu Rata-Rata" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Response" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_response_nonmobile_marking" caption="w"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_response_nonmobile_marking"
|
||||||
|
caption="w"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Recovery" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_waktu_recovery_nonmobile_marking" caption="x"
|
<DxColumn
|
||||||
css-class="custom-table-column" />
|
:width="150"
|
||||||
|
alignment="center"
|
||||||
|
data-field="avg_waktu_recovery_nonmobile_marking"
|
||||||
|
caption="x"
|
||||||
|
css-class="custom-table-column"
|
||||||
|
cell-template="formatNumber"
|
||||||
|
/>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
|
<template #formatText="{ data }">
|
||||||
|
<p class="text-left cursor-pointer">
|
||||||
|
{{ data.text }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #formatNumber="{ data }">
|
||||||
|
<p class="text-right cursor-pointer">
|
||||||
|
{{
|
||||||
|
isNumber(data.text)
|
||||||
|
? data.column.caption == '%'
|
||||||
|
? formatPercentage(data.text)
|
||||||
|
: formatNumber(data.text)
|
||||||
|
: data.text
|
||||||
|
}}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #formatPercentage="{ data }">
|
||||||
|
<p class="text-right cursor-pointer">
|
||||||
|
{{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #formatTime="{ data }">
|
||||||
|
<p class="!text-right">
|
||||||
|
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -164,7 +367,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Filters from '@/components/Form/Filters.vue'
|
import Filters from '@/components/Form/Filters.vue'
|
||||||
import Type1 from '@/components/Form/FiltersType/Type1.vue'
|
import Type1 from '@/components/Form/FiltersType/Type1.vue'
|
||||||
import { ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
import { useFiltersStore } from '@/stores/filters'
|
import { useFiltersStore } from '@/stores/filters'
|
||||||
import { DxDataGrid } from 'devextreme-vue'
|
import { DxDataGrid } from 'devextreme-vue'
|
||||||
import {
|
import {
|
||||||
@ -184,6 +387,9 @@ import { saveAs } from 'file-saver'
|
|||||||
import { Workbook } from 'exceljs'
|
import { Workbook } from 'exceljs'
|
||||||
import { useQuery } from '@vue/apollo-composable'
|
import { useQuery } from '@vue/apollo-composable'
|
||||||
import { queries } from '@/utils/api/api.graphql'
|
import { queries } from '@/utils/api/api.graphql'
|
||||||
|
import { formatNumber, formatPercentage, isNumber } from '@/utils/numbers'
|
||||||
|
import { formatWaktu } from '@/components/Form/FiltersType/reference'
|
||||||
|
|
||||||
const position = { of: '#data' }
|
const position = { of: '#data' }
|
||||||
const showIndicator = ref(true)
|
const showIndicator = ref(true)
|
||||||
const shading = ref(true)
|
const shading = ref(true)
|
||||||
@ -261,4 +467,240 @@ const filterData = (params: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const filters = ref()
|
const filters = ref()
|
||||||
|
onMounted(() => {
|
||||||
|
if (import.meta.env.DEV) {
|
||||||
|
data.value = [
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
id_regu: null,
|
||||||
|
nama_regu: null,
|
||||||
|
kode_regu: null,
|
||||||
|
total: 9227,
|
||||||
|
total_selesai: 9227,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: 164,
|
||||||
|
total_mobile_nonmarking: 485,
|
||||||
|
total_nonmobile_marking: 3704,
|
||||||
|
total_nonmobile_nonmarking: 4874,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 37.06306306306306,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: 29.56756756756757,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 52,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
id_regu: 38360,
|
||||||
|
nama_regu: 'SINDANGLAUT_52',
|
||||||
|
kode_regu: 'SDLT_52',
|
||||||
|
total: 1,
|
||||||
|
total_selesai: 1,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 1,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 34,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 38,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
id_regu: 38076,
|
||||||
|
nama_regu: 'SARIO 10.6',
|
||||||
|
kode_regu: 'SARIO 10.6',
|
||||||
|
total: 24,
|
||||||
|
total_selesai: 24,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 18,
|
||||||
|
total_nonmobile_marking: 5,
|
||||||
|
total_nonmobile_nonmarking: 1,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 25.333333333333332,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 31.38888888888889,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
id_regu: 16993,
|
||||||
|
nama_regu: 'GEDANGAN 17',
|
||||||
|
kode_regu: 'UNIT 15 PU',
|
||||||
|
total: 9,
|
||||||
|
total_selesai: 9,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 9,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 41.22222222222222,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 69.88888888888889,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 4,
|
||||||
|
id_regu: 17107,
|
||||||
|
nama_regu: 'MJSRI.ULC1',
|
||||||
|
kode_regu: 'MJSRI.ULC1',
|
||||||
|
total: 36,
|
||||||
|
total_selesai: 36,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: null,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: 36,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: 8.944444444444445,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: 19.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 5,
|
||||||
|
id_regu: 25358,
|
||||||
|
nama_regu: 'INDRAPURA_17',
|
||||||
|
kode_regu: 'IDR17',
|
||||||
|
total: 5,
|
||||||
|
total_selesai: 5,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: 1,
|
||||||
|
total_mobile_nonmarking: 4,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: 28,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 26.5,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 51.5,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 6,
|
||||||
|
id_regu: 38516,
|
||||||
|
nama_regu: 'BURAEN2',
|
||||||
|
kode_regu: 'BURAEN2',
|
||||||
|
total: 2,
|
||||||
|
total_selesai: 2,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 2,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 19,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 31.5,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 7,
|
||||||
|
id_regu: 17157,
|
||||||
|
nama_regu: 'SMNP.MS2',
|
||||||
|
kode_regu: 'SMNP.MS2',
|
||||||
|
total: 9,
|
||||||
|
total_selesai: 9,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 8,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: 1,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 20,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: 5,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 38.125,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 8,
|
||||||
|
id_regu: 26461,
|
||||||
|
nama_regu: 'BJRNEGARA',
|
||||||
|
kode_regu: 'BJRNEGARA',
|
||||||
|
total: 6,
|
||||||
|
total_selesai: 6,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 4,
|
||||||
|
total_nonmobile_marking: 2,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 24.75,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 38.5,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 9,
|
||||||
|
id_regu: 30147,
|
||||||
|
nama_regu: 'TBG SAMBA 11.1',
|
||||||
|
kode_regu: 'TMBG SAMBA',
|
||||||
|
total: 1,
|
||||||
|
total_selesai: 1,
|
||||||
|
persen_selesai: 100,
|
||||||
|
total_inproses: 0,
|
||||||
|
persen_inproses: 0,
|
||||||
|
total_mobile_marking: null,
|
||||||
|
total_mobile_nonmarking: 1,
|
||||||
|
total_nonmobile_marking: null,
|
||||||
|
total_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_response_time_mobile_marking: null,
|
||||||
|
avg_durasi_response_time_mobile_nonmarking: 13,
|
||||||
|
avg_durasi_response_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking: 41,
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking: null,
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking: null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
})
|
||||||
</script>
|
</script>
|
File diff suppressed because it is too large
Load Diff
@ -628,23 +628,31 @@ export const queries = {
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
in_process
|
id
|
||||||
indeks_rating
|
nama_regional
|
||||||
jumlah_non_rating
|
id_uid
|
||||||
jumlah_rating
|
nama_uid
|
||||||
|
id_up3
|
||||||
|
nama_up3
|
||||||
|
id_ulp
|
||||||
|
nama_ulp
|
||||||
|
id_posko
|
||||||
nama_posko
|
nama_posko
|
||||||
persen_in_process
|
|
||||||
persen_non_rating
|
|
||||||
persen_rating
|
|
||||||
persen_selesai
|
|
||||||
rating_1
|
|
||||||
rating_2
|
|
||||||
rating_3
|
|
||||||
rating_4
|
|
||||||
rating_5
|
|
||||||
regu
|
|
||||||
selesai
|
|
||||||
total
|
total
|
||||||
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
total_rating
|
||||||
|
persen_rating
|
||||||
|
nilai_rating1
|
||||||
|
nilai_rating2
|
||||||
|
nilai_rating3
|
||||||
|
nilai_rating4
|
||||||
|
nilai_rating5
|
||||||
|
indeks_rating
|
||||||
|
total_nonrating
|
||||||
|
persen_nonrating
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
@ -885,29 +893,27 @@ export const queries = {
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_waktu_recovery_mobile_marking
|
id
|
||||||
avg_waktu_recovery_mobile_nonmarking
|
id_regu
|
||||||
avg_waktu_recovery_nonmobile_marking
|
nama_regu
|
||||||
avg_waktu_recovery_nonmobile_nonmarking
|
|
||||||
avg_waktu_response_mobile_marking
|
|
||||||
avg_waktu_response_mobile_nonmarking
|
|
||||||
avg_waktu_response_nonmobile_marking
|
|
||||||
avg_waktu_response_nonmobile_nonmarking
|
|
||||||
kode_regu
|
kode_regu
|
||||||
persen_belum_selesai
|
total
|
||||||
persen_laporan_mobile_marking
|
|
||||||
persen_laporan_mobile_nonmarking
|
|
||||||
persen_laporan_nonmobile_marking
|
|
||||||
persen_laporan_nonmobile_nonmarking
|
|
||||||
persen_selesai
|
|
||||||
regu
|
|
||||||
total_belum_selesai
|
|
||||||
total_laporan
|
|
||||||
total_laporan_mobile_marking
|
|
||||||
total_laporan_mobile_nonmarking
|
|
||||||
total_laporan_nonmobile_marking
|
|
||||||
total_laporan_nonmobile_nonmarking
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
total_mobile_marking
|
||||||
|
total_mobile_nonmarking
|
||||||
|
total_nonmobile_marking
|
||||||
|
total_nonmobile_nonmarking
|
||||||
|
avg_durasi_response_time_mobile_marking
|
||||||
|
avg_durasi_response_time_mobile_nonmarking
|
||||||
|
avg_durasi_response_time_nonmobile_marking
|
||||||
|
avg_durasi_response_time_nonmobile_nonmarking
|
||||||
|
avg_durasi_recovery_time_mobile_marking
|
||||||
|
avg_durasi_recovery_time_mobile_nonmarking
|
||||||
|
avg_durasi_recovery_time_nonmobile_marking
|
||||||
|
avg_durasi_recovery_time_nonmobile_nonmarking
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user