hrms-checkin/src/components/ToolBar.vue

90 lines
2.3 KiB
Vue

<script setup lang="ts">
import { ref } from 'vue'
import Popup from '@/components/PopUp.vue'
// import HeaderPopup from "@/components/HeaderPopup.vue";
// import FormTime from "@/components/FormTime.vue";
const props = defineProps({
fetchData: {
type: Function,
require: true,
},
})
const emit = defineEmits(['update:year'])
const filterYear = ref<number>(new Date().getFullYear())
// const yearOption = ref<DataOption[]>([{ id: '2566', name: '2566' }])
const titleName = ref<string>('เพิ่มรายการลงเวลากรณีพิเศษ')
function filterYearFn() {
emit('update:year', filterYear.value)
}
const modalPopup = ref<boolean>(false)
function onClickopen() {
modalPopup.value = true
}
function onClickClose() {
modalPopup.value = false
}
</script>
<template>
<div class="q-pb-sm row">
<div class="items-center col-12 row q-gutter-sm">
<datepicker
menu-class-name="modalfix"
v-model="filterYear"
class="col-xs-5 col-sm-3 col-md-2"
:locale="'th'"
autoApply
year-picker
:enableTimePicker="false"
@update:modelValue="filterYearFn"
>
<template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{
parseInt(value + 543)
}}</template>
<template #trigger>
<q-input
dense
lazy-rules
outlined
:model-value="filterYear + 543"
:label="`${'ปีงบประมาณ'}`"
>
<template v-slot:prepend>
<q-icon
name="event"
class="cursor-pointer"
style="color: var(--q-primary)"
>
</q-icon>
</template>
</q-input>
</template>
</datepicker>
<q-space />
<q-btn
unelevated
outline
icon="add"
color="light-blue"
:class="$q.screen.gt.xs ? 'q-px-sm bg-blue-1' : ''"
:label="$q.screen.gt.xs ? 'เพิ่มรายการลงเวลากรณีพิเศษ' : ''"
@click="onClickopen"
/>
</div>
</div>
<Popup
:modal="modalPopup"
:title="titleName"
:clickClose="onClickClose"
:fetchData="props.fetchData"
/>
</template>
<style scoped></style>