Add build-push script and update API queries

This commit is contained in:
Dede Fuji Abdul 2024-03-31 10:03:10 +07:00
parent 6bfa78010e
commit 53ff89e7fe
4 changed files with 122 additions and 14 deletions

29
build-push.js Normal file
View File

@ -0,0 +1,29 @@
// build-and-push.js
const { exec } = require('child_process')
function buildAndPush(version) {
const dockerImageTag = `defuj/apkt-eis:${version}`
const command = `npm run build && docker build . -t ${dockerImageTag} && docker push ${dockerImageTag}`
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error.message}`)
return
}
if (stderr) {
console.error(`stderr: ${stderr}`)
return
}
console.log(`stdout: ${stdout}`)
})
}
// Ambil argumen versi dari command line
const version = process.argv[2]
if (!version) {
console.error('Usage: node build-push.js <version>')
process.exit(1)
}
buildAndPush(version)

View File

@ -11,7 +11,8 @@
"build-only": "vite build",
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
"format": "prettier --write src/"
"format": "prettier --write src/",
"build-push": "node build-push.js"
},
"dependencies": {
"@apollo/client": "^3.8.10",

View File

@ -11,6 +11,7 @@
<div id="data">
<DxDataGrid
@cell-click="onCellClicked"
ref="dataGridRef"
:allow-column-reordering="true"
class="max-h-[calc(100vh-140px)] mb-10"
@ -25,7 +26,7 @@
:allow-column-resizing="true"
column-resizing-mode="widget"
>
<DxGrouping :auto-expand-all="false" :context-menu-enabled="true" expand-mode="rowClick" />
<DxGrouping :auto-expand-all="false" :context-menu-enabled="true" />
<DxSelection mode="single" />
<DxPaging :enabled="false" />
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
@ -280,19 +281,19 @@
</DxSummary>
<template #formatText="{ data }">
<p class="text-left cursor-pointer">
<p class="text-left cursor-pointer" @click="setMonth('')">
{{ data.text }}
</p>
</template>
<template #formatPercentage="{ data }">
<p class="text-right cursor-pointer">
<p class="text-right cursor-pointer" @click="setMonth('')">
{{ isNumber(data.text) ? formatPercentage(data.text) : data.text }}
</p>
</template>
<template #formatNumber="{ data }">
<p class="text-right cursor-pointer">
<p class="text-right cursor-pointer" @click="setMonth(data.column.caption)">
{{
isNumber(data.text)
? data.column.caption == '%'
@ -304,7 +305,7 @@
</template>
<template #formatTime="{ data }">
<p class="!text-right cursor-pointer">
<p class="!text-right cursor-pointer" @click="setMonth('')">
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
</p>
</template>
@ -1132,6 +1133,7 @@ import {
exportDetailToPDF,
exportDetailToXLSX
} from '@/report/Gangguan/Rekap/RGangguan_KTI'
import { getMonthNumber } from '@/utils/texts'
const client = apolloClient()
provideApolloClient(client)
@ -1146,17 +1148,70 @@ const dataSubSelected = ref()
const dialogDetail = ref(false)
const loadingData = ref(false)
const loadingSubData = ref(false)
const monthSelected = ref<any>(null)
const reportMeta = ref({
uid: { id: 0, name: 'Semua Unit Induk Distribusi/Wilayah' },
up3: { id: 0, name: 'Semua Unit Pelaksanaan Pelayanan Pelanggan' },
posko: { id: 0, name: 'Semua Posko' },
periode: ''
})
const groupIndex = ref(0)
const groupDialog = ref(false)
const groupData = ref<any>(null)
const onCellClicked = (e: any) => {
console.log('cell clicked', e)
// console.log('group cell clicked', e.column.caption)
// console.log('value', e.values[e.row.groupIndex])
if (e.rowType == 'group') {
groupDialog.value = true
groupIndex.value = e.row.groupIndex
if (e.row.groupIndex == 0) {
//
} else if (e.row.groupIndex == 1) {
if (e.row.isExpanded) {
const data = e.data.items[0].collapsedItems[0].items[0]
groupData.value = data
} else {
const data = e.data.collapsedItems[0].items[0].items[0]
groupData.value = data
}
} else if (e.row.groupIndex == 2) {
if (e.row.isExpanded) {
const data = e.data.items[0].collapsedItems[0]
groupData.value = data
} else {
const data = e.data.collapsedItems[0].items[0]
groupData.value = data
}
} else if (e.row.groupIndex == 3) {
if (e.row.isExpanded) {
const data = e.data.items[0]
groupData.value = data
} else {
const data = e.data.collapsedItems[0]
groupData.value = data
}
}
showDetail()
} else {
groupDialog.value = false
}
}
const setMonth = (month: any) => {
if (month != '') {
monthSelected.value = getMonthNumber(month)
} else {
monthSelected.value = null
}
}
const getDetail = async () => {
loadingSubData.value = true
const dateValue = filters.value.periode.split(' s/d ')
const ref = dataSelected.value
const compDate = dateValue[0].split('-').reverse().join('-').split('-')
const query = {
dateFrom: dateValue[0]
@ -1167,7 +1222,9 @@ const getDetail = async () => {
: new Date().toISOString().slice(0, 10),
posko: ref?.id_posko ? ref?.id_posko : 0,
idUid: ref?.id_uid ? ref?.id_uid : 0,
idUp3: ref?.id_up3 ? ref?.id_up3 : 0
idUp3: ref?.id_up3 ? ref?.id_up3 : 0,
bulan: monthSelected.value,
tahun: parseInt(compDate[0])
}
loadingSubData.value = true
@ -1197,8 +1254,10 @@ const showDetail = () => {
clearSelection()
dataSub.value = []
dataSubSelected.value = null
dialogDetail.value = true
getDetail()
if (monthSelected.value != null) {
dialogDetail.value = true
getDetail()
}
}
const closeDialog = () => {
@ -1256,12 +1315,23 @@ const filterData = async (params: any) => {
idPosko: posko ? posko.id : 0,
idUid: uid ? uid.id : 0,
idUp3: up3 ? up3.id : 0,
is_transaksi_individual: jenisTransaksi.includes('Koreksi Transaksi Individual') ? 1 : 0,
is_cleansing_transaksi_tm: jenisTransaksi.includes('Cleansing Traksaksi TM') ? 1 : 0,
is_koreksi_transaksi_tm: jenisTransaksi.includes('Koreksi Transaksi TM') ? 1 : 0,
is_koreksi_gangguan_dan_anev: jenisTransaksi.includes('Koreksi Kode Gangguan dan Anev') ? 1 : 0
is_transaksi_individual:
jenisTransaksi.length == 4
? 0
: jenisTransaksi.includes('Koreksi Transaksi Individual')
? 1
: 2,
is_cleansing_transaksi_tm:
jenisTransaksi.length == 4 ? 0 : jenisTransaksi.includes('Cleansing Traksaksi TM') ? 1 : 2,
is_koreksi_transaksi_tm:
jenisTransaksi.length == 4 ? 0 : jenisTransaksi.includes('Koreksi Transaksi TM') ? 1 : 2,
is_koreksi_gangguan_dan_anev:
jenisTransaksi.length == 4
? 0
: jenisTransaksi.includes('Koreksi Kode Gangguan dan Anev')
? 1
: 2
}
console.table(query)
loadingData.value = true
await requestGraphQl(queries.gangguan.rekap.gangguanKoreksiTransaksiIndividual, query)

View File

@ -1044,6 +1044,10 @@ export const queries = {
$idPosko: Int!
$idUid: Int!
$idUp3: Int!
$is_transaksi_individual: Int!
$is_cleansing_transaksi_tm: Int!
$is_koreksi_transaksi_tm: Int!
$is_koreksi_gangguan_dan_anev: Int!
) {
rekapitulasiGangguanKoreksiTransaksiIndividual(
dateFrom: $dateFrom
@ -1051,6 +1055,10 @@ export const queries = {
idPosko: $idPosko
idUid: $idUid
idUp3: $idUp3
is_transaksi_individual: $is_transaksi_individual
is_cleansing_transaksi_tm: $is_cleansing_transaksi_tm
is_koreksi_transaksi_tm: $is_koreksi_transaksi_tm
is_koreksi_gangguan_dan_anev: $is_koreksi_gangguan_dan_anev
) {
nama_regional
id