diff --git a/package.json b/package.json
index ee6fae3..0fce453 100755
--- a/package.json
+++ b/package.json
@@ -1 +1 @@
-{"name":"eis","version":"0.0.129-vm","private":true,"scripts":{"dev":"vite","host":"vite --host","tailwind":"tailwindcss -i ./src/assets/css/tailwind.css -o ./src/assets/css/style.css --watch","build":"run-p type-check build-only","preview":"vite preview --host","test:unit":"vitest","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/","deploy":"node deploy.js"},"dependencies":{"@apollo/client":"^3.8.10","@apollo/link-context":"^2.0.0-beta.3","@flavorly/vanilla-components":"^0.7.65","@headlessui/tailwindcss":"^0.2.0","@headlessui/vue":"^1.7.19","@heroicons/vue":"^2.0.18","@lottiefiles/lottie-player":"^2.0.4","@phosphor-icons/vue":"^2.1.6","@types/qs":"^6.9.12","@types/uuid":"^9.0.8","@types/vue-select":"^3.16.8","@vue/apollo-components":"^4.0.0","@vue/apollo-composable":"^4.0.1","@vue/apollo-option":"^4.0.0","axios":"^1.6.7","devextreme":"23.2.4","devextreme-vue":"23.2.4","docx":"^8.5.0","dotenv":"^16.3.1","encrypt-storage":"^2.12.22","exceljs":"^4.4.0","file-saver":"^2.0.5","graphql":"^16.8.1","graphql-tag":"^2.12.6","jspdf":"^2.5.1","jspdf-autotable":"^3.8.2","pinia":"^2.1.3","qs":"^6.11.2","uuid":"^9.0.1","vue":"^3.3.4","vue-html-to-paper":"^2.0.3","vue-router":"^4.2.2","vue-tailwind-datepicker":"^1.6.1","vue3-star-ratings":"^3.0.5"},"devDependencies":{"@rushstack/eslint-patch":"^1.5.1","@tailwindcss/aspect-ratio":"^0.4.2","@tailwindcss/container-queries":"^0.1.1","@tailwindcss/forms":"^0.5.7","@tailwindcss/typography":"^0.5.10","@tsconfig/node18":"^2.0.1","@types/file-saver":"^2.0.6","@types/jsdom":"^21.1.1","@types/node":"^18.16.17","@vitejs/plugin-vue":"^4.2.3","@vitejs/plugin-vue-jsx":"^3.0.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vue/test-utils":"^2.3.2","@vue/tsconfig":"^0.4.0","autoprefixer":"^10.4.14","eslint":"^8.39.0","eslint-plugin-vue":"^9.11.0","jsdom":"^22.1.0","npm-run-all":"^4.1.5","postcss":"^8.4.24","prettier":"^3.0.3","tailwindcss":"^3.3.2","typescript":"~5.2.2","vite":"^4.3.9","vitest":"^1.3.1","vue-tsc":"^2.0.5"}}
\ No newline at end of file
+{"name":"eis","version":"0.0.130-vm","private":true,"scripts":{"dev":"vite","host":"vite --host","tailwind":"tailwindcss -i ./src/assets/css/tailwind.css -o ./src/assets/css/style.css --watch","build":"run-p type-check build-only","preview":"vite preview --host","test:unit":"vitest","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/","deploy":"node deploy.js"},"dependencies":{"@apollo/client":"^3.8.10","@apollo/link-context":"^2.0.0-beta.3","@flavorly/vanilla-components":"^0.7.65","@headlessui/tailwindcss":"^0.2.0","@headlessui/vue":"^1.7.19","@heroicons/vue":"^2.0.18","@lottiefiles/lottie-player":"^2.0.4","@phosphor-icons/vue":"^2.1.6","@types/qs":"^6.9.12","@types/uuid":"^9.0.8","@types/vue-select":"^3.16.8","@vue/apollo-components":"^4.0.0","@vue/apollo-composable":"^4.0.1","@vue/apollo-option":"^4.0.0","axios":"^1.6.7","devextreme":"23.2.4","devextreme-vue":"23.2.4","docx":"^8.5.0","dotenv":"^16.3.1","encrypt-storage":"^2.12.22","exceljs":"^4.4.0","file-saver":"^2.0.5","graphql":"^16.8.1","graphql-tag":"^2.12.6","jspdf":"^2.5.1","jspdf-autotable":"^3.8.2","pinia":"^2.1.3","qs":"^6.11.2","uuid":"^9.0.1","vue":"^3.3.4","vue-html-to-paper":"^2.0.3","vue-router":"^4.2.2","vue-tailwind-datepicker":"^1.6.1","vue3-star-ratings":"^3.0.5"},"devDependencies":{"@rushstack/eslint-patch":"^1.5.1","@tailwindcss/aspect-ratio":"^0.4.2","@tailwindcss/container-queries":"^0.1.1","@tailwindcss/forms":"^0.5.7","@tailwindcss/typography":"^0.5.10","@tsconfig/node18":"^2.0.1","@types/file-saver":"^2.0.6","@types/jsdom":"^21.1.1","@types/node":"^18.16.17","@vitejs/plugin-vue":"^4.2.3","@vitejs/plugin-vue-jsx":"^3.0.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vue/test-utils":"^2.3.2","@vue/tsconfig":"^0.4.0","autoprefixer":"^10.4.14","eslint":"^8.39.0","eslint-plugin-vue":"^9.11.0","jsdom":"^22.1.0","npm-run-all":"^4.1.5","postcss":"^8.4.24","prettier":"^3.0.3","tailwindcss":"^3.3.2","typescript":"~5.2.2","vite":"^4.3.9","vitest":"^1.3.1","vue-tsc":"^2.0.5"}}
\ No newline at end of file
diff --git a/public/version.json b/public/version.json
index 877c4f0..a2fb404 100644
--- a/public/version.json
+++ b/public/version.json
@@ -1 +1 @@
-{"version":"0.0.129-vm"}
\ No newline at end of file
+{"version":"0.0.130-vm"}
\ No newline at end of file
diff --git a/src/components/Pages/Cico/LaporanCICO.vue b/src/components/Pages/Cico/LaporanCICO.vue
index 3a7a0e3..956d718 100755
--- a/src/components/Pages/Cico/LaporanCICO.vue
+++ b/src/components/Pages/Cico/LaporanCICO.vue
@@ -12,6 +12,7 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -572,6 +752,18 @@
{{ parseInt(data.text) ? formatWaktu(data.text) : '-' }}
+
+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
@@ -592,12 +784,55 @@
-
+
+
No Tugas:
+
+
+
+
+
Jenis Penugasan:
+
+
+
+
+
Keterangan:
+
+
+
+
+
Petugas Catat:
+
+
+
+
+
Nama Regu:
+
+
+
+
+
No Referensi:
+
+
+
+
+
Personil Yantek:
+
+
+
+
Sumber Lapor:
-
+
Created By:
-
+
Dispatch By:
-
+
Dispatch Time:
-
+
User Regu:
-
+
Nama Regu:
-
+
Nama Petugas:
-
+
Check In Petugas:
-
+
+
Check In Petugas:
+
+
+
+
+
Tgl Catat:
+
+
+
+
No Laporan:
-
+
Tgl Lapor:
-
+
Tgl Penugasan Regu:
-
+
Tgl Dalam Perjalanan:
Tgl Pengerjaan:
@@ -704,26 +949,44 @@
-
+
Tgl Selesai:
-
-
Durasi Perjalanan:
+
+
Tgl Selesai:
-
+
+
Durasi Perjalanan:
+
+
+
+
Durasi WO:
-
+
+
Durasi WO Penugasan Khusus:
+
+
+
+
Check Out Petugas:
-
+
+
Check Out Petugas:
+
+
+
+
RPT
-
+
RCT
-
+
Rating
-
+
Jml Pelanggan Padam:
-
+
Fasilitas:
-
+
Sub Fasilitas:
-
+
Peralatan:
-
+
Dampak Kerusakan:
-
+
Penyebab:
-
+
Kelompok Penyebab:
-
+
Cuaca:
-
+
Keterangan Pelapor:
-
+
Keterangan:
-
+
Penyebab Padam:
-
+
Tindakan:
-
+
APKT Status:
-
+
Referensi Marking
-
+
BLTH
+
+
+
Status
+
+
+
+
+
Selesai Oleh
+
+
+
+
+
Keterangan Selesai
+
+
@@ -895,11 +1186,6 @@ import {
const client = apolloClient()
provideApolloClient(client)
-
-const position = { of: '#data' }
-const showIndicator = ref(true)
-const shading = ref(true)
-const showPane = ref(true)
const dataSelected = ref
()
const dataSubSelected = ref()
const data = ref([])
@@ -913,6 +1199,24 @@ const reportMeta = ref({
posko: { id: 0, name: 'Semua Posko' },
periode: ''
})
+const isTotal = ref(false)
+const isGangguanIndividual = ref(false)
+const isDialogEnabled = ref(false)
+
+const onCellClicked = (e: any) => {
+ if (e.rowType == 'data' || e.rowType == 'totalFooter') {
+ isTotal.value = e.rowType == 'totalFooter'
+ if (
+ e.column.dataField == 'jumlah_wo_gangguan_individual' ||
+ e.column.dataField == 'jumlah_wo_penugasan_khusus'
+ ) {
+ isGangguanIndividual.value = e.column.dataField == 'jumlah_wo_gangguan_individual'
+ isDialogEnabled.value = true
+ } else {
+ isDialogEnabled.value = false
+ }
+ }
+}
const closedialogDetail = () => (dialogDetail.value = false)
@@ -930,14 +1234,23 @@ const getDetail = async () => {
idPosko: selected?.id_posko ? selected?.id_posko : 0,
idUid: selected?.id_uid ? selected?.id_uid : 0,
idUp3: selected?.id_up3 ? selected?.id_up3 : 0,
- personilYantek: selected?.personil_yantek ? selected?.personil_yantek : ''
+ personilYantek: isTotal.value ? '' : selected?.personil_yantek ? selected?.personil_yantek : ''
}
loadingSubData.value = true
- await requestGraphQl(queries.cico.laporanCheckInCheckOutDetail, query)
+ await requestGraphQl(
+ isGangguanIndividual.value
+ ? queries.cico.laporanCheckInCheckOutDetailIndividual
+ : queries.cico.laporanCheckInCheckOutDetailKhusus,
+ query
+ )
.then((result) => {
if (result.data.data != undefined) {
- dataSub.value = result.data.data.detailCheckInCheckOut
+ if (isGangguanIndividual.value) {
+ dataSub.value = result.data.data.detailCheckInCheckOutIndividu
+ } else {
+ dataSub.value = result.data.data.detailCheckInCheckOutKhusus
+ }
} else {
dataSub.value = []
}
@@ -960,7 +1273,9 @@ const showDetail = () => {
clearSelection()
dataSub.value = []
dataSubSelected.value = null
- getDetail()
+ if (isDialogEnabled.value) {
+ getDetail()
+ }
}
const onExporting = (e: any) => {
diff --git a/src/utils/api/api.graphql.ts b/src/utils/api/api.graphql.ts
index 4d2ea21..7d24b43 100755
--- a/src/utils/api/api.graphql.ts
+++ b/src/utils/api/api.graphql.ts
@@ -3783,6 +3783,114 @@ export const queries = {
}
},
cico: {
+ laporanCheckInCheckOutDetailIndividual: gql`
+ query detailCheckInCheckOutIndividu(
+ $dateFrom: Date!
+ $dateTo: Date!
+ $idPosko: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ $personilYantek: String!
+ ) {
+ detailCheckInCheckOutIndividu(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ idPosko: $idPosko
+ idUid: $idUid
+ idUp3: $idUp3
+ personilYantek: $personilYantek
+ ) {
+ id
+ id_uid
+ nama_uid
+ id_up3
+ nama_up3
+ id_posko
+ nama_posko
+ media
+ pembuat_laporan
+ dispatch_by
+ durasi_waktu_dispatch
+ user_regu
+ nama_regu
+ personil_yantek
+ shift
+ check_in_petugas
+ no_laporan
+ durasi_wo
+ waktu_lapor
+ waktu_dispatch
+ waktu_perjalanan
+ waktu_nyala_sementara
+ waktu_nyala
+ waktu_selesai
+ waktu_response
+ check_out_petugas
+ durasi_menit_response
+ durasi_menit_recovery
+ rating
+ jml_pelanggan_padam
+ fasilitas
+ sub_fasilitas
+ peralatan
+ dampak_kerusakan
+ kelompok_penyebab
+ cuaca
+ keterangan_pelapor
+ keterangan
+ penyebab
+ tindakan
+ status_akhir
+ referensi_marking
+ blth
+ }
+ }
+ `,
+ laporanCheckInCheckOutDetailKhusus: gql`
+ query detailCheckInCheckOutKhusus(
+ $dateFrom: Date!
+ $dateTo: Date!
+ $idPosko: Int!
+ $idUid: Int!
+ $idUp3: Int!
+ $personilYantek: String!
+ ) {
+ detailCheckInCheckOutKhusus(
+ dateFrom: $dateFrom
+ dateTo: $dateTo
+ idPosko: $idPosko
+ idUid: $idUid
+ idUp3: $idUp3
+ personilYantek: $personilYantek
+ ) {
+ id
+ nama_uid
+ nama_up3
+ nama_posko
+ no_tugas
+ nama_tugas
+ keterangan
+ nama_catat_oleh
+ nama_regu
+ no_referensi
+ personil_yantek
+ shift
+ waktu_login
+ waktu_catat
+ waktu_perjalanan
+ waktu_response
+ waktu_nyala
+ waktu_nyala_sementara
+ waktu_recovery
+ durasi_wo_time
+ durasi_wo
+ waktu_logout
+ status_akhir
+ nama_selesai_oleh
+ keterangan_selesai
+ }
+ }
+ `,
laporanCheckInCheckOutDetail: gql`
query detailCheckInCheckOut(
$dateFrom: Date!