form หน้ารายละเอียดการลา

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-11-09 17:20:10 +07:00
parent 853f925d92
commit bfe73c0efc
14 changed files with 1524 additions and 202 deletions

View file

@ -5,16 +5,26 @@ import { useQuasar } from "quasar";
//importStore
import { useCounterMixin } from "@/stores/mixin";
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
import { useLeavelistDataStoreTest } from "@/modules/09_leave/stores/ListLeave";
const APIDATA = useLeavelistDataStoreTest();
//importType
import type { FremData } from "@/modules/09_leave/interface/request/leave";
// importForm
import FormMain from "@/modules/09_leave/components/2_Leave/formDetail/formMain.vue";
import FormLeave from "@/modules/09_leave/components/2_Leave/formDetail/formLeave.vue";
import FormChildbirth from "@/modules/09_leave/components/2_Leave/formDetail/formChildbirth.vue";
import FormHoliday from "@/modules/09_leave/components/2_Leave/formDetail/formHoliday.vue";
import FormMain from "@/modules/09_leave/components/2_Leave/formDetail/formMain.vue"; // from
import FormLeave from "@/modules/09_leave/components/2_Leave/formDetail/formLeave.vue"; //
import FormChildbirth from "@/modules/09_leave/components/2_Leave/formDetail/formChildbirth.vue"; //
import FormHoliday from "@/modules/09_leave/components/2_Leave/formDetail/formHoliday.vue"; //
import FormUpasom from "@/modules/09_leave/components/2_Leave/formDetail/formUpasom.vue"; //
import FormHajj from "@/modules/09_leave/components/2_Leave/formDetail/formHajj.vue"; //
import FormCheckSelect from "@/modules/09_leave/components/2_Leave/formDetail/formCheckSelect.vue"; //
import FormStudy from "@/modules/09_leave/components/2_Leave/formDetail/formStudy.vue"; //
import FormLeaveToTraining from "@/modules/09_leave/components/2_Leave/formDetail/formLeaveToTraining.vue"; //
import FormLeaveToWorkInternational from "@/modules/09_leave/components/2_Leave/formDetail/formLeaveToWorkInternational.vue"; //
import FormSpouse from "@/modules/09_leave/components/2_Leave/formDetail/formSpouse.vue"; //
import FormVocationalRehabilitation from "@/modules/09_leave/components/2_Leave/formDetail/formVocationalRehabilitation.vue"; //
const $q = useQuasar();
const mixin = useCounterMixin();
const { dialogConfirm, showLoader, hideLoader, date2Thai } = mixin;
@ -23,164 +33,81 @@ const router = useRouter();
const route = useRoute();
const paramsId = route.params.id.toString();
/** Form รายละเอียดข้อมูล*/
const formData = reactive<FremData>({
id: "",
leaveType: "",
subject: "",
name: "",
Date: "",
status: "",
quotaSick: "",
leaveSick: "",
quotaRemaining: "",
notification: "",
requesterPosition: "",
requesterLevel: "",
requesterBeUnder: "",
writeAt: "",
leaveSince: "",
leaveTo: "",
leaveNumber: 0,
leaveDayType: "",
leaveLast: "",
phoneNumber: "",
address: "",
detail: "",
document: null,
nameWife: "",
dateOfBirth: "",
accumulatedHolidays: 0,
currentHolidays: 0,
id: "", // id
leaveType: "", //
subject: "", //
name: "", //
Date: "", //
status: "", //
quotaSick: "", //
leaveSick: "", //
quotaRemaining: "", //
notification: "", //
requesterPosition: "", //
requesterLevel: "", //
requesterBeUnder: "", //
writeAt: "", //
leaveSince: "", //
leaveTo: "", //
leaveNumber: 0, //
leaveDayType: "", // ,,
leaveLast: "", //
phoneNumber: "", //
address: "", //
detail: "", //
document: null, //
nameWife: "", //
dateOfBirth: "", //
accumulatedHolidays: 0, //
currentHolidays: 0, //
birthday: "", //
receiveGovernment: "", //
statusOrdained: "", // /
placeOrdination: "", //
dateOrdination: "", //
placeBuddhistLent: "", //
statusHajj: "", ///
summons: "", //
location: "", //
dateReceived: "", //
treatmentReceived: "", //
receivingLocation: "", //
planTime: "", //
currentSalary: null, //
currentSalaryRead: " ", //()
studySubjects: "", //
degreeLevel: "", //
schoolName: "", //
country: "", //
withCapital: "", //
course: "", //
atThePlace: "", //
spouseName: "", //
spousePosition: "", //
spouseLevel: "", //
workCountry: "", //
historyFollow: "", //
});
onMounted(() => {
showLoader();
if (paramsId) {
fecthDetailLeave(paramsId);
fetchDetailLeave(paramsId);
}
});
function fecthDetailLeave(paramsId: string) {
const dataAPI = [
{
id: "00000000-0000-0000-0000-000000000001",
leaveType: "leave5",
name: "นายกัณฐิมา กาฬสินธ์ุ",
Date: new Date("2023-11-03"),
status: "NEW",
quotaSick: "10",
leaveSick: "5",
quotaRemaining: "5",
notification: "สำนักงาน",
requesterPosition: "รองหัวหน้า",
requesterLevel: "ทั่วไป",
requesterBeUnder: "กรุงเทพมหานนคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-05"),
leaveTo: new Date("2023-11-08"),
leaveNumber: 3,
leaveDayType: "allday",
leaveLast: new Date("2023-10-08"),
phoneNumber: "095-123467",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 5,
currentHolidays: 10,
},
{
id: "00000000-0000-0000-0000-000000000002",
leaveType: "leave2",
name: "นายนครชัย วันดี",
Date: new Date("2023-11-01"),
status: "APPROVE",
quotaSick: "15",
leaveSick: "5",
quotaRemaining: "10",
notification: "หัวหน้างาน",
requesterPosition: "รองหัวหน้า",
requesterLevel: "ทั่วไป",
requesterBeUnder: "กรุงเทพมหานนคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-05"),
leaveTo: new Date("2023-11-08"),
leaveNumber: 4,
leaveDayType: "halfmorning",
leaveLast: new Date("2023-10-08"),
phoneNumber: "095-123467",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 0,
currentHolidays: 0,
},
{
id: "00000000-0000-0000-0000-000000000003",
leaveType: "leave3",
name: "นายกัณฐิมา กาฬสินธ์ุ",
Date: new Date("2023-11-02"),
status: "PENDING",
quotaSick: "10",
leaveSick: "5",
quotaRemaining: "5",
notification: "หัวหน้างาน",
requesterPosition: "รองหัวหน้า",
requesterLevel: "ทั่วไป",
requesterBeUnder: "กรุงเทพมหานนคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-05"),
leaveTo: new Date("2023-11-08"),
leaveNumber: 5,
leaveDayType: "halfafternoon",
leaveLast: new Date("2023-10-08"),
phoneNumber: "095-123467",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 0,
currentHolidays: 0,
},
{
id: "00000000-0000-0000-0000-000000000004",
leaveType: "leave4",
name: "นายปิยรมย์ ศิริธาราฟ",
Date: new Date("2023-11-01"),
status: "PENDING",
quotaSick: "10",
leaveSick: "5",
quotaRemaining: "5",
notification: "หัวหน้างาน",
requesterPosition: "รองหัวหน้า",
requesterLevel: "ทั่วไป",
requesterBeUnder: "กรุงเทพมหานนคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-05"),
leaveTo: new Date("2023-11-08"),
leaveNumber: 6,
leaveDayType: "halfafternoon",
leaveLast: new Date("2023-10-08"),
phoneNumber: "095-123467",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "นางแก้ว ศิริธาราฟ",
dateOfBirth: new Date("2023-11-10"),
accumulatedHolidays: 0,
currentHolidays: 0,
},
];
/**
* Function fetch รายละเอยดของขอม
* @param paramsId ID จาก paramID
*/
function fetchDetailLeave(paramsId: string) {
const dataAPI = APIDATA.data;
const data = dataAPI.filter((e: any) => e.id === paramsId);
data.map((e: any) => {
formData.id = e.id;
formData.leaveType = e.leaveType;
formData.subject = e.leaveType
? stores.convertLeave(e.leaveType) || ""
: null;
@ -210,6 +137,37 @@ function fecthDetailLeave(paramsId: string) {
formData.dateOfBirth = e.dateOfBirth ? date2Thai(e.dateOfBirth) : null;
formData.accumulatedHolidays = e.accumulatedHolidays;
formData.currentHolidays = e.currentHolidays;
formData.birthday = e.birthday ? date2Thai(e.birthday) : null;
formData.receiveGovernment = e.receiveGovernment
? date2Thai(e.receiveGovernment)
: null;
formData.statusOrdained = e.statusOrdained;
formData.placeOrdination = e.placeOrdination;
formData.dateOrdination = e.dateOrdination
? date2Thai(e.dateOrdination)
: null;
formData.placeBuddhistLent = e.placeBuddhistLent;
formData.statusHajj = e.statusHajj;
formData.summons = e.summons;
formData.location = e.location;
formData.dateReceived = e.dateReceived ? date2Thai(e.dateReceived) : null;
formData.treatmentReceived = e.treatmentReceived;
formData.receivingLocation = e.receivingLocation;
formData.planTime = e.planTime;
formData.currentSalary = e.currentSalary;
formData.currentSalaryRead = e.currentSalaryRead;
formData.studySubjects = e.studySubjects;
formData.degreeLevel = e.degreeLevel;
formData.schoolName = e.schoolName;
formData.country = e.country;
formData.withCapital = e.withCapital;
formData.course = e.course;
formData.atThePlace = e.atThePlace;
formData.spouseName = e.spouseName;
formData.spousePosition = e.spousePosition;
formData.spouseLevel = e.spouseLevel;
formData.workCountry = e.workCountry;
formData.historyFollow = e.historyFollow;
});
// setTimeout(() => {
@ -218,7 +176,12 @@ function fecthDetailLeave(paramsId: string) {
hideLoader();
// }, 1000);
}
/**Status Form การลา*/
const checkForm = ref<string>("");
/**
* Function เชคประเภทการลา
* @param type บคาประเภทของการลา
*/
function checkLeaveType(type: string) {
if (type === "leave1" || type === "leave2" || type === "leave3") {
checkForm.value = "FormLeave";
@ -226,9 +189,26 @@ function checkLeaveType(type: string) {
checkForm.value = "FormChildbirth";
} else if (type === "leave5") {
checkForm.value = "FormHoliday";
} else if (type === "leave6") {
checkForm.value = "FormUpasom";
} else if (type === "leave7") {
checkForm.value = "FormHajj";
} else if (type === "leave8") {
checkForm.value = "FormCheckSelect";
} else if (type === "leave9") {
checkForm.value = "FormStudy";
} else if (type === "leave10") {
checkForm.value = "FormLeaveToTraining";
} else if (type === "leave11") {
checkForm.value = "FormLeaveToWorkInternational";
} else if (type === "leave12") {
checkForm.value = "FormSpouse";
} else if (type === "leave13") {
checkForm.value = "FormVocationalRehabilitation";
}
}
/** Function Save*/
function clickSave() {
dialogConfirm(
$q,
@ -237,6 +217,8 @@ function clickSave() {
"ต้องการยืนยันการอนุมัติใช่หรือไม่ ?"
);
}
/** Function Reject*/
function clickReject() {
dialogConfirm(
$q,
@ -355,13 +337,13 @@ function clickReject() {
</q-card>
</div>
<div class="row q-col-gutter-md col-12">
<div class="col-xs-12 col-sm-6 row">
<div class="col-xs-12 col-sm-5 row">
<!-- card าย -->
<q-card flat bordered class="col-12">
<FormMain :data="formData" />
</q-card>
</div>
<div class="col-xs-12 col-sm-6 row">
<div class="col-xs-12 col-sm-7 row">
<q-card flat bordered class="col-12">
<FormLeave v-if="checkForm === 'FormLeave'" :data="formData" />
<FormChildbirth
@ -372,6 +354,35 @@ function clickReject() {
v-else-if="checkForm === 'FormHoliday'"
:data="formData"
/>
<FormUpasom
v-else-if="checkForm === 'FormUpasom'"
:data="formData"
/>
<FormHajj v-else-if="checkForm === 'FormHajj'" :data="formData" />
<FormCheckSelect
v-else-if="checkForm === 'FormCheckSelect'"
:data="formData"
/>
<FormStudy
v-else-if="checkForm === 'FormStudy'"
:data="formData"
/>
<FormLeaveToTraining
v-else-if="checkForm === 'FormLeaveToTraining'"
:data="formData"
/>
<FormLeaveToWorkInternational
v-else-if="checkForm === 'FormLeaveToWorkInternational'"
:data="formData"
/>
<FormSpouse
v-else-if="checkForm === 'FormSpouse'"
:data="formData"
/>
<FormVocationalRehabilitation
v-else-if="checkForm === 'FormVocationalRehabilitation'"
:data="formData"
/>
</q-card>
</div>
</div>

View file

@ -0,0 +1,62 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
console.log(props);
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.leaveNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ไดบหมายเรยกของ</div>
<div class="col">{{ props.data.summons }}</div>
</div>
<div class="row">
<div class="col text-grey-8"></div>
<div class="col">{{ props.data.location }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลงวนท</div>
<div class="col">{{ props.data.dateReceived }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ใหเขารบการ</div>
<div class="col">{{ props.data.treatmentReceived }}</div>
</div>
<div class="row">
<div class="col text-grey-8"> </div>
<div class="col">{{ props.data.receivingLocation }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>
<style scoped></style>

View file

@ -0,0 +1,49 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.leaveNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นทเขารบราชการ</div>
<div class="col">{{ props.data.receiveGovernment }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เคย/ไมเคยไปประกอบพจย</div>
<div class="col">{{ props.data.statusHajj }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>
<style scoped></style>

View file

@ -0,0 +1,78 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.planTime }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นเดอนปเก</div>
<div class="col">{{ props.data.birthday }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นทเขารบราชการ</div>
<div class="col">{{ props.data.receiveGovernment }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เงนเดอนปจจ</div>
<div class="col">
{{ props.data.currentSalary }} ({{ props.data.currentSalaryRead }})
</div>
</div>
<div class="row">
<div class="col text-grey-8">าน/หลกสตร</div>
<div class="col">{{ props.data.course }}</div>
</div>
<div class="row">
<div class="col text-grey-8"> สถานท</div>
<div class="col">{{ props.data.atThePlace }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ประเทศ</div>
<div class="col">{{ props.data.country }}</div>
</div>
<div class="row">
<div class="col text-grey-8">วยท</div>
<div class="col">{{ props.data.withCapital }}</div>
</div>
<div class="row">
<div class="col text-grey-8">หมายเลขทดตอขณะลา</div>
<div class="col">{{ props.data.phoneNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อยดตอไดระหวางลา</div>
<div class="col">{{ props.data.address }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>

View file

@ -0,0 +1,59 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section
><h1>ลาไปปฏงานในองคการระหวางประเทศ</h1>
<!-- <div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนลาพกผอนสะสม จากปานมา</div>
<div class="col">{{ props.data.accumulatedHolidays }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนลาพกผอนประจำปจจ</div>
<div class="col">{{ props.data.currentHolidays }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.leaveNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8"></div>
<div class="col">{{ props.data.leaveDayType }}</div>
</div>
<div class="row">
<div class="col text-grey-8">หมายเลขทดตอขณะลา</div>
<div class="col">{{ props.data.phoneNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อยดตอไดระหวางลา</div>
<div class="col">{{ props.data.address }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div> -->
</q-card-section>
</template>

View file

@ -1,5 +1,4 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
@ -12,31 +11,31 @@ console.log(props);
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">นทนใบลา</div>
<div class="col-4 text-grey-8">นทนใบลา</div>
<div class="col">{{ props.data.Date }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เรอง</div>
<div class="col-4 text-grey-8">เรอง</div>
<div class="col">{{ props.data.subject }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เรยน</div>
<div class="col-4 text-grey-8">เรยน</div>
<div class="col">{{ props.data.notification }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อผนขอ</div>
<div class="col-4 text-grey-8">อผนขอ</div>
<div class="col">{{ props.data.name }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ตำแหนงผนขอ</div>
<div class="col-4 text-grey-8">ตำแหนงผนขอ</div>
<div class="col">{{ props.data.requesterPosition }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ระดบผนขอ</div>
<div class="col-4 text-grey-8">ระดบผนขอ</div>
<div class="col">{{ props.data.requesterLevel }}</div>
</div>
<div class="row">
<div class="col text-grey-8">งกดผนขอ</div>
<div class="col-4 text-grey-8">งกดผนขอ</div>
<div class="col">{{ props.data.requesterBeUnder }}</div>
</div>
</div>

View file

@ -0,0 +1,85 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.planTime }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นเดอนปเก</div>
<div class="col">{{ props.data.birthday }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นทเขารบราชการ</div>
<div class="col">{{ props.data.receiveGovernment }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เงนเดอนปจจ</div>
<div class="col">
{{ props.data.currentSalary }} ({{ props.data.currentSalaryRead }})
</div>
</div>
<div class="row">
<div class="col text-grey-8">อคสมรส</div>
<div class="col">{{ props.data.spouseName }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ตำแหนงคสมรส</div>
<div class="col">{{ props.data.spouseLevel }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ไปปฏราชการ ประเทศ</div>
<div class="col">{{ props.data.workCountry }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ประวการลาตดตามคสมรสครงสดทาย</div>
</div>
<div class="row q-mt-xs">
<div class="col text-grey-8">
<div class="q-ml-md" style="list-style-type: circle">
<li>ประเทศ</li>
<li>จำนวนว</li>
<li>งแตนท</li>
<li>งวนท</li>
<li>ลาตดตอกบครงกอน รวมทงนวย</li>
</div>
</div>
<div class="col">
<div>ประเทศ</div>
<div>จำนวนว</div>
<div>งแตนท</div>
<div>งวนท</div>
<div>ลาตดตอกบครงกอน รวมทงนวย</div>
</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>

View file

@ -0,0 +1,83 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.planTime }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นเดอนปเก</div>
<div class="col">{{ props.data.birthday }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นทเขารบราชการ</div>
<div class="col">{{ props.data.receiveGovernment }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เงนเดอนปจจ</div>
<div class="col">
{{ props.data.currentSalary }} ({{ props.data.currentSalaryRead }})
</div>
</div>
<div class="row">
<div class="col text-grey-8">กษาวชา</div>
<div class="col">{{ props.data.studySubjects }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นปรญญา</div>
<div class="col">{{ props.data.degreeLevel }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อสถานศกษา</div>
<div class="col">{{ props.data.schoolName }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ประเทศ</div>
<div class="col">{{ props.data.country }}</div>
</div>
<div class="row">
<div class="col text-grey-8">วยท</div>
<div class="col">{{ props.data.withCapital }}</div>
</div>
<div class="row">
<div class="col text-grey-8">หมายเลขทดตอขณะลา</div>
<div class="col">{{ props.data.phoneNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อยดตอไดระหวางลา</div>
<div class="col">{{ props.data.address }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>
<style scoped></style>

View file

@ -0,0 +1,65 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.leaveNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นเดอนปเก</div>
<div class="col">{{ props.data.birthday }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นทเขารบราชการ</div>
<div class="col">{{ props.data.receiveGovernment }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เคย/ไมเคยบวช</div>
<div class="col">{{ props.data.statusOrdained }}</div>
</div>
<div class="row">
<div class="col text-grey-8">สถานทบวช</div>
<div class="col">{{ props.data.placeOrdination }}</div>
</div>
<div class="row">
<div class="col text-grey-8">นอปสมบท</div>
<div class="col">{{ props.data.dateOrdination }}</div>
</div>
<div class="row">
<div class="col text-grey-8">สถานทจำพรรษา</div>
<div class="col">{{ props.data.placeBuddhistLent }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div>
</q-card-section>
</template>
<style scoped></style>

View file

@ -0,0 +1,59 @@
<script setup lang="ts">
const props = defineProps({
data: {
type: Object,
required: true,
},
});
</script>
<template>
<q-card-section>
<h1>ลาไปฟนฟสมรรถภาพดานอาช</h1>
<!-- <div class="q-pa-md q-gutter-md">
<div class="row">
<div class="col text-grey-8">เขยนท</div>
<div class="col">{{ props.data.writeAt }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนลาพกผอนสะสม จากปานมา</div>
<div class="col">{{ props.data.accumulatedHolidays }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนลาพกผอนประจำปจจ</div>
<div class="col">{{ props.data.currentHolidays }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาตงแตนท</div>
<div class="col">{{ props.data.leaveSince }}</div>
</div>
<div class="row">
<div class="col text-grey-8">ลาถงวนท</div>
<div class="col">{{ props.data.leaveTo }}</div>
</div>
<div class="row">
<div class="col text-grey-8">จำนวนวนทลา</div>
<div class="col">{{ props.data.leaveNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8"></div>
<div class="col">{{ props.data.leaveDayType }}</div>
</div>
<div class="row">
<div class="col text-grey-8">หมายเลขทดตอขณะลา</div>
<div class="col">{{ props.data.phoneNumber }}</div>
</div>
<div class="row">
<div class="col text-grey-8">อยดตอไดระหวางลา</div>
<div class="col">{{ props.data.address }}</div>
</div>
<div class="row">
<div class="col text-grey-8">รายละเอยด</div>
<div class="col">{{ props.data.detail }}</div>
</div>
<div class="row">
<div class="col text-grey-8">เอกสารแบบ</div>
<div class="col">ไมพบเอกสาร</div>
</div>
</div> -->
</q-card-section>
</template>

View file

@ -33,6 +33,33 @@ interface FremData {
dateOfBirth: string | null;
accumulatedHolidays: number;
currentHolidays: number;
birthday: string | null;
receiveGovernment: string | null;
statusOrdained: string;
placeOrdination: string;
dateOrdination: string | null;
placeBuddhistLent: string | null;
statusHajj: string;
summons: string; // ได้รับหมายเรียกของ
location: string; //ที่
dateReceived: string | null; // ลงวันที่
treatmentReceived: string; // ให้เข้ารับการ
receivingLocation: string; //ณ ที่
planTime: string; //มีกำหนด กี่ปี กี่เดือน กี่วัน
currentSalary: string | null; //เงินเดือนปัจจุบัน
currentSalaryRead: string; //เงินเดือนปัจจุบัน(อ่าน)
studySubjects: string; //ศึกษาวิชา
degreeLevel: string; // ขั้นปริญญา
schoolName: string; //ชื่อสถานศึกษา
country: string; //ประเทศ
withCapital: string; // ด้วยทุน
course: string; // ด้านหลักสูตร
atThePlace: string; // ณ สถานที่
spouseName: string; // ชื่อคู่สมรส
spousePosition: string; // ตำแหน่งคู่สมรส
spouseLevel: string; // ระดับคู่สมรส
workCountry: string; // ไปปฏิบัติราชการ ณ ประเทศ
historyFollow: string;
}
export type { ListsData, FremData };

View file

@ -2,6 +2,7 @@ import { defineStore } from "pinia";
import { ref, onMounted } from "vue";
import { useCounterMixin } from "@/stores/mixin";
/** importType*/
import type { DataOption } from "@/modules/09_leave/interface/index/Main";
import type { QTableProps } from "quasar";
import type { DataRows } from "@/modules/09_leave/interface/response/leave";
@ -9,11 +10,13 @@ import type { ListsData } from "@/modules/09_leave/interface/request/leave";
const mixin = useCounterMixin();
const { date2Thai, showLoader, hideLoader } = mixin;
export const useLeavelistDataStore = defineStore("leave", () => {
//TABMENU
/** TABMENU*/
const amounttab1 = ref<number>(0);
const amounttab2 = ref<number>(0);
//ข้อมูลในตาราง
/**ข้อมูลใน Table*/
const mainData = ref<any>([]);
const rows = ref<DataRows[]>([]);
const selectStatus = ref<string>("PENDING");
@ -34,6 +37,10 @@ export const useLeavelistDataStore = defineStore("leave", () => {
];
const leaveOps = ref<any>(leaveOp);
const statusOps = ref<any>(statusOp);
/**
* fetchList
* @param data Page
*/
async function fetchList(data: ListsData[]) {
let datalist = data.map((e: ListsData) => ({
id: e.id,
@ -49,18 +56,22 @@ export const useLeavelistDataStore = defineStore("leave", () => {
amounttab2.value = datalist.length;
await searchDataFn(selectType.value, selectStatus.value);
}
//filter table
/**ref ของการค้นหาข้อมูล */
const selectYear = ref<string>("all");
const selectType = ref<string>("all");
const optionYear = ref<DataOption[]>([{ id: "all", name: "ทั้งหมด" }]);
const optionType = ref<DataOption[]>([]);
const optionStatus = ref<DataOption[]>([]);
const optionTypeMain = ref<DataOption[]>([]);
const optionStatusMain = ref<DataOption[]>([]);
const filterTable = ref<string>("");
/**
* Table
* @param type
* @param status
*/
function searchDataFn(type: string, status: string) {
// selectYear.value = selectYear.value || "all"
type = type || "all";
status = status || "all";
// showLoader()
@ -132,6 +143,10 @@ export const useLeavelistDataStore = defineStore("leave", () => {
loadTable.value = false;
}, 500);
}
/**
*
*/
function clearFilter() {
selectYear.value = "all";
selectType.value = "all";
@ -139,7 +154,12 @@ export const useLeavelistDataStore = defineStore("leave", () => {
filterTable.value = "";
}
// filter option
/**
* Option Filter
* @param val
* @param update Function
* @param name Select
*/
function filterOption(val: string, update: any, name: string) {
update(() => {
const needle = val.toLowerCase();
@ -155,7 +175,10 @@ export const useLeavelistDataStore = defineStore("leave", () => {
});
}
// convertSatatus
/**
*
* @param val
*/
function convertSatatus(val: string) {
switch (val) {
case "NEW":
@ -168,6 +191,11 @@ export const useLeavelistDataStore = defineStore("leave", () => {
return "ไม่อนุมัติ";
}
}
/**
*
* @param val
*/
function convertLeave(val: string) {
switch (val) {
case "leave1":
@ -180,8 +208,29 @@ export const useLeavelistDataStore = defineStore("leave", () => {
return "ลาไปช่วยเหลือภริยาที่คลอดบุตร";
case "leave5":
return "ลาพักผ่อน";
case "leave6":
return "ลาอุปสมบท";
case "leave7":
return "ลาประกอบพิธีฮัจย์";
case "leave8":
return "ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล";
case "leave9":
return "ลาไปศึกษา";
case "leave10":
return "ลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน";
case "leave11":
return "ลาไปปฏิบัติงานในองค์การระหว่างประเทศ";
case "leave12":
return "ลาติดตามคู่สมรส";
case "leave13":
return "ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ";
}
}
/**
*
* @param val
*/
function convertLeaveDaytype(val: string) {
switch (val) {
case "allday":

View file

@ -0,0 +1,713 @@
import { defineStore } from "pinia";
export const useLeavelistDataStoreTest = defineStore("listleavetest", () => {
const data = [
{
id: "00000000-0000-0000-0000-000000000000",
leaveType: "leave1",
name: "นายกัณฐิมา กาฬสินธ์ุ",
Date: new Date("2023-11-03"),
status: "PENDING",
quotaSick: "10",
leaveSick: "5",
quotaRemaining: "5",
notification: "สำนักงาน",
requesterPosition: "รองหัวหน้า",
requesterLevel: "ทั่วไป",
requesterBeUnder: "กรุงเทพมหานนคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-05"),
leaveTo: new Date("2023-11-08"),
leaveNumber: 3,
leaveDayType: "allday",
leaveLast: new Date("2023-10-08"),
phoneNumber: "095-123467",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 5,
currentHolidays: 10,
birthday: new Date("1994-11-05"),
receiveGovernment: new Date("2020-11-05"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-12345567",
dateOrdination: new Date("2023-11-07"),
placeBuddhistLent: "วัดโป่ง ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-11-07"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 3 เดือน 5 วัน",
currentSalary: "20,000",
currentSalaryRead: " สองหมื่นบาท",
studySubjects: "เมจิกและเวทมนตร์",
degreeLevel: "ปริญญาเอก",
schoolName: "ฮอกวอตส์",
country: "สกอตแลนด์",
withCapital: "กระทรวงเวทมนตร์",
course: "เวทมนตร์",
atThePlace: "รร ฮอกวอตส์",
spouseName: "เฮอร์ไมโอนี่ เกรนเจอร์",
spousePosition: "นักเรียน",
spouseLevel: "เวทมนตร์ระดับ2",
workCountry: "สกอตแลนด์",
historyFollow: "",
},
{
id: "11111111-1111-1111-1111-111111111111",
leaveType: "leave2",
name: "นายอรรถพล สุขสวัสดิ์",
Date: new Date("2023-11-05"),
status: "PENDING",
quotaSick: "12",
leaveSick: "6",
quotaRemaining: "6",
notification: "สำนักงาน",
requesterPosition: "ผู้จัดการ",
requesterLevel: "สูง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-11-10"),
leaveTo: new Date("2023-11-15"),
leaveNumber: 4,
leaveDayType: "halfday",
leaveLast: new Date("2023-10-15"),
phoneNumber: "092-345678",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 8,
currentHolidays: 12,
birthday: new Date("1985-05-20"),
receiveGovernment: new Date("2019-05-20"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-23456789",
dateOrdination: new Date("2023-11-12"),
placeBuddhistLent: "วัดสวน ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-11-12"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "3 ปี 6 เดือน 7 วัน",
currentSalary: "25,000",
currentSalaryRead: " ยี่สิบห้าหมื่นบาท",
studySubjects: "วิทยาการคอมพิวเตอร์",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยมหิดล",
country: "ไทย",
withCapital: "กระทรวงศึกษาธิการ",
course: "วิทยาการคอมพิวเตอร์",
atThePlace: "คณะวิทยาศาสตร์",
spouseName: "สาวสุนิตา พรหมสิน",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
{
id: "22222222-2222-2222-2222-222222222222",
leaveType: "leave3",
name: "นางสาวณัฐวดี บุญธีระ",
Date: new Date("2023-11-08"),
status: "PENDING",
quotaSick: "15",
leaveSick: "7",
quotaRemaining: "8",
notification: "สำนักงาน",
requesterPosition: "เจ้าหน้าที่",
requesterLevel: "ปานกลาง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "บ้าน",
leaveSince: new Date("2023-11-12"),
leaveTo: new Date("2023-11-14"),
leaveNumber: 5,
leaveDayType: "allday",
leaveLast: new Date("2023-10-14"),
phoneNumber: "089-876543",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 10,
currentHolidays: 15,
birthday: new Date("1990-03-15"),
receiveGovernment: new Date("2018-03-15"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-34567890",
dateOrdination: new Date("2023-11-16"),
placeBuddhistLent: "วัดศรี ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-11-16"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 4 เดือน 6 วัน",
currentSalary: "22,000",
currentSalaryRead: " ยี่สิบสองหมื่นบาท",
studySubjects: "วิศวกรรมไฟฟ้า",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยเทคโนโลยี",
country: "ไทย",
withCapital: "กระทรวงพลังงาน",
course: "วิศวกรรมไฟฟ้า",
atThePlace: "คณะวิศวกรรมศาสตร์",
spouseName: "นายสมหวัง บุญแท้",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ1",
workCountry: "ไทย",
},
{
id: "33333333-3333-3333-3333-333333333333",
leaveType: "leave4",
name: "นายสุรชัย ชมทรัพย์",
Date: new Date("2023-11-10"),
status: "PENDING",
quotaSick: "8",
leaveSick: "4",
quotaRemaining: "4",
notification: "สำนักงาน",
requesterPosition: "พนักงาน",
requesterLevel: "ต่ำ",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-11-15"),
leaveTo: new Date("2023-11-17"),
leaveNumber: 6,
leaveDayType: "halfday",
leaveLast: new Date("2023-10-17"),
phoneNumber: "081-234567",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "นางชมทรัพย์ ชมทรัพย์",
dateOfBirth: new Date("2023-11-17"),
accumulatedHolidays: 6,
currentHolidays: 8,
birthday: new Date("1978-09-25"),
receiveGovernment: new Date("2016-09-25"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-45678901",
dateOrdination: new Date("2023-11-18"),
placeBuddhistLent: "วัดสุวรรณ ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-11-18"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "1 ปี 2 เดือน 3 วัน",
currentSalary: "18,000",
currentSalaryRead: " สิบแปดหมื่นบาท",
studySubjects: "วิทยาการคอมพิวเตอร์",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยธรรมศาสตร์",
country: "ไทย",
withCapital: "กระทรวงสาธารณสุข",
course: "วิทยาการคอมพิวเตอร์",
atThePlace: "คณะวิทยาศาสตร์",
spouseName: "นางสาววราภรณ์ ชมสุข",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ2",
workCountry: "ไทย",
},
{
id: "44444444-4444-4444-4444-444444444444",
leaveType: "leave5",
name: "นายสุริยุทธ ชนะเลิศ",
Date: new Date("2023-11-20"),
status: "PENDING",
quotaSick: "10",
leaveSick: "4",
quotaRemaining: "6",
notification: "สำนักงาน",
requesterPosition: "พนักงาน",
requesterLevel: "ต่ำ",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-11-23"),
leaveTo: new Date("2023-11-25"),
leaveNumber: 3,
leaveDayType: "allday",
leaveLast: new Date("2023-10-25"),
phoneNumber: "094-765432",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 6,
currentHolidays: 10,
birthday: new Date("1990-09-12"),
receiveGovernment: new Date("2015-09-12"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-56789012",
dateOrdination: new Date("2023-11-26"),
placeBuddhistLent: "วัดศรีสุนทร ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-11-26"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 1 เดือน 3 วัน",
currentSalary: "18,000",
currentSalaryRead: " สิบแปดหมื่นบาท",
studySubjects: "วิทยาการสารสนเทศ",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยเทคโนโลยีสุรนารี",
country: "ไทย",
withCapital: "กรมหลวงนราธิวาสราชนครินทร์",
course: "วิทยาการสารสนเทศ",
atThePlace: "คณะวิทยาศาสตร์",
spouseName: "นางสาวสมใจ สวยสวย",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ1",
workCountry: "ไทย",
},
{
id: "55555555-5555-5555-5555-555555555555",
leaveType: "leave6",
name: "นางวารี ศรีสวัสดิ์",
Date: new Date("2023-11-25"),
status: "PENDING",
quotaSick: "8",
leaveSick: "2",
quotaRemaining: "6",
notification: "สำนักงาน",
requesterPosition: "เจ้าหน้าที่",
requesterLevel: "ปานกลาง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-11-28"),
leaveTo: new Date("2023-11-30"),
leaveNumber: 2,
leaveDayType: "halfday",
leaveLast: new Date("2023-10-30"),
phoneNumber: "095-654321",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 5,
currentHolidays: 8,
birthday: new Date("1987-04-18"),
receiveGovernment: new Date("2017-04-18"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-67890123",
dateOrdination: new Date("2023-12-01"),
placeBuddhistLent: "วัดวรรณคดี ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-01"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "1 ปี 3 เดือน 2 วัน",
currentSalary: "24,000",
currentSalaryRead: " ยี่สิบสี่หมื่นบาท",
studySubjects: "นิเทศศาสตร์",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยมหิดล",
country: "ไทย",
withCapital: "กรมประชาสัมพันธ์",
course: "นิเทศศาสตร์",
atThePlace: "คณะนิเทศศาสตร์",
spouseName: "นายสุรพงษ์ สุวรรณ",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
{
id: "66666666-6666-6666-6666-666666666666",
leaveType: "leave7",
name: "นางสุภาพร พูลทอง",
Date: new Date("2023-11-30"),
status: "PENDING",
quotaSick: "12",
leaveSick: "5",
quotaRemaining: "7",
notification: "สำนักงาน",
requesterPosition: "เจ้าหน้าที่",
requesterLevel: "ปานกลาง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-03"),
leaveTo: new Date("2023-12-08"),
leaveNumber: 4,
leaveDayType: "allday",
leaveLast: new Date("2023-11-08"),
phoneNumber: "096-543210",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 9,
currentHolidays: 12,
birthday: new Date("1991-06-25"),
receiveGovernment: new Date("2016-06-25"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-78901234",
dateOrdination: new Date("2023-12-10"),
placeBuddhistLent: "วัดมหาธาตุ ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-10"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 5 เดือน 1 วัน",
currentSalary: "28,000",
currentSalaryRead: " ยี่สิบแปดหมื่นบาท",
studySubjects: "ภาษาไทย",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยมหิดล",
country: "ไทย",
withCapital: "กรมสามัญศึกษา",
course: "ภาษาไทย",
atThePlace: "คณะอักษรศาสตร์",
spouseName: "นายชัชวาล พูลทอง",
spousePosition: "นักศึกษา",
spouseLevel: "มัธยมระดับ2",
workCountry: "ไทย",
},
{
id: "77777777-7777-7777-7777-777777777777",
leaveType: "leave8",
name: "นายวิทยา สุขทอง",
Date: new Date("2023-12-05"),
status: "PENDING",
quotaSick: "15",
leaveSick: "7",
quotaRemaining: "8",
notification: "สำนักงาน",
requesterPosition: "ผู้จัดการ",
requesterLevel: "สูง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-08"),
leaveTo: new Date("2023-12-15"),
leaveNumber: 6,
leaveDayType: "allday",
leaveLast: new Date("2023-11-15"),
phoneNumber: "097-432109",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 10,
currentHolidays: 15,
birthday: new Date("1983-12-20"),
receiveGovernment: new Date("2013-12-20"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-89012345",
dateOrdination: new Date("2023-12-17"),
placeBuddhistLent: "วัดอรุณ ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-17"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "3 ปี 2 เดือน 10 วัน",
currentSalary: "35,000",
currentSalaryRead: " สามหมื่นห้าหมื่นบาท",
studySubjects: "วิศวกรรมศาสตร์",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยเชียงใหม่",
country: "ไทย",
withCapital: "กรมธนารักษ์",
course: "วิศวกรรมศาสตร์",
atThePlace: "คณะวิศวกรรมศาสตร์",
spouseName: "นางสาวนารีรัตน์ สุขทอง",
spousePosition: "นักศึกษา",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
{
id: "88888888-8888-8888-8888-888888888888",
leaveType: "leave9",
name: "นายอนันต์ บุญเกิด",
Date: new Date("2023-12-10"),
status: "PENDING",
quotaSick: "10",
leaveSick: "3",
quotaRemaining: "7",
notification: "สำนักงาน",
requesterPosition: "พนักงาน",
requesterLevel: "ต่ำ",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-13"),
leaveTo: new Date("2023-12-17"),
leaveNumber: 4,
leaveDayType: "halfday",
leaveLast: new Date("2023-11-17"),
phoneNumber: "098-321765",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 8,
currentHolidays: 10,
birthday: new Date("1986-03-08"),
receiveGovernment: new Date("2016-03-08"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-90123456",
dateOrdination: new Date("2023-12-19"),
placeBuddhistLent: "วัดวรรณสาร ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-19"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 3 เดือน 5 วัน",
currentSalary: "20,000",
currentSalaryRead: " ยี่สิบหมื่นบาท",
studySubjects: "ศิลปกรรม",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยศิลปากร",
country: "ไทย",
withCapital: "กรมศิลปากร",
course: "ศิลปกรรม",
atThePlace: "คณะศิลปกรรม",
spouseName: "นางสาวพิมพ์ทรง บุญเกิด",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ2",
workCountry: "ไทย",
},
{
id: "99999999-9999-9999-9999-999999999999",
leaveType: "leave10",
name: "นางอารีย์ มานะ",
Date: new Date("2023-12-15"),
status: "PENDING",
quotaSick: "10",
leaveSick: "6",
quotaRemaining: "4",
notification: "สำนักงาน",
requesterPosition: "เจ้าหน้าที่",
requesterLevel: "ปานกลาง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-18"),
leaveTo: new Date("2023-12-22"),
leaveNumber: 5,
leaveDayType: "allday",
leaveLast: new Date("2023-11-22"),
phoneNumber: "099-876543",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 6,
currentHolidays: 10,
birthday: new Date("1993-07-30"),
receiveGovernment: new Date("2018-07-30"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-12345678",
dateOrdination: new Date("2023-12-24"),
placeBuddhistLent: "วัดสวย ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-24"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 2 เดือน 7 วัน",
currentSalary: "25,000",
currentSalaryRead: " ยี่สิบห้าหมื่นบาท",
studySubjects: "เศรษฐศาสตร์",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยเชียงใหม่",
country: "ไทย",
withCapital: "กรมการปกครอง",
course: "เศรษฐศาสตร์",
atThePlace: "คณะเศรษฐศาสตร์",
spouseName: "นายวิชัย มานะ",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
{
id: "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
leaveType: "leave11",
name: "นายวรเดช บุญเพ็ญ",
Date: new Date("2023-12-20"),
status: "PENDING",
quotaSick: "12",
leaveSick: "7",
quotaRemaining: "5",
notification: "สำนักงาน",
requesterPosition: "พนักงาน",
requesterLevel: "ต่ำ",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-23"),
leaveTo: new Date("2023-12-28"),
leaveNumber: 6,
leaveDayType: "allday",
leaveLast: new Date("2023-11-28"),
phoneNumber: "090-654321",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 9,
currentHolidays: 12,
birthday: new Date("1989-10-15"),
receiveGovernment: new Date("2014-10-15"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-23456789",
dateOrdination: new Date("2023-12-30"),
placeBuddhistLent: "วัดป่าสวรรค์ ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2023-12-30"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "1 ปี 4 เดือน 10 วัน",
currentSalary: "30,000",
currentSalaryRead: " สามหมื่นบาท",
studySubjects: "วิทยาศาสตร์",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยเชียงใหม่",
country: "ไทย",
withCapital: "กรมสามัญศึกษา",
course: "วิทยาศาสตร์",
atThePlace: "คณะวิทยาศาสตร์",
spouseName: "นางสาวกนกกาญจน์ บุญเพ็ญ",
spousePosition: "นักศึกษา",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
{
id: "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
leaveType: "leave12",
name: "นายสรวล สุนทร",
Date: new Date("2023-12-25"),
status: "PENDING",
quotaSick: "10",
leaveSick: "4",
quotaRemaining: "6",
notification: "สำนักงาน",
requesterPosition: "พนักงาน",
requesterLevel: "ต่ำ",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2023-12-28"),
leaveTo: new Date("2024-01-03"),
leaveNumber: 7,
leaveDayType: "allday",
leaveLast: new Date("2023-11-03"),
phoneNumber: "091-987654",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 5,
currentHolidays: 10,
birthday: new Date("1992-03-12"),
receiveGovernment: new Date("2017-03-12"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-34567890",
dateOrdination: new Date("2024-01-05"),
placeBuddhistLent: "วัดสวย ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2024-01-05"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 1 เดือน 2 วัน",
currentSalary: "22,000",
currentSalaryRead: " ยี่สิบสองหมื่นบาท",
studySubjects: "วิทยาศาสตร์คอมพิวเตอร์",
degreeLevel: "ปริญญาตรี",
schoolName: "มหาวิทยาลัยเชียงใหม่",
country: "ไทย",
withCapital: "กรมสามัญศึกษา",
course: "วิทยาศาสตร์คอมพิวเตอร์",
atThePlace: "คณะวิทยาศาสตร์",
spouseName: "นางสาวสมพร สุนทร",
spousePosition: "นักศึกษา",
spouseLevel: "มัธยมระดับ2",
workCountry: "ไทย",
},
{
id: "cccccccc-cccc-cccc-cccc-cccccccccccc",
leaveType: "leave12",
name: "นายประสิทธิ์ ศรีสุข",
Date: new Date("2024-01-01"),
status: "PENDING",
quotaSick: "14",
leaveSick: "6",
quotaRemaining: "8",
notification: "สำนักงาน",
requesterPosition: "ผู้จัดการ",
requesterLevel: "สูง",
requesterBeUnder: "กรุงเทพมหานคร",
writeAt: "ที่ทำงาน",
leaveSince: new Date("2024-01-04"),
leaveTo: new Date("2024-01-09"),
leaveNumber: 5,
leaveDayType: "allday",
leaveLast: new Date("2023-12-09"),
phoneNumber: "092-876543",
address: "ที่อยู่ที่ติดต่อได้ระหว่างลา",
detail: "รายละเอียดการลา",
document: null,
nameWife: "",
dateOfBirth: null,
accumulatedHolidays: 9,
currentHolidays: 14,
birthday: new Date("1985-08-18"),
receiveGovernment: new Date("2010-08-18"),
statusOrdained: "ไม่เคย",
placeOrdination: "บ้าน ต.เมือง อ.เมือง จ.เชียงใหม่ T.02-45678901",
dateOrdination: new Date("2024-01-11"),
placeBuddhistLent: "วัดป่าไผ่ ต.เมือง อ.เมือง จ.เชียงใหม่",
statusHajj: "ไม่เคย",
summons: "ได้รับหมายเรียกของ",
location: "ที่",
dateReceived: new Date("2024-01-11"),
treatmentReceived: "ให้เข้ารับการ",
receivingLocation: "ณ ที่",
planTime: "2 ปี 4 เดือน 3 วัน",
currentSalary: "32,000",
currentSalaryRead: " สามหมื่นสองหมื่นบาท",
studySubjects: "บริหารธุรกิจ",
degreeLevel: "ปริญญาโท",
schoolName: "มหาวิทยาลัยธรรมศาสตร์",
country: "ไทย",
withCapital: "กรมการปกครอง",
course: "บริหารธุรกิจ",
atThePlace: "คณะบริหารธุรกิจ",
spouseName: "นางสาววรนิศา ศรีสุข",
spousePosition: "นักเรียน",
spouseLevel: "มัธยมระดับ3",
workCountry: "ไทย",
},
];
return {
data,
};
});

View file

@ -1,53 +1,36 @@
<script setup lang="ts">
import { ref, onMounted } from "vue";
/**importType*/
import type { DataRows } from "@/modules/09_leave/interface/response/leave";
// importStroe
/**importStroe*/
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
// importComponets
import { useLeavelistDataStoreTest } from "@/modules/09_leave/stores/ListLeave";
/**importComponets*/
import TableList from "@/modules/09_leave/components/2_Leave/TableList.vue";
import ToolBar from "@/modules/09_leave/components/2_Leave/ToolBar.vue";
const leaveStore = useLeavelistDataStore();
const APIDATA = useLeavelistDataStoreTest();
const { fetchList, clearFilter } = leaveStore;
onMounted(() => {
fecthLeaveList();
});
// API
/**
* เรยกขอมลจาก API
*/
function fecthLeaveList() {
const data = [
{
id: "00000000-0000-0000-0000-000000000001",
leaveType: "leave1",
name: "นายกัณฐิมา กาฬสินธ์ุ",
Date: "2023-11-03",
status: "NEW",
},
{
id: "00000000-0000-0000-0000-000000000002",
leaveType: "leave1",
name: "นายนครชัย วันดี",
Date: "2023-11-01",
status: "APPROVE",
},
{
id: "00000000-0000-0000-0000-000000000003",
leaveType: "leave1",
name: "นายกัณฐิมา กาฬสินธ์ุ",
Date: "2023-11-02",
status: "PENDING",
},
{
id: "00000000-0000-0000-0000-000000000004",
leaveType: "leave2",
name: "นายปิยรมย์ ศิริธาราฟ",
Date: "2023-11-01",
status: "PENDING",
},
];
fetchList(data); // stores
console.log(APIDATA.data);
const data = APIDATA.data;
fetchList(data); /** ส่งข้อมูลไป stores*/
}
// Tab
/** เปลี่ยน TAB*/
function changTab() {
clearFilter();
fecthLeaveList();