Merge branch 'dev-bagus' of https://github.com/defuj/eis into dev-defuj

This commit is contained in:
Dede Fuji Abdul 2024-04-18 09:45:14 +07:00
commit 57975f372e
3 changed files with 385 additions and 63 deletions

View File

@ -349,7 +349,7 @@
column="anomali_pln_mobile_marking" column="anomali_pln_mobile_marking"
name="anomali_pln_mobile_marking" name="anomali_pln_mobile_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
@ -358,7 +358,7 @@
column="anomali_pln_mobile_non_marking" column="anomali_pln_mobile_non_marking"
name="anomali_pln_mobile_non_marking" name="anomali_pln_mobile_non_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
@ -367,7 +367,7 @@
column="anomali_cc123_marking" column="anomali_cc123_marking"
name="anomali_cc123_marking" name="anomali_cc123_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
@ -376,7 +376,7 @@
column="anomali_cc123_non_marking" column="anomali_cc123_non_marking"
name="anomali_cc123_non_marking" name="anomali_cc123_non_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
@ -385,7 +385,7 @@
column="total_anomali_marking" column="total_anomali_marking"
name="total_anomali_marking" name="total_anomali_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
@ -394,7 +394,7 @@
column="total_anomali_non_marking" column="total_anomali_non_marking"
name="total_anomali_non_marking" name="total_anomali_non_marking"
summary-type="custom" summary-type="custom"
css-class="!text-right" css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem

View File

@ -22,6 +22,7 @@
:data="data" :data="data"
:filters="filters" :filters="filters"
:loading-data="loadingData" :loading-data="loadingData"
:grouping="grouping"
@update:loading-sub-data="loadingData = $event" @update:loading-sub-data="loadingData = $event"
/> />
<Anomali_LAPPGU_LPP :data="dataSecond" :filters="filters" /> <Anomali_LAPPGU_LPP :data="dataSecond" :filters="filters" />
@ -60,11 +61,66 @@ const resetData = () => {
dataSecond.value = [] dataSecond.value = []
} }
const grouping = ref<any[]>([
{
data: '',
caption: 'Semua Unit'
},
{
data: 'nama_uid',
caption: 'UID'
},
{
data: 'nama_up3',
caption: 'UP3'
}
])
const filterData = async (params: any) => { const filterData = async (params: any) => {
resetData() resetData()
const { ulp, uid, up3, jenisLaporan } = params const { ulp, uid, up3, jenisLaporan } = params
console.table('LAPPGU', jenisLaporan) console.table('LAPPGU', jenisLaporan)
var groupList: any[] = [
{
data: '',
caption: 'Semua Unit'
},
{
data: 'nama_uid',
caption: 'UID'
},
{
data: 'nama_up3',
caption: 'UP3'
}
]
if (uid?.id != 0) {
groupList.forEach((item, index) => {
if (item.caption == 'Semua Unit') {
groupList.splice(index, 1)
}
})
if (up3?.id != 0) {
groupList.forEach((item, index) => {
if (item.caption == 'UID') {
groupList.splice(index, 1)
}
})
if (ulp?.id != 0) {
groupList.forEach((item, index) => {
if (item.caption == 'UP3') {
groupList.splice(index, 1)
}
})
}
}
}
grouping.value = groupList
const dateValue = params.periode.split(' s/d ') const dateValue = params.periode.split(' s/d ')
const query = { const query = {
dateFrom: dateValue[0] dateFrom: dateValue[0]

View File

@ -4,6 +4,7 @@
</div> </div>
<DxDataGrid <DxDataGrid
@cell-click="onCellClicked"
ref="dataGridRef" ref="dataGridRef"
:allow-column-reordering="true" :allow-column-reordering="true"
class="max-h-[calc(100vh-140px)] mb-10" class="max-h-[calc(100vh-140px)] mb-10"
@ -21,7 +22,7 @@
column-resizing-mode="widget" column-resizing-mode="widget"
:word-wrap-enabled="true" :word-wrap-enabled="true"
> >
<DxGrouping expand-mode="rowClick" :auto-expand-all="false" /> <DxGrouping :auto-expand-all="false" />
<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" />
@ -44,35 +45,15 @@
/> />
<DxColumn <DxColumn
v-if="grouping.length > 0"
v-for="(group, index) in grouping"
:width="150"
alignment="center" alignment="center"
:min-width="170" :data-field="group.data"
data-type="text" :caption="group.caption"
data-field=""
caption="Semua Unit"
css-class="custom-table-column" css-class="custom-table-column"
:group-index="0" cell-template="formatText"
/> :group-index="index"
<DxColumn
alignment="center"
:min-width="170"
data-type="text"
data-field="id_uid"
caption="UID"
css-class="custom-table-column"
:group-index="1"
name="namaUID"
:calculate-group-value="(rowData: any) => rowData.nama_uid"
/>
<DxColumn
alignment="center"
:min-width="170"
data-type="text"
data-field="id_up3"
caption="UP3"
css-class="custom-table-column"
:group-index="1"
name="namaUID"
:calculate-group-value="(rowData: any) => rowData.nama_up3"
/> />
<DxColumn alignment="center" caption="Total WO" css-class="custom-table-column"> <DxColumn alignment="center" caption="Total WO" css-class="custom-table-column">
<DxColumn alignment="center" caption="CC 123" css-class="custom-table-column"> <DxColumn alignment="center" caption="CC 123" css-class="custom-table-column">
@ -400,12 +381,13 @@
</p> </p>
</template> </template>
<DxSummary> <DxSummary :calculate-custom-summary="calculateCustomSummary">
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="wo_cc123" column="wo_cc123"
summary-type="sum" name="wo_cc123"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
@ -413,7 +395,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="wo_pln_mobile" column="wo_pln_mobile"
summary-type="sum" name="wo_pln_mobile"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
@ -421,7 +404,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="wo_loket" column="wo_loket"
summary-type="sum" name="wo_loket"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
@ -429,7 +413,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="wo_lainnya" column="wo_lainnya"
summary-type="sum" summary-type="custom"
name="wo_lainnya"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
@ -437,7 +422,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="wo_total" column="wo_total"
summary-type="sum" name="wo_total"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
@ -445,55 +431,62 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="anomali_pln_mobile_marking" column="anomali_pln_mobile_marking"
summary-type="sum" name="anomali_pln_mobile_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="anomali_pln_mobile_non_marking" column="anomali_pln_mobile_non_marking"
summary-type="sum" name="anomali_pln_mobile_non_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="anomali_cc123_marking" column="anomali_cc123_marking"
summary-type="sum" name="anomali_cc123_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="anomali_cc123_non_marking" column="anomali_cc123_non_marking"
summary-type="sum" name="anomali_cc123_non_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="total_anomali_marking" column="total_anomali_marking"
summary-type="sum" name="total_anomali_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="total_anomali_non_marking" column="total_anomali_non_marking"
summary-type="sum" name="total_anomali_non_marking"
css-class="!text-right" summary-type="custom"
css-class="!text-right cursor-pointer"
:customize-text="(e: any) => formatNumber(e.value)" :customize-text="(e: any) => formatNumber(e.value)"
/> />
<DxGroupItem <DxGroupItem
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_pln_mobile_marking" column="persen_anomali_pln_mobile_marking"
summary-type="avg" name="persen_anomali_pln_mobile_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -501,7 +494,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_pln_mobile_non_marking" column="persen_anomali_pln_mobile_non_marking"
summary-type="avg" name="persen_anomali_pln_mobile_non_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -509,7 +503,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_cc123_marking" column="persen_anomali_cc123_marking"
summary-type="avg" name="persen_anomali_cc123_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -517,7 +512,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_cc123_non_marking" column="persen_anomali_cc123_non_marking"
summary-type="avg" name="persen_anomali_cc123_non_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -525,7 +521,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_marking" column="persen_anomali_marking"
summary-type="avg" name="persen_anomali_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -533,7 +530,8 @@
:show-in-group-footer="false" :show-in-group-footer="false"
:align-by-column="true" :align-by-column="true"
column="persen_anomali_non_marking" column="persen_anomali_non_marking"
summary-type="avg" name="persen_anomali_non_marking"
summary-type="custom"
css-class="!text-right" css-class="!text-right"
:customize-text="(e: any) => formatPercentage(e.value)" :customize-text="(e: any) => formatPercentage(e.value)"
/> />
@ -1077,6 +1075,7 @@ import {
exportDetailToDOCX exportDetailToDOCX
} from '@/report/Anomali/Gangguan/Anomali_LAPPGU_LPT' } from '@/report/Anomali/Gangguan/Anomali_LAPPGU_LPT'
import BufferDialog from '@/components/Dialogs/BufferDialog.vue' import BufferDialog from '@/components/Dialogs/BufferDialog.vue'
import { getDataRowGroup } from '@/utils/helper'
const position = { of: '#data' } const position = { of: '#data' }
const showIndicator = ref(true) const showIndicator = ref(true)
@ -1085,7 +1084,11 @@ const showPane = ref(true)
const props = defineProps({ const props = defineProps({
data: Array as () => any[], data: Array as () => any[],
filters: Object as () => any, filters: Object as () => any,
loadingData: Boolean loadingData: Boolean,
grouping: {
type: Array as () => any[],
default: []
}
}) })
const emit = defineEmits(['update:loadingSubData']) const emit = defineEmits(['update:loadingSubData'])
const filters = ref<any>(computed(() => props.filters)) const filters = ref<any>(computed(() => props.filters))
@ -1102,6 +1105,9 @@ const parameterRequest = ref<any>({
media: null, media: null,
marking: null marking: null
}) })
const groupDialog = ref(false)
const groupData = ref<any>(null)
const groupIndex = ref(0)
const setParameterRequest = (data: any) => { const setParameterRequest = (data: any) => {
parameterRequest.value = data parameterRequest.value = data
@ -1113,6 +1119,234 @@ const setParameterRequest = (data: any) => {
} }
} }
const onCellClicked = (e: any) => {
if (e.rowType == 'group') {
groupDialog.value = true
groupIndex.value = e.row.groupIndex
if (e.column.dataField == 'anomali_pln_mobile_marking') {
setParameterRequest({ media: 'PLN Mobile', marking: 1 })
} else if (e.column.dataField == 'anomali_pln_mobile_non_marking') {
setParameterRequest({ media: 'PLN Mobile', marking: 2 })
} else if (e.column.dataField == 'anomali_cc123_marking') {
setParameterRequest({ media: 'Call PLN 123', marking: 1 })
} else if (e.column.dataField == 'anomali_cc123_non_marking') {
setParameterRequest({ media: 'Call PLN 123', marking: 2 })
} else if (e.column.dataField == 'total_anomali_marking') {
setParameterRequest({ media: '', marking: 1 })
} else if (e.column.dataField == 'total_anomali_non_marking') {
setParameterRequest({ media: '', marking: 2 })
} else {
setParameterRequest({ media: null, marking: null })
}
groupData.value = getDataRowGroup(e.data)
showDetail()
} else {
groupDialog.value = false
}
}
let wo_cc123 = 0
let wo_pln_mobile = 0
let wo_loket = 0
let wo_lainnya = 0
let wo_total = 0
let anomali_pln_mobile_marking = 0
let anomali_pln_mobile_non_marking = 0
let anomali_cc123_marking = 0
let anomali_cc123_non_marking = 0
let total_anomali_marking = 0
let total_anomali_non_marking = 0
let persen_anomali_pln_mobile_marking = 0
let persen_anomali_pln_mobile_non_marking = 0
let persen_anomali_cc123_marking = 0
let persen_anomali_cc123_non_marking = 0
let persen_anomali_marking = 0
let persen_anomali_non_marking = 0
const calculateCustomSummary = (options: any) => {
if (options.name === 'wo_cc123') {
if (options.summaryProcess === 'calculate') {
wo_cc123 += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = wo_cc123
}
}
if (options.name === 'wo_pln_mobile') {
if (options.summaryProcess === 'calculate') {
wo_pln_mobile += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = wo_pln_mobile
}
}
if (options.name === 'wo_loket') {
if (options.summaryProcess === 'calculate') {
wo_loket += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = wo_loket
}
}
if (options.name === 'wo_lainnya') {
if (options.summaryProcess === 'calculate') {
wo_lainnya += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = wo_lainnya
}
}
if (options.name === 'wo_total') {
if (options.summaryProcess === 'start') {
wo_cc123 = 0
wo_pln_mobile = 0
wo_loket = 0
wo_lainnya = 0
} else if (options.summaryProcess === 'calculate') {
wo_total = wo_cc123 + wo_pln_mobile + wo_loket + wo_lainnya
} else if (options.summaryProcess === 'finalize') {
options.totalValue = wo_cc123 + wo_pln_mobile + wo_loket + wo_lainnya
}
}
if (options.name === 'anomali_pln_mobile_marking') {
if (options.summaryProcess === 'calculate') {
anomali_pln_mobile_marking += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_pln_mobile_marking
}
}
if (options.name === 'anomali_pln_mobile_non_marking') {
if (options.summaryProcess === 'calculate') {
anomali_pln_mobile_non_marking += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_pln_mobile_non_marking
}
}
if (options.name === 'anomali_cc123_marking') {
if (options.summaryProcess === 'calculate') {
anomali_cc123_marking += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_cc123_marking
}
}
if (options.name === 'anomali_cc123_non_marking') {
if (options.summaryProcess === 'calculate') {
anomali_cc123_non_marking += options.value
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_cc123_non_marking
}
}
if (options.name === 'total_anomali_marking') {
if (options.summaryProcess === 'start') {
anomali_pln_mobile_marking = 0
anomali_cc123_marking = 0
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_pln_mobile_marking + anomali_cc123_marking
}
}
if (options.name === 'total_anomali_non_marking') {
if (options.summaryProcess === 'start') {
anomali_pln_mobile_non_marking = 0
anomali_cc123_non_marking = 0
} else if (options.summaryProcess === 'finalize') {
options.totalValue = anomali_pln_mobile_non_marking + anomali_cc123_non_marking
}
}
if (options.name === 'persen_anomali_pln_mobile_marking') {
if (options.summaryProcess === 'start') {
anomali_pln_mobile_marking = 0
wo_total = 0
} else if (options.summaryProcess === 'calculate') {
persen_anomali_pln_mobile_marking =
!isFinite(anomali_pln_mobile_marking / wo_total) || anomali_pln_mobile_marking == 0
? 0
: (anomali_pln_mobile_marking / wo_total) * 100
} else if (options.summaryProcess === 'finalize') {
options.totalValue =
!isFinite(anomali_pln_mobile_marking / wo_total) || anomali_pln_mobile_marking == 0
? 0
: (anomali_pln_mobile_marking / wo_total) * 100
}
}
if (options.name === 'persen_anomali_pln_mobile_non_marking') {
if (options.summaryProcess === 'start') {
anomali_pln_mobile_non_marking = 0
wo_total = 0
} else if (options.summaryProcess === 'calculate') {
persen_anomali_pln_mobile_non_marking =
!isFinite(anomali_pln_mobile_non_marking / wo_total) || anomali_pln_mobile_non_marking == 0
? 0
: (anomali_pln_mobile_non_marking / wo_total) * 100
} else if (options.summaryProcess === 'finalize') {
options.totalValue =
!isFinite(anomali_pln_mobile_non_marking / wo_total) || anomali_pln_mobile_non_marking == 0
? 0
: (anomali_pln_mobile_non_marking / wo_total) * 100
}
}
if (options.name === 'persen_anomali_cc123_marking') {
if (options.summaryProcess === 'start') {
anomali_cc123_marking = 0
wo_total = 0
} else if (options.summaryProcess === 'calculate') {
persen_anomali_cc123_marking =
!isFinite(anomali_cc123_marking / wo_total) || anomali_cc123_marking == 0
? 0
: (anomali_cc123_marking / wo_total) * 100
} else if (options.summaryProcess === 'finalize') {
options.totalValue =
!isFinite(anomali_cc123_marking / wo_total) || anomali_cc123_marking == 0
? 0
: (anomali_cc123_marking / wo_total) * 100
}
}
if (options.name === 'persen_anomali_cc123_non_marking') {
if (options.summaryProcess === 'start') {
anomali_cc123_non_marking = 0
wo_total = 0
} else if (options.summaryProcess === 'calculate') {
persen_anomali_cc123_non_marking =
!isFinite(anomali_cc123_non_marking / wo_total) || anomali_cc123_non_marking == 0
? 0
: (anomali_cc123_non_marking / wo_total) * 100
} else if (options.summaryProcess === 'finalize') {
options.totalValue =
!isFinite(anomali_cc123_non_marking / wo_total) || anomali_cc123_non_marking == 0
? 0
: (anomali_cc123_non_marking / wo_total) * 100
}
}
if (options.name === 'persen_anomali_marking') {
if (options.summaryProcess === 'start') {
persen_anomali_pln_mobile_marking = 0
persen_anomali_cc123_marking = 0
} else if (options.summaryProcess === 'finalize') {
options.totalValue = persen_anomali_pln_mobile_marking + persen_anomali_cc123_marking
}
}
if (options.name === 'persen_anomali_non_marking') {
if (options.summaryProcess === 'start') {
persen_anomali_cc123_non_marking = 0
persen_anomali_pln_mobile_non_marking = 0
} else if (options.summaryProcess === 'finalize') {
options.totalValue = persen_anomali_pln_mobile_non_marking + persen_anomali_cc123_non_marking
}
}
}
const resetData = () => { const resetData = () => {
dataSub.value = [] dataSub.value = []
dataSubSelected.value = null dataSubSelected.value = null
@ -1124,21 +1358,53 @@ const getDetail = async () => {
const dateValue = periode.split(' s/d ') const dateValue = periode.split(' s/d ')
const selected = dataSelected.value const selected = dataSelected.value
const query = { let query = {
dateFrom: dateValue[0] dateFrom: dateValue[0]
? dateValue[0].split('-').reverse().join('-') ? dateValue[0].split('-').reverse().join('-')
: new Date().toISOString().slice(0, 10), : new Date().toISOString().slice(0, 10),
dateTo: dateValue[1] dateTo: dateValue[1]
? dateValue[1].split('-').reverse().join('-') ? dateValue[1].split('-').reverse().join('-')
: new Date().toISOString().slice(0, 10), : new Date().toISOString().slice(0, 10),
idUlp: selected?.id_ulp ? selected?.id_ulp : 0, idUlp: 0,
idUid: selected?.id_uid ? selected?.id_uid : 0, idUid: 0,
idUp3: selected?.id_up3 ? selected?.id_up3 : 0, idUp3: 0,
namaRegional: '', namaRegional: '',
media: parameterRequest.value?.media, media: parameterRequest.value?.media,
isMarking: parameterRequest.value?.marking isMarking: parameterRequest.value?.marking
} }
if (groupDialog.value) {
if (props.grouping[groupIndex.value].data == 'nama_uid') {
query = {
...query,
idUid: groupData.value?.id_uid ? groupData.value?.id_uid : 0,
namaRegional: groupData.value?.nama_regional ? groupData.value?.nama_regional : ''
}
} else if (props.grouping[groupIndex.value].data == 'nama_up3') {
query = {
...query,
idUid: groupData.value?.id_uid ? groupData.value?.id_uid : 0,
idUp3: groupData.value?.id_up3 ? groupData.value?.id_up3 : 0,
namaRegional: groupData.value?.nama_regional ? groupData.value?.nama_regional : ''
}
}
} else {
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),
idUlp: selected?.id_ulp ? selected?.id_ulp : 0,
idUid: selected?.id_uid ? selected?.id_uid : 0,
idUp3: selected?.id_up3 ? selected?.id_up3 : 0,
namaRegional: selected?.nama_regional ? selected?.nama_regional : '',
media: parameterRequest.value?.media,
isMarking: parameterRequest.value?.marking
}
}
loadingSubData.value = true loadingSubData.value = true
emit('update:loadingSubData', true) emit('update:loadingSubData', true)
await requestGraphQl( await requestGraphQl(