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 @@ - - - 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); +};