From 62694642310ca4a8ff212569a9d3ea325d3ca94f Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Thu, 14 Dec 2023 10:52:31 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2=20(user)=20#106?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../05_leave/componenst/DialogDetail.vue | 87 +-- .../componenst/formDetail/formCheckSelect.vue | 3 +- .../componenst/formDetail/formChildbirth.vue | 3 +- .../componenst/formDetail/formHajj.vue | 3 +- .../componenst/formDetail/formHoliday.vue | 3 +- .../componenst/formDetail/formLeave.vue | 3 +- .../formDetail/formLeaveToTraining.vue | 3 +- .../formLeaveToWorkInternational.vue | 3 +- .../componenst/formDetail/formSpouse.vue | 3 +- .../componenst/formDetail/formStudy.vue | 3 +- .../componenst/formDetail/formUpasom.vue | 3 +- .../formVocationalRehabilitation.vue | 3 +- .../05_leave/interface/response/leave.ts | 3 +- src/modules/05_leave/store.ts | 614 +++++++++--------- 14 files changed, 389 insertions(+), 348 deletions(-) diff --git a/src/modules/05_leave/componenst/DialogDetail.vue b/src/modules/05_leave/componenst/DialogDetail.vue index 0d793a0..cb502cc 100644 --- a/src/modules/05_leave/componenst/DialogDetail.vue +++ b/src/modules/05_leave/componenst/DialogDetail.vue @@ -128,7 +128,8 @@ const formData = reactive({ coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส) coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส) coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส) - step: "", + approveStep: "", + dear: "", }); /** form ขอยกเลิก*/ @@ -157,22 +158,22 @@ async function fetchDataDetail(id: string) { .get(config.API.leaveUserId(id), {}) .then((res) => { const data = res.data.result; - titleName.value = data.fullName; - formData.id = data.id; - formData.leaveTypeName = data.leaveTypeName; - formData.leaveTypeId = data.leaveTypeId; - formData.fullname = data.fullname; + titleName.value = data.fullName ?? "-"; + formData.id = data.id ?? "-"; + formData.leaveTypeName = data.leaveTypeName ?? "-"; + formData.leaveTypeId = data.leaveTypeId ?? "-"; + formData.fullname = data.fullName ?? "-"; formData.dateSendLeave = data.dateSendLeave && date2Thai(data.dateSendLeave); - formData.status = data.status; + formData.status = data.status ?? "-"; formData.leaveDateStart = data.leaveStartDate && date2Thai(data.leaveStartDate); formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate); - formData.leaveCount = data.leaveTotal; - formData.leaveWrote = data.leaveWrote; - formData.leaveAddress = data.leaveAddress; - formData.leaveNumber = data.leaveNumber; - formData.leaveDetail = data.leaveDetail; + formData.leaveCount = data.leaveTotal ?? "-"; + formData.leaveWrote = data.leaveWrote ?? "-"; + formData.leaveAddress = data.leaveAddress ?? "-"; + formData.leaveNumber = data.leaveNumber ?? "-"; + formData.leaveDetail = data.leaveDetail ?? "-"; formData.leaveDocument = data.leaveDocument; formData.leaveDraftDocument = data.leaveDraftDocument; formData.leaveLastStart = @@ -184,50 +185,54 @@ async function fetchDataDetail(id: string) { data.leavebirthDate && date2Thai(data.leavebirthDate); formData.leavegovernmentDate = data.leavegovernmentDate && date2Thai(data.leavegovernmentDate); - formData.leaveSalary = data.leaveSalary; - formData.leaveSalaryText = data.leaveSalaryText; - formData.wifeDayName = data.wifeDayName; + formData.leaveSalary = data.leaveSalary ?? "-"; + formData.leaveSalaryText = data.leaveSalaryText ?? "-"; + formData.wifeDayName = data.wifeDayName ?? "-"; formData.wifeDayDateBorn = data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn); - formData.restDayOldTotal = data.restDayOldTotal; - formData.restDayCurrentTotal = data.restDayCurrentTotal; + formData.restDayOldTotal = data.restDayOldTotal ?? "-"; + formData.restDayCurrentTotal = data.restDayCurrentTotal ?? "-"; formData.ordainDayStatus = data.ordainDayStatus ? "เคย" : "ไม่เคยบวช"; - formData.ordainDayLocationName = data.ordainDayLocationName; - formData.ordainDayLocationAddress = data.ordainDayLocationAddress; - formData.ordainDayLocationNumber = data.ordainDayLocationNumber; + formData.ordainDayLocationName = data.ordainDayLocationName ?? "-"; + formData.ordainDayLocationAddress = data.ordainDayLocationAddress ?? "-"; + formData.ordainDayLocationNumber = data.ordainDayLocationNumber ?? "-"; formData.ordainDayOrdination = data.ordainDayOrdination && date2Thai(data.ordainDayOrdination); - formData.ordainDayBuddhistLentName = data.ordainDayBuddhistLentName; - formData.ordainDayBuddhistLentAddress = data.ordainDayBuddhistLentAddress; + formData.ordainDayBuddhistLentName = + data.ordainDayBuddhistLentName ?? "-"; + formData.ordainDayBuddhistLentAddress = + data.ordainDayBuddhistLentAddress ?? "-"; formData.hajjDayStatus = data.hajjDayStatus ? "เคย" : "ไม่เคยไปประกอบพิธีฮัจญ์"; - formData.absentDaySummon = data.absentDaySummon; - formData.absentDayLocation = data.absentDayLocation; + formData.absentDaySummon = data.absentDaySummon ?? "-"; + formData.absentDayLocation = data.absentDayLocation ?? "-"; formData.absentDayRegistorDate = data.absentDayRegistorDate && date2Thai(data.absentDayRegistorDate); - formData.absentDayGetIn = data.absentDayGetIn; - formData.absentDayAt = data.absentDayAt; - formData.studyDaySubject = data.studyDaySubject; - formData.studyDayDegreeLevel = data.studyDayDegreeLevel; - formData.studyDayUniversityName = data.studyDayUniversityName; - formData.studyDayTrainingSubject = data.studyDayTrainingSubject; - formData.studyDayTrainingName = data.studyDayTrainingName; - formData.studyDayCountry = data.studyDayCountry; - formData.studyDayScholarship = data.studyDayScholarship; - formData.coupleDayName = data.coupleDayName; - formData.coupleDayPosition = data.coupleDayPosition; - formData.coupleDayLevel = data.coupleDayLevel; - formData.coupleDayLevelCountry = data.coupleDayLevelCountry; - formData.coupleDayCountryHistory = data.coupleDayCountryHistory; - formData.coupleDayTotalHistory = data.coupleDayTotalHistory; + formData.absentDayGetIn = data.absentDayGetIn ?? "-"; + formData.absentDayAt = data.absentDayAt ?? "-"; + formData.studyDaySubject = data.studyDaySubject ?? "-"; + formData.studyDayDegreeLevel = data.studyDayDegreeLevel ?? "-"; + formData.studyDayUniversityName = data.studyDayUniversityName ?? "-"; + formData.studyDayTrainingSubject = + data.studyDayTrainingSubject ?? "-" ?? "-"; + formData.studyDayTrainingName = data.studyDayTrainingName ?? "-"; + formData.studyDayCountry = data.studyDayCountry ?? "-"; + formData.studyDayScholarship = data.studyDayScholarship ?? "-"; + formData.coupleDayName = data.coupleDayName ?? "-"; + formData.coupleDayPosition = data.coupleDayPosition ?? "-"; + formData.coupleDayLevel = data.coupleDayLevel ?? "-"; + formData.coupleDayLevelCountry = data.coupleDayLevelCountry ?? "-"; + formData.coupleDayCountryHistory = data.coupleDayCountryHistory ?? "-"; + formData.coupleDayTotalHistory = data.coupleDayTotalHistory ?? "-"; formData.coupleDayStartDateHistory = data.coupleDayStartDateHistory && date2Thai(data.coupleDayStartDateHistory); formData.coupleDayEndDateHistory = data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory); - formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory; - formData.step = data.step; + formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory ?? "-"; + formData.approveStep = data.approveStep ?? "-"; + formData.dear = data.dear ?? "-"; checkLeaveType(formData.leaveTypeId, formData.leaveTypeName); }) .catch((err) => { diff --git a/src/modules/05_leave/componenst/formDetail/formCheckSelect.vue b/src/modules/05_leave/componenst/formDetail/formCheckSelect.vue index 6eace6c..0cead4d 100644 --- a/src/modules/05_leave/componenst/formDetail/formCheckSelect.vue +++ b/src/modules/05_leave/componenst/formDetail/formCheckSelect.vue @@ -61,7 +61,7 @@ console.log(props);
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formChildbirth.vue b/src/modules/05_leave/componenst/formDetail/formChildbirth.vue index fc4609b..115f2f5 100644 --- a/src/modules/05_leave/componenst/formDetail/formChildbirth.vue +++ b/src/modules/05_leave/componenst/formDetail/formChildbirth.vue @@ -55,7 +55,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formHajj.vue b/src/modules/05_leave/componenst/formDetail/formHajj.vue index f73d560..903d36b 100644 --- a/src/modules/05_leave/componenst/formDetail/formHajj.vue +++ b/src/modules/05_leave/componenst/formDetail/formHajj.vue @@ -48,7 +48,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formHoliday.vue b/src/modules/05_leave/componenst/formDetail/formHoliday.vue index f6df377..5b843c3 100644 --- a/src/modules/05_leave/componenst/formDetail/formHoliday.vue +++ b/src/modules/05_leave/componenst/formDetail/formHoliday.vue @@ -60,7 +60,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formLeave.vue b/src/modules/05_leave/componenst/formDetail/formLeave.vue index f1fa741..3e176d8 100644 --- a/src/modules/05_leave/componenst/formDetail/formLeave.vue +++ b/src/modules/05_leave/componenst/formDetail/formLeave.vue @@ -58,7 +58,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formLeaveToTraining.vue b/src/modules/05_leave/componenst/formDetail/formLeaveToTraining.vue index 2d5b10c..4df5389 100644 --- a/src/modules/05_leave/componenst/formDetail/formLeaveToTraining.vue +++ b/src/modules/05_leave/componenst/formDetail/formLeaveToTraining.vue @@ -79,7 +79,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formLeaveToWorkInternational.vue b/src/modules/05_leave/componenst/formDetail/formLeaveToWorkInternational.vue index f30f825..fee371c 100644 --- a/src/modules/05_leave/componenst/formDetail/formLeaveToWorkInternational.vue +++ b/src/modules/05_leave/componenst/formDetail/formLeaveToWorkInternational.vue @@ -35,7 +35,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formSpouse.vue b/src/modules/05_leave/componenst/formDetail/formSpouse.vue index 9084ee6..e2d7d8e 100644 --- a/src/modules/05_leave/componenst/formDetail/formSpouse.vue +++ b/src/modules/05_leave/componenst/formDetail/formSpouse.vue @@ -86,7 +86,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formStudy.vue b/src/modules/05_leave/componenst/formDetail/formStudy.vue index 6df8940..d2073f6 100644 --- a/src/modules/05_leave/componenst/formDetail/formStudy.vue +++ b/src/modules/05_leave/componenst/formDetail/formStudy.vue @@ -82,7 +82,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formUpasom.vue b/src/modules/05_leave/componenst/formDetail/formUpasom.vue index 08955e6..a38b9df 100644 --- a/src/modules/05_leave/componenst/formDetail/formUpasom.vue +++ b/src/modules/05_leave/componenst/formDetail/formUpasom.vue @@ -73,7 +73,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/componenst/formDetail/formVocationalRehabilitation.vue b/src/modules/05_leave/componenst/formDetail/formVocationalRehabilitation.vue index f30f825..fee371c 100644 --- a/src/modules/05_leave/componenst/formDetail/formVocationalRehabilitation.vue +++ b/src/modules/05_leave/componenst/formDetail/formVocationalRehabilitation.vue @@ -35,7 +35,7 @@ const props = defineProps({
เอกสารแนบ
-
+
ดาวน์โหลดไฟล์
+
-
diff --git a/src/modules/05_leave/interface/response/leave.ts b/src/modules/05_leave/interface/response/leave.ts index 0ba5f01..3fa4390 100644 --- a/src/modules/05_leave/interface/response/leave.ts +++ b/src/modules/05_leave/interface/response/leave.ts @@ -75,7 +75,8 @@ interface FremDetail { coupleDayStartDateHistory: Date; //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส) coupleDayEndDateHistory: Date; //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส) coupleDaySumTotalHistory: string; //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส) - step: string; + approveStep: string; + dear: string; } interface FormDelete { diff --git a/src/modules/05_leave/store.ts b/src/modules/05_leave/store.ts index ce8c97a..8ae425c 100644 --- a/src/modules/05_leave/store.ts +++ b/src/modules/05_leave/store.ts @@ -1,317 +1,341 @@ -import { defineStore } from "pinia" -import { ref } from "vue" -import { useQuasar } from "quasar" +import { defineStore } from "pinia"; +import { ref } from "vue"; +import { useQuasar } from "quasar"; -import type { QTableProps } from "quasar" -import type { OptionData, TypeLeave } from "@/modules/05_leave/interface/index/main" -import type { ListLeave, ListLeaveTable } from "@/modules/05_leave/interface/response/leave" -import http from "@/plugins/http" -import config from "@/app.config" +import type { QTableProps } from "quasar"; +import type { + OptionData, + TypeLeave, +} from "@/modules/05_leave/interface/index/main"; +import type { + ListLeave, + ListLeaveTable, +} from "@/modules/05_leave/interface/response/leave"; +import http from "@/plugins/http"; +import config from "@/app.config"; -import { useCounterMixin } from "@/stores/mixin" -const mixin = useCounterMixin() -const { date2Thai, messageError } = mixin -const $q = useQuasar() +import { useCounterMixin } from "@/stores/mixin"; +const mixin = useCounterMixin(); +const { date2Thai, messageError } = mixin; +const $q = useQuasar(); export const useLeaveStore = defineStore("Leave", () => { - const tabValue = ref("calendar") - const typeLeave = ref("") - const LeaveType = ref("0") - const LeaveStatus = ref("0") - const fiscalYearyear = ref(new Date().getFullYear()) - const rows = ref([]) + const tabValue = ref("calendar"); + const typeLeave = ref(""); + const LeaveType = ref("0"); + const LeaveStatus = ref("0"); + const fiscalYearyear = ref(new Date().getFullYear()); + const rows = ref([]); - /** - * function เรียกข้อมูลรายการลา Table - * @param data ข้อมูลรายการลา Table - */ - async function fetchListLeave(data: ListLeave[]) { - let datalist: ListLeaveTable[] = data.map((e: ListLeave) => ({ - id: e.id, - leaveTypeName: e.leaveTypeName, - leaveTypeId: e.leaveTypeId, - fullName: e.fullName, - dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave), - status: e.status, - statusConvert: convertStatud(e.status), - isDelete: e.isDelete, - })) - rows.value = datalist - } + /** + * function เรียกข้อมูลรายการลา Table + * @param data ข้อมูลรายการลา Table + */ + async function fetchListLeave(data: ListLeave[]) { + let datalist: ListLeaveTable[] = data.map((e: ListLeave) => ({ + id: e.id, + leaveTypeName: e.leaveTypeName, + leaveTypeId: e.leaveTypeId, + fullName: e.fullName, + dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave), + status: e.status, + statusConvert: convertStatud(e.status), + isDelete: e.isDelete, + })); + rows.value = datalist; + } - //ฟังก์ชั่นแปลง Status - function convertStatud(val: string) { - switch (val) { - case "NEW": - return "ใหม่" - case "PENDING": - return "กำลังดำเนินการ" - case "APPROVE": - return "อนุมัติ" - case "REJECT": - return "ไม่อนุมัติ" - case "DELETE": - return "ยกเลิก" - } - } + //ฟังก์ชั่นแปลง Status + function convertStatud(val: string) { + switch (val) { + case "NEW": + return "ใหม่"; + case "PENDING": + return "กำลังดำเนินการ"; + case "APPROVE": + return "อนุมัติ"; + case "REJECT": + return "ไม่อนุมัติ"; + case "DELETE": + return "ยกเลิก"; + } + } - /** ประเภทการลา */ - const typeOptions = ref([]) - const typeId = ref("") - const typeOptionsMain = ref([]) - const typeOptionsAdd = ref([]) - /** รายการข้อมูลประเภทใบลา */ - const options = ref([]) - /** - * function เรียกข้อมูลประเภทการลา - * @param data ประเภทการลา - */ - async function fetchLeaveType(data: TypeLeave[]) { - typeOptionsMain.value = [{ id: "00000000-0000-0000-0000-000000000000", name: "ทั้งหมด", code: "LV-000" }] - const optionType = data.map((e: TypeLeave) => ({ - id: e.id, - name: e.name, - code: e.code, - })) - typeOptionsMain.value.push(...optionType) - typeOptions.value = typeOptionsMain.value - console.log(typeOptions.value) + /** ประเภทการลา */ + const typeOptions = ref([]); + const typeId = ref(""); + const typeOptionsMain = ref([]); + const typeOptionsAdd = ref([]); + /** รายการข้อมูลประเภทใบลา */ + const options = ref([]); + /** + * function เรียกข้อมูลประเภทการลา + * @param data ประเภทการลา + */ + async function fetchLeaveType(data: TypeLeave[]) { + typeOptionsMain.value = [ + { + id: "00000000-0000-0000-0000-000000000000", + name: "ทั้งหมด", + code: "LV-000", + }, + ]; + const optionType = data.map((e: TypeLeave) => ({ + id: e.id, + name: e.name, + code: e.code, + })); + typeOptionsMain.value.push(...optionType); + typeOptions.value = typeOptionsMain.value; + console.log(typeOptions.value); - typeOptionsAdd.value.push(...optionType) - options.value = typeOptionsAdd.value - console.log(options.value) - } + typeOptionsAdd.value.push(...optionType); + options.value = typeOptionsAdd.value; + console.log(options.value); + } - /** สถานะของการลา */ - const statusOptionsMain = ref([ - { id: "ALL", name: "ทั้งหมด" }, - { id: "NEW ", name: "ใหม่" }, - { id: "PENDING ", name: "กำลังดำเนินการ" }, - { id: "APPROVE ", name: "อนุมัติ " }, - { id: "REJECT ", name: "ไม่อนุมัติ" }, - { id: "DELETE ", name: "ยกเลิก" }, - ]) - const statusOptions = ref(statusOptionsMain.value) + /** สถานะของการลา */ + const statusOptionsMain = ref([ + { id: "ALL", name: "ทั้งหมด" }, + { id: "NEW", name: "ใหม่" }, + { id: "PENDING", name: "กำลังดำเนินการ" }, + { id: "APPROVE", name: "อนุมัติ " }, + { id: "REJECT", name: "ไม่อนุมัติ" }, + { id: "DELETE", name: "ยกเลิก" }, + ]); + const statusOptions = ref(statusOptionsMain.value); - /** - * function ต้นหาข้อมูลของ Option - * @param val ค่าที่ต้องการฟิลเตอร์ - * @param update อัพเดทค่า - * @param refData ดาต้าที่ต้องการฟิลเตอร์ - */ - function filterOption(val: any, update: Function, refData: string) { - switch (refData) { - case "LeaveTypeOption": - update(() => { - typeOptions.value = typeOptionsMain.value.filter((v: any) => v.name.indexOf(val) > -1) - }) - break - case "LeaveStatusOption": - update(() => { - statusOptions.value = statusOptionsMain.value.filter((v: any) => v.name.indexOf(val) > -1) - }) - break - default: - break - } - } - /** รายการประเภทการลาของ ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน*/ - const optionsSpecific = ref([ - { id: "s0", name: "ลาไปศึกษาต่อ", code: "s0" }, - { id: "s1", name: "ลาฝึกอบรม", code: "s1" }, - { id: "s2", name: "ลาปฎิบัติการวิจัย", code: "s2" }, - { id: "s3", name: "ลาดูงาน", code: "s3" }, - ]) + /** + * function ต้นหาข้อมูลของ Option + * @param val ค่าที่ต้องการฟิลเตอร์ + * @param update อัพเดทค่า + * @param refData ดาต้าที่ต้องการฟิลเตอร์ + */ + function filterOption(val: any, update: Function, refData: string) { + switch (refData) { + case "LeaveTypeOption": + update(() => { + typeOptions.value = typeOptionsMain.value.filter( + (v: any) => v.name.indexOf(val) > -1 + ); + }); + break; + case "LeaveStatusOption": + update(() => { + statusOptions.value = statusOptionsMain.value.filter( + (v: any) => v.name.indexOf(val) > -1 + ); + }); + break; + default: + break; + } + } + /** รายการประเภทการลาของ ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน*/ + const optionsSpecific = ref([ + { id: "s0", name: "ลาไปศึกษาต่อ", code: "s0" }, + { id: "s1", name: "ลาฝึกอบรม", code: "s1" }, + { id: "s2", name: "ลาปฎิบัติการวิจัย", code: "s2" }, + { id: "s3", name: "ลาดูงาน", code: "s3" }, + ]); - /** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์*/ - const optionsOrdination = ref([ - { id: "0", name: "ลาอุปสมบท", code: "0" }, - { id: "1", name: "ลาประกอบพิธีฮัจญ์", code: "1" }, - ]) + /** รายการประเภทการลาของ ลาอุปสมบทหรือลาประกอบพิธีฮัจญ์*/ + const optionsOrdination = ref([ + { id: "0", name: "ลาอุปสมบท", code: "0" }, + { id: "1", name: "ลาประกอบพิธีฮัจญ์", code: "1" }, + ]); - /** data table filter & column ของรายการลา */ - const visibleColumns = ref(["no", "leaveTypeName", "dateSendLeave", "status"]) - const columns = ref([ - { - name: "no", - align: "left", - label: "ลำดับ", - sortable: true, - field: "no", - headerStyle: "font-size: 14px", - style: "font-size: 14px; width:5%;", - }, - { - name: "leaveTypeName", - align: "left", - label: "ประเภทการลา", - sortable: true, - field: "leaveTypeName", - headerStyle: "font-size: 14px", - style: "font-size: 14px; width:15%;", - }, - { - name: "dateSendLeave", - align: "left", - label: "วันที่ยื่นใบลา", - sortable: true, - field: "dateSendLeave", - headerStyle: "font-size: 14px", - style: "font-size: 14px; width:15%;", - }, - { - name: "status", - align: "left", - label: "สถานะ", - sortable: true, - field: "status", - headerStyle: "font-size: 14px", - style: "font-size: 14px; width:10%;", - }, - ]) - /** - *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา - * @param item ประเภทแบบฟอร์ม - * @param subitem ประเภทแบบฟอร์มย่อย - */ - function typeConvert(item: string, subitem: any) { - // console.log('first',item) - if (item !== "LV-006" && item !== "LV-008") { - typeLeave.value = convertSubtitle(item) - } else if (item === "LV-006") { - typeLeave.value = convertSubtitleInfo(subitem) - } else if (item === "LV-008") { - typeLeave.value = convertSubtitleInfo2(subitem) - } - typeId.value = convertId(item) - } + /** data table filter & column ของรายการลา */ + const visibleColumns = ref([ + "no", + "leaveTypeName", + "dateSendLeave", + "status", + ]); + const columns = ref([ + { + name: "no", + align: "left", + label: "ลำดับ", + sortable: true, + field: "no", + headerStyle: "font-size: 14px", + style: "font-size: 14px; width:5%;", + }, + { + name: "leaveTypeName", + align: "left", + label: "ประเภทการลา", + sortable: true, + field: "leaveTypeName", + headerStyle: "font-size: 14px", + style: "font-size: 14px; width:15%;", + }, + { + name: "dateSendLeave", + align: "left", + label: "วันที่ยื่นใบลา", + sortable: true, + field: "dateSendLeave", + headerStyle: "font-size: 14px", + style: "font-size: 14px; width:15%;", + }, + { + name: "status", + align: "left", + label: "สถานะ", + sortable: true, + field: "status", + headerStyle: "font-size: 14px", + style: "font-size: 14px; width:10%;", + }, + ]); + /** + *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา + * @param item ประเภทแบบฟอร์ม + * @param subitem ประเภทแบบฟอร์มย่อย + */ + function typeConvert(item: string, subitem: any) { + // console.log('first',item) + if (item !== "LV-006" && item !== "LV-008") { + typeLeave.value = convertSubtitle(item); + } else if (item === "LV-006") { + typeLeave.value = convertSubtitleInfo(subitem); + } else if (item === "LV-008") { + typeLeave.value = convertSubtitleInfo2(subitem); + } + typeId.value = convertId(item); + } - /** - *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา ลาอุปสมบท/ลาประกอบพิธีฮัจญ์ - * @param val ค่า string - * @returns ส่งค่าที่แปลงแล้ว - */ - function convertSubtitle(val: string) { - return options.value.find(x => x.code == val)?.name - } + /** + *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา ลาอุปสมบท/ลาประกอบพิธีฮัจญ์ + * @param val ค่า string + * @returns ส่งค่าที่แปลงแล้ว + */ + function convertSubtitle(val: string) { + return options.value.find((x) => x.code == val)?.name; + } - /** - *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา ลาอุปสมบท/ลาประกอบพิธีฮัจญ์ ย่อย - * @param val ค่า string - * @returns ส่งค่าที่แปลงแล้ว - */ - function convertSubtitleInfo(val: string) { - return optionsOrdination.value.find(x => x.id == val)?.name - } + /** + *ฟังก์ชั่นแปลงประเภทแบบฟอร์มลา ลาอุปสมบท/ลาประกอบพิธีฮัจญ์ ย่อย + * @param val ค่า string + * @returns ส่งค่าที่แปลงแล้ว + */ + function convertSubtitleInfo(val: string) { + return optionsOrdination.value.find((x) => x.id == val)?.name; + } - /** - *ฟังก์ชั่นแปลง ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน - * @param val ค่า string - * @returns ส่งค่าที่แปลงแล้ว - */ - function convertSubtitleInfo2(val: string) { - return optionsSpecific.value.find(x => x.id == val)?.name - } + /** + *ฟังก์ชั่นแปลง ลาไปศึกษา ฝึกอบรม ปฎิบัติการวิจัย หรือดูงาน + * @param val ค่า string + * @returns ส่งค่าที่แปลงแล้ว + */ + function convertSubtitleInfo2(val: string) { + return optionsSpecific.value.find((x) => x.id == val)?.name; + } - /** - *ฟังก์ชั่นหา id จาก api - * @param val ค่า string - * @returns ส่งค่าที่แปลงแล้ว - */ - function convertId(val: string) { - return options.value.find(x => x.code == val)?.id - } + /** + *ฟังก์ชั่นหา id จาก api + * @param val ค่า string + * @returns ส่งค่าที่แปลงแล้ว + */ + function convertId(val: string) { + return options.value.find((x) => x.code == val)?.id; + } - /** - *ตัวแปร profile ที่จะส่งออก - */ - const dateSendLeave = ref() //วันที่ยื่นใบลา - const leaveTypeName = ref("") //Name ประเภทการลา - const dear = ref("") //เรียน - const fullName = ref("") //คำนำหน้า ชื่อ นามสกุล ผู้ยื่นขอ - const positionName = ref("") //ตำแหน่งผู้ยื่นขอ - const positionLevelName = ref("") //ระดับผู้ยื่นขอ - const organizationName = ref("") //สังกัดผู้ยื่นขอ - const leaveLimit = ref(0) //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - const leaveTotal = ref(0) //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - const leaveRemain = ref(0) //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - const restDayTotalOld = ref(0) //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา - const birthDate = ref() //วันเกิด - const dateAppoint = ref() //วันที่เข้ารับราชการ - const salary = ref(0) //เงินเดือนปัจจุบัน - const salaryText = ref("") //เงินเดือนปัจจุบัน(ภาษาไทย) - const leaveLast = ref() - const restDayCurrentTotal = ref("") - //ดึงข้อมูล profile จาก API - async function fetchProfile() { - await http - .post(config.API.leaveProfile(), { type: typeId.value }) - .then((res: any) => { - const data = res.data.result - dateSendLeave.value = data.dateSendLeave - leaveTypeName.value = data.leaveTypeName - dear.value = data.dear - fullName.value = data.fullName - positionName.value = data.positionName - positionLevelName.value = data.positionLevelName - organizationName.value = data.organizationName - leaveLimit.value = data.leaveLimit - leaveTotal.value = data.leaveTotal - leaveRemain.value = data.leaveRemain - restDayTotalOld.value = data.restDayTotalOld - birthDate.value = data.birthDate - dateAppoint.value = data.dateAppoint - salary.value = data.salary - salaryText.value = data.salaryText - leaveLast.value = date2Thai(data.leaveLast) !== "0001-01-01T00:00:00" ? date2Thai(data.leaveLast) : "-" - restDayCurrentTotal.value = data.restDayCurrentTotal - }) - .catch((e: any) => { - messageError($q, e) - }) - } + /** + *ตัวแปร profile ที่จะส่งออก + */ + const dateSendLeave = ref(); //วันที่ยื่นใบลา + const leaveTypeName = ref(""); //Name ประเภทการลา + const dear = ref(""); //เรียน + const fullName = ref(""); //คำนำหน้า ชื่อ นามสกุล ผู้ยื่นขอ + const positionName = ref(""); //ตำแหน่งผู้ยื่นขอ + const positionLevelName = ref(""); //ระดับผู้ยื่นขอ + const organizationName = ref(""); //สังกัดผู้ยื่นขอ + const leaveLimit = ref(0); //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + const leaveTotal = ref(0); //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + const leaveRemain = ref(0); //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + const restDayTotalOld = ref(0); //จำนวนวันลาพักผ่อนสะสม จากปีที่ผ่านมา + const birthDate = ref(); //วันเกิด + const dateAppoint = ref(); //วันที่เข้ารับราชการ + const salary = ref(0); //เงินเดือนปัจจุบัน + const salaryText = ref(""); //เงินเดือนปัจจุบัน(ภาษาไทย) + const leaveLast = ref(); + const restDayCurrentTotal = ref(""); + //ดึงข้อมูล profile จาก API + async function fetchProfile() { + await http + .post(config.API.leaveProfile(), { type: typeId.value }) + .then((res: any) => { + const data = res.data.result; + dateSendLeave.value = data.dateSendLeave; + leaveTypeName.value = data.leaveTypeName; + dear.value = data.dear; + fullName.value = data.fullName; + positionName.value = data.positionName; + positionLevelName.value = data.positionLevelName; + organizationName.value = data.organizationName; + leaveLimit.value = data.leaveLimit; + leaveTotal.value = data.leaveTotal; + leaveRemain.value = data.leaveRemain; + restDayTotalOld.value = data.restDayTotalOld; + birthDate.value = data.birthDate; + dateAppoint.value = data.dateAppoint; + salary.value = data.salary; + salaryText.value = data.salaryText; + leaveLast.value = + date2Thai(data.leaveLast) !== "0001-01-01T00:00:00" + ? date2Thai(data.leaveLast) + : "-"; + restDayCurrentTotal.value = data.restDayCurrentTotal; + }) + .catch((e: any) => { + messageError($q, e); + }); + } - return { - tabValue, - typeOptions, - optionsSpecific, - statusOptions, + return { + tabValue, + typeOptions, + optionsSpecific, + statusOptions, - visibleColumns, - columns, - rows, - LeaveType, - LeaveStatus, + visibleColumns, + columns, + rows, + LeaveType, + LeaveStatus, - fiscalYearyear, - options, - optionsOrdination, - typeConvert, - typeLeave, - typeId, + fiscalYearyear, + options, + optionsOrdination, + typeConvert, + typeLeave, + typeId, - fetchListLeave, - fetchLeaveType, - filterOption, - fetchProfile, + fetchListLeave, + fetchLeaveType, + filterOption, + fetchProfile, - //ส่งออกตัวแปร profileที่ได้จาก Api - dateSendLeave, - leaveTypeName, - dear, - fullName, - positionName, - positionLevelName, - organizationName, - leaveLimit, //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - leaveTotal, //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - leaveRemain, //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) - restDayTotalOld, - birthDate, - dateAppoint, - salary, - salaryText, - leaveLast, - restDayCurrentTotal, - } -}) + //ส่งออกตัวแปร profileที่ได้จาก Api + dateSendLeave, + leaveTypeName, + dear, + fullName, + positionName, + positionLevelName, + organizationName, + leaveLimit, //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + leaveTotal, //ลาไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + leaveRemain, //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน(ภายในปีนั้น) + restDayTotalOld, + birthDate, + dateAppoint, + salary, + salaryText, + leaveLast, + restDayCurrentTotal, + }; +});