แก้ไข filterYear

This commit is contained in:
AnandaTon 2023-11-02 16:40:59 +07:00
parent 798e1e18e0
commit c177346f05
3 changed files with 53 additions and 18 deletions

View file

@ -126,9 +126,9 @@ const view = async (text: string) => {
onMounted(async () => { onMounted(async () => {
searchFilterTable() searchFilterTable()
fecthList([ fecthList([
{ no: "1", date: "2023-09-20", type: "1", status: "4", year: "2566" }, { no: "1", date: "2023-09-20", type: "1", status: "4", year: "1" },
{ no: "2", date: "2023-09-19", type: "1", status: "2", year: "2566" }, { no: "2", date: "2023-09-19", type: "1", status: "2", year: "1" },
{ no: "3", date: "2023-09-10", type: "2", status: "3", year: "2566" }, { no: "3", date: "2023-09-10", type: "2", status: "3", year: "1" },
]) ])
}) })
</script> </script>

View file

@ -9,7 +9,7 @@ export const useLeaveStore = defineStore("Leave", () => {
const { date2Thai } = mixin const { date2Thai } = mixin
const LeaveType = ref<string | null>("0") const LeaveType = ref<string | null>("0")
const LeaveStatus = ref<string | null>("0") const LeaveStatus = ref<string | null>("0")
const fiscalYearyear = ref<number | null>(null) const fiscalYearyear = ref<string | null>("0")
const rows = ref<formListLeaveData>([]) const rows = ref<formListLeaveData>([])
const DataMainOrig = ref<formListLeaveData[]>([]) // ข้อมูลหลักดั้งเดิม const DataMainOrig = ref<formListLeaveData[]>([]) // ข้อมูลหลักดั้งเดิม
async function fecthList(data: formListLeaveData[]) { async function fecthList(data: formListLeaveData[]) {
@ -64,18 +64,15 @@ export const useLeaveStore = defineStore("Leave", () => {
if (LeaveStatus.value !== "0") { if (LeaveStatus.value !== "0") {
filteredData = filteredData.filter((item: formListLeaveData) => item.status === LeaveStatus.value) filteredData = filteredData.filter((item: formListLeaveData) => item.status === LeaveStatus.value)
} }
// if (fiscalYearyear.value !== "0") { if (fiscalYearyear.value !== "0") {
// console.log(filteredData) filteredData = filteredData.filter((item: formListLeaveData) => item.year === fiscalYearyear.value)
// filteredData = filteredData.filter((item: formListLeaveData) => item.status === fiscalYearyear.value) }
// console.log(filteredData)
// console.log(fiscalYearyear.value)
// }
const dataArr = filteredData.map((e: any) => ({ const dataArr = filteredData.map((e: any) => ({
no: e.no, no: e.no,
type: convertType(e.type), type: convertType(e.type),
status: convertStatus(e.status), status: convertStatus(e.status),
date: date2Thai(new Date(e.date)), date: date2Thai(new Date(e.date)),
year: e.year, year: convertYear(e.year),
})) }))
rows.value = dataArr rows.value = dataArr
} }
@ -104,10 +101,10 @@ export const useLeaveStore = defineStore("Leave", () => {
} }
const fiscalyearOP = ref<OptionData[]>([ const fiscalyearOP = ref<OptionData[]>([
{ id: "0", name: "2563" }, { id: "0", name: "ทั้งหมด" },
{ id: "1", name: "2564" }, { id: "1", name: "2566" },
{ id: "2", name: "2565" }, { id: "2", name: "2567" },
{ id: "2", name: "2566" }, { id: "2", name: "2568" },
]) ])
function convertType(val: string) { function convertType(val: string) {
@ -150,6 +147,20 @@ export const useLeaveStore = defineStore("Leave", () => {
return "ใหม่" return "ใหม่"
} }
} }
function convertYear(val: string) {
switch (val) {
case "0":
return "ทั้งหมด"
case "1":
return "2566"
case "2":
return "2567"
case "3":
return "2568"
case "4":
return "2569"
}
}
const optionsSpecific = ref<OptionData[]>([ const optionsSpecific = ref<OptionData[]>([
{ id: "0", name: "ลาไปศึกษา" }, { id: "0", name: "ลาไปศึกษา" },
@ -234,5 +245,7 @@ export const useLeaveStore = defineStore("Leave", () => {
fecthList, fecthList,
filterSelector, filterSelector,
searchFilterTable, searchFilterTable,
fiscalyearOP,
fiscalYearyear,
} }
}) })

View file

@ -24,9 +24,28 @@
</q-input> </q-input>
</template> </template>
</datepicker> </datepicker>
<q-select
v-if="currentTab === 'list'"
outlined
dense
lazy-rules
v-model="LeaveData.fiscalYearyear"
:label="`${'ปี พ.ศ.'}`"
emit-value
map-options
option-label="name"
:options="LeaveData.fiscalyearOP"
option-value="id"
hide-bottom-space
style="min-width: 150px"
class="col-xs-12 col-sm-auto"
@update:model-value="searchFilterTable"
@filter="(inputValue:any,
doneFn:Function) => filterSelector(inputValue, doneFn,'fiscalyearOP'
) "
/>
<!-- filter เลอกป --> <!-- filter เลอกป -->
<datepicker v-model="dateYear" :locale="'th'" autoApply year-picker :enableTimePicker="false" v-if="currentTab === 'list'"> <!-- <datepicker v-model="dateYear" :locale="'th'" autoApply year-picker :enableTimePicker="false" v-if="currentTab === 'list'">
<template #year="{ year }">{{ year + 543 }}</template> <template #year="{ year }">{{ year + 543 }}</template>
<template #year-overlay-value="{ value }">{{ parseInt(value + 543) }}</template> <template #year-overlay-value="{ value }">{{ parseInt(value + 543) }}</template>
<template #trigger> <template #trigger>
@ -36,7 +55,7 @@
</template> </template>
</q-input> </q-input>
</template> </template>
</datepicker> </datepicker> -->
<div class="q-ml-sm"> <div class="q-ml-sm">
<!-- icon เพมวนหย --> <!-- icon เพมวนหย -->
<q-btn round dense flat size="13px" class="q-px-sm" @click="addAbsence"> <q-btn round dense flat size="13px" class="q-px-sm" @click="addAbsence">
@ -150,7 +169,10 @@ import subCalendarComponent from "@/modules/05_leave/componenst/Calendar.vue"
import subListCalendarComponent from "@/modules/05_leave/componenst/ListCalendar.vue" import subListCalendarComponent from "@/modules/05_leave/componenst/ListCalendar.vue"
import { useCounterMixin } from "@/stores/mixin" import { useCounterMixin } from "@/stores/mixin"
import type { DataDateMonthObject } from "@/modules/05_leave/interface/request/Calendar.ts" import type { DataDateMonthObject } from "@/modules/05_leave/interface/request/Calendar.ts"
import { useLeaveStore } from "@/modules/05_leave/store"
const LeaveData = useLeaveStore()
const { filterSelector, searchFilterTable } = LeaveData
const router = useRouter() const router = useRouter()
const currentTab = ref<string>("calendar") // tab calendar= list= const currentTab = ref<string>("calendar") // tab calendar= list=
const dateMonth = ref<DataDateMonthObject>({ const dateMonth = ref<DataDateMonthObject>({