import { defineStore } from "pinia"; import { ref } from "vue"; import type { QTableProps } from "quasar"; import { useCounterMixin } from "@/stores/mixin"; const mixin = useCounterMixin(); const { date2Thai } = mixin; export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => { const rows = ref([]); async function fecthList(data: any[]) { let datalist: any[] = data.map((e: any) => ({ fullname: e.fullname, date: date2Thai(new Date(e.date), false, true), dateFix: date2Thai(new Date(e.dateFix)), timeMorning: e.startTimeMorning == null ? "-" : e.startTimeMorning + " - " + e.endTimeMorning, timeAfternoon: e.startTimeAfternoon == null ? "-" : e.startTimeAfternoon + " - " + e.endTimeAfternoon, status: e.status, })); rows.value = datalist; } const visibleColumns = ref([ "no", "fullname", "date", "dateFix", "timeMorning", "timeAfternoon", ]); const columns = ref([ { name: "no", align: "center", label: "ลำดับ", sortable: false, field: "no", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "fullname", align: "left", label: "ชื่อ-นามสกุล", sortable: true, field: "fullname", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "date", align: "left", label: "วันที่กรอก", sortable: true, field: "date", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "dateFix", align: "left", label: "วันที่ขอแก้ไข", sortable: true, field: "dateFix", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "timeMorning", align: "left", label: "ช่วงเช้า", sortable: true, field: "timeMorning", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "timeAfternoon", align: "left", label: "ช่วงบ่าย", sortable: true, field: "timeAfternoon", headerStyle: "font-size: 14px", style: "font-size: 14px", }, ]); return { fecthList, rows, visibleColumns, columns, }; });