<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-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>
