fixing message select date 0 day

This commit is contained in:
Warunee Tamkoo 2025-05-02 18:40:48 +07:00
parent ba63d25827
commit 4320ef42dd
13 changed files with 504 additions and 467 deletions

View file

@ -93,19 +93,6 @@ async function fileUploadDoc(files: any) {
}); });
} }
/**
* function เซทค leaveStartDate เเละ leaveEndDate
*/
function resetDate() {
if (
formDataSick.leaveRange === "MORNING" ||
formDataSick.leaveRange === "AFTERNOON"
) {
formDataSick.leaveStartDate = null;
formDataSick.leaveEndDate = null;
}
}
/** ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม */ /** ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม */
function onValidate() { function onValidate() {
const hasError = []; const hasError = [];
@ -165,38 +152,44 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataSick.leaveStartDate && formDataSick.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataSick.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataSick.leaveEndDate) ?? null, StartLeaveDate: convertDateToAPI(formDataSick.leaveStartDate) ?? null,
leaveRange: formDataSick.leaveRange, EndLeaveDate: convertDateToAPI(formDataSick.leaveEndDate) ?? null,
leaveRangeEnd: checkDate.value leaveRange: formDataSick.leaveRange,
? formDataSick.leaveRange leaveRangeEnd: checkDate.value
: formDataSick.leaveRangeEnd, ? formDataSick.leaveRange
}) : formDataSick.leaveRangeEnd,
.then((res: any) => { })
const data = res.data.result; .then((res: any) => {
formDataSick.leaveTotal = const data = res.data.result;
data.totalDate - data.sumDateWork - data.sumDateHoliday; formDataSick.leaveTotal =
totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; data.totalDate - data.sumDateWork - data.sumDateHoliday;
isLeave.value = data.isLeave; // totalCheck.value =
reasonLeave.value = data.message // data.totalDate - data.sumDateWork - data.sumDateHoliday;
? data.message reasonLeave.value =
: "จำนวนวันลาเกินที่กำหนด"; data.message != ""
}) ? data.message
.catch((e: any) => { : formDataSick.leaveTotal > 0
messageError($q, e); ? "จำนวนวันลาเกินที่กำหนด"
totalCheck.value = null : "ช่วงวันลาที่ระบุไม่ถูกต้อง";
hideLoader(); isLeave.value = formDataSick.leaveTotal > 0 ? data.isLeave : false;
}) })
.finally(() => { .catch((e: any) => {
hideLoader(); messageError($q, e);
leaveDocumentRef.value.resetValidation(); // totalCheck.value = null;
}); hideLoader();
})
.finally(() => {
hideLoader();
leaveDocumentRef.value.resetValidation();
});
}
} }
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
@ -209,7 +202,7 @@ const leaveId = ref<any>("");
const statusCheck = ref<any>(""); const statusCheck = ref<any>("");
watch(props.data, () => { watch(props.data, () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataSick.leaveWrote = props.data.leaveWrote; formDataSick.leaveWrote = props.data.leaveWrote;
formDataSick.leaveStartDate = new Date(props.data.leaveStartDate); formDataSick.leaveStartDate = new Date(props.data.leaveStartDate);
formDataSick.leaveEndDate = new Date(props.data.leaveEndDate); formDataSick.leaveEndDate = new Date(props.data.leaveEndDate);
@ -227,7 +220,7 @@ watch(props.data, () => {
/** Hook */ /** Hook */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataSick.leaveWrote = props.data.leaveWrote; formDataSick.leaveWrote = props.data.leaveWrote;
formDataSick.leaveStartDate = new Date(props.data.leaveStartDate); formDataSick.leaveStartDate = new Date(props.data.leaveStartDate);
formDataSick.leaveEndDate = new Date(props.data.leaveEndDate); formDataSick.leaveEndDate = new Date(props.data.leaveEndDate);
@ -627,15 +620,17 @@ onMounted(() => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<q-card-actions align="right" class="bg-white text-teal q-pa-none q-pt-sm"> <q-card-actions align="right" class="bg-white text-teal q-pa-none q-pt-sm">
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">
**จำนวนวนลาของทานไมกตอง หรอวนทนลาของทานตรงกบวนหย
</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated
:disable="!isLeave"
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -149,34 +149,52 @@ const checkDate = computed(() => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataBirth.leaveStartDate && formDataBirth.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { const checkDate = computed(() => {
type: dataStore.typeId ?? null, if (
StartLeaveDate: convertDateToAPI(formDataBirth.leaveStartDate) ?? null, convertDateToAPI(formDataBirth.leaveEndDate) ==
EndLeaveDate: convertDateToAPI(formDataBirth.leaveEndDate) ?? null, convertDateToAPI(formDataBirth.leaveStartDate)
leaveRange: formDataBirth.leaveRange, ) {
leaveRangeEnd: checkDate.value return true;
? formDataBirth.leaveRange } else {
: formDataBirth.leaveRangeEnd, return false;
}) }
.then((res: any) => {
hideLoader();
const data = res.data.result;
isLeave.value = data.isLeave;
formDataBirth.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate;
reasonLeave.value = data.message
? data.message
: "จำนวนวันลาเกินที่กำหนด";
})
.catch((e: any) => {
hideLoader();
totalCheck.value = null
messageError($q, e);
}); });
// console.log("checkDate.value", checkDate.value);
// console.log("formDataBirth.leaveRangeEnd", formDataBirth.leaveRangeEnd);
// console.log("formDataBirth.leaveRange", formDataBirth.leaveRange);
await http
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
StartLeaveDate: convertDateToAPI(formDataBirth.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataBirth.leaveEndDate) ?? null,
leaveRange: formDataBirth.leaveRange,
leaveRangeEnd: checkDate.value
? formDataBirth.leaveRange
: formDataBirth.leaveRangeEnd,
})
.then((res: any) => {
hideLoader();
const data = res.data.result;
formDataBirth.leaveTotal = data.totalDate;
// totalCheck.value = data.totalDate;
reasonLeave.value =
data.message != ""
? data.message
: formDataBirth.leaveTotal > 0
? "จำนวนวันลาเกินที่กำหนด"
: "ช่วงวันลาที่ระบุไม่ถูกต้อง";
isLeave.value = formDataBirth.leaveTotal > 0 ? data.isLeave : false;
})
.catch((e: any) => {
hideLoader();
// totalCheck.value = null;
messageError($q, e);
});
}
} }
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
@ -189,7 +207,7 @@ const leaveDocumentList = ref<any>();
const statusCheck = ref<any>(""); const statusCheck = ref<any>("");
watch(props.data, () => { watch(props.data, () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataBirth.leaveWrote = props.data.leaveWrote; formDataBirth.leaveWrote = props.data.leaveWrote;
formDataBirth.leaveStartDate = props.data.leaveStartDate; formDataBirth.leaveStartDate = props.data.leaveStartDate;
formDataBirth.leaveEndDate = props.data.leaveEndDate; formDataBirth.leaveEndDate = props.data.leaveEndDate;
@ -205,7 +223,7 @@ watch(props.data, () => {
/** Hook */ /** Hook */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataBirth.leaveWrote = props.data.leaveWrote; formDataBirth.leaveWrote = props.data.leaveWrote;
formDataBirth.leaveStartDate = props.data.leaveStartDate; formDataBirth.leaveStartDate = props.data.leaveStartDate;
formDataBirth.leaveEndDate = props.data.leaveEndDate; formDataBirth.leaveEndDate = props.data.leaveEndDate;
@ -577,14 +595,14 @@ onMounted(() => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated
dense dense
:disable="totalCheck == 0" :disable="!isLeave"
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn

View file

@ -165,42 +165,49 @@ const checkDate = computed(() => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataHelpWife.leaveStartDate && formDataHelpWife.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null, StartLeaveDate:
leaveRange: formDataHelpWife.leaveRange, convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null,
leaveRangeEnd: checkDate.value EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null,
? formDataHelpWife.leaveRange leaveRange: formDataHelpWife.leaveRange,
: formDataHelpWife.leaveRangeEnd, leaveRangeEnd: checkDate.value
}) ? formDataHelpWife.leaveRange
.then((res: any) => { : formDataHelpWife.leaveRangeEnd,
const data = res.data.result; })
isLeave.value = data.isLeave; .then((res: any) => {
formDataHelpWife.leaveTotal = const data = res.data.result;
data.totalDate - data.sumDateWork - data.sumDateHoliday; formDataHelpWife.leaveTotal =
totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; data.totalDate - data.sumDateWork - data.sumDateHoliday;
reasonLeave.value = data.message // totalCheck.value =
? data.message // data.totalDate - data.sumDateWork - data.sumDateHoliday;
: "จำนวนวันลาเกินที่กำหนด"; reasonLeave.value =
hideLoader(); data.message != ""
}) ? data.message
.catch((e: any) => { : formDataHelpWife.leaveTotal > 0
messageError($q, e); ? "จำนวนวันลาเกินที่กำหนด"
totalCheck.value = null : "ช่วงวันลาที่ระบุไม่ถูกต้อง";
hideLoader(); isLeave.value = formDataHelpWife.leaveTotal > 0 ? data.isLeave : false;
}); hideLoader();
})
.catch((e: any) => {
messageError($q, e);
// totalCheck.value = null;
hideLoader();
});
}
} }
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataHelpWife.leaveWrote = props.data.leaveWrote; formDataHelpWife.leaveWrote = props.data.leaveWrote;
formDataHelpWife.wifeDayName = props.data.wifeDayName; formDataHelpWife.wifeDayName = props.data.wifeDayName;
formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn; formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn;
@ -219,7 +226,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataHelpWife.leaveWrote = props.data.leaveWrote; formDataHelpWife.leaveWrote = props.data.leaveWrote;
formDataHelpWife.wifeDayName = props.data.wifeDayName; formDataHelpWife.wifeDayName = props.data.wifeDayName;
formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn; formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn;
@ -643,14 +650,14 @@ onMounted(async () => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated
dense dense
:disable="totalCheck == 0" :disable="!isLeave"
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn

View file

@ -164,53 +164,48 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataVacation.leaveStartDate && formDataVacation.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataVacation.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null, StartLeaveDate:
leaveRange: formDataVacation.leaveRange, convertDateToAPI(formDataVacation.leaveStartDate) ?? null,
leaveRangeEnd: checkDate.value EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null,
? formDataVacation.leaveRange leaveRange: formDataVacation.leaveRange,
: formDataVacation.leaveRangeEnd, leaveRangeEnd: checkDate.value
}) ? formDataVacation.leaveRange
.then((res: any) => { : formDataVacation.leaveRangeEnd,
const data = res.data.result; })
isLeave.value = data.isLeave; .then((res: any) => {
formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday; const data = res.data.result;
totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; formDataVacation.leaveTotal =
data.totalDate - data.sumDateWork - data.sumDateHoliday;
// totalCheck.value =
// data.totalDate - data.sumDateWork - data.sumDateHoliday;
reasonLeave.value = data.message reasonLeave.value =
? data.message data.message != ""
: "จำนวนวันลาเกินที่กำหนด"; ? data.message
hideLoader(); : formDataVacation.leaveTotal > 0
}) ? "จำนวนวันลาเกินที่กำหนด"
.catch((e: any) => { : "ช่วงวันลาที่ระบุไม่ถูกต้อง";
messageError($q, e); isLeave.value = formDataVacation.leaveTotal > 0 ? data.isLeave : false;
totalCheck.value = null hideLoader();
hideLoader(); })
}); .catch((e: any) => {
} messageError($q, e);
// totalCheck.value = null;
/** hideLoader();
* function เซทค leaveStartDate เเละ leaveEndDate });
*/
function resetDate() {
if (
formDataVacation.leaveRange === "MORNING" ||
formDataVacation.leaveRange === "AFTERNOON"
) {
formDataVacation.leaveStartDate = null;
formDataVacation.leaveEndDate = null;
} }
} }
watch(props.data, () => { watch(props.data, () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataVacation.leaveWrote = props.data.leaveWrote; formDataVacation.leaveWrote = props.data.leaveWrote;
formDataVacation.restDayOldTotal = props.data.restDayOldTotal; formDataVacation.restDayOldTotal = props.data.restDayOldTotal;
formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal; formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal;
@ -230,7 +225,7 @@ watch(props.data, () => {
/**Hook */ /**Hook */
onMounted(() => { onMounted(() => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataVacation.leaveWrote = props.data.leaveWrote; formDataVacation.leaveWrote = props.data.leaveWrote;
formDataVacation.restDayOldTotal = props.data.restDayOldTotal; formDataVacation.restDayOldTotal = props.data.restDayOldTotal;
formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal; formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal;
@ -634,14 +629,14 @@ onMounted(() => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md items-center"> <div class="row col-12 q-pt-md items-center">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
type="submit" type="submit"
unelevated unelevated
dense dense
:disable="totalCheck == 0" :disable="!isLeave"
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn

View file

@ -182,35 +182,41 @@ const checkDate = computed(() => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number|null>(null)
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataOrdination.leaveStartDate && formDataOrdination.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: type: dataStore.typeId ?? null,
convertDateToAPI(formDataOrdination.leaveStartDate) ?? null, StartLeaveDate:
EndLeaveDate: convertDateToAPI(formDataOrdination.leaveEndDate) ?? null, convertDateToAPI(formDataOrdination.leaveStartDate) ?? null,
leaveRange: formDataOrdination.leaveRange, EndLeaveDate: convertDateToAPI(formDataOrdination.leaveEndDate) ?? null,
leaveRangeEnd: checkDate.value leaveRange: formDataOrdination.leaveRange,
? formDataOrdination.leaveRange leaveRangeEnd: checkDate.value
: formDataOrdination.leaveRangeEnd, ? formDataOrdination.leaveRange
}) : formDataOrdination.leaveRangeEnd,
.then((res: any) => { })
const data = res.data.result; .then((res: any) => {
isLeave.value = data.isLeave; const data = res.data.result;
formDataOrdination.leaveTotal = data.totalDate; formDataOrdination.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate; // totalCheck.value = data.totalDate;
reasonLeave.value = data.message reasonLeave.value =
? data.message data.message != ""
: "จำนวนวันลาเกินที่กำหนด"; ? data.message
hideLoader(); : formDataOrdination.leaveTotal > 0
}) ? "จำนวนวันลาเกินที่กำหนด"
.catch((e: any) => { : "ช่วงวันลาที่ระบุไม่ถูกต้อง";
messageError($q, e); isLeave.value =
totalCheck.value = null formDataOrdination.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}); })
.catch((e: any) => {
messageError($q, e);
// totalCheck.value = null;
hideLoader();
});
}
} }
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
@ -224,7 +230,7 @@ const statusCheck = ref<string>("");
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataOrdination.leaveWrote = props.data.leaveWrote; formDataOrdination.leaveWrote = props.data.leaveWrote;
formDataOrdination.leaveStartDate = props.data.leaveStartDate; formDataOrdination.leaveStartDate = props.data.leaveStartDate;
formDataOrdination.leaveEndDate = props.data.leaveEndDate; formDataOrdination.leaveEndDate = props.data.leaveEndDate;
@ -252,7 +258,7 @@ watch(props.data, async () => {
/** Hook */ /** Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataOrdination.leaveWrote = props.data.leaveWrote; formDataOrdination.leaveWrote = props.data.leaveWrote;
formDataOrdination.leaveStartDate = props.data.leaveStartDate; formDataOrdination.leaveStartDate = props.data.leaveStartDate;
formDataOrdination.leaveEndDate = props.data.leaveEndDate; formDataOrdination.leaveEndDate = props.data.leaveEndDate;
@ -831,7 +837,7 @@ onMounted(async () => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -840,7 +846,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -144,38 +144,44 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataHaji.leaveStartDate && formDataHaji.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataHaji.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataHaji.leaveEndDate) ?? null, StartLeaveDate: convertDateToAPI(formDataHaji.leaveStartDate) ?? null,
leaveRange: formDataHaji.leaveRange, EndLeaveDate: convertDateToAPI(formDataHaji.leaveEndDate) ?? null,
leaveRangeEnd: checkDate.value leaveRange: formDataHaji.leaveRange,
? formDataHaji.leaveRange leaveRangeEnd: checkDate.value
: formDataHaji.leaveRangeEnd, ? formDataHaji.leaveRange
}) : formDataHaji.leaveRangeEnd,
.then((res: any) => { })
const data = res.data.result; .then((res: any) => {
isLeave.value = data.isLeave; const data = res.data.result;
formDataHaji.leaveTotal = data.totalDate; // isLeave.value = data.isLeave;
totalCheck.value = data.totalDate; formDataHaji.leaveTotal = data.totalDate;
leaveText.value = calculateDurationYmd( // totalCheck.value = data.totalDate;
convertDateToAPI(formDataHaji.leaveStartDate), leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataHaji.leaveEndDate) convertDateToAPI(formDataHaji.leaveStartDate),
); convertDateToAPI(formDataHaji.leaveEndDate)
reasonLeave.value = data.message );
? data.message reasonLeave.value =
: "จำนวนวันลาเกินที่กำหนด"; data.message != ""
hideLoader(); ? data.message
}) : formDataHaji.leaveTotal > 0
.catch((e: any) => { ? "จำนวนวันลาเกินที่กำหนด"
messageError($q, e); : "ช่วงวันลาที่ระบุไม่ถูกต้อง";
totalCheck.value = null isLeave.value = formDataHaji.leaveTotal > 0 ? data.isLeave : false;
hideLoader(); hideLoader();
}); })
.catch((e: any) => {
messageError($q, e);
// totalCheck.value = null;
hideLoader();
});
}
} }
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
@ -188,7 +194,7 @@ const leaveDocumentList = ref<any>();
const statusCheck = ref<any>(""); const statusCheck = ref<any>("");
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataHaji.leaveWrote = props.data.leaveWrote; formDataHaji.leaveWrote = props.data.leaveWrote;
formDataHaji.leaveTotal = props.data.leaveTotal; formDataHaji.leaveTotal = props.data.leaveTotal;
formDataHaji.leaveStartDate = props.data.leaveStartDate; formDataHaji.leaveStartDate = props.data.leaveStartDate;
@ -206,7 +212,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataHaji.leaveWrote = props.data.leaveWrote; formDataHaji.leaveWrote = props.data.leaveWrote;
formDataHaji.leaveTotal = props.data.leaveTotal; formDataHaji.leaveTotal = props.data.leaveTotal;
formDataHaji.leaveStartDate = props.data.leaveStartDate; formDataHaji.leaveStartDate = props.data.leaveStartDate;
@ -576,7 +582,7 @@ onMounted(async () => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -585,7 +591,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -167,54 +167,57 @@ const checkDate = computed(() => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number|null>(null)
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataMilitary.leaveStartDate && formDataMilitary.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataMilitary.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null, StartLeaveDate:
leaveRange: formDataMilitary.leaveRange, convertDateToAPI(formDataMilitary.leaveStartDate) ?? null,
leaveRangeEnd: checkDate.value EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null,
? formDataMilitary.leaveRange leaveRange: formDataMilitary.leaveRange,
: formDataMilitary.leaveRangeEnd, leaveRangeEnd: checkDate.value
}) ? formDataMilitary.leaveRange
.then((res: any) => { : formDataMilitary.leaveRangeEnd,
const data = res.data.result; })
isLeave.value = data.isLeave; .then((res: any) => {
formDataMilitary.leaveTotal = data.totalDate; const data = res.data.result;
totalCheck.value = data.totalDate; isLeave.value = data.isLeave;
leaveText.value = calculateDurationYmd( formDataMilitary.leaveTotal = data.totalDate;
convertDateToAPI(formDataMilitary.leaveStartDate), // totalCheck.value = data.totalDate;
convertDateToAPI(formDataMilitary.leaveEndDate) leaveText.value = calculateDurationYmd(
); convertDateToAPI(formDataMilitary.leaveStartDate),
reasonLeave.value = data.message convertDateToAPI(formDataMilitary.leaveEndDate)
? data.message );
: "จำนวนวันลาเกินที่กำหนด"; reasonLeave.value =
hideLoader(); data.message != "" ? data.message : "จำนวนวันลาเกินที่กำหนด";
})
.catch((e: any) => { hideLoader();
messageError($q, e); })
totalCheck.value = null .catch((e: any) => {
hideLoader(); messageError($q, e);
}); // totalCheck.value = null
hideLoader();
});
}
} }
/** // /**
* function พเดทค LeaveTotal // * function LeaveTotal
*/ // */
function updateLeaveTotal() { // function updateLeaveTotal() {
const newLeaveTotal = calculateDurationYmd( // const newLeaveTotal = calculateDurationYmd(
formDataMilitary.leaveStartDate, // formDataMilitary.leaveStartDate,
formDataMilitary.leaveEndDate // formDataMilitary.leaveEndDate
); // );
formDataMilitary.leaveTotal = newLeaveTotal; // formDataMilitary.leaveTotal = newLeaveTotal;
} // }
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataMilitary.leaveWrote = props.data.leaveWrote; formDataMilitary.leaveWrote = props.data.leaveWrote;
formDataMilitary.leaveStartDate = props.data.leaveStartDate; formDataMilitary.leaveStartDate = props.data.leaveStartDate;
formDataMilitary.leaveEndDate = props.data.leaveEndDate; formDataMilitary.leaveEndDate = props.data.leaveEndDate;
@ -241,7 +244,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataMilitary.leaveWrote = props.data.leaveWrote; formDataMilitary.leaveWrote = props.data.leaveWrote;
formDataMilitary.leaveStartDate = props.data.leaveStartDate; formDataMilitary.leaveStartDate = props.data.leaveStartDate;
formDataMilitary.leaveEndDate = props.data.leaveEndDate; formDataMilitary.leaveEndDate = props.data.leaveEndDate;
@ -666,7 +669,7 @@ onMounted(async () => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -675,7 +678,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -182,55 +182,57 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataStudy.leaveStartDate && formDataStudy.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataStudy.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataStudy.leaveEndDate) ?? null, StartLeaveDate: convertDateToAPI(formDataStudy.leaveStartDate) ?? null,
leaveRange: formDataStudy.leaveRange, EndLeaveDate: convertDateToAPI(formDataStudy.leaveEndDate) ?? null,
leaveRangeEnd: checkDate.value leaveRange: formDataStudy.leaveRange,
? formDataStudy.leaveRange leaveRangeEnd: checkDate.value
: formDataStudy.leaveRangeEnd, ? formDataStudy.leaveRange
}) : formDataStudy.leaveRangeEnd,
.then((res: any) => { })
const data = res.data.result; .then((res: any) => {
isLeave.value = data.isLeave; const data = res.data.result;
formDataStudy.leaveTotal = data.totalDate; isLeave.value = data.isLeave;
totalCheck.value = data.totalDate; formDataStudy.leaveTotal = data.totalDate;
leaveText.value = calculateDurationYmd( // totalCheck.value = data.totalDate;
convertDateToAPI(formDataStudy.leaveStartDate), leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataStudy.leaveEndDate) convertDateToAPI(formDataStudy.leaveStartDate),
); convertDateToAPI(formDataStudy.leaveEndDate)
reasonLeave.value = data.message );
? data.message reasonLeave.value = data.message
: "จำนวนวันลาเกินที่กำหนด"; ? data.message
hideLoader(); : "จำนวนวันลาเกินที่กำหนด";
}) hideLoader();
.catch((e: any) => { })
messageError($q, e); .catch((e: any) => {
totalCheck.value = null messageError($q, e);
hideLoader(); // totalCheck.value = null;
}); hideLoader();
});
}
} }
/** // /**
* function พเดทค LeaveTotal // * function LeaveTotal
*/ // */
function updateLeaveTotal() { // function updateLeaveTotal() {
const newLeaveTotal = calculateDurationYmd( // const newLeaveTotal = calculateDurationYmd(
formDataStudy.leaveStartDate, // formDataStudy.leaveStartDate,
formDataStudy.leaveEndDate // formDataStudy.leaveEndDate
); // );
formDataStudy.leaveTotal = newLeaveTotal; // formDataStudy.leaveTotal = newLeaveTotal;
} // }
/** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataStudy.leaveWrote = props.data.leaveWrote; formDataStudy.leaveWrote = props.data.leaveWrote;
formDataStudy.leaveStartDate = props.data.leaveStartDate; formDataStudy.leaveStartDate = props.data.leaveStartDate;
formDataStudy.leaveEndDate = props.data.leaveEndDate; formDataStudy.leaveEndDate = props.data.leaveEndDate;
@ -262,7 +264,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataStudy.leaveWrote = props.data.leaveWrote; formDataStudy.leaveWrote = props.data.leaveWrote;
formDataStudy.leaveStartDate = props.data.leaveStartDate; formDataStudy.leaveStartDate = props.data.leaveStartDate;
formDataStudy.leaveEndDate = props.data.leaveEndDate; formDataStudy.leaveEndDate = props.data.leaveEndDate;
@ -821,7 +823,7 @@ onMounted(async () => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -830,7 +832,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -167,38 +167,40 @@ const checkDate = computed(() => {
} }
}); });
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (formDataTrain.leaveStartDate && formDataTrain.leaveEndDate) {
await http showLoader();
.post(config.API.leaveCheck(), { await http
type: dataStore.typeId ?? null, .post(config.API.leaveCheck(), {
StartLeaveDate: convertDateToAPI(formDataTrain.leaveStartDate) ?? null, type: dataStore.typeId ?? null,
EndLeaveDate: convertDateToAPI(formDataTrain.leaveEndDate) ?? null, StartLeaveDate: convertDateToAPI(formDataTrain.leaveStartDate) ?? null,
leaveRange: formDataTrain.leaveRange, EndLeaveDate: convertDateToAPI(formDataTrain.leaveEndDate) ?? null,
leaveRangeEnd: checkDate.value leaveRange: formDataTrain.leaveRange,
? formDataTrain.leaveRange leaveRangeEnd: checkDate.value
: formDataTrain.leaveRangeEnd, ? formDataTrain.leaveRange
}) : formDataTrain.leaveRangeEnd,
.then((res: any) => { })
const data = res.data.result; .then((res: any) => {
isLeave.value = data.isLeave; const data = res.data.result;
formDataTrain.leaveTotal = data.totalDate; isLeave.value = data.isLeave;
totalCheck.value = data.totalDate; formDataTrain.leaveTotal = data.totalDate;
leaveText.value = calculateDurationYmd( // totalCheck.value = data.totalDate;
convertDateToAPI(formDataTrain.leaveStartDate), leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataTrain.leaveEndDate) convertDateToAPI(formDataTrain.leaveStartDate),
); convertDateToAPI(formDataTrain.leaveEndDate)
reasonLeave.value = data.message );
? data.message reasonLeave.value = data.message
: "จำนวนวันลาเกินที่กำหนด"; ? data.message
hideLoader(); : "จำนวนวันลาเกินที่กำหนด";
}) hideLoader();
.catch((e: any) => { })
totalCheck.value = null .catch((e: any) => {
messageError($q, e); // totalCheck.value = null;
hideLoader(); messageError($q, e);
}); hideLoader();
});
}
} }
/** /**
@ -214,7 +216,7 @@ function updateLeaveTotal() {
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataTrain.leaveWrote = props.data.leaveWrote; formDataTrain.leaveWrote = props.data.leaveWrote;
formDataTrain.leaveStartDate = props.data.leaveStartDate; formDataTrain.leaveStartDate = props.data.leaveStartDate;
formDataTrain.leaveEndDate = props.data.leaveEndDate; formDataTrain.leaveEndDate = props.data.leaveEndDate;
@ -244,7 +246,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataTrain.leaveWrote = props.data.leaveWrote; formDataTrain.leaveWrote = props.data.leaveWrote;
formDataTrain.leaveStartDate = props.data.leaveStartDate; formDataTrain.leaveStartDate = props.data.leaveStartDate;
formDataTrain.leaveEndDate = props.data.leaveEndDate; formDataTrain.leaveEndDate = props.data.leaveEndDate;
@ -781,7 +783,7 @@ onMounted(async () => {
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -790,7 +792,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -171,37 +171,42 @@ const checkDate = computed(() => {
* @param formData * @param formData
*/ */
const isLeave = ref<boolean>(true); const isLeave = ref<boolean>(true);
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number|null>(null)
async function fetchCheck() { async function fetchCheck() {
await http if (
.post(config.API.leaveCheck(), { formDataWorkInternational.leaveStartDate &&
type: dataStore.typeId ?? null, formDataWorkInternational.leaveEndDate
StartLeaveDate: ) {
convertDateToAPI(formDataWorkInternational.leaveStartDate) ?? null, await http
EndLeaveDate: .post(config.API.leaveCheck(), {
convertDateToAPI(formDataWorkInternational.leaveEndDate) ?? null, type: dataStore.typeId ?? null,
leaveRange: formDataWorkInternational.leaveRange, StartLeaveDate:
leaveRangeEnd: checkDate.value convertDateToAPI(formDataWorkInternational.leaveStartDate) ?? null,
? formDataWorkInternational.leaveRange EndLeaveDate:
: formDataWorkInternational.leaveRangeEnd, convertDateToAPI(formDataWorkInternational.leaveEndDate) ?? null,
}) leaveRange: formDataWorkInternational.leaveRange,
.then((res: any) => { leaveRangeEnd: checkDate.value
const data = res.data.result; ? formDataWorkInternational.leaveRange
isLeave.value = data.isLeave; : formDataWorkInternational.leaveRangeEnd,
formDataWorkInternational.leaveTotal = data.totalDate; })
totalCheck.value = data.totalDate; .then((res: any) => {
leaveText.value = calculateDurationYmd( const data = res.data.result;
convertDateToAPI(formDataWorkInternational.leaveStartDate), isLeave.value = data.isLeave;
convertDateToAPI(formDataWorkInternational.leaveEndDate) formDataWorkInternational.leaveTotal = data.totalDate;
); // totalCheck.value = data.totalDate;
reasonLeave.value = data.message leaveText.value = calculateDurationYmd(
? data.message convertDateToAPI(formDataWorkInternational.leaveStartDate),
: "จำนวนวันลาเกินที่กำหนด"; convertDateToAPI(formDataWorkInternational.leaveEndDate)
}) );
.catch((e: any) => { reasonLeave.value = data.message
totalCheck.value = null ? data.message
messageError($q, e); : "จำนวนวันลาเกินที่กำหนด";
}); })
.catch((e: any) => {
// totalCheck.value = null;
messageError($q, e);
});
}
} }
/** แจ้งเมื่อวันลาไม่ถูกต้อง */ /** แจ้งเมื่อวันลาไม่ถูกต้อง */
@ -216,7 +221,7 @@ const statusCheck = ref<string>("");
watch(props, async () => { watch(props, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataWorkInternational.leaveWrote = props.data.leaveWrote; formDataWorkInternational.leaveWrote = props.data.leaveWrote;
formDataWorkInternational.leaveStartDate = new Date( formDataWorkInternational.leaveStartDate = new Date(
props.data.leaveStartDate props.data.leaveStartDate
@ -254,7 +259,7 @@ watch(
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataWorkInternational.leaveWrote = props.data.leaveWrote; formDataWorkInternational.leaveWrote = props.data.leaveWrote;
formDataWorkInternational.leaveRange = props.data.leaveRange; formDataWorkInternational.leaveRange = props.data.leaveRange;
@ -630,7 +635,7 @@ onMounted(async () => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -639,7 +644,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -209,53 +209,46 @@ const reasonLeave = ref<string>("");
* @param formData * @param formData
*/ */
const isLeave = ref<boolean>(true); const isLeave = ref<boolean>(true);
const totalCheck = ref<number | null>(null); // const totalCheck = ref<number | null>(null);
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (
await http formDataFollowSpouse.leaveStartDate &&
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
StartLeaveDate:
convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null,
EndLeaveDate: convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null,
leaveRange: formDataFollowSpouse.leaveRange,
leaveRangeEnd: checkDate.value
? formDataFollowSpouse.leaveRange
: formDataFollowSpouse.leaveRangeEnd,
})
.then((res: any) => {
const data = res.data.result;
isLeave.value = data.isLeave;
formDataFollowSpouse.leaveTotal = data.totalDate;
totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataFollowSpouse.leaveStartDate),
convertDateToAPI(formDataFollowSpouse.leaveEndDate)
);
reasonLeave.value = data.message
? data.message
: "จำนวนวันลาเกินที่กำหนด";
checkTotalHistory();
hideLoader();
})
.catch((e: any) => {
messageError($q, e);
totalCheck.value = null
hideLoader();
});
}
/**
* function พเดทค LeaveTotal
*/
function updateLeaveTotal() {
fetchCheck();
const newLeaveTotal = calculateDurationYmd(
formDataFollowSpouse.leaveStartDate,
formDataFollowSpouse.leaveEndDate formDataFollowSpouse.leaveEndDate
); ) {
formDataFollowSpouse.leaveTotal = newLeaveTotal; showLoader();
await http
.post(config.API.leaveCheck(), {
type: dataStore.typeId ?? null,
StartLeaveDate:
convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null,
EndLeaveDate:
convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null,
leaveRange: formDataFollowSpouse.leaveRange,
leaveRangeEnd: checkDate.value
? formDataFollowSpouse.leaveRange
: formDataFollowSpouse.leaveRangeEnd,
})
.then((res: any) => {
const data = res.data.result;
isLeave.value = data.isLeave;
formDataFollowSpouse.leaveTotal = data.totalDate;
// totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataFollowSpouse.leaveStartDate),
convertDateToAPI(formDataFollowSpouse.leaveEndDate)
);
reasonLeave.value = data.message
? data.message
: "จำนวนวันลาเกินที่กำหนด";
checkTotalHistory();
hideLoader();
})
.catch((e: any) => {
messageError($q, e);
// totalCheck.value = null
hideLoader();
});
}
} }
/** /**
@ -294,7 +287,7 @@ const leaveDocumentList = ref<any>();
const statusCheck = ref<any>(""); const statusCheck = ref<any>("");
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataFollowSpouse.leaveWrote = props.data.leaveWrote; formDataFollowSpouse.leaveWrote = props.data.leaveWrote;
formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate); formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate);
formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate); formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate);
@ -340,7 +333,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataFollowSpouse.leaveWrote = props.data.leaveWrote; formDataFollowSpouse.leaveWrote = props.data.leaveWrote;
formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate); formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate);
formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate); formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate);
@ -919,7 +912,7 @@ onMounted(async () => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -928,7 +921,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -129,42 +129,47 @@ const checkDate = computed(() => {
* check าลาไดไหม จาก api * check าลาไดไหม จาก api
* @param formData * @param formData
*/ */
const totalCheck = ref<number|null>(null) // const totalCheck = ref<number|null>(null)
async function fetchCheck() { async function fetchCheck() {
showLoader(); if (
await http formDataRehabilitation.leaveStartDate &&
.post(config.API.leaveCheck(), { formDataRehabilitation.leaveEndDate
type: dataStore.typeId ?? null, ) {
StartLeaveDate: showLoader();
convertDateToAPI(formDataRehabilitation.leaveStartDate) ?? null, await http
EndLeaveDate: .post(config.API.leaveCheck(), {
convertDateToAPI(formDataRehabilitation.leaveEndDate) ?? null, type: dataStore.typeId ?? null,
leaveRange: formDataRehabilitation.leaveRange, StartLeaveDate:
leaveRangeEnd: checkDate.value convertDateToAPI(formDataRehabilitation.leaveStartDate) ?? null,
? formDataRehabilitation.leaveRange EndLeaveDate:
: formDataRehabilitation.leaveRangeEnd, convertDateToAPI(formDataRehabilitation.leaveEndDate) ?? null,
}) leaveRange: formDataRehabilitation.leaveRange,
.then((res: any) => { leaveRangeEnd: checkDate.value
const data = res.data.result; ? formDataRehabilitation.leaveRange
isLeave.value = data.isLeave; : formDataRehabilitation.leaveRangeEnd,
formDataRehabilitation.leaveTotal = data.totalDate; })
totalCheck.value = data.totalDate; .then((res: any) => {
leaveText.value = calculateDurationYmd( const data = res.data.result;
convertDateToAPI(formDataRehabilitation.leaveStartDate), isLeave.value = data.isLeave;
convertDateToAPI(formDataRehabilitation.leaveEndDate) formDataRehabilitation.leaveTotal = data.totalDate;
); // totalCheck.value = data.totalDate;
leaveText.value = calculateDurationYmd(
convertDateToAPI(formDataRehabilitation.leaveStartDate),
convertDateToAPI(formDataRehabilitation.leaveEndDate)
);
reasonLeave.value = data.message reasonLeave.value = data.message
? data.message ? data.message
: "จำนวนวันลาเกินที่กำหนด"; : "จำนวนวันลาเกินที่กำหนด";
}) })
.catch((e: any) => { .catch((e: any) => {
messageError($q, e); messageError($q, e);
totalCheck.value = null // totalCheck.value = null
}) })
.finally(() => { .finally(() => {
hideLoader(); hideLoader();
}); });
}
} }
//download function //download function
@ -195,7 +200,7 @@ const leaveDraftDocument = ref<string>();
const statusCheck = ref<string>(""); const statusCheck = ref<string>("");
watch(props.data, async () => { watch(props.data, async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataRehabilitation.leaveWrote = props.data.leaveWrote; formDataRehabilitation.leaveWrote = props.data.leaveWrote;
formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate); formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate);
formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate); formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate);
@ -218,7 +223,7 @@ watch(props.data, async () => {
/**Hook */ /**Hook */
onMounted(async () => { onMounted(async () => {
if (props.data) { if (props.data) {
totalCheck.value = null // totalCheck.value = null;
formDataRehabilitation.leaveWrote = props.data.leaveWrote; formDataRehabilitation.leaveWrote = props.data.leaveWrote;
formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate); formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate);
formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate); formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate);
@ -586,7 +591,7 @@ onMounted(async () => {
<q-separator class="q-mt-sm" /> <q-separator class="q-mt-sm" />
<div class="row col-12 q-pt-md"> <div class="row col-12 q-pt-md">
<q-space /> <q-space />
<div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> <!-- <div v-if="totalCheck == 0" class="text-red q-mr-sm">**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด</div> -->
<q-btn <q-btn
v-if="!props.data || props.data.status == 'DRAFT'" v-if="!props.data || props.data.status == 'DRAFT'"
id="onSubmit" id="onSubmit"
@ -595,7 +600,7 @@ onMounted(async () => {
dense dense
class="q-px-md items-center btnBlue" class="q-px-md items-center btnBlue"
label="บันทึก" label="บันทึก"
:disable="totalCheck == 0" :disable="!isLeave"
><q-tooltip>นทกแบบราง</q-tooltip></q-btn ><q-tooltip>นทกแบบราง</q-tooltip></q-btn
> >
<q-btn <q-btn

View file

@ -365,7 +365,7 @@ export const useCounterMixin = defineStore("mixin", () => {
component: CustomComponent, component: CustomComponent,
componentProps: { componentProps: {
title: `ข้อความแจ้งเตือน`, title: `ข้อความแจ้งเตือน`,
message: `ไม่สามารถลาได้ เนื่องจากจำนวนวันลาเกินที่กำหนด`, message: `ไม่สามารถลาได้ เนื่องจากจำนวนวันลาเกินที่กำหนด/ช่วงวันลาที่ระบุไม่ถูกต้อง`,
icon: "warning", icon: "warning",
color: "red", color: "red",
onlycancel: true, onlycancel: true,