import { defineStore } from "pinia"; import { ref } from "vue"; import type { QTableProps } from "quasar"; import type { investigateDisDataRowType, DataOption, } from "@/modules/11_discipline/interface/index/Main"; 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)), dateFix: date2Thai(new Date(e.dateFix)), type: e.type, reason: e.reason, })); rows.value = datalist; } const visibleColumns = ref([ "no", "fullname", "date", "dateFix", "type", "reason", ]); 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", sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, { name: "dateFix", align: "left", label: "วันที่ขอแก้ไข", sortable: true, field: "dateFix", headerStyle: "font-size: 14px", style: "font-size: 14px", sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, { name: "type", align: "left", label: "ประเภท", sortable: true, field: "type", headerStyle: "font-size: 14px", style: "font-size: 14px", sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, { name: "reason", align: "left", label: "เหตุผล", sortable: true, field: "reason", headerStyle: "font-size: 14px", style: "font-size: 14px", sort: (a: string, b: string) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, ]); return { fecthList, rows, visibleColumns, columns, }; });