diff --git a/src/modules/09_leave/components/2_Leave/ToolBar.vue b/src/modules/09_leave/components/2_Leave/ToolBar.vue
index 31d4aca07..908f188ef 100644
--- a/src/modules/09_leave/components/2_Leave/ToolBar.vue
+++ b/src/modules/09_leave/components/2_Leave/ToolBar.vue
@@ -53,7 +53,6 @@ const { searchDataFn, filterOption } = leaveStore;
-
-
-
+
\ No newline at end of file
diff --git a/src/modules/09_leave/components/4_specialTime/Table.vue b/src/modules/09_leave/components/4_specialTime/Table.vue
deleted file mode 100644
index da911aa3f..000000000
--- a/src/modules/09_leave/components/4_specialTime/Table.vue
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-
-
-
- {{ year + 543 }}
- {{
- parseInt(value + 543)
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/modules/09_leave/stores/LeaveStore.ts b/src/modules/09_leave/stores/LeaveStore.ts
index f3e30f5c3..576c1eb74 100644
--- a/src/modules/09_leave/stores/LeaveStore.ts
+++ b/src/modules/09_leave/stores/LeaveStore.ts
@@ -10,7 +10,6 @@ const mixin = useCounterMixin();
const { date2Thai, showLoader, hideLoader } = mixin;
export const useLeavelistDataStore = defineStore("leave", () => {
//TABMENU
- const tab = ref("1");
const amounttab1 = ref(0);
const amounttab2 = ref(0);
//ข้อมูลในตาราง
@@ -23,16 +22,14 @@ export const useLeavelistDataStore = defineStore("leave", () => {
let datalist = data.map((e: DataRows) => ({
leaveType: e.leaveType,
name: e.name,
- Date: e.Date,
+ Date: date2Thai(e.Date),
status: convertSatatus(e.status),
}));
- tab.value !== "1"
- ? (mainData.value = datalist)
- : (mainData.value = datalist.filter(
- (e) => e.status === "อยู่ระหว่างกำเนินการ"
- ));
+ mainData.value = datalist.filter(
+ (e) => e.status === "อยู่ระหว่างดำเนินการ"
+ );
const filteramounttab1 = datalist.filter(
- (e) => e.status === "อยู่ระหว่างกำเนินการ"
+ (e) => e.status === "อยู่ระหว่างดำเนินการ"
);
amounttab1.value = filteramounttab1.length;
amounttab2.value = datalist.length;
@@ -162,16 +159,17 @@ export const useLeavelistDataStore = defineStore("leave", () => {
// convertSatatus
function convertSatatus(val: string) {
switch (val) {
- case "1":
+ case "NEW":
return "ใหม่";
- case "2":
- return "อยู่ระหว่างกำเนินการ";
- case "3":
+ case "PENDING":
+ return "อยู่ระหว่างดำเนินการ";
+ case "APPROVE":
return "อนุมัติ";
+ case "REJECT":
+ return "ไม่อนุมัติ";
}
}
return {
- tab,
amounttab1,
amounttab2,
//ข้อมูลในตาราง
diff --git a/src/modules/09_leave/stores/SpecialTimeStore.ts b/src/modules/09_leave/stores/SpecialTimeStore.ts
index 8afd5a108..9f233d1b9 100644
--- a/src/modules/09_leave/stores/SpecialTimeStore.ts
+++ b/src/modules/09_leave/stores/SpecialTimeStore.ts
@@ -1,10 +1,6 @@
import { defineStore } from "pinia";
import { ref } from "vue";
import type { QTableProps } from "quasar";
-import type {
- investigateDisDataRowType,
- DataOption,
-} from "@/modules/11_discipline/interface/index/Main";
import { useCounterMixin } from "@/stores/mixin";
const mixin = useCounterMixin();
const { date2Thai } = mixin;
@@ -14,10 +10,17 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
async function fecthList(data: any[]) {
let datalist: any[] = data.map((e: any) => ({
fullname: e.fullname,
- date: date2Thai(new Date(e.date)),
+ date: date2Thai(new Date(e.date), false, true),
dateFix: date2Thai(new Date(e.dateFix)),
- type: e.type,
- reason: e.reason,
+ timeMorning:
+ e.startTimeMorning == null
+ ? "-"
+ : e.startTimeMorning + " - " + e.endTimeMorning,
+ timeAfternoon:
+ e.startTimeAfternoon == null
+ ? "-"
+ : e.startTimeAfternoon + " - " + e.endTimeAfternoon,
+ status: e.status,
}));
rows.value = datalist;
}
@@ -27,8 +30,8 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
"fullname",
"date",
"dateFix",
- "type",
- "reason",
+ "timeMorning",
+ "timeAfternoon",
]);
const columns = ref([
@@ -58,8 +61,6 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
field: "date",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
name: "dateFix",
@@ -69,32 +70,27 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => {
field: "dateFix",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "type",
+ name: "timeMorning",
align: "left",
- label: "ประเภท",
+ label: "ช่วงเช้า",
sortable: true,
- field: "type",
+ field: "timeMorning",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
{
- name: "reason",
+ name: "timeAfternoon",
align: "left",
- label: "เหตุผล",
+ label: "ช่วงบ่าย",
sortable: true,
- field: "reason",
+ field: "timeAfternoon",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
- sort: (a: string, b: string) =>
- a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }),
},
]);
+
return {
fecthList,
rows,
diff --git a/src/modules/09_leave/views/LeaveListMain.vue b/src/modules/09_leave/views/LeaveListMain.vue
index 4d2a76929..b7a5a4e60 100644
--- a/src/modules/09_leave/views/LeaveListMain.vue
+++ b/src/modules/09_leave/views/LeaveListMain.vue
@@ -15,30 +15,30 @@ onMounted(() => {
});
// เรียกข้อมูลจาก API
function fecthLeaveList() {
- const data: DataRows = [
+ const data = [
{
leaveType: "ลาป่วย",
name: "นายกัณฐิมา กาฬสินธ์ุ",
- Date: "",
- status: "1",
+ Date: "2023-11-03",
+ status: "NEW",
},
{
leaveType: "ลากิจส่วนตัว",
name: "นายนครชัย วันดี",
- Date: "",
- status: "3",
+ Date: "2023-11-01",
+ status: "APPROVE",
},
{
leaveType: "ลากิจส่วนตัว",
name: "นายกัณฐิมา กาฬสินธ์ุ",
- Date: "",
- status: "2",
+ Date: "2023-11-02",
+ status: "PENDING",
},
{
leaveType: "ลาป่วย",
name: "นายปิยรมย์ ศิริธาราฟ",
- Date: "",
- status: "2",
+ Date: "2023-11-01",
+ status: "PENDING",
},
];
fetchList(data); // ส่งข้อมูลไป stores
@@ -52,65 +52,9 @@ function changTab() {
รายการลา
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
diff --git a/src/modules/09_leave/views/SpecialTimeMain.vue b/src/modules/09_leave/views/SpecialTimeMain.vue
index 3286f8c40..7f5c3047b 100644
--- a/src/modules/09_leave/views/SpecialTimeMain.vue
+++ b/src/modules/09_leave/views/SpecialTimeMain.vue
@@ -3,7 +3,6 @@ import { onMounted, ref, useAttrs } from "vue";
import { useQuasar } from "quasar";
import { useCounterMixin } from "@/stores/mixin";
import type { Pagination } from "@/modules/03_recruiting/interface/index/Main";
-import Table from "@/modules/09_leave/components/4_specialTime/Table.vue";
import { useSpecialTimeStore } from "@/modules/09_leave/stores/SpecialTimeStore";
import DialogReason from "@/components/Dialogs/PopupReason.vue";
@@ -14,11 +13,6 @@ const $q = useQuasar(); // show dialog
const mixin = useCounterMixin();
const router = useRouter();
const { hideLoader, monthYear2Thai } = mixin;
-const filter = ref(""); //search data table
-const initialPagination = ref({
- rowsPerPage: 0,
-});
-const attrs = ref(useAttrs());
const modalUnapprove = ref(false);
const pagination = ref({
// sortBy: "desc",
@@ -54,34 +48,47 @@ onMounted(async () => {
fecthList([
{
fullname: "นางสาวณัฐกา ชมสิน",
- date: "2023-10-30",
+ date: "2023-11-01 08:54",
dateFix: "2023-10-30",
- type: "Checkin",
- reason: "ลืม",
- unapprove: "1",
- approve: "0",
+ startTimeMorning: "08:00",
+ endTimeMorning: "12:00",
+ startTimeAfternoon: "08:00",
+ endTimeAfternoon: "12:00",
+ status: "PENDING",
},
{
fullname: "นางสาวรัชภรณ์ ภักดี",
- date: "2023-10-30",
- dateFix: "2023-10-30",
- type: "Checkin",
- reason: "ลืม",
- unapprove: "1",
- approve: "0",
+ date: "2023-10-30 08:55",
+ dateFix: "2023-10-29",
+ startTimeMorning: "08:00",
+ endTimeMorning: "12:00",
+ startTimeAfternoon: null,
+ endTimeAfternoon: null,
+ status: "APPROVE",
},
{
fullname: "นางสาวภาพรรณ ลออ",
- date: "2023-10-30",
+ date: "2023-10-31 18:54",
dateFix: "2023-10-30",
- type: "Checkin",
- reason: "ลืม",
- unapprove: "1",
- approve: "0",
+ startTimeMorning: null,
+ endTimeMorning: null,
+ startTimeAfternoon: "13:00",
+ endTimeAfternoon: "16:30",
+ status: "REJECT",
},
]);
- await hideLoader();
});
+
+const selectedDate = ref("");
+const dateMonth = ref({
+ month: new Date().getMonth(),
+ year: new Date().getFullYear(),
+});
+
+const monthYearThai = (val: any) => {
+ if (val == null) return "";
+ else return monthYear2Thai(val.month, val.year);
+};
@@ -89,8 +96,136 @@ onMounted(async () => {
รายการลงเวลากรณีพิเศษ
-
-
+
+
+ {{ year + 543 }}
+ {{
+ parseInt(value + 543)
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ col.label }}
+
+
+
+
+
+
+
+
+ {{ props.rowIndex + 1 }}
+
+
+ {{ col.value }}
+
+
+
+ ไม่อนุมัติ
+
+ อนุมัติ
+
+
+
+
+
+