import { defineStore } from "pinia"; import { ref } from "vue"; import type { QTableProps } from "quasar"; import { useCounterMixin } from "@/stores/mixin"; export const useEvaluateDetailStore = defineStore("evaluateDetailStore", () => { /** columns TableViewStep1*/ const mixin = useCounterMixin(); const { date2Thai } = mixin; const columnsCertificates = ref([ { name: "certificateType", align: "left", label: "ชื่อใบอนุณาต", sortable: false, field: "certificateType", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "issuer", align: "left", label: "หน่วยงานผู้ออกใบอนุญาต", sortable: true, field: "issuer", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "certificateNo", align: "left", label: "เลขที่ใบอนุญาต", sortable: true, field: "certificateNo", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "issueDate", align: "left", label: "วันที่ออกใบอนุญาต", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "expireDate", align: "left", label: "วันที่หมดอายุ", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, ]); const columnSalaries = ref([ { name: "date", align: "left", label: "วัน เดือน ปี", sortable: true, field: "date", headerStyle: "font-size: 14px", style: "font-size: 14px", format: (v) => date2Thai(v), }, { name: "amount", align: "left", label: "เงินเดือน", sortable: true, field: "amount", headerStyle: "font-size: 14px", style: "font-size: 14px", format: (v) => Number(v).toLocaleString(), }, { name: "positionSalaryAmount", align: "left", label: "เงินประจำตำแหน่ง", sortable: true, field: "positionSalaryAmount", headerStyle: "font-size: 14px", style: "font-size: 14px", format: (v) => Number(v).toLocaleString(), }, { name: "mouthSalaryAmount", align: "left", label: "เงินค่าตอบแทนรายเดือน", sortable: true, field: "mouthSalaryAmount", headerStyle: "font-size: 14px", style: "font-size: 14px", format: (v) => Number(v).toLocaleString(), }, { name: "posNo", align: "left", label: "ตำแหน่งเลขที่", sortable: true, field: "posNo", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "positionType", align: "left", label: "ประเภทตำแหน่ง", sortable: true, field: "positionType", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "positionLevel", align: "left", label: "ระดับ", sortable: true, field: "positionLevel", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "templateDoc", align: "left", label: "เอกสารอ้างอิง", sortable: true, field: "templateDoc", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "refCommandNo", align: "left", label: "เลขที่คำสั่ง", sortable: true, field: "refCommandNo", headerStyle: "font-size: 14px", style: "font-size: 14px", }, ]); const columnTraining = ref([ { name: "name", align: "left", label: "ชื่อโครงการ/หลักสูตรการฝึกอบรม", sortable: false, field: "name", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "topic", align: "left", label: "หัวข้อการฝึกอบรม/ดูงาน", sortable: true, field: "topic", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "startDate", align: "left", label: "วันเริ่มต้นการฝึกอบรม/ดูงาน", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "endDate", align: "left", label: "วันสิ้นสุดการฝึกอบรม/ดูงาน", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "yearly", align: "left", label: "ปีที่อบรม/ดูงาน", sortable: true, field: "yearly", format(val, row) { return row.yearly + 543 }, headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "duration", align: "left", label: "รวมระยะเวลาในการฝึกอบรม/ดูงาน", sortable: true, field: "duration", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "department", align: "left", label: "หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน", sortable: true, field: "department", headerStyle: "font-size: 14px", style: "font-size: 14px", }, ]); const columnProjectsProposed = ref([ { name: "receivedDate", align: "center", label: "วันที่ได้รับ", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "authority", align: "left", label: "ผู้มีอำนาจลงนาม", sortable: true, field: "authority", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "detail", align: "left", label: "รายละเอียด", sortable: true, field: "detail", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "orderNumber", align: "left", label: "เลขที่คำสั่ง", sortable: true, field: "orderNumber", headerStyle: "font-size: 14px", style: "font-size: 14px", }, { name: "doce", align: "left", label: "เอกสารอ้างอิง", sortable: true, field: (value) => date2Thai(value), headerStyle: "font-size: 14px", style: "font-size: 14px", }, ]); return { columnsCertificates, columnSalaries, columnTraining, columnProjectsProposed, }; });