hrms-mgt/src/modules/09_leave/stores/SpecialTimeStore.ts

101 lines
2.4 KiB
TypeScript
Raw Normal View History

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<any[]>([]);
async function fecthList(data: any[]) {
let datalist: any[] = data.map((e: any) => ({
fullname: e.fullname,
2023-11-03 15:08:53 +07:00
date: date2Thai(new Date(e.date), false, true),
dateFix: date2Thai(new Date(e.dateFix)),
2023-11-03 15:08:53 +07:00
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<String[]>([
"no",
"fullname",
"date",
"dateFix",
2023-11-03 15:08:53 +07:00
"timeMorning",
"timeAfternoon",
]);
const columns = ref<QTableProps["columns"]>([
{
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",
},
{
2023-11-03 15:08:53 +07:00
name: "timeMorning",
align: "left",
2023-11-03 15:08:53 +07:00
label: "ช่วงเช้า",
sortable: true,
2023-11-03 15:08:53 +07:00
field: "timeMorning",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
2023-11-03 15:08:53 +07:00
name: "timeAfternoon",
align: "left",
2023-11-03 15:08:53 +07:00
label: "ช่วงบ่าย",
sortable: true,
2023-11-03 15:08:53 +07:00
field: "timeAfternoon",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
2023-11-03 15:08:53 +07:00
return {
fecthList,
rows,
visibleColumns,
columns,
};
});