import { defineStore } from "pinia"; import { ref } from "vue"; import { useCounterMixin } from "@/stores/mixin"; import type { DataResponseList, MainList } from "@/modules/12_evaluatePersonal/interface/index/meeting"; import type { QTableProps } from "quasar"; // store ระบบวินัย >> ข้อมูลพื้นฐาน >> กรรมการ export const useEvaluateMeetingDataStore = defineStore( "evaluateMeeting", () => { const mixin = useCounterMixin() const { date2Thai } = mixin //ค้นหา คอลัมน์ คอลัมน์ที่แสดง const visibleColumns = ref([ "no", "rounded", "title", "date", ]); // หัวตาราง const columns = ref([ { name: "no", align: "left", label: "ลำดับ", sortable: false, field: "no", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "rounded", align: "left", label: "ครั้งที่", sortable: true, field: "rounded", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "title", align: "left", label: "เรื่อง", sortable: true, field: "title", 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", }, ]); // ข้อมูลในตาราง const rows = ref([]); function fetchData(data: DataResponseList[]) { const dataList: MainList[] = data.map((item: DataResponseList) => ({ id: item.id, rounded: item.rounded, title: item.title, date: `${date2Thai(item.dateStart as Date)} - ${date2Thai(item.dateEnd as Date)}` })) rows.value = dataList } return { visibleColumns, columns, rows, fetchData }; } );