From 538152d3cd250bf59810e45716ed0019625bf236 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Tue, 7 Nov 2023 15:06:48 +0700 Subject: [PATCH] no message --- src/modules/05_leave/componenst/Form.vue | 293 +++++++ .../05_leave/componenst/addAbsence.vue | 810 ++++++++++-------- src/modules/05_leave/interface/index/main.ts | 2 +- .../05_leave/interface/request/AddAbsence.ts | 6 + src/modules/05_leave/router.ts | 2 +- src/modules/05_leave/store.ts | 64 +- src/modules/05_leave/views/AddPage.vue | 174 ++++ 7 files changed, 991 insertions(+), 360 deletions(-) create mode 100644 src/modules/05_leave/componenst/Form.vue create mode 100644 src/modules/05_leave/interface/request/AddAbsence.ts create mode 100644 src/modules/05_leave/views/AddPage.vue diff --git a/src/modules/05_leave/componenst/Form.vue b/src/modules/05_leave/componenst/Form.vue new file mode 100644 index 0000000..3c248c3 --- /dev/null +++ b/src/modules/05_leave/componenst/Form.vue @@ -0,0 +1,293 @@ + + diff --git a/src/modules/05_leave/componenst/addAbsence.vue b/src/modules/05_leave/componenst/addAbsence.vue index bc8f629..7c670d9 100644 --- a/src/modules/05_leave/componenst/addAbsence.vue +++ b/src/modules/05_leave/componenst/addAbsence.vue @@ -1,364 +1,504 @@ diff --git a/src/modules/05_leave/interface/index/main.ts b/src/modules/05_leave/interface/index/main.ts index 96dd28b..486b8c3 100644 --- a/src/modules/05_leave/interface/index/main.ts +++ b/src/modules/05_leave/interface/index/main.ts @@ -21,7 +21,7 @@ interface formListLeaveData { date: string | null type: string status: string - fiscalyear: string + year: string } export type { OptionData, FormLeavetMainData, formListLeaveData } diff --git a/src/modules/05_leave/interface/request/AddAbsence.ts b/src/modules/05_leave/interface/request/AddAbsence.ts new file mode 100644 index 0000000..13aaab3 --- /dev/null +++ b/src/modules/05_leave/interface/request/AddAbsence.ts @@ -0,0 +1,6 @@ +interface OptionDataAdd { + +} +export type { + OptionDataAdd +} \ No newline at end of file diff --git a/src/modules/05_leave/router.ts b/src/modules/05_leave/router.ts index 777a84b..211bf09 100644 --- a/src/modules/05_leave/router.ts +++ b/src/modules/05_leave/router.ts @@ -3,7 +3,7 @@ */ const leave = () => import("@/modules/05_leave/views/Main.vue") -const addAbsence = () => import("@/modules/05_leave/componenst/addAbsence.vue") +const addAbsence = () => import("@/modules/05_leave/views/AddPage.vue") /* const Checkout = () => import("@/modules/04_checkin/views/Checkout.vue"); */ diff --git a/src/modules/05_leave/store.ts b/src/modules/05_leave/store.ts index acf78a6..b53cfac 100644 --- a/src/modules/05_leave/store.ts +++ b/src/modules/05_leave/store.ts @@ -1,7 +1,7 @@ import { defineStore } from "pinia" import { ref, computed } from "vue" import type { QTableProps } from "quasar" -import type { FormLeavetMainData, OptionData, formListLeaveData } from "@/modules/05_leave/interface/index/" +import type { FormLeavetMainData, OptionData, formListLeaveData } from "@/modules/05_leave/interface/index/main" import { useCounterMixin } from "@/stores/mixin" export const useLeaveStore = defineStore("Leave", () => { @@ -10,7 +10,7 @@ export const useLeaveStore = defineStore("Leave", () => { const LeaveType = ref("0") const LeaveStatus = ref("0") const fiscalYearyear = ref("0") - const rows = ref([]) + const rows = ref([]) const DataMainOrig = ref([]) // ข้อมูลหลักดั้งเดิม async function fecthList(data: formListLeaveData[]) { let datalist: formListLeaveData[] = data.map((e: any) => ({ @@ -31,21 +31,21 @@ export const useLeaveStore = defineStore("Leave", () => { if (filterType === "" && filterStatus === "" && filterYear === "") { DataMainUpdate.value = DataMainOrig.value } else if (filterType !== "" && filterStatus === "" && filterYear === "") { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Type === filterType) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.type === filterType) } else if (filterType !== "" && filterStatus !== "" && filterYear === null) { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Type === filterType && item.Status === filterStatus) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.type === filterType && item.status === filterStatus) } else if (filterType !== "" && filterStatus === "" && filterYear !== "") { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Type === filterType && item.fiscalYear === filterYear) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.type === filterType && item.year === filterYear) } else if (filterType === "" && filterStatus !== "" && filterYear === "") { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Status === filterStatus) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.status === filterStatus) } else if (filterType === "" && filterStatus === "" && filterYear !== "") { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.fiscalYear === filterYear) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.year === filterYear) } else if (filterType === "" && filterStatus !== "" && filterYear !== null) { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Status === filterStatus && item.fiscalYear === filterYear) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.status === filterStatus && item.year === filterYear) } else if (filterType !== "" && filterStatus !== "" && filterYear === "") { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Status === filterStatus && item.Type === filterType) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.status === filterStatus && item.type === filterType) } else if (filterType !== "" && filterStatus !== "" && filterYear !== null) { - DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.Type === filterType && item.Status === filterStatus && item.fiscalYear === filterYear) + DataMainUpdate.value = DataMainOrig.value.filter((item: formListLeaveData) => item.type === filterType && item.status === filterStatus && item.year === filterYear) } else if (filterType == "0" && filterStatus == "0" && filterYear !== null) { DataMainUpdate.value = DataMainOrig.value } @@ -67,13 +67,13 @@ export const useLeaveStore = defineStore("Leave", () => { if (fiscalYearyear.value !== "0") { filteredData = filteredData.filter((item: formListLeaveData) => item.year === fiscalYearyear.value) } - const dataArr = filteredData.map((e: any) => ({ + const dataArr: formListLeaveData[] = filteredData.map((e: any) => ({ no: e.no, - type: convertType(e.type), - status: convertStatus(e.status), + type: convertType(e.type) || '', + status: convertStatus(e.status) || '', date: date2Thai(new Date(e.date)), - year: convertYear(e.year), - })) + year: e.year !== undefined ? e.year : '' + })); rows.value = dataArr } } @@ -162,12 +162,16 @@ export const useLeaveStore = defineStore("Leave", () => { } } - const optionsSpecific = ref([ - { id: "0", name: "ลาไปศึกษา" }, - { id: "1", name: "ฝึกอบรม" }, - { id: "2", name: "ปฎิบัติการวิจัย" }, - { id: "2", name: "ดูงาน" }, - ]) + const optionsSpecific = ref([ + { id: '0', name: "ลาไปศึกษา" }, + { id: '1', name: "ฝึกอบรม" }, + { id: '2', name: "ปฎิบัติการวิจัย" }, + { id: '3', name: "ดูงาน" }, + ]); + const optionsOrdination = ref([ + { id: '0', name: "ลาอุปสมบท" }, + { id: '1', name: "ลาประกอบพิธีฮัจย์" }, + ]); const typeOptions = ref([ { id: "0", name: "ทั้งหมด" }, { id: "1", name: "ลาป่วย" }, @@ -181,8 +185,20 @@ export const useLeaveStore = defineStore("Leave", () => { { id: "9", name: "ลาติดตามคู่สมรส" }, { id: "10", name: "ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ" }, ]) - - const statusOptions = ref([ + const options = ref([ + { id: '0', name: "ลาป่วย" }, + { id: '1', name: "ลากิจส่วนตัว" }, + { id: '2', name: "ลาคลอดบุตร" }, + { id: '3', name: "ลาไปช่วยเหลือภริยาที่คลอดบุตร" }, + { id: '4', name: "ลาพักผ่อน" }, + { id: '5', name: "ลาอุปสมบทหรือลาประกอบพิธีฮัจย์ฯ" }, + { id: '6', name: "ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล" }, + { id: '7', name: "ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน" }, + { id: '8', name: "ลาไปปฎิบัติงานในองค์การระหว่างประเทศ" }, + { id: '9', name: "ลาติดตามคู่สมรส" }, + { id: '10', name: "ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ" }, + ]); + const statusOptions = ref([ { id: "0", name: "ทั้งหมด" }, { id: "1", name: "อนุมัติ" }, { id: "2", name: "ไม่อนุมัติ" }, @@ -247,5 +263,7 @@ export const useLeaveStore = defineStore("Leave", () => { searchFilterTable, fiscalyearOP, fiscalYearyear, + options, + optionsOrdination } }) diff --git a/src/modules/05_leave/views/AddPage.vue b/src/modules/05_leave/views/AddPage.vue new file mode 100644 index 0000000..06702f5 --- /dev/null +++ b/src/modules/05_leave/views/AddPage.vue @@ -0,0 +1,174 @@ + + +