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

This commit is contained in:
kur0nek-o 2024-02-29 14:11:04 +07:00
commit ecf72b238a
26 changed files with 94 additions and 136 deletions

View File

@ -1,6 +1,5 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue'
import { useTotalDuration } from '@/stores/totalDuration'
import {
selectedUid,
selectedUp3Ulp,
@ -13,7 +12,10 @@ import {
import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue'
import InputWithSuffix from '@/components/Form/InputWithSuffix.vue'
const totalMin = ref("1 Menit")
const totalMax = ref("5 Menit")
const setDataMin = (value: any) => totalMin.value = value
const setDataMax = (value: any) => totalMax.value = value
const uidPlaceholder = 'Semua Unit Induk Distribusi/Wilayah'
const up3Placeholder = 'Semua Unit Pelaksanaan Pelayanan Pelanggan'
const ulpPlaceholder = 'Semua Unit Layanan Pelanggan'
@ -65,12 +67,12 @@ const setUlp = (value: any) => {
const setMin = (value: any) => {
console.log(value)
data.value.minTime = value
useTotalDuration().setDataMin(value)
setDataMin(value)
}
const setMax = (value: any) => {
data.value.maxTime = value
useTotalDuration().setDataMax(value)
setDataMax(value)
}
const triggerInput = ref(false)
@ -101,45 +103,31 @@ onMounted(() => {
<template>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block"
>Unit Induk Distribusi/Wilayah:</label
>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Unit Induk Distribusi/Wilayah:</label>
<Select @update:selected="setUid($event)" :data="itemsUid" :placeholder="uidPlaceholder" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block"
>Unit Pelaksanaan Pelayanan Pelanggan:</label
>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Unit Pelaksanaan Pelayanan Pelanggan:</label>
<Select
@update:selected="setUp3($event)"
:data="itemsUp3"
:selected="up3"
:placeholder="up3Placeholder"
/>
<Select @update:selected="setUp3($event)" :data="itemsUp3" :selected="up3" :placeholder="up3Placeholder" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Unit Layanan Pelanggan:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Unit Layanan Pelanggan:</label>
<Select
@update:selected="setUlp($event)"
:data="itemsUlp"
:placeholder="ulpPlaceholder"
:selected="ulp"
/>
<Select @update:selected="setUlp($event)" :data="itemsUlp" :placeholder="ulpPlaceholder" :selected="ulp" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Periode Tanggal:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Periode Tanggal:</label>
<DatePicker @update:date-value="(value) => (data.periode = value)" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Durasi:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Durasi:</label>
<div class="flex flex-col gap-y-1">
<Select @update:selected="changeDuration($event)" :data="sla" placeholder="Durasi Menit" />

View File

@ -2,7 +2,6 @@
import Select from '@/components/Select.vue'
import DatePicker from '@/components/DatePicker.vue'
import InputWithSuffix from '../InputWithSuffix.vue'
import { useTotalDuration } from '@/stores/totalDuration'
import {
selectedUid,
selectedUp3Posko,
@ -21,15 +20,25 @@ const poskoPlaceholder = 'Semua Unit Layanan Pelanggan'
const up3 = ref({ id: 0, name: up3Placeholder })
const uid = ref({ id: 0, name: uidPlaceholder })
const posko = ref({ id: 0, name: poskoPlaceholder })
const totalMin = ref("1 Menit")
const totalMax = ref("5 Menit")
const setDataMin = (value: any) => totalMin.value = value
const getDataMin = () => totalMin.value
const setDataMax = (value: any) => totalMax.value = value
const getDataMax = () => totalMax.value
const data = ref({
uid: uid.value,
up3: up3.value,
posko: posko.value,
periode: '',
minTime: useTotalDuration().getDataMin().split(' ')[0],
maxTime: useTotalDuration().getDataMax().split(' ')[0]
minTime: getDataMin().split(' ')[0],
maxTime: getDataMax().split(' ')[0]
})
const setUid = (value: any) => {
uid.value = value
selectedUid(value)
@ -63,11 +72,11 @@ const sla = [
const setMin = (value: any) => {
console.log(value)
data.value.minTime = value
useTotalDuration().setDataMin(value)
setDataMin(value)
}
const setMax = (value: any) => {
data.value.maxTime = value
useTotalDuration().setDataMax(value)
setDataMax(value)
}
const triggerInput = ref(false)
const changeDuration = (value: any) => {
@ -100,45 +109,31 @@ onMounted(() => {
<template>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block"
>Unit Induk Distribusi/Wilayah:</label
>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Unit Induk Distribusi/Wilayah:</label>
<Select @update:selected="setUid($event)" :data="itemsUid" :placeholder="uidPlaceholder" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block"
>Unit Pelaksanaan Pelayanan Pelanggan:</label
>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Unit Pelaksanaan Pelayanan Pelanggan:</label>
<Select
@update:selected="setUp3($event)"
:data="itemsUp3"
:selected="up3"
:placeholder="up3Placeholder"
/>
<Select @update:selected="setUp3($event)" :data="itemsUp3" :selected="up3" :placeholder="up3Placeholder" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Posko:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Posko:</label>
<Select
@update:selected="setPosko($event)"
:data="itemsPosko"
:selected="posko"
:placeholder="poskoPlaceholder"
/>
<Select @update:selected="setPosko($event)" :data="itemsPosko" :selected="posko" :placeholder="poskoPlaceholder" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Periode Tanggal:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Periode Tanggal:</label>
<DatePicker @update:date-value="(value) => (data.periode = value)" />
</div>
<div class="sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:items-center">
<label class="text-gray-800 font-semibold mb-2 sm:mb-0 block">Durasi:</label>
<label class="block mb-2 font-semibold text-gray-800 sm:mb-0">Durasi:</label>
<div class="flex flex-col gap-y-1">
<Select @update:selected="changeDuration($event)" :data="sla" placeholder="Durasi Menit" />

View File

@ -1,20 +1,20 @@
export { default as GangguanTable1 } from '@/components/Pages/Gangguan/Table_1.vue'
export { default as GangguanTable2 } from '@/components/Pages/Gangguan/Table_2.vue'
export { default as GangguanTable3 } from '@/components/Pages/Gangguan/Table_3.vue'
export { default as GangguanTable4 } from '@/components/Pages/Gangguan/Table_4.vue'
export { default as GangguanTable5 } from '@/components/Pages/Gangguan/Table_5.vue'
export { default as GangguanTable6 } from '@/components/Pages/Gangguan/Table_6.vue'
export { default as GangguanTable7 } from '@/components/Pages/Gangguan/Table_7.vue'
export { default as GangguanTable8 } from '@/components/Pages/Gangguan/Table_8.vue'
export { default as GangguanTable9 } from '@/components/Pages/Gangguan/Table_9.vue'
export { default as GangguanTable10 } from '@/components/Pages/Gangguan/Table_10.vue'
export { default as GangguanTable11 } from '@/components/Pages/Gangguan/Table_11.vue'
export { default as GangguanTable12 } from '@/components/Pages/Gangguan/Table_12.vue'
export { default as GangguanTable13 } from '@/components/Pages/Gangguan/Table_13.vue'
export { default as GangguanTable14 } from '@/components/Pages/Gangguan/Table_14.vue'
export { default as GangguanTable15 } from '@/components/Pages/Gangguan/Table_15.vue'
export { default as GangguanTable16 } from '@/components/Pages/Gangguan/Table_16.vue'
export { default as GangguanTable17 } from '@/components/Pages/Gangguan/Table_17.vue'
export { default as GangguanTable18 } from '@/components/Pages/Gangguan/Table_18.vue'
export { default as GangguanTable19 } from '@/components/Pages/Gangguan/Table_19.vue'
export { default as GangguanTable20 } from '@/components/Pages/Gangguan/Table_20.vue'
export { default as DaftarGangguanDKPL } from '@/components/Pages/Gangguan/Daftar/DGangguan_DKPL.vue'
export { default as DaftarGangguanMLD1K } from '@/components/Pages/Gangguan/Daftar/DGangguan_MLD1K.vue'
export { default as DaftarGangguanResponseTime } from '@/components/Pages/Gangguan/Daftar/DGangguan_ResponseTime.vue'
export { default as DaftarGangguanRecoveryTime } from '@/components/Pages/Gangguan/Daftar/DGangguan_RecoveryTime.vue'
export { default as DaftarGangguanSTIDP } from '@/components/Pages/Gangguan/Daftar/DGangguan_STIDP.vue'
export { default as DaftarGangguanBM } from '@/components/Pages/Gangguan/Daftar/DGangguan_BM.vue'
export { default as DaftarGangguanDMAPKT } from '@/components/Pages/Gangguan/Daftar/DGangguan_DMAPKT.vue'
export { default as RekapGangguanALL } from '@/components/Pages/Gangguan/Rekap/RGangguan_ALL.vue'
export { default as RekapGangguanJenisGangguan } from '@/components/Pages/Gangguan/Rekap/RGangguan_JenisGangguan.vue'
export { default as RekapGangguanJenisGangguanSE } from '@/components/Pages/Gangguan/Rekap/RGangguan_JenisGangguanSE.vue'
export { default as RekapGangguanPerPosko } from '@/components/Pages/Gangguan/Rekap/RGangguan_PerPosko.vue'
export { default as RekapGangguanPerRegu } from '@/components/Pages/Gangguan/Rekap/RGangguan_PerRegu.vue'
export { default as RekapGangguanPerTanggal } from '@/components/Pages/Gangguan/Rekap/RGangguan_PerTanggal.vue'
export { default as RekapGangguanBerdasarMedia } from '@/components/Pages/Gangguan/Rekap/RGangguan_BerdasarMedia.vue'
export { default as RekapGangguanAlihPosko } from '@/components/Pages/Gangguan/Rekap/RGangguan_AlihPosko.vue'
export { default as RekapGangguanDMAPKT } from '@/components/Pages/Gangguan/Rekap/RGangguan_DMAPKT.vue'
export { default as RekapGangguanRatingPerPosko } from '@/components/Pages/Gangguan/Rekap/RGangguan_RatingPerPosko.vue'
export { default as RekapGangguanRatingPerRegu } from '@/components/Pages/Gangguan/Rekap/RGangguan_RatingPerRegu.vue'
export { default as RekapGangguanKTI } from '@/components/Pages/Gangguan/Rekap/RGangguan_KTI.vue'
export { default as RekapGangguanCTTM } from '@/components/Pages/Gangguan/Rekap/RGangguan_CTTM.vue'

View File

@ -7,26 +7,26 @@ import WelcomePage from '@/components/Pages/Welcome.vue'
import EmptyPage from '@/components/Pages/EmptyPage.vue'
import qs from 'qs'
import {
GangguanTable1,
GangguanTable2,
GangguanTable3,
GangguanTable4,
GangguanTable5,
GangguanTable6,
GangguanTable7,
GangguanTable8,
GangguanTable9,
GangguanTable10,
GangguanTable11,
GangguanTable12,
GangguanTable13,
GangguanTable14,
GangguanTable15,
GangguanTable16,
GangguanTable17,
GangguanTable18,
GangguanTable19,
GangguanTable20
DaftarGangguanDKPL,
DaftarGangguanMLD1K,
DaftarGangguanResponseTime,
DaftarGangguanRecoveryTime,
DaftarGangguanSTIDP,
DaftarGangguanBM,
DaftarGangguanDMAPKT,
RekapGangguanALL,
RekapGangguanJenisGangguan,
RekapGangguanJenisGangguanSE,
RekapGangguanPerPosko,
RekapGangguanPerRegu,
RekapGangguanPerTanggal,
RekapGangguanBerdasarMedia,
RekapGangguanAlihPosko,
RekapGangguanDMAPKT,
RekapGangguanRatingPerPosko,
RekapGangguanRatingPerRegu,
RekapGangguanKTI,
RekapGangguanCTTM
} from '@/components/Pages/Gangguan'
import {
KeluhanTable1,
@ -100,37 +100,37 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Daftar Gangguan Dialihkan Ke Posko Lain',
component: GangguanTable1
component: DaftarGangguanDKPL
},
{
path: '2',
name: 'Daftar Gangguan Melapor Lebih Dari 1 Kali',
component: GangguanTable2
component: DaftarGangguanMLD1K
},
{
path: '3',
name: 'Daftar Gangguan Response Time',
component: GangguanTable3
component: DaftarGangguanResponseTime
},
{
path: '4',
name: 'Daftar Gangguan Recovery Time',
component: GangguanTable4
component: DaftarGangguanRecoveryTime
},
{
path: '5',
name: 'Daftar Gangguan Selesai Tanpa ID Pelanggan',
component: GangguanTable5
component: DaftarGangguanSTIDP
},
{
path: '6',
name: 'Daftar Gangguan Berdasarkan Media',
component: GangguanTable6
component: DaftarGangguanBM
},
{
path: '7',
name: 'Daftar Gangguan Diselesaikan Mobile APKT',
component: GangguanTable7
component: DaftarGangguanDMAPKT
},
{
path: ':pathMatch(.*)*',
@ -145,67 +145,67 @@ export const routes: RouteRecordRaw[] = [
{
path: '1',
name: 'Rekapitulasi Gangguan All',
component: GangguanTable8
component: RekapGangguanALL
},
{
path: '2',
name: 'Rekapitulasi Gangguan/Jenis Gangguan',
component: GangguanTable9
component: RekapGangguanJenisGangguan
},
{
path: '3',
name: 'Rekapitulasi Gangguan/Jenis Gangguan SE 004',
component: GangguanTable10
component: RekapGangguanJenisGangguanSE
},
{
path: '4',
name: 'Rekapitulasi Gangguan Per Posko',
component: GangguanTable11
component: RekapGangguanPerPosko
},
{
path: '5',
name: 'Rekapitulasi Gangguan Per Regu',
component: GangguanTable12
component: RekapGangguanPerRegu
},
{
path: '6',
name: 'Rekapitulasi Gangguan Per Tanggal',
component: GangguanTable13
component: RekapGangguanPerTanggal
},
{
path: '7',
name: 'Rekapitulasi Gangguan Berdasarkan Media',
component: GangguanTable14
component: RekapGangguanBerdasarMedia
},
{
path: '8',
name: 'Rekapitulasi Gangguan Alih Posko',
component: GangguanTable15
component: RekapGangguanAlihPosko
},
{
path: '9',
name: 'Rekapitulasi Gangguan Diselesaikan Mobile APKT',
component: GangguanTable16
component: RekapGangguanDMAPKT
},
{
path: '10',
name: 'Rekapitulasi Rating Per Posko',
component: GangguanTable17
component: RekapGangguanRatingPerPosko
},
{
path: '11',
name: 'Rekapitulasi Rating Per Regu',
component: GangguanTable18
component: RekapGangguanRatingPerRegu
},
{
path: '12',
name: 'Rekapitulasi Koreksi Transaksi Individual',
component: GangguanTable19
component: RekapGangguanKTI
},
{
path: '13',
name: 'Rekapitulasi Cleansing Transaksi TM',
component: GangguanTable20
component: RekapGangguanCTTM
},
{
path: ':pathMatch(.*)*',

View File

@ -1,25 +0,0 @@
import { ref } from 'vue'
import { defineStore } from 'pinia'
export const useTotalDuration = defineStore('totalDuration', () => {
const totalMin = ref("1 Menit")
const totalMax = ref("5 Menit")
const setDataMin = (value: any) => {
totalMin.value = value
}
const getDataMin = () => {
return totalMin.value
}
const setDataMax = (value: any) => {
totalMax.value = value
}
const getDataMax = () => {
return totalMax.value
}
return {
setDataMin,
getDataMin,
setDataMax,
getDataMax,
}
})