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