import { defineStore } from "pinia"; import { ref } from "vue"; import { useCounterMixin } from "@/stores/mixin"; const mixin = useCounterMixin(); const { date2Thai } = mixin; export const useWorklistDataStore = defineStore("work", () => { // ข้อมูลในตาราง const rows = ref([]) const dataMain = ref([]) function fecthList(data: any) { let datalist = data.map((e: any) => ({ fullName: e.fullName, timeIn: e.timeIn, coordinatesIn: e.coordinatesIn, latIn: e.latIn, longIn: e.longIn, timeOut: e.timeOut, coordinatesOut: e.coordinatesOut, latOut: e.latOut, longOut: e.longOut, status: convertSatatus(e.status) })) dataMain.value = datalist searchDataFn(selectDate.value, selectStatus.value) } //ค้นหาข้อมูล const filterTable = ref('') const selectDate = ref(null); const selectStatus = ref('all') const optionStatus = ref([{ id: "all", name: 'ทั้งหมด' }, { id: "1", name: 'ลงเวลาเรียบร้อย' }, { id: "2", name: 'สายทำงานครบ' }]) function searchDataFn(searchDate: any, srarchStatus: any) { srarchStatus = srarchStatus || "all"; if (searchDate == null && srarchStatus == "all") { rows.value = dataMain.value } else if (searchDate == null && srarchStatus !== "all") { rows.value = dataMain.value.filter((e: any) => e.status === convertSatatus(srarchStatus)) } } // convertSatatus function convertSatatus(val: string) { switch (val) { case "1": return "ลงเวลาเรียบร้อย" case "2": return "สายทำงานครบ" default: return "ยังไม่ได้ลงเวลา" } } return { //ข้อมูลในตาราง rows, fecthList, //ค้นหาข้อมูล filterTable, selectDate, selectStatus, optionStatus, searchDataFn, convertSatatus }; })