รายละเอียดการลา
This commit is contained in:
parent
7f3deec9e6
commit
80f04105a4
22 changed files with 475 additions and 307 deletions
|
|
@ -21,11 +21,12 @@ export default {
|
||||||
leaveType: () => `${leave}/type`,
|
leaveType: () => `${leave}/type`,
|
||||||
leaveList: () => `${leave}/admin`,
|
leaveList: () => `${leave}/admin`,
|
||||||
leaveListDelete: () => `${leave}/admin/delete`,
|
leaveListDelete: () => `${leave}/admin/delete`,
|
||||||
|
leaveListDeleteByid: (id: string) => `${leave}/user/delete/${id}`,
|
||||||
leaveListById: (id: string) => `${leave}/admin/${id}`,
|
leaveListById: (id: string) => `${leave}/admin/${id}`,
|
||||||
leaveCalendar: () => `${leave}/user/calendar`,
|
leaveCalendar: () => `${leave}/user/calendar`,
|
||||||
leaveApproveToComander: (id: string) =>
|
leaveApproveToComander: (id: string) =>
|
||||||
`${leave}/admin/approve/officer/${id}`,
|
`${leave}/admin/approve/officer/${id}`,
|
||||||
leaveComanderApprove: (id: string) => `${leave}/admin/comander/${id}`,
|
leaveComanderApprove: (id: string) => `${leave}/admin/approve/comander/${id}`,
|
||||||
leaveApprove: (id: string) => `${leave}/admin/approve/${id}`,
|
leaveApprove: (id: string) => `${leave}/admin/approve/${id}`,
|
||||||
leaveReject: (id: string) => `${leave}/admin/reject/${id}`,
|
leaveReject: (id: string) => `${leave}/admin/reject/${id}`,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,12 @@ import { useQuasar } from "quasar";
|
||||||
import http from "@/plugins/http";
|
import http from "@/plugins/http";
|
||||||
import config from "@/app.config";
|
import config from "@/app.config";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
import keycloak from "@/plugins/keycloak";
|
||||||
|
|
||||||
import type { DataDateMonthObject } from "@/modules/09_leave/interface/response/leave";
|
import type {
|
||||||
|
DataDateMonthObject,
|
||||||
|
ResCalendar,
|
||||||
|
} from "@/modules/09_leave/interface/response/leave";
|
||||||
|
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
|
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
|
||||||
|
|
@ -23,6 +27,10 @@ const { showLoader, hideLoader, messageError, monthYear2Thai } = mixin;
|
||||||
|
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
|
const keycloakId = ref<string>(
|
||||||
|
keycloak.tokenParsed ? keycloak.tokenParsed.sub!.toString() : ""
|
||||||
|
);
|
||||||
/**
|
/**
|
||||||
* Option ของปฏิทิน
|
* Option ของปฏิทิน
|
||||||
*/
|
*/
|
||||||
|
|
@ -62,7 +70,7 @@ const dateMonth = ref<DataDateMonthObject>({
|
||||||
month: new Date().getMonth(),
|
month: new Date().getMonth(),
|
||||||
year: new Date().getFullYear(),
|
year: new Date().getFullYear(),
|
||||||
});
|
});
|
||||||
const mainData = ref<any>([]);
|
const mainData = ref<ResCalendar[]>([]);
|
||||||
|
|
||||||
async function fetchDataCalendar() {
|
async function fetchDataCalendar() {
|
||||||
showLoader();
|
showLoader();
|
||||||
|
|
@ -74,22 +82,22 @@ async function fetchDataCalendar() {
|
||||||
mainData.value = res.data.result;
|
mainData.value = res.data.result;
|
||||||
|
|
||||||
const double_name = [
|
const double_name = [
|
||||||
...new Set(mainData.value.map((item: any) => item.fullName)),
|
...new Set(mainData.value.map((item: ResCalendar) => item.keycloakId)),
|
||||||
];
|
];
|
||||||
|
filterLists.value = [];
|
||||||
for (let i = 1; i <= double_name.length; i++) {
|
for (let i = 1; i <= double_name.length; i++) {
|
||||||
filterLists.value = [];
|
|
||||||
const name = double_name[i - 1];
|
const name = double_name[i - 1];
|
||||||
const filterName = {
|
const filterName = {
|
||||||
id: name,
|
id: name,
|
||||||
name: name,
|
name: convertKeycloakId(name),
|
||||||
color: name === "นางสาวสาวิตรี ศรีสมัย" ? "green" : "grey",
|
color: name === keycloakId.value ? "green" : "grey",
|
||||||
};
|
};
|
||||||
|
|
||||||
filterLists.value.push(filterName);
|
filterLists.value.push(filterName);
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = mainData.value.filter(
|
const data = mainData.value.filter(
|
||||||
(e: any) => e.fullName === "นางสาวสาวิตรี ศรีสมัย"
|
(e: any) => e.keycloakId === keycloakId.value
|
||||||
);
|
);
|
||||||
|
|
||||||
const event = data.map((e: any) => ({
|
const event = data.map((e: any) => ({
|
||||||
|
|
@ -101,7 +109,6 @@ async function fetchDataCalendar() {
|
||||||
color: leaveStore.colorType(e.leaveTypeId),
|
color: leaveStore.colorType(e.leaveTypeId),
|
||||||
textColor: "black",
|
textColor: "black",
|
||||||
}));
|
}));
|
||||||
console.log(event);
|
|
||||||
|
|
||||||
calendarOptions.value.events = event;
|
calendarOptions.value.events = event;
|
||||||
})
|
})
|
||||||
|
|
@ -117,17 +124,24 @@ async function fetchDataCalendar() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function convertKeycloakId(id: any) {
|
||||||
|
const filterName = mainData.value.find(
|
||||||
|
(e: ResCalendar) => e.keycloakId === id
|
||||||
|
);
|
||||||
|
return filterName?.fullName;
|
||||||
|
}
|
||||||
|
|
||||||
// filter calendar left
|
// filter calendar left
|
||||||
const filterLists = ref<any[]>([]);
|
const filterLists = ref<any[]>([]);
|
||||||
const filterVal = ref(["นางสาวสาวิตรี ศรีสมัย"]);
|
const filterVal = ref<any>([]);
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => filterVal.value,
|
() => filterVal.value,
|
||||||
() => {
|
() => {
|
||||||
const eventData = filterVal.value.map((item: any) => {
|
const eventData = filterVal.value.map((item: any) => {
|
||||||
return mainData.value
|
return mainData.value
|
||||||
.filter((e: any) => e.fullName === item)
|
.filter((e: ResCalendar) => e.keycloakId === item)
|
||||||
.map((e: any) => ({
|
.map((e: ResCalendar) => ({
|
||||||
id: e.id,
|
id: e.id,
|
||||||
title: `${e.fullName} (${e.leaveTypeName}) `,
|
title: `${e.fullName} (${e.leaveTypeName}) `,
|
||||||
start: e.leaveStartDate,
|
start: e.leaveStartDate,
|
||||||
|
|
@ -137,7 +151,8 @@ watch(
|
||||||
allDay: true,
|
allDay: true,
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
calendarOptions.value.events = eventData[0];
|
const allEventData = [].concat(...eventData);
|
||||||
|
calendarOptions.value.events = allEventData;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -149,37 +164,14 @@ function redirectToDetail(id: string) {
|
||||||
* เรียกฟังก์ชันทั้งหมดตอนเรียกใช้ไฟล์นี้
|
* เรียกฟังก์ชันทั้งหมดตอนเรียกใช้ไฟล์นี้
|
||||||
*/
|
*/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
filterVal.value.push(keycloakId.value);
|
||||||
await fetchDataCalendar();
|
await fetchDataCalendar();
|
||||||
// if (fullCalendar !== undefined) {
|
|
||||||
// const calen = fullCalendar.value.getApi();
|
|
||||||
// const date = new Date(dateMonth.value.year, dateMonth.value.month);
|
|
||||||
// calen.gotoDate(date);
|
|
||||||
// }
|
|
||||||
});
|
});
|
||||||
|
|
||||||
async function changCalendar() {
|
async function changCalendar() {
|
||||||
await fetchDataCalendar();
|
await fetchDataCalendar();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* ค่า props(วันเดือนปีที่เลือก) ตอนอัพเดท ค่าฏิทินให้อัพเดทใหม่
|
|
||||||
*/
|
|
||||||
// watch(props, async (count, prevCount) => {
|
|
||||||
// const calen = fullCalendar.value.getApi();
|
|
||||||
// const date = new Date(props.dateYear, props.dateMonth);
|
|
||||||
// calen.gotoDate(date);
|
|
||||||
// });
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ฟังก์ชั่นยกเลิก model
|
|
||||||
* @param text
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ฟังก์ชั่นเปิด model
|
|
||||||
* @param text
|
|
||||||
*/
|
|
||||||
|
|
||||||
const monthYearThai = (val: DataDateMonthObject) => {
|
const monthYearThai = (val: DataDateMonthObject) => {
|
||||||
if (val == null) return "";
|
if (val == null) return "";
|
||||||
else return monthYear2Thai(val.month, val.year);
|
else return monthYear2Thai(val.month, val.year);
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,8 @@ const formData = reactive<FremData>({
|
||||||
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||||
step: "",
|
approveStep: "",
|
||||||
|
dear: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
|
@ -153,8 +154,10 @@ async function fetchDetailLeave(paramsId: string) {
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
console.log(data);
|
console.log(data);
|
||||||
formData.id = data.id;
|
formData.id = data.id;
|
||||||
formData.reasonCommander = data.reasonCommander;
|
formData.reasonCommander = data.reasonCommander
|
||||||
formData.reasonOligarch = data.reasonOligarch;
|
? data.reasonCommander
|
||||||
|
: "-";
|
||||||
|
formData.reasonOligarch = data.reasonOligarch ? data.reasonOligarch : "-";
|
||||||
formData.positionName = data.positionName;
|
formData.positionName = data.positionName;
|
||||||
formData.positionLevelName = data.positionLevelName;
|
formData.positionLevelName = data.positionLevelName;
|
||||||
formData.organizationName = data.organizationName;
|
formData.organizationName = data.organizationName;
|
||||||
|
|
@ -167,7 +170,7 @@ async function fetchDetailLeave(paramsId: string) {
|
||||||
data.leaveStartDate && date2Thai(data.leaveStartDate);
|
data.leaveStartDate && date2Thai(data.leaveStartDate);
|
||||||
formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate);
|
formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate);
|
||||||
formData.leaveCount = data.leaveCount;
|
formData.leaveCount = data.leaveCount;
|
||||||
formData.status = data.status && data.status;
|
formData.status = data.status && stores.convertSatatus(data.status);
|
||||||
formData.leaveLimit = data.leaveLimit;
|
formData.leaveLimit = data.leaveLimit;
|
||||||
formData.leaveSummary = data.leaveSummary;
|
formData.leaveSummary = data.leaveSummary;
|
||||||
formData.leaveRemain = data.leaveRemain;
|
formData.leaveRemain = data.leaveRemain;
|
||||||
|
|
@ -229,7 +232,8 @@ async function fetchDetailLeave(paramsId: string) {
|
||||||
formData.coupleDayEndDateHistory =
|
formData.coupleDayEndDateHistory =
|
||||||
data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory);
|
data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory);
|
||||||
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory;
|
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory;
|
||||||
formData.step = data.step;
|
formData.approveStep = data.approveStep;
|
||||||
|
formData.dear = data.dear ? data.dear : "-";
|
||||||
await fectOptionType();
|
await fectOptionType();
|
||||||
|
|
||||||
/** ส่งประเภทของการลาไป Function เช็คประเภทการลา*/
|
/** ส่งประเภทของการลาไป Function เช็คประเภทการลา*/
|
||||||
|
|
@ -604,9 +608,9 @@ function clickSave(reason: string) {
|
||||||
bordered
|
bordered
|
||||||
class="row col-12 text-dark q-mt-sm"
|
class="row col-12 text-dark q-mt-sm"
|
||||||
v-if="
|
v-if="
|
||||||
formData.step === 'st3' ||
|
formData.approveStep === 'st3' ||
|
||||||
formData.step === 'st4' ||
|
formData.approveStep === 'st4' ||
|
||||||
formData.step === 'st5'
|
formData.approveStep === 'st5'
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
|
@ -620,7 +624,9 @@ function clickSave(reason: string) {
|
||||||
<div class="row col-12 q-pa-md">
|
<div class="row col-12 q-pa-md">
|
||||||
<div class="col-12 row bg-white q-col-gutter-md">
|
<div class="col-12 row bg-white q-col-gutter-md">
|
||||||
<div class="col-xs-6 row items-start">
|
<div class="col-xs-6 row items-start">
|
||||||
<div class="col-12 text-detail">-</div>
|
<div class="col-12 text-detail">
|
||||||
|
{{ formData.reasonCommander }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -630,7 +636,9 @@ function clickSave(reason: string) {
|
||||||
<q-card
|
<q-card
|
||||||
bordered
|
bordered
|
||||||
class="row col-12 text-dark q-mt-sm"
|
class="row col-12 text-dark q-mt-sm"
|
||||||
v-if="formData.step === 'st4' || formData.step === 'st5'"
|
v-if="
|
||||||
|
formData.approveStep === 'st4' || formData.approveStep === 'st5'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
||||||
|
|
@ -646,13 +654,15 @@ function clickSave(reason: string) {
|
||||||
<div class="col-12 text-weight-bold text-top">
|
<div class="col-12 text-weight-bold text-top">
|
||||||
ผลการพิจารณา
|
ผลการพิจารณา
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text-detail">อนุมัติ</div>
|
<div class="col-12 text-detail">{{ formData.status }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 row items-start">
|
<div class="col-xs-6 row items-start">
|
||||||
<div class="col-12 text-weight-bold text-top">
|
<div class="col-12 text-weight-bold text-top">
|
||||||
ความคิดเห็น
|
ความคิดเห็น
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text-detail">-</div>
|
<div class="col-12 text-detail">
|
||||||
|
{{ formData.reasonOligarch }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -662,9 +672,12 @@ function clickSave(reason: string) {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row q-pa-md q-gutter-md justify-end">
|
<div
|
||||||
|
class="row q-pa-md q-gutter-md justify-end"
|
||||||
|
v-if="formData.status !== 'ยกเลิก'"
|
||||||
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st1'"
|
v-if="formData.approveStep === 'st1'"
|
||||||
unelevated
|
unelevated
|
||||||
color="orange-5"
|
color="orange-5"
|
||||||
label="ส่งไปยังผู้บังคับบัญชา"
|
label="ส่งไปยังผู้บังคับบัญชา"
|
||||||
|
|
@ -673,7 +686,7 @@ function clickSave(reason: string) {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st2'"
|
v-if="formData.approveStep === 'st2'"
|
||||||
unelevated
|
unelevated
|
||||||
color="orange-5"
|
color="orange-5"
|
||||||
label="ส่งไปยังผู้มีอำนาจ"
|
label="ส่งไปยังผู้มีอำนาจ"
|
||||||
|
|
@ -682,7 +695,7 @@ function clickSave(reason: string) {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st3'"
|
v-if="formData.approveStep === 'st3'"
|
||||||
unelevated
|
unelevated
|
||||||
color="orange-5"
|
color="orange-5"
|
||||||
label="ไม่อนุมัติ"
|
label="ไม่อนุมัติ"
|
||||||
|
|
@ -690,7 +703,7 @@ function clickSave(reason: string) {
|
||||||
><q-tooltip>ไม่อนุมัติ</q-tooltip>
|
><q-tooltip>ไม่อนุมัติ</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st3'"
|
v-if="formData.approveStep === 'st3'"
|
||||||
unelevated
|
unelevated
|
||||||
color="primary"
|
color="primary"
|
||||||
label="อนุมัติ"
|
label="อนุมัติ"
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
|
import http from "@/plugins/http";
|
||||||
|
import config from "@/app.config";
|
||||||
|
|
||||||
/** importStore */
|
/** importStore */
|
||||||
import { useCounterMixin } from "@/stores/mixin";
|
import { useCounterMixin } from "@/stores/mixin";
|
||||||
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
|
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
|
||||||
|
|
@ -10,8 +13,11 @@ import DialogReason from "@/components/Dialogs/PopupReason.vue";
|
||||||
const APIDATA = useLeavelistDataStoreTest();
|
const APIDATA = useLeavelistDataStoreTest();
|
||||||
|
|
||||||
/** importType */
|
/** importType */
|
||||||
|
import type {
|
||||||
|
LeaveType,
|
||||||
|
FormReject,
|
||||||
|
} from "@/modules/09_leave/interface/response/leave";
|
||||||
import type { FremData } from "@/modules/09_leave/interface/request/leave";
|
import type { FremData } from "@/modules/09_leave/interface/request/leave";
|
||||||
|
|
||||||
/** importForm*/
|
/** importForm*/
|
||||||
import FormMain from "@/modules/09_leave/components/2_Leave/formDetail/formMain.vue"; // from ซ้าย
|
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 FormLeave from "@/modules/09_leave/components/2_Leave/formDetail/formLeave.vue"; // ลาป่วย ลาคลอดบุตร และลากิจส่วนตัว
|
||||||
|
|
@ -29,7 +35,8 @@ import FormVocationalRehabilitation from "@/modules/09_leave/components/2_Leave/
|
||||||
/** use */
|
/** use */
|
||||||
const $q = useQuasar();
|
const $q = useQuasar();
|
||||||
const mixin = useCounterMixin();
|
const mixin = useCounterMixin();
|
||||||
const { dialogConfirm, showLoader, hideLoader, date2Thai } = mixin;
|
const { dialogConfirm, showLoader, hideLoader, date2Thai, messageError } =
|
||||||
|
mixin;
|
||||||
const stores = useLeavelistDataStore();
|
const stores = useLeavelistDataStore();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
@ -51,6 +58,22 @@ function upLoadFile() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Form รายละเอียดข้อมูล*/
|
/** Form รายละเอียดข้อมูล*/
|
||||||
|
const formDataReject = reactive<FormReject>({
|
||||||
|
id: "", //*Id การยื่นขอลา
|
||||||
|
leaveTypeName: "", //Name ประเภทการลา
|
||||||
|
fullName: "", //คำนำหน้า ชื่อ นามสกุล คนขอลา
|
||||||
|
status: "", //สถานะการของลา
|
||||||
|
leaveDocDelete: "", //เอกสารการยกเลิกการลา
|
||||||
|
leaveResonDelete: "", //เหตุผลการยกเลิกการลา
|
||||||
|
leaveWrote: "", //เขียนที่
|
||||||
|
leaveAddress: "", //สถานที่ติดต่อขณะลา
|
||||||
|
leaveNumber: "", //หมายเลขที่ติดต่อขณะลา
|
||||||
|
leaveDetail: "", //รายละเอียดการลา
|
||||||
|
leaveTotal: 0, //จำนวนวันที่ลา
|
||||||
|
leaveStartDate: new Date(), //วัน เดือน ปีเริ่มต้นลา
|
||||||
|
leaveEndDate: new Date(), //วัน เดือน ปีสิ้นสุดลา
|
||||||
|
});
|
||||||
|
|
||||||
const formData = reactive<FremData>({
|
const formData = reactive<FremData>({
|
||||||
id: "", //Id การยื่นขอลา
|
id: "", //Id การยื่นขอลา
|
||||||
reasonCommander: "", //เหตุผลผู้บังคับบัญชา
|
reasonCommander: "", //เหตุผลผู้บังคับบัญชา
|
||||||
|
|
@ -69,8 +92,6 @@ const formData = reactive<FremData>({
|
||||||
leaveLimit: 0, //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน
|
leaveLimit: 0, //โควต้าลา(แต่ละประเภท)หน่วยเป็นวัน
|
||||||
leaveSummary: 0, //ลาป่วยไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน
|
leaveSummary: 0, //ลาป่วยไปแล้ว(แต่ละประเภท)หน่วยเป็นวัน
|
||||||
leaveRemain: 0, //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน
|
leaveRemain: 0, //คงเหลือโควต้า(แต่ละประเภท)หน่วยเป็นวัน
|
||||||
// leaveStartDate: new Date(), //*วัน เดือน ปีเริ่มต้นลา
|
|
||||||
// leaveEndDate: new Date(), //*วัน เดือน ปีสิ้นสุดลา
|
|
||||||
leaveWrote: "", //เขียนที่
|
leaveWrote: "", //เขียนที่
|
||||||
leaveAddress: "", //สถานที่ติดต่อขณะลา
|
leaveAddress: "", //สถานที่ติดต่อขณะลา
|
||||||
leaveNumber: "", //หมายเลขที่ติดต่อขณะลา
|
leaveNumber: "", //หมายเลขที่ติดต่อขณะลา
|
||||||
|
|
@ -118,13 +139,14 @@ const formData = reactive<FremData>({
|
||||||
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
coupleDayStartDateHistory: new Date(), //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
coupleDayEndDateHistory: new Date(), //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||||
step: "",
|
approveStep: "",
|
||||||
|
dear: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(async () => {
|
||||||
// showLoader();
|
|
||||||
if (paramsId) {
|
if (paramsId) {
|
||||||
fetchDetailLeave(paramsId);
|
await fetchDetailDeleteLeave(paramsId);
|
||||||
|
await fetchDetailLeave(paramsId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -132,120 +154,184 @@ onMounted(() => {
|
||||||
* Function fetch รายละเอียดของข้อมูล
|
* Function fetch รายละเอียดของข้อมูล
|
||||||
* @param paramsId รับ ID จาก paramID
|
* @param paramsId รับ ID จาก paramID
|
||||||
*/
|
*/
|
||||||
function fetchDetailLeave(paramsId: string) {
|
async function fetchDetailDeleteLeave(paramsId: string) {
|
||||||
const dataAPI = APIDATA.data;
|
showLoader();
|
||||||
const data = dataAPI.filter((e: any) => e.id === paramsId);
|
await http
|
||||||
console.log(data);
|
.get(config.API.leaveListDeleteByid(paramsId))
|
||||||
data.map((e: any) => {
|
.then((res) => {
|
||||||
formData.id = e.id;
|
const data = res.data.result;
|
||||||
formData.reasonCommander = e.reasonCommander;
|
console.log(data.id);
|
||||||
formData.reasonOligarch = e.reasonOligarch;
|
(formDataReject.id = data.id),
|
||||||
formData.positionName = e.positionName;
|
(formDataReject.leaveTypeName = data.leaveTypeName),
|
||||||
formData.positionLevelName = e.positionLevelName;
|
(formDataReject.fullName = data.fullName),
|
||||||
formData.organizationName = e.organizationName;
|
(formDataReject.status = data.status);
|
||||||
formData.leaveTypeName = e.leaveTypeName
|
(formDataReject.leaveDocDelete = data.leaveDocDelete),
|
||||||
? e.leaveTypeName
|
(formDataReject.leaveResonDelete = data.leaveReasonDelete
|
||||||
: stores.convertLeave(e.leaveTypeId);
|
? data.leaveReasonDelete
|
||||||
formData.leaveTypeId = e.leaveTypeId;
|
: "-"),
|
||||||
formData.fullName = e.fullname;
|
(formDataReject.leaveWrote = data.leaveWrote),
|
||||||
formData.dateSendLeave = e.dateSendLeave && date2Thai(e.dateSendLeave);
|
(formDataReject.leaveAddress = data.leaveAddress),
|
||||||
formData.leaveDateStart = e.leaveDateStart && date2Thai(e.leaveDateStart);
|
(formDataReject.leaveNumber = data.leaveNumber),
|
||||||
formData.leaveDateEnd = e.leaveDateEnd && date2Thai(e.leaveDateEnd);
|
(formDataReject.leaveDetail = data.leaveDetail),
|
||||||
formData.leaveCount = e.leaveCount;
|
(formDataReject.leaveTotal = data.leaveTotal),
|
||||||
formData.status = e.status && e.status;
|
(formDataReject.leaveStartDate = data.leaveStartDate),
|
||||||
formData.leaveLimit = e.leaveLimit;
|
(formDataReject.leaveEndDate = data.leaveEndDate),
|
||||||
formData.leaveSummary = e.leaveSummary;
|
console.log(formData);
|
||||||
formData.leaveRemain = e.leaveRemain;
|
})
|
||||||
formData.leaveWrote = e.leaveWrote;
|
.catch((err) => {
|
||||||
formData.leaveAddress = e.leaveAddress;
|
messageError($q, err);
|
||||||
formData.leaveNumber = e.leaveNumber;
|
})
|
||||||
formData.leaveDetail = e.leaveDetail;
|
.finally(() => {
|
||||||
formData.leaveDocument = e.leaveDocument;
|
hideLoader();
|
||||||
formData.leaveDraftDocument = e.leaveDraftDocument;
|
});
|
||||||
formData.leaveLastStart = e.leaveLastStart && date2Thai(e.leaveLastStart);
|
|
||||||
formData.leaveLastEnd = e.leaveLastStart && date2Thai(e.leaveLastEnd);
|
|
||||||
formData.leaveTotal = e.leaveTotal;
|
|
||||||
formData.leavebirthDate = e.leavebirthDate && date2Thai(e.leavebirthDate);
|
|
||||||
formData.leavegovernmentDate =
|
|
||||||
e.leavegovernmentDate && date2Thai(e.leavegovernmentDate);
|
|
||||||
formData.leaveSalary = e.leaveSalary;
|
|
||||||
formData.leaveSalaryText = e.leaveSalaryText;
|
|
||||||
formData.leaveTypeDay =
|
|
||||||
e.leaveTypeDay && stores.convertLeaveDaytype(e.leaveTypeDay);
|
|
||||||
formData.wifeDayName = e.wifeDayName;
|
|
||||||
formData.wifeDayDateBorn =
|
|
||||||
e.wifeDayDateBorn && date2Thai(e.wifeDayDateBorn);
|
|
||||||
formData.restDayOldTotal = e.restDayOldTotal;
|
|
||||||
formData.restDayCurrentTotal = e.restDayCurrentTotal;
|
|
||||||
formData.ordainDayStatus = e.ordainDayStatus;
|
|
||||||
formData.ordainDayLocationName = e.ordainDayLocationName;
|
|
||||||
formData.ordainDayLocationAddress = e.ordainDayLocationAddress;
|
|
||||||
formData.ordainDayLocationNumber = e.ordainDayLocationNumber;
|
|
||||||
formData.ordainDayOrdination =
|
|
||||||
e.ordainDayOrdination && date2Thai(e.ordainDayOrdination);
|
|
||||||
formData.ordainDayBuddhistLentName = e.ordainDayBuddhistLentName;
|
|
||||||
formData.ordainDayBuddhistLentAddress = e.ordainDayBuddhistLentAddress;
|
|
||||||
formData.hajjDayStatus = e.hajjDayStatus;
|
|
||||||
formData.absentDaySummon = e.absentDaySummon;
|
|
||||||
formData.absentDayLocation = e.absentDayLocation;
|
|
||||||
formData.absentDayRegistorDate =
|
|
||||||
e.absentDayRegistorDate && date2Thai(e.absentDayRegistorDate);
|
|
||||||
formData.absentDayGetIn = e.absentDayGetIn;
|
|
||||||
formData.absentDayAt = e.absentDayAt;
|
|
||||||
formData.studyDaySubject = e.studyDaySubject;
|
|
||||||
formData.studyDayDegreeLevel = e.studyDayDegreeLevel;
|
|
||||||
formData.studyDayUniversityName = e.studyDayUniversityName;
|
|
||||||
formData.studyDayTrainingSubject = e.studyDayTrainingSubject;
|
|
||||||
formData.studyDayTrainingName = e.studyDayTrainingName;
|
|
||||||
formData.studyDayCountry = e.studyDayCountry;
|
|
||||||
formData.studyDayScholarship = e.studyDayScholarship;
|
|
||||||
formData.coupleDayName = e.coupleDayName;
|
|
||||||
formData.coupleDayPosition = e.coupleDayPosition;
|
|
||||||
formData.coupleDayLevel = e.coupleDayLevel;
|
|
||||||
formData.coupleDayLevelCountry = e.coupleDayLevelCountry;
|
|
||||||
formData.coupleDayCountryHistory = e.coupleDayCountryHistory;
|
|
||||||
formData.coupleDayTotalHistory = e.coupleDayTotalHistory;
|
|
||||||
formData.coupleDayStartDateHistory =
|
|
||||||
e.coupleDayStartDateHistory && date2Thai(e.coupleDayStartDateHistory);
|
|
||||||
formData.coupleDayEndDateHistory =
|
|
||||||
e.coupleDayEndDateHistory && date2Thai(e.coupleDayEndDateHistory);
|
|
||||||
formData.coupleDaySumTotalHistory = e.coupleDaySumTotalHistory;
|
|
||||||
formData.step = e.step;
|
|
||||||
});
|
|
||||||
|
|
||||||
/** ส่งประเภทของการลาไป Function เช็คประเภทการลา*/
|
|
||||||
checkLeaveType(formData.leaveTypeId ? formData.leaveTypeId : "");
|
|
||||||
// hideLoader();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function fetchDetailLeave(paramsId: string) {
|
||||||
|
showLoader();
|
||||||
|
await http
|
||||||
|
.get(config.API.leaveListById(paramsId))
|
||||||
|
.then(async (res) => {
|
||||||
|
const data = res.data.result;
|
||||||
|
console.log(data);
|
||||||
|
formData.id = data.id;
|
||||||
|
formData.reasonCommander = data.reasonCommander;
|
||||||
|
formData.reasonOligarch = data.reasonOligarch;
|
||||||
|
formData.positionName = data.positionName;
|
||||||
|
formData.positionLevelName = data.positionLevelName;
|
||||||
|
formData.organizationName = data.organizationName;
|
||||||
|
formData.leaveTypeName = data.leaveTypeName;
|
||||||
|
formData.leaveTypeId = data.leaveTypeId;
|
||||||
|
formData.fullName = data.fullName;
|
||||||
|
formData.dateSendLeave =
|
||||||
|
data.dateSendLeave && date2Thai(data.dateSendLeave);
|
||||||
|
formData.leaveDateStart =
|
||||||
|
data.leaveStartDate && date2Thai(data.leaveStartDate);
|
||||||
|
formData.leaveDateEnd = data.leaveEndDate && date2Thai(data.leaveEndDate);
|
||||||
|
formData.leaveCount = data.leaveCount;
|
||||||
|
formData.status = data.status && data.status;
|
||||||
|
formData.leaveLimit = data.leaveLimit;
|
||||||
|
formData.leaveSummary = data.leaveSummary;
|
||||||
|
formData.leaveRemain = data.leaveRemain;
|
||||||
|
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 =
|
||||||
|
data.leaveLastStart && date2Thai(data.leaveLastStart);
|
||||||
|
formData.leaveLastEnd =
|
||||||
|
data.leaveLastStart && date2Thai(data.leaveLastEnd);
|
||||||
|
formData.leaveTotal = data.leaveTotal;
|
||||||
|
formData.leavebirthDate =
|
||||||
|
data.leavebirthDate && date2Thai(data.leavebirthDate);
|
||||||
|
formData.leavegovernmentDate =
|
||||||
|
data.leavegovernmentDate && date2Thai(data.leavegovernmentDate);
|
||||||
|
formData.leaveSalary = data.leaveSalary;
|
||||||
|
formData.leaveSalaryText = data.leaveSalaryText;
|
||||||
|
formData.leaveTypeDay =
|
||||||
|
data.leaveTypeDay && stores.convertLeaveDaytype(data.leaveTypeDay);
|
||||||
|
formData.wifeDayName = data.wifeDayName;
|
||||||
|
formData.wifeDayDateBorn =
|
||||||
|
data.wifeDayDateBorn && date2Thai(data.wifeDayDateBorn);
|
||||||
|
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.ordainDayOrdination =
|
||||||
|
data.ordainDayOrdination && date2Thai(data.ordainDayOrdination);
|
||||||
|
formData.ordainDayBuddhistLentName = data.ordainDayBuddhistLentName;
|
||||||
|
formData.ordainDayBuddhistLentAddress = data.ordainDayBuddhistLentAddress;
|
||||||
|
formData.hajjDayStatus = data.hajjDayStatus;
|
||||||
|
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.coupleDayStartDateHistory =
|
||||||
|
data.coupleDayStartDateHistory &&
|
||||||
|
date2Thai(data.coupleDayStartDateHistory);
|
||||||
|
formData.coupleDayEndDateHistory =
|
||||||
|
data.coupleDayEndDateHistory && date2Thai(data.coupleDayEndDateHistory);
|
||||||
|
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory;
|
||||||
|
formData.approveStep = data.approveStep;
|
||||||
|
formData.dear = data.dear ? data.dear : "-";
|
||||||
|
await fectOptionType();
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
messageError($q, err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
hideLoader();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const leaveType = ref<LeaveType[]>();
|
||||||
|
/** function เรียกประเภทการลา */
|
||||||
|
async function fectOptionType() {
|
||||||
|
await http
|
||||||
|
.get(config.API.leaveType())
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
leaveType.value = res.data.result;
|
||||||
|
checkLeaveType(formData.leaveTypeId, formData.leaveTypeName);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
messageError($q, err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**Status Form การลา*/
|
/**Status Form การลา*/
|
||||||
const checkForm = ref<string>("");
|
const checkForm = ref<string>("");
|
||||||
/**
|
/**
|
||||||
* Function เช็คประเภทการลา
|
* Function เช็คประเภทการลา
|
||||||
* @param type รับค่า
|
* @param type รับค่า
|
||||||
*/
|
*/
|
||||||
function checkLeaveType(type: string) {
|
function checkLeaveType(leaveTypeId: string, leaveTypeName: string) {
|
||||||
if (type === "leave1" || type === "leave2" || type === "leave3") {
|
if (leaveType.value) {
|
||||||
checkForm.value = "FormLeave";
|
const filtertype: LeaveType | undefined = leaveType.value.find(
|
||||||
} else if (type === "leave4") {
|
(e: any) => e.id === leaveTypeId
|
||||||
checkForm.value = "FormChildbirth";
|
);
|
||||||
} else if (type === "leave5") {
|
const type = filtertype?.code;
|
||||||
checkForm.value = "FormHoliday";
|
if (type === "LV-001" || type === "LV-002" || type === "LV-003") {
|
||||||
} else if (type === "leave6") {
|
checkForm.value = "FormLeave";
|
||||||
checkForm.value = "FormUpasom";
|
} else if (type === "LV-004") {
|
||||||
} else if (type === "leave7") {
|
checkForm.value = "FormChildbirth";
|
||||||
checkForm.value = "FormHajj";
|
} else if (type === "LV-005") {
|
||||||
} else if (type === "leave8") {
|
checkForm.value = "FormHoliday";
|
||||||
checkForm.value = "FormCheckSelect";
|
} else if (type === "LV-006") {
|
||||||
} else if (type === "leave9") {
|
checkForm.value = "FormUpasom";
|
||||||
checkForm.value = "FormStudy";
|
} else if (type === "LV-006" && leaveTypeName === "พิธีฮัจญ์ฯ") {
|
||||||
} else if (type === "leave10") {
|
checkForm.value = "FormHajj";
|
||||||
checkForm.value = "FormLeaveToTraining";
|
} else if (type === "LV-007") {
|
||||||
} else if (type === "leave11") {
|
checkForm.value = "FormCheckSelect";
|
||||||
checkForm.value = "FormLeaveToWorkInternational";
|
} else if (type === "LV-008" && leaveTypeName === "ลาไปศีกษา") {
|
||||||
} else if (type === "leave12") {
|
checkForm.value = "FormStudy";
|
||||||
checkForm.value = "FormSpouse";
|
} else if (type === "LV-008") {
|
||||||
} else if (type === "leave13") {
|
checkForm.value = "FormLeaveToTraining";
|
||||||
checkForm.value = "FormVocationalRehabilitation";
|
} else if (type === "LV-009") {
|
||||||
|
checkForm.value = "FormLeaveToWorkInternational";
|
||||||
|
} else if (type === "LV-010") {
|
||||||
|
checkForm.value = "FormSpouse";
|
||||||
|
} else if (type === "LV-011") {
|
||||||
|
checkForm.value = "FormVocationalRehabilitation";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -317,7 +403,7 @@ function clickSave() {
|
||||||
<!-- <q-file
|
<!-- <q-file
|
||||||
v-model="filesUpload"
|
v-model="filesUpload"
|
||||||
dense
|
dense
|
||||||
label="อัพโหลดไฟล์"
|
label="อัปโหลดไฟล์"
|
||||||
outlined
|
outlined
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
bg-color="white"
|
bg-color="white"
|
||||||
|
|
@ -355,24 +441,39 @@ function clickSave() {
|
||||||
<div class="col-xs-3 row items-start">
|
<div class="col-xs-3 row items-start">
|
||||||
<div class="col-12 text-weight-bold text-top">เขียนที่</div>
|
<div class="col-12 text-weight-bold text-top">เขียนที่</div>
|
||||||
<div class="col-12 text-detail">
|
<div class="col-12 text-detail">
|
||||||
{{ formData.leaveWrote }}
|
{{ formDataReject.leaveWrote }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3 row items-start">
|
<div class="col-xs-3 row items-start">
|
||||||
<div class="col-12 text-weight-bold text-top">วันที่</div>
|
<div class="col-12 text-weight-bold text-top">วันที่</div>
|
||||||
<div class="col-12 text-detail">
|
<div class="col-12 text-detail">
|
||||||
{{ formData.dateSendLeave }}
|
{{ date2Thai(formDataReject.leaveStartDate) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3 row items-start">
|
<div class="col-xs-3 row items-start">
|
||||||
<div class="col-12 text-weight-bold text-top">เหตุผล</div>
|
<div class="col-12 text-weight-bold text-top">เหตุผล</div>
|
||||||
<div class="col-12 text-detail">-</div>
|
<div class="col-12 text-detail">
|
||||||
|
{{ formDataReject.leaveResonDelete }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3 row items-start">
|
<div class="col-xs-3 row items-start">
|
||||||
<div class="col-12 text-weight-bold text-top">
|
<div class="col-12 text-weight-bold text-top">
|
||||||
เอกสารประกอบ
|
เอกสารประกอบ
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text-detail">-</div>
|
<div class="col-12 text-detail">
|
||||||
|
<q-btn
|
||||||
|
v-if="formDataReject.leaveDocDelete"
|
||||||
|
:href="formDataReject.leaveDocDelete"
|
||||||
|
target="_blank"
|
||||||
|
outline
|
||||||
|
color="blue"
|
||||||
|
label="ดาวน์โหลด"
|
||||||
|
size="12px"
|
||||||
|
>
|
||||||
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
<span v-else>-</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -385,10 +486,7 @@ function clickSave() {
|
||||||
<div class="col-12 row">
|
<div class="col-12 row">
|
||||||
<div class="col-xs-5 col-sm-3 text-grey-8">ประเภทการลา</div>
|
<div class="col-xs-5 col-sm-3 text-grey-8">ประเภทการลา</div>
|
||||||
<div class="col text-primary">
|
<div class="col text-primary">
|
||||||
{{
|
{{ formData.leaveTypeName }}
|
||||||
formData.leaveTypeId &&
|
|
||||||
stores.convertLeave(formData.leaveTypeId)
|
|
||||||
}}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 row">
|
<div class="col-12 row">
|
||||||
|
|
@ -421,7 +519,7 @@ function clickSave() {
|
||||||
class="col-12 items-center row q-px-md q-py-sm"
|
class="col-12 items-center row q-px-md q-py-sm"
|
||||||
>
|
>
|
||||||
<div class="text-h6 text-weight-bold text-light-blue-6">
|
<div class="text-h6 text-weight-bold text-light-blue-6">
|
||||||
{{ formData.leaveTotal }}
|
{{ formData.leaveSummary }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 text-subtitle2 text-weight-regular">
|
<div class="col-12 text-subtitle2 text-weight-regular">
|
||||||
<span class="gt-xs">ใช้ไป</span>
|
<span class="gt-xs">ใช้ไป</span>
|
||||||
|
|
@ -520,7 +618,9 @@ function clickSave() {
|
||||||
<q-card
|
<q-card
|
||||||
bordered
|
bordered
|
||||||
class="row col-12 text-dark q-mt-sm"
|
class="row col-12 text-dark q-mt-sm"
|
||||||
v-if="formData.step === 'st2' || formData.step === 'st3'"
|
v-if="
|
||||||
|
formData.approveStep === 'st2' || formData.approveStep === 'st3'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
||||||
|
|
@ -554,7 +654,7 @@ function clickSave() {
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="row q-pa-md q-gutter-md justify-end">
|
<div class="row q-pa-md q-gutter-md justify-end">
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st1'"
|
v-if="formData.approveStep === 'st1'"
|
||||||
unelevated
|
unelevated
|
||||||
color="orange-5"
|
color="orange-5"
|
||||||
label="ไม่อนุมัติการยกเลิก"
|
label="ไม่อนุมัติการยกเลิก"
|
||||||
|
|
@ -562,7 +662,7 @@ function clickSave() {
|
||||||
><q-tooltip>ไม่อนุมัติการยกเลิก</q-tooltip>
|
><q-tooltip>ไม่อนุมัติการยกเลิก</q-tooltip>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="formData.step === 'st1'"
|
v-if="formData.approveStep === 'st1'"
|
||||||
unelevated
|
unelevated
|
||||||
color="primary"
|
color="primary"
|
||||||
label="อนุมัติการยกเลิก"
|
label="อนุมัติการยกเลิก"
|
||||||
|
|
|
||||||
|
|
@ -44,11 +44,9 @@ async function fecthLeaveList() {
|
||||||
await http
|
await http
|
||||||
.post(config.API.leaveList(), querySting)
|
.post(config.API.leaveList(), querySting)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
|
||||||
const data = res.data.result;
|
const data = res.data.result;
|
||||||
maxPage.value = Math.ceil(data.total / querySting.pageSize);
|
maxPage.value = Math.ceil(data.total / querySting.pageSize);
|
||||||
fetchListLeave(data.data); /** ส่งข้อมูลไป stores*/
|
fetchListLeave(data.data); /** ส่งข้อมูลไป stores*/
|
||||||
console.log(maxPage.value);
|
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
messageError($q, err);
|
messageError($q, err);
|
||||||
|
|
@ -77,7 +75,6 @@ async function updatePaging(
|
||||||
querySting.page = newPage;
|
querySting.page = newPage;
|
||||||
querySting.pageSize = pageSize ? pageSize : querySting.pageSize;
|
querySting.pageSize = pageSize ? pageSize : querySting.pageSize;
|
||||||
querySting.keyword = dateFilter ? dateFilter.keyword : querySting.keyword;
|
querySting.keyword = dateFilter ? dateFilter.keyword : querySting.keyword;
|
||||||
console.log(querySting);
|
|
||||||
await fecthLeaveList();
|
await fecthLeaveList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const querySting = reactive<QuerySting>({
|
||||||
type: leaveStore.filter.type, //*Id ประเภทการลา
|
type: leaveStore.filter.type, //*Id ประเภทการลา
|
||||||
status: leaveStore.filter.status, //*สถานะการของลา
|
status: leaveStore.filter.status, //*สถานะการของลา
|
||||||
page: 1, //*หน้า
|
page: 1, //*หน้า
|
||||||
pageSize: 5, //*จำนวนแถวต่อหน้า
|
pageSize: 10, //*จำนวนแถวต่อหน้า
|
||||||
keyword: leaveStore.filter.keyword, //keyword ค้นหา
|
keyword: leaveStore.filter.keyword, //keyword ค้นหา
|
||||||
});
|
});
|
||||||
const maxPage = ref<number>(1);
|
const maxPage = ref<number>(1);
|
||||||
|
|
@ -42,9 +42,12 @@ async function fecthLeaveList() {
|
||||||
await http
|
await http
|
||||||
.post(config.API.leaveListDelete(), querySting)
|
.post(config.API.leaveListDelete(), querySting)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
const data = res.data.result;
|
||||||
|
console.log(data);
|
||||||
|
|
||||||
maxPage.value = Math.ceil(data.length / querySting.pageSize);
|
maxPage.value = Math.ceil(data.total / querySting.pageSize);
|
||||||
|
console.log(maxPage.value);
|
||||||
|
fetchListLeaveReject(data.data); /** ส่งข้อมูลไป stores*/
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
messageError($q, err);
|
messageError($q, err);
|
||||||
|
|
@ -52,9 +55,7 @@ async function fecthLeaveList() {
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
hideLoader();
|
hideLoader();
|
||||||
});
|
});
|
||||||
const data = APIDATA.data;
|
// const data = APIDATA.data;
|
||||||
|
|
||||||
fetchListLeaveReject(data); /** ส่งข้อมูลไป stores*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -72,7 +73,7 @@ async function updatePaging(
|
||||||
querySting.type = dateFilter ? dateFilter.type : querySting.type;
|
querySting.type = dateFilter ? dateFilter.type : querySting.type;
|
||||||
querySting.status = dateFilter ? dateFilter.status : querySting.status;
|
querySting.status = dateFilter ? dateFilter.status : querySting.status;
|
||||||
querySting.page = newPage;
|
querySting.page = newPage;
|
||||||
querySting.pageSize = pageSize;
|
querySting.pageSize = pageSize ? pageSize : querySting.pageSize;
|
||||||
querySting.keyword = dateFilter ? dateFilter.keyword : querySting.keyword;
|
querySting.keyword = dateFilter ? dateFilter.keyword : querySting.keyword;
|
||||||
|
|
||||||
console.log(querySting);
|
console.log(querySting);
|
||||||
|
|
@ -84,7 +85,10 @@ onMounted(async () => {
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<ToolBar />
|
<ToolBar
|
||||||
|
:rowsPerPage="querySting.pageSize"
|
||||||
|
@update:querySting="updatePaging"
|
||||||
|
/>
|
||||||
<TableList
|
<TableList
|
||||||
:page="querySting.page"
|
:page="querySting.page"
|
||||||
:rowsPerPage="querySting.pageSize"
|
:rowsPerPage="querySting.pageSize"
|
||||||
|
|
|
||||||
|
|
@ -82,14 +82,14 @@ const optionStatus2 = ref<DataOption[]>([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "NEW",
|
id: "NEW",
|
||||||
name: "ขอยกเลิก",
|
name: "ใหม่",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "APPROVE ",
|
id: "APPROVE",
|
||||||
name: "อนุมัติ",
|
name: "อนุมัติ",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "REJECT ",
|
id: "REJECT",
|
||||||
name: "ไม่อนุมัติ",
|
name: "ไม่อนุมัติ",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ console.log(props);
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col">
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
<q-btn
|
<q-btn
|
||||||
:href="props.data.leaveDocument"
|
:href="props.data.leaveDocument"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
@ -65,6 +65,7 @@ console.log(props);
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -47,16 +47,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -40,16 +40,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col">
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
<q-btn
|
<q-btn
|
||||||
:href="props.data.leaveDocument"
|
:href="props.data.leaveDocument"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
@ -64,6 +64,7 @@ const props = defineProps({
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -50,16 +50,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -71,16 +71,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -27,16 +27,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ const props = defineProps({
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
console.log(props);
|
console.log(props.data);
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<q-card-section>
|
<q-card-section>
|
||||||
|
|
@ -20,7 +20,7 @@ console.log(props);
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 text-grey-8">เรียน</div>
|
<div class="col-4 text-grey-8">เรียน</div>
|
||||||
<div class="col">{{ props.data.notification }}</div>
|
<div class="col">{{ props.data.dear }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-4 text-grey-8">ชื่อผู้ยื่นขอ</div>
|
<div class="col-4 text-grey-8">ชื่อผู้ยื่นขอ</div>
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col">
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
<q-btn
|
<q-btn
|
||||||
:href="props.data.leaveDocument"
|
:href="props.data.leaveDocument"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
@ -90,6 +90,7 @@ const props = defineProps({
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col">
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
<q-btn
|
<q-btn
|
||||||
:href="props.data.leaveDocument"
|
:href="props.data.leaveDocument"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
@ -86,6 +86,7 @@ const props = defineProps({
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -65,16 +65,19 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col"><q-btn
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
:href="props.data.leaveDocument"
|
<q-btn
|
||||||
target="_blank"
|
:href="props.data.leaveDocument"
|
||||||
outline
|
target="_blank"
|
||||||
color="blue"
|
outline
|
||||||
label="ดาวน์โหลด"
|
color="blue"
|
||||||
size="12px"
|
label="ดาวน์โหลด"
|
||||||
>
|
size="12px"
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
>
|
||||||
></div>
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ const props = defineProps({
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col text-grey-8">เอกสารแนบ</div>
|
<div class="col text-grey-8">เอกสารแนบ</div>
|
||||||
<div class="col">
|
<div class="col" v-if="props.data.leaveDocument">
|
||||||
<q-btn
|
<q-btn
|
||||||
:href="props.data.leaveDocument"
|
:href="props.data.leaveDocument"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
|
|
@ -39,6 +39,7 @@ const props = defineProps({
|
||||||
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
<q-tooltip>ดาวน์โหลดไฟล์</q-tooltip></q-btn
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col" v-else>-</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,8 @@ interface FremData {
|
||||||
coupleDayStartDateHistory: Date | null; //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
coupleDayStartDateHistory: Date | null; //ประวัติ ตั้งแต่วันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDayEndDateHistory: Date | null; //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
coupleDayEndDateHistory: Date | null; //ประวัติ ถึงวันที่ (ลาติดตามคู่สมรส)
|
||||||
coupleDaySumTotalHistory: string; //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
coupleDaySumTotalHistory: string; //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||||
step: string;
|
approveStep: string;
|
||||||
|
dear: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type { ListsData, FremData, QuerySting, DateFilter };
|
export type { ListsData, FremData, QuerySting, DateFilter };
|
||||||
|
|
|
||||||
|
|
@ -39,4 +39,40 @@ interface LeaveType {
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type { DataRows, FormData, DataDateMonthObject, ListLeave, LeaveType };
|
interface FormReject {
|
||||||
|
id: string; //*Id การยื่นขอลา
|
||||||
|
leaveTypeName: string; //Name ประเภทการลา
|
||||||
|
fullName: string; //คำนำหน้า ชื่อ นามสกุล คนขอลา
|
||||||
|
status: string; //สถานะการของลา
|
||||||
|
leaveDocDelete: string; //เอกสารการยกเลิกการลา
|
||||||
|
leaveResonDelete: string; //เหตุผลการยกเลิกการลา
|
||||||
|
leaveWrote: string; //เขียนที่
|
||||||
|
leaveAddress: string; //สถานที่ติดต่อขณะลา
|
||||||
|
leaveNumber: string; //หมายเลขที่ติดต่อขณะลา
|
||||||
|
leaveDetail: string; //รายละเอียดการลา
|
||||||
|
leaveTotal: number; //จำนวนวันที่ลา
|
||||||
|
leaveStartDate: Date; //วัน เดือน ปีเริ่มต้นลา
|
||||||
|
leaveEndDate: Date; //วัน เดือน ปีสิ้นสุดลา
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ResCalendar {
|
||||||
|
dateSendLeave: Date;
|
||||||
|
fullName: string;
|
||||||
|
id: string;
|
||||||
|
keycloakId: string;
|
||||||
|
leaveEndDate: Date;
|
||||||
|
leaveStartDate: Date;
|
||||||
|
leaveTypeId: string;
|
||||||
|
leaveTypeName: string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type {
|
||||||
|
DataRows,
|
||||||
|
FormData,
|
||||||
|
DataDateMonthObject,
|
||||||
|
ListLeave,
|
||||||
|
LeaveType,
|
||||||
|
FormReject,
|
||||||
|
ResCalendar,
|
||||||
|
};
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ export const useLeavelistDataStore = defineStore("leave", () => {
|
||||||
async function fetchListLeaveReject(data: any[]) {
|
async function fetchListLeaveReject(data: any[]) {
|
||||||
let datalist = data.map((e: FremData) => ({
|
let datalist = data.map((e: FremData) => ({
|
||||||
id: e.id,
|
id: e.id,
|
||||||
leaveTypeName: e.leaveTypeId && convertLeave(e.leaveTypeId),
|
leaveTypeName: e.leaveTypeName,
|
||||||
leaveTypeId: e.leaveTypeId,
|
leaveTypeId: e.leaveTypeId,
|
||||||
fullName: e.fullName,
|
fullName: e.fullName,
|
||||||
dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave),
|
dateSendLeave: e.dateSendLeave && date2Thai(e.dateSendLeave),
|
||||||
|
|
@ -73,7 +73,7 @@ export const useLeavelistDataStore = defineStore("leave", () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ฟังก์ชั่นแปลงสถานะ
|
* ฟังก์ชั่นแปลงสถานะ tab1
|
||||||
* @param val ค่าสถานะ
|
* @param val ค่าสถานะ
|
||||||
*/
|
*/
|
||||||
function convertSatatus(val: string) {
|
function convertSatatus(val: string) {
|
||||||
|
|
@ -92,54 +92,54 @@ export const useLeavelistDataStore = defineStore("leave", () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ฟังก์ชั่นแปลงสถานะ
|
* ฟังก์ชั่นแปลงสถานะ tab2
|
||||||
* @param val ค่าสถานะ
|
* @param val ค่าสถานะ
|
||||||
*/
|
*/
|
||||||
function convertSatatus2(val: string) {
|
function convertSatatus2(val: string) {
|
||||||
switch (val) {
|
switch (val) {
|
||||||
case "NEW":
|
case "NEW":
|
||||||
return "ขอยกเลิก";
|
return "ใหม่";
|
||||||
case "PENDING":
|
|
||||||
return "อนุมัติ";
|
|
||||||
case "APPROVE":
|
case "APPROVE":
|
||||||
return "อนุมัติ";
|
return "อนุมัติ";
|
||||||
|
case "REJECT":
|
||||||
|
return "ไม่อนุมัติ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* ฟังก์ชั่นแปลงประเภทการลา
|
// * ฟังก์ชั่นแปลงประเภทการลา
|
||||||
* @param val ค่าประเภทของกาลา
|
// * @param val ค่าประเภทของกาลา
|
||||||
*/
|
// */
|
||||||
function convertLeave(val: string) {
|
// function convertLeave(val: string) {
|
||||||
switch (val) {
|
// switch (val) {
|
||||||
case "leave1":
|
// case "leave1":
|
||||||
return "ลากิจส่วนตัว";
|
// return "ลากิจส่วนตัว";
|
||||||
case "leave2":
|
// case "leave2":
|
||||||
return "ลาป่วย";
|
// return "ลาป่วย";
|
||||||
case "leave3":
|
// case "leave3":
|
||||||
return "ลาคลอดบุตร";
|
// return "ลาคลอดบุตร";
|
||||||
case "leave4":
|
// case "leave4":
|
||||||
return "ลาไปช่วยเหลือภริยาที่คลอดบุตร";
|
// return "ลาไปช่วยเหลือภริยาที่คลอดบุตร";
|
||||||
case "leave5":
|
// case "leave5":
|
||||||
return "ลาพักผ่อน";
|
// return "ลาพักผ่อน";
|
||||||
case "leave6":
|
// case "leave6":
|
||||||
return "ลาอุปสมบท";
|
// return "ลาอุปสมบท";
|
||||||
case "leave7":
|
// case "leave7":
|
||||||
return "ลาประกอบพิธีฮัจญ์";
|
// return "ลาประกอบพิธีฮัจญ์";
|
||||||
case "leave8":
|
// case "leave8":
|
||||||
return "ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล";
|
// return "ลาเข้ารับการตรวจเลือกหรือเข้ารับการเตรียมพล";
|
||||||
case "leave9":
|
// case "leave9":
|
||||||
return "ลาไปศึกษา";
|
// return "ลาไปศึกษา";
|
||||||
case "leave10":
|
// case "leave10":
|
||||||
return "ลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน";
|
// return "ลาไปฝึกอบรม ปฏิบัติการวิจัย หรือดูงาน";
|
||||||
case "leave11":
|
// case "leave11":
|
||||||
return "ลาไปปฏิบัติงานในองค์การระหว่างประเทศ";
|
// return "ลาไปปฏิบัติงานในองค์การระหว่างประเทศ";
|
||||||
case "leave12":
|
// case "leave12":
|
||||||
return "ลาติดตามคู่สมรส";
|
// return "ลาติดตามคู่สมรส";
|
||||||
case "leave13":
|
// case "leave13":
|
||||||
return "ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ";
|
// return "ลาไปฟื้นฟูสมรรถภาพด้านอาชีพ";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ฟังชั่นแปลงค่าการลา
|
* ฟังชั่นแปลงค่าการลา
|
||||||
|
|
@ -198,9 +198,10 @@ export const useLeavelistDataStore = defineStore("leave", () => {
|
||||||
visibleColumns,
|
visibleColumns,
|
||||||
|
|
||||||
fetchListLeaveReject,
|
fetchListLeaveReject,
|
||||||
|
convertSatatus,
|
||||||
|
|
||||||
/** Function แปลงค่า */
|
/** Function แปลงค่า */
|
||||||
convertLeave,
|
// convertLeave,
|
||||||
convertLeaveDaytype,
|
convertLeaveDaytype,
|
||||||
|
|
||||||
leaveType,
|
leaveType,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue