275 lines
7.3 KiB
TypeScript
275 lines
7.3 KiB
TypeScript
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<QTableProps["columns"]>([
|
|
{
|
|
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<QTableProps["columns"]>([
|
|
{
|
|
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<QTableProps["columns"]>([
|
|
{
|
|
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<QTableProps["columns"]>([
|
|
{
|
|
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,
|
|
};
|
|
});
|